arrow-left

All pages
gitbookPowered by GitBook
1 of 3

Loading...

Loading...

Loading...

Start provider in docker

Hardware Recommendation

If you want to be the Provider, you can set a detailed basic configuration information.

hashtag
Do you want to earn income from unused storage space and bandwidth?

If you have spare storage space and bandwidth and want to make some profit from it, you can participate in Memo as a provider.

hashtag
Recommended configuration:

  • 8 cores, 16G memory, 2TB storage, 20Mbps bandwidth;

  • External network IP, port 4001 is usable;

  • Docker environment;

Linux System

How to start

hashtag
Step 1: Environment Deployment

View Docker Installation section to install docker.

hashtag
Step 2: Set up the node directory

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.

hashtag
Step 3: Pull image(provider)

hashtag
Step 4: Initialization(Create new wallet)

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.

hashtag
Step 5: Get wallet address

Explanation of parameters:

wallet default: Get the default wallet address

hashtag
Step 6: Top up

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:

hashtag
Step 7: Modify the configuration file

hashtag
Step 8:Start node

  • 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:

hashtag
Checking the running status

hashtag
Step 1: Enter the container

hashtag
Step 2: Check provider information

hashtag
Step 3: Declare

• 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).

hashtag
Check net status

hashtag
Get local node network information

Command description: Enter command net info to view the network id (cid), ip address and port of the current node.

hashtag
Get the network connection information of the node

Command description: Enter command net peers to view the network connection information of the current node.

hashtag
Connect to any 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

  1. 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.

  1. ERROR: execution reversed: can't unpledge during 180d

The node pledge amount needs to be withdrawn 180 days after the last pledge.

  1. 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

https://faucet.metamemo.one/arrow-up-right
https://chain.metamemo.one:8501/arrow-up-right
https://scan.metamemo.one:8080/arrow-up-right
https://join.slack.com/t/memo-nru9073/shared_invite/zt-sruhyryo-suc689Nza3z8boa4JkaLqwarrow-up-right
https://join.slack.com/t/memo-nru9073/shared_invite/zt-sruhyryo-suc689Nza3z8boa4JkaLqwarrow-up-right
export MEFS_PATH=~/memo_provider
export MEFS_DATA=~/memo_provider_data
docker pull memoio/mefs-provider:latest
docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest init --password=memoriae
ddocker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest wallet default
docker run --rm -v $MEFS_PATH:/root --entrypoint mefs-provider memoio/mefs-provider:latest config set --key=contract.version --value=3
docker 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 clear
docker 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:latest
docker exec -it mefs-provider bash
mefs-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/4007
mefs-provider net info
Network ID 12D3KooWBpPPzk9srHVVU4kkVF1RPJi9nYNgV4e6Yjjd4PGr5qrk, IP [/ip4/10.2.2.61/tcp/18003], Type: Private
mefs-provider net peers
12D3KooWMrZTqoU8febMxxxxxxxxxCeqLQy1XCU9QcjP1YWAXVi [/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/12D3KooWAykMmqu951ziotQiAYTN6SwfvBd1dsejSSak2jdSwryF