Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Command description: Enter createBucket to create a bucket according to the BucketName. Each bucket can be set with a different redundancy policy. The redundancy policy is multi-replica or erasure code. The redundancy level can be determined by adjusting the number of the data block and parity block. 3 data blocks and erasure code of 2 parity blocks are used by default, the loss of two blocks is tolerable.
mefs provides dedicated encrypted storage space (LFS) for each user, each storage space contains multiple buckets, buckets are containers that users use to store objects, and each bucket contains multiple objects. We can think of objects as files. The redundancy policy of a bucket can be specified at creation time (all objects stored in the bucket use this redundancy policy).
When creating a bucket policy, the value of dc+pc should be less than the number of providers in the group where the current user belongs. Users can modify the number of dc and pc according to their own needs.
Command description: Enter listBuckets to display all buckets created by this user, including the name of each bucket, creation time, redundancy policy and redundancy parameters (DataCount, ParityCount).
Command description: If BucketName exists, entering headBucket displays its creation time, redundancy policy and redundancy parameters. If BucketName does not exist, it displays that bucket does not exist.
mefs-user lfs createBucket --bn=test2 --dc=3 --pc=6 Name: test2
Bucket ID: 2
Creation Time: 2022-03-23 14:42:06 CST
Modify Time: 2022-03-23 14:42:06 CST
Object Count: 0
Policy: erasure code
Data Count: 3
Parity Count: 6
Reliability: High
Used Bytes: 0 Bmefs-user lfs listBucketsList buckets:
Name: test
Bucket ID: 1
Creation Time: 2022-03-23 14:25:41 CST
Modify Time: 2022-03-23 14:38:44 CST
Object Count: 1
Policy: erasure code
Data Count: 7
Parity Count: 7
Reliability: High
Used Bytes: 10.17 MiB
Name: test2
Bucket ID: 2
Creation Time: 2022-03-23 14:42:06 CST
Modify Time: 2022-03-23 14:42:06 CST
Object Count: 0
Policy: erasure code
Data Count: 3
Parity Count: 6
Reliability: High
Used Bytes: 0 Bmefs-user lfs headBucket --bn=test2Head bucket:
Name: test2
Bucket ID: 2
Creation Time: 2022-03-23 14:42:06 CST
Modify Time: 2022-03-23 14:42:06 CST
Object Count: 0
Policy: erasure code
Data Count: 3
Parity Count: 6
Reliability: High
Used Bytes: 0 BCommand description: Entering putObject to upload an object named ObjectName into BucketName; if the bucket does not exist, it will display that the bucket does not exist; if the object already exists, it will display that the object already exists.
echo "hello MEMO" >~/test.file
mefs-user lfs putObject --bn=test2 --on=obj1 --path=~/test.file{"level":"DEBUG","time":"2022-03-23T15:20:32+08:00","logger":"httpio","caller":"httpio/reader.go:51","msg":"push stream: /rpc/streams/v0/push/fce925c8-7d24-4cf7-9d3f-0a370fa69d85"}
Put object:
Name: obj1
Bucket ID: 2
Object ID: 0
ETag: b1946ac92492d2347c6235b4d2611184
Size: 6 B
UsedBytes: 2.18 MiB
Enc Method: aes
State: total 9, dispatch 0, done 0, confirm 0
Creation Time: 2022-03-23 15:20:32 CST
Modify Time: 2022-03-23 15:20:32 CSTCommand description: Enter listObjects to list all objects in BucketName, including object size, creation time, MD5 value, and the most recent challenge time.
Command description: Enter getObject to download an object named ObjectName from BucketName; if the bucket does not exist, it displays that the bucket does not exist; if the object does not exist, it displays that the object does not exist.
mefs-user lfs listObjects --bn=test2List objects:
Name: obj1
Bucket ID: 2
Object ID: 0
ETag: b1946ac92492d2347c6235b4d2611184
Size: 6 B
UsedBytes: 2.18 MiB
Enc Method: aes
State: total 9, dispatch 2, done 2, confirm 0
Creation Time: 2022-03-23 15:20:32 CST
Modify Time: 2022-03-23 15:20:32 CSTmefs-user lfs getObject --bn=test2 --on=obj1 --path=~/test.txtdownload: 100% [=======================================================================================================================] ( 6/ 6B, 0.302 kB/s)
object: obj1 (etag: b1946ac92492d2347c6235b4d2611184) is stored in: /home/mtest/test.txtThis document is detailed about how to use user node, the installation guide is in another document. Use LFS command to operate upload and download functions.
Introduction
This command creates, uploads, downloads, and views a collection of containers and files for the user.
Usage
Subcommands
Introduction
This command creates buckets
Usage
Options
Example
Bucket name: test, storage policy: erasure code, number of data blocks: 10, number of check blocks 5
Introduction
This command is used to view the status of all buckets
Usage
Introduction
This command is used to view all the information of the specified bucket, the following is an example (test is the bucket name)
Usage
Introduction
This command specifies the file for upload
Usage
USAGE: mefs-user lfs putObject [command options] [arguments...]
OPTIONS: --bucket value, --bn value use bucket name --object value, --on value file name after upload --path value upload file path --etag value select verification method (default: md5) --enc value Select encryption method (default: aes) --help, -h View help
Introduction
This command is used to view the specified file status
Usage
Example
Introduction
Download the file to the specified path
Usage
Example
Introduction
View all file information of a specified bucket
Usage
Example
Introductioin
delete specified file
Usage
Example
Introduction
Download objects using rpc
Usage
Example
Introduction
Display the storage information of the node
Example
Introduction
View the bucket user list
Example
./mefs-user lfs
COMMANDS:
createBucket create bucket
listBuckets list buckets
headBucket head bucket info
putObject put object
headObject head object
getObject get object
listObjects list objects
delObject delete object
downloadObject download object using rpc
showStorage show storage info
getPros get pros of bucket
help, h Shows a list of commands or help for one command./mefs-user lfs createBucket -h--bucket value, --bn value set bucket name
--policy value, --pl value set erasure code (1) or multi-copy policy (2) (default is 1)
--datacount value, --dc value set Number of data blocks (default is 3)
--paritycount value, --pc value Set the number of parity blocks (default is 2)./mefs-user lfs createBucket --bn=test --pl=1 --dc==10 --pc=5./mefs-user lfs listBuckets./mefs-user lfs headBucket --bn=test./mefs-user lfs putObject -h
Example
```shell
./mefs-user lfs putObject --bn=test --on=1 --path=./index.txt./mefs-user lfs headObject -h
USAGE:
mefs-user lfs headObject [command options] [arguments...]
OPTIONS:
--bucket value, --bn value bucketName
--object value, --on value objectName
--all show all information (default: false)
--help, -h show help (default: false)./mefs-user lfs headObject --bn=test --on=1USAGE:
mefs-user lfs getObject [command options] [arguments...]
OPTIONS:
--bucket value, --bn value bucketName
--object value, --on value objectName
--cid value cid name
--start value start position (default: 0)
--length value read length (default: -1)
--path value stored path of file
--help, -h show help (default: false)./mefs-user lfs getObject --bn=test --on=1 --path=./index.htmlUSAGE:
mefs-user lfs listObjects [command options] [arguments...]
OPTIONS:
--bucket value, --bn value bucket name, priority
--marker value key start from, marker should exist
--prefix value prefix of objects
--delimiter value delimiter to group keys: '/' or ''
--maxKeys value number of objects in return (default: 1000)
--help, -h show help (default: false)./mefs-user lfs listObjectsUSAGE:
mefs-user lfs delObject [command options] [arguments...]
OPTIONS:
--bucket value, --bn value bucketName
--object value, --on value objectName
--help, -h show help (default: false)./mefs-user lfs delObject --bn=test --on=1USAGE:
mefs-user lfs downloadObject [command options] [arguments...]
OPTIONS:
--bucket value, --bn value bucketName
--object value, --on value objectName
--cid value cid name
--start value start position (default: 0)
--length value read length (default: -1)
--path value stored path of file
--help, -h show help (default: false)./mefs-user lfs getObject --bn=test --on=1 --path=./index.html./mefs-user lfs showStorage
Lfs has storage: 40.69 MiB./mefs-user lfs getPros 0
bucket 0 select providers: [8 21]If you want to be the Provider, you can set a detailed basic configuration information.
If you have spare storage space and bandwidth and want to make some profit from it, you can participate in Memo as a provider.
8 cores, 16G memory, 2TB storage, 20Mbps bandwidth;
External network IP, port 4001 is usable;
Docker environment;
Linux System
Multiple users can share one mefs's running program.
After mefs is started, other users can also be started as a proxy.
Parameter explanation:
After mefs is started, other users can also be shut down by proxy.
Parameter explanation:
Cli
Http
The user whose address is the public key obtains the file named ObjectName from the BucketName bucket.
Cli
Http
mefs-user lfs start <addr> --sk=<private key> --pwd=<password>addr:account address;
--sk:the private key of the user; if the private key corresponding to the address does not match, the address of the private key shall prevail;
--pwd:user's password;mefs-user lfs kill <addr> --pwd=<password>addr:account address
--pwd:account passwordmefs-user rootcmd subcmd arg1 op1=arg2 --addr=<public key>curl "http://<ip>:5001/api/v0/<roocmd>/<subcmd>?arg=<arg1>&op1=<arg2>&addr=<public keymefs_user lfs get_object <BucketName> <ObjectName> --addr=<public key>curl "http://127.0.0.1:5001/api/v0/lfs/get_object?arg=<BucketName>&arg=<ObjectName>&addr=<public key>"
View Docker Installation section to install docker.
Node home directory:
Using "~/memo_provider" as an example:
Node data storage directory: ~/memo_user_data as an example.
The node home directory is the provider directory and the node storage directory is the provider node data storage directory.
Explanation of parameters:
--password: Enter your provider node password, the default is memoriae.
Init: Execute the initialize command, which will generate your wallet address and generate a configuration file.
Explanation of parameters:
wallet default: Get the default wallet address
Starting node needs both the Memo and cMemo token.
To get the cMemo token, there is one faucet,
This is the MemoChain information.
Memochain information
Chain RPC:
Currency name: CMEMO
Chain ID: 985
Chain browser:
To get Memo Tokens for your wallet, you can transfer some Memo Tokens from other wallet address which has enough Memo Tokens. The provider needs minimum 30 Memo Tokens.
Join our discussing with Slack Link:
Please make sure your user home directory and password are the same as in the previous step.
If there is any deploy issue. Please join the deploy-node discussing with Slack Link:
• When participating as a provider node, you need to execute the declare command (declare the public network address) for communication between nodes;
• Get your public network ip+port ready, I will show you below;
• Note: Execute the command in the container;
• The command mefs-provider info can only be executed after the sync information displays as true. Although the synchronization can be successful without doing so, it will not be able to communicate with other nodes.
Parameter explanation
X.X.X.X is your public ip address.
Port 4007 is your public network port, and the mapped port is the host's port 4001 (-p 4001: the first port 4001 of the boot parameter).
Command description: Enter command net info to view the network id (cid), ip address and port of the current node.
Command description: Enter command net peers to view the network connection information of the current node.
Command description: Enter command net connect to connect to any node; if there is any problem with your node network, please enter command net connect to connect to our public node.
COMMON MISTAKES
ERROR: not have tx fee on chain
Solution: Check the node, both of the cMemo token balance, and the memo balance. The Memo token balance must meet the minimum amount for node startup.
ERROR: execution reversed: can't unpledge during 180d
The node pledge amount needs to be withdrawn 180 days after the last pledge.
If the log reports that the meta and state files are missing, you can perform the Recover operation.
mefs-provider recover db --path /home/mcloud/provider2/.memo-provider/meta
mefs-provider recover db --path /home/mcloud/provider2/.memo-provider/state
export MEFS_PATH=~/memo_providerexport MEFS_DATA=~/memo_provider_datadocker pull memoio/mefs-provider:latestdocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest init --password=memoriaeddocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest wallet defaultdocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest config set --key=contract.version --value=3docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest config set --key=contract.endPoint --value="https://chain.metamemo.one:8501"docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest config set --key=contract.roleContract --value="0xbd16029A7126C91ED42E9157dc7BADD2B3a81189"docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest bootstrap cleardocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest bootstrap add "/ip4/183.240.197.189/tcp/14006/p2p/12D3KooWAMpZPwfJopVnp99oqp4zhbjE1G3LFAkcjfBuiyzyCmv7"docker run -d -p 4001:4001 -v $MEFS_PATH:/root -v $MEFS_DATA:/root/data -e PASSWORD="memoriae" -e PRICE=250000 -e GROUP=3 -e SWARM_PORT=4001 -e DATA_PATH=/root/data --name mefs-provider memoio/mefs-provider:latestdocker exec -it mefs-provider bashmefs-provider info -a----------- Version Information -----------
2023-05-16 09:35:49 UTC
2.7.0+api.2+git.c405cb1+2023-03-15.16:15:54CST
----------- Network Information -----------
Network ID: 12D3KooWSLvBa9QB5Qy9SPnrhuNJhCAPzVmyri9gacaUAgfpQ72q
IP: [/ip4/172.xx.xx.xx/tcp/4001]
Type: Private
Declared Address: {12D3KooWSLvBa9QB5Qy9SPnrhuNJhCAPzVmyri9gacaUAgfpQ72q: [/ip4/103.xx.xx.xx/tcp/24001]}
----------- Sync Information -----------
Status: true, Slot: 1530431, Time: 2023-05-16 09:35:30 UTC
Height Synced: 346322, Remote: 346322
Challenge Epoch: 81 2023-05-10 03:31:30 UTC
----------- Role and Account Information -----------
Role ID: 421
Type: Provider
Location: Personal
Wallet: 0xDd8F2bE3C11b1b1A74404141BA8216a5010B1746
Owner: 0xDd8F2bE3C11b1b1A74404141BA8216a5010B1746
Memo Balance: 1.00 Memo
cMemo Balance: 999.90 Gwei
Storage Balance: 0 AttoMemo, Income: 0 AttoMemo
Current Pledge: 30.00 Memo, Reward: 4.05 Memo
Pledge Time: 2023-05-16 02:08:04 UTC
Historical Pledge: 30.00 Memo, Reward: 4.05 Memo
Withdraw Pledge: 0 AttoMemo, Reward: 0 AttoMemo
Pool Pledge: 416.00 Memo, Reward: 7481.01 Memo
Storage Size: 0 byte (0 B), Price: 0 (AttoMemo/Second)
Storage Deposit: 0 AttoMemo
----------- Group Information -----------
EndPoint: https://chain.metamemo.one:8501
Contract Address: 0xbd16029A7126C91ED42E9157dc7BADD2B3a81189
Group ID: 3
Security Level: 3
Size: 2.00 GiB
Price: 2114500000 (AttoMemo/Second)
Keepers: 4, Providers: 4
----------- Store Information ----------
Service Ready: true
Received Size: 0 B
Confirmed Size: 0 B
OnChain Size: 0 B
----------- Local Information -----------
Meta Usage: path /root/.memo-provider, used 781.37 MiB, free 277.71 GiB
Data Usage: path /root/data, used 0 B, free 277.71 GiB mefs-provider net declare /ip4/X.X.X.X/tcp/4007mefs-provider net infoNetwork ID 12D3KooWBpPPzk9srHVVU4kkVF1RPJi9nYNgV4e6Yjjd4PGr5qrk, IP [/ip4/10.2.2.61/tcp/18003], Type: Privatemefs-provider net peers12D3KooWMrZTqoU8febMxxxxxxxxxCeqLQy1XCU9QcjP1YWAXVi [/ip4/10.2.2.66/tcp/8003]
12D3KooWC2PmhSrU1VexxxxxxxxxtwvQuFZj3vPfjdfebAuJQtc [/ip4/10.2.2.66/tcp/8004]
12D3KooWR74K1v6naGxxxxxxxxxVS88h4X93bMnquoRiEDdLJTx [/ip4/10.2.2.61/tcp/8003]
12D3KooWSzzwJ7es1xxxxxxxxxPaqei3TUHnNZDmWTELSA7NJXQ [/ip4/10.2.2.62/tcp/18003]
12D3KooWG8PjbbN9xxxxxxxxx2oYFtjeQ8XnqvnEqfrB4AiW7eJ [/ip4/10.2.2.65/tcp/8003]
12D3KooWRjamwQtxxxxxxxxxb44AAXLNy9CB7u1FL2eC5QZekpF [/ip4/1.182.0.0/tcp/24071]
...mefs-provider net connect /ip4/10.2.x.x/tcp/8004/p2p/12D3KooWAykMmqu951ziotQiAYTN6SwfvBd1dsejSSak2jdSwryFBefore starting the memo, you must install docker.
2、Download docker for windows
Node home directory: ~/memo_user as an example:
Node data storage directory: ~/memo_user_data as an example.
The node home directory is the user directory and the node storage directory is the user node data storage directory.
Explanation of parameters:
--password: Enter your user node password, the default is memoriae.
init: Execute the initialization command, which will generate your wallet address and generate a configuration file.
Explanation of parameters:
wallet default: Get the default wallet address
Starting node needs both the Memo and cMemo token.
To get the cMemo token, there is one faucet, https://faucet.metamemo.one/
This is the MemoChain information.
Memochain information
Chain RPC: https://chain.metamemo.one:8501/
Currency name: CMEMO
Chain ID: 985
Chain browser: https://scan.metamemo.one:8080/
To get Memo Tokens for your wallet, you can transfer some Memo Tokens from other wallet address which has enough Memo Tokens. The user needs minimum 1 Memo Tokens.
Join our discussing with Slack Link:
Default in web, account: admin; password: memoriae.
Please make sure your user home directory and password are the same as in the previous step.
If you have any technical problems, please join our Discord server for help. https://discord.gg/YXQQwPhMpq
Command description: Enter command net info to view the network id (cid), ip address and port of the current node.
Command description: Enter command net peers to view the network connection information of the current node.
Command description: Enter command net connect to connect to any node; if there is any problem with your node network, please enter command net connect to connect to our public node.
If the account has been started, and then the computer has been shutted down, Docker, or "Windows PowerShell" was been closed, if you need to restart MEMO again, you need to open Docker first, then run the command line " docker start mefs-user" to start.
export MEFS_PATH=~/memo_userexport MEFS_DATA=~/memo_user_datadocker pull memoio/mefs-user:latestdocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest init --password=memoriaedocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest wallet defaultdocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest config set --key=contract.version --value=3docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest config set --key=contract.endPoint --value="https://chain.metamemo.one:8501"docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest config set --key=contract.roleContract --value="0xbd16029A7126C91ED42E9157dc7BADD2B3a81189"docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest bootstrap cleardocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-user memoio/mefs-user:latest bootstrap add "/ip4/183.240.197.189/tcp/14006/p2p/12D3KooWAMpZPwfJopVnp99oqp4zhbjE1G3LFAkcjfBuiyzyCmv7"docker run -d -v $MEFS_PATH:/root -v $MEFS_DATA:/root/data -e PASSWORD="memoriae" -e PRICE=250000 -e MEFS_PATH=/root/.memo-user -e GROUP=3 -e SWARM_PORT=4001 -e DATA_PATH=/root/data --name mefs-user -e GATEWAY=true -e GATEWAY_USERNAME=admin -e GATEWAY_PASSWORD=memoriae -p 8080:8080 memoio/mefs-user:latestdocker exec -it mefs-user bashmefs-user info----------- Information -----------
2022-03-23 10:42:36 CST #Current time
2.1.0-alpha+git.e759ff0+2022-03-22.15:51:16CST #mefs-user version information
----------- Network Information ----------- #network information
ID: 12D3KooWBpPPzk9srHVVU4kkVF1RPJi9nYNgV4e6Yjjd4PGr5qrk #network id
IP: [/ip4/10.2.2.61/tcp/18003] #Current node network information, 18003 is the swarm-port port, used for node communication
Type: Private
----------- Sync Information -----------
Status: true, Slot: 322885, Time: 2022-03-23 10:42:30 CST #Please check if your sync status is true, if it is false, please check your node network
Height Synced: 2640, Remote: 2640 #sync status
Challenge Epoch: 21 2022-03-23 09:55:30 CST
----------- Role Information -----------
ID: 29
Type: User
Wallet: 0xD2EC305EA80C6FCEF315029A806f52F27f3fB29a #Wallet address
Balance: 998.25 Gwei (tx fee), 998815392.06 NanoMemo (Erc20), 148075.99 NanoMemo (in fs) #balance
Data Stored: size 115294208 byte (109.95 MiB), price 113500000
----------- Group Information -----------
EndPoint: http://119.147.213.220:8191
Contract Address: 0xCa2C4103bd5679F43eC9E277C2bAf5598f94Fe6D
Fs Address: 0xFB9FF16EB4093aa8fFf762F2dF4E61d3A7532Af9
ID: 1 #group id
Security Level: 7
Size: 109.95 MiB
Price: 113500000
Keepers: 10, Providers: 16, Users: 4 #The number of nodes in the current group
----------- Pledge Information ----------
Pledge: 0 AttoMemo, 26.00 Memo (total pledge), 26.00 Memo (total in pool) #current pledge information
----------- Lfs Information ----------
Status: writable
Buckets: 1
Used: 1.82 GiB
Raw Size: 109.95 MiB
Confirmed Size: 109.95 MiB
OnChain Size: 109.95 MiB
Need Pay: 987173.29 NanoMemo
Paid: 987173.29 NanoMemomefs-user net infoNetwork ID 12D3KooWBpPPzk9srHVVU4kkVF1RPJi9nYNgV4e6Yjjd4PGr5qrk, IP [/ip4/10.2.2.61/tcp/18003], Type: Privatemefs-user net peers12D3KooWMrZTqoU8febMxxxxxxxxxCeqLQy1XCU9QcjP1YWAXVi [/ip4/10.2.2.66/tcp/8003]
12D3KooWC2PmhSrU1VexxxxxxxxxtwvQuFZj3vPfjdfebAuJQtc [/ip4/10.2.2.66/tcp/8004]
12D3KooWR74K1v6naGxxxxxxxxxVS88h4X93bMnquoRiEDdLJTx [/ip4/10.2.2.61/tcp/8003]
12D3KooWSzzwJ7es1xxxxxxxxxPaqei3TUHnNZDmWTELSA7NJXQ [/ip4/10.2.2.62/tcp/18003]
12D3KooWG8PjbbN9xxxxxxxxx2oYFtjeQ8XnqvnEqfrB4AiW7eJ [/ip4/10.2.2.65/tcp/8003]
12D3KooWRjamwQtxxxxxxxxxb44AAXLNy9CB7u1FL2eC5QZekpF [/ip4/1.182.0.0/tcp/24071]
...mefs-user net connect /ip4/10.2.x.x/tcp/8004/p2p/12D3KooWAykMmqu951ziotQiAYTN6SwfvBd1dsejSSak2jdSwryFdocker start mefs-userEnter "mefs-user-install" file folder, double click install.exe for regestering user.
Starting node needs both the Memo and cMemo token.
To get the cMemo token, there is one faucet, https://faucet.metamemo.one/
This is the MemoChain information.
Memochain information
Chain RPC: https://chain.metamemo.one:8501/
Currency name: CMEMO
Chain ID: 985
Chain browser: https://scan.metamemo.one:8080/
To get Memo Tokens for your wallet, you can transfer some Memo Tokens from other wallet address which has enough Memo Tokens. The user needs minimum 1 Memo Tokens.
Join our discussing with Slack Link:
If you want to check the account balance,Please refer to this link
When your installation completed, the content of installation folder is as follows:
Mmeanwhile there are 2 more icons appeared on your desktop.
Run 'memo_start' icon on desktop to start user.
The running window will show that user node is starting, and data is being synchronized. This will take about 5 hours to complete, please be patient.
Now you can see two "mefs-user.exe" in the task manager shows the user node and gateway is running.
Open URL http://127.0.0.1:9090 in your web browser to use user WebUI
Open the account.txt in the memouser folder to view your login imformation
Caution: If this is the first run of your User node, you need to wait about 10~20 minutes for node to complete synchronization. If sync is not complete yet, you will get a "lfs service is read only" error.
After that you can begin create bucket.





























Mefs commands can all be operated using HTTP.
Configuration
Before mefs-user starts, confirm the following configuration is set in the config.json:
// mefs api port setting, default is 5001
api.address is set to: /ip4/0.0.0.0/tcp/5001
// cross-domain access
api.accessControlAllowOrigin is set to: ["*"]
api.accessControlAllowMethods is set to: ["PUT","GET", "POST"]Then restart mefs-user to use HTTP to operate.
Usage
A command similar to the following:
mefs-user rootcmd subcmd <arg1> <arg2> -opname1=<op1> -opname2=<op2>The corresponding HTTP request is:
IP is the network address of the machine where mefs-user is started. The port defaults to 5001. If cross-domain access is configured before running, you can use the external network IP to access, otherwise you can only access it through 127.0.0.1.
The output is in standard JSON format:
The output is in standard JSON format:
curl "http://<ip>:<port>/api/v0/<rootcmd>/<subcmd>?arg=<arg1>&arg=<arg2>&opname1=<op1>&opname2=<op2>"curl "http://127.0.0.1:5001/api/v0/lfs/list_buckets?addr=<public key>" {
"Method": "List Buckets",
"Buckets": [
{
"BucketName": "<BucketName>",
"BucketID": "<BucketID>",
"Ctime": "<Ctime>",
"Policy": "<Policy>",
"DataCount": "<DataCount>",
"ParityCount": "<ParityCount>"
},
{
"BucketName": "<BucketName>",
"BucketID": "<BucketID>",
"Ctime": "<Ctime>",
"Policy": "<Policy>",
"DataCount": "<DataCount>",
"ParityCount": "<ParityCount>"
}
]
}curl "http://127.0.0.1:5001/api/v0/lfs/list_objects?arg=<BucketName>&addr=<public key>"{
"Method": "List Objects",
"Objects": [
{
"ObjectName": "<ObjectName>",
"ObjectSize": "<ObjectSize>",
"Ctime": "<Ctime>",
"Dir": "<Dir>",
"LatestChalTime": "<LatestChalTime>"
},
{
"ObjectName": "<ObjectName>",
"ObjectSize": "<ObjectSize>",
"Ctime": "<Ctime>",
"Dir": "<Dir>",
"LatestChalTime": "<LatestChalTime>"
}
]
}
Before starting the memo, you must install docker.
Check the version of docker installed
Start docker and pull hello-world to verify whether the installation is successful
Since sudo access is required to use docker, enter the password here and it will be started successfully.
Next, run the following command line
You can see the container being downloaded from the remote for testing: Pulling from library/hello-world
When you see the message: Hello from Docker! It means the docker is successfully installed.
sudo apt-get updatesudo apt-get install -y apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key addsudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get updatesudo apt-get install -y docker-cedocker -vsudo service docker startsudo docker run hello-world





