Skip to main content

Install your RPC node

Network details

Here are the coordinates to the Arthera Mainnet

Running a RPC node

1. Get a Linux machine that meets the requirements

2. Install Docker

See the Docker Installation Guide

3. Pull the latest Arthera node image

docker pull arthera/arthera-node:1.2.1-rc.3

4. Create a folder to hold your Arthera node data

mkdir $HOME/arthera

5. Generate your node key

Run the command below to generate your unique node key:

docker run -it -v $HOME/arthera:/data arthera/arthera-node:1.2.1-rc.3 p2p genkey /data/node.key

Check to see if the key was generated successfully by running:

docker run -it -v $HOME/arthera:/data arthera/arthera-node:1.2.1-rc.3 p2p enodeurl /data/node.key

You should see an output similar to the one below:

enode://f2927b8b1bc1b05997acf60f713cda3c776300cdac52b80d8dbfb2b434ef0e7283f8d3ca891d832bab3927b03c52593e575d48d9916804af5bf66a75b5b1288a@127.0.0.1:6534

The output above is your node's enode URL.

6. Download the latest Mainnet genesis file

Run the command below to download the mainnet.g genesis file:

curl -o $HOME/arthera/mainnet.g https://s3.eu-central-1.amazonaws.com/release.arthera-net/epoch9327.g

7. Test your node

Replace the following variables and run the command below to start your node:

  • YOUR_PUBLIC_IP with your actual Public IP address.
docker pull arthera/arthera-node:1.2.1-rc.3
docker run --name arthera-rpc --network host -v $HOME/arthera:/data arthera/arthera-node:1.2.1-rc.3 \
--port 6533 \
--genesis /data/mainnet.g --genesis.allowUnknown \
--syncmode full \
--nodekey /data/node.key \
--verbosity 4 \
--cache 4000 \
--nat extip:YOUR_PUBLIC_IP

Check the output to have the following info:

INFO [12-25|06:00:50.553] Applying genesis state
INFO [12-25|06:00:50.553] - Reading epochs
INFO [12-25|06:00:50.554] - Reading blocks
INFO [12-25|06:00:50.556] - Reading EVM data
INFO [12-25|06:00:50.815] Applied genesis state name=main id=10242 genesis=0x993417afae15968aa185376537e2c633844b5e624444812b64e0241a3289d8be
INFO [12-25|06:00:50.928] Bootnode url=enode://c4138ac86c0cd7607231601afeb24d2d0b7aaf4c8e1de28978aab6fdbca1af2ec41307b33529e64da72b9e592782840aa1552bda5b1f700eefbdba2a662c4ecc@51.91.11.86:6533
INFO [12-25|06:00:50.928] Bootnode url=enode://91a72a01ba3eb7994c681d2e0212a8239d51fffe9dfdb38af373af2cb9612bf1f2f9514fea1b099a2d1e2bb83afa9c4487af7c7f05bcb5f0c6c63f8f757c7fcd@51.83.129.213:6533
INFO [12-25|06:00:50.928] Bootnode url=enode://c3c05932654c6a92a8f544857491073f96715fa394476edee07931bf4da00d76eeb1b256d0a68d0404a8b37e8dec7e038c18f1a4cdbde0da91ef45d04c243de1@57.128.172.20:6533
INFO [12-25|06:00:50.928] Bootnode url=enode://0ccae9dd3d8f6033929c9cf8371c4dd96f27c602e2cf9b363196a22557f8f36ca02b6ee64d20d230cb6b60d4a473066f9a4e6b0551d6ca67c797250c9bb3db20@217.182.60.41:6533
INFO [12-25|06:00:50.929] Bootnode url=enode://946ec02182a11adb2c93851303ca8c6a6ef5041d84e7f695f3dd6a574f1891b879c5bde1c19cafa1ad91a9057e7d6830b8def76dede45bda350a9deb4e0c152c@51.195.103.104:6533
....
INFO [08-12|05:23:22.805] New block ....
INFO [08-12|05:23:22.805] New block ....

If you get messages like New block it means your node is syncing and working properly.

You can now stop the node with Ctrl+C, clean the output folder with rm -rf $HOME/arthera/arthera-node $HOME/arthera/chaindata and remove the docker container with docker container rm arthera-rpc and move to the next step.

8. Run your node

Replace the following variables and run the command below to start your node:

  • YOUR_PUBLIC_IP with your actual Public IP address.
docker container rm arthera-rpc # remove any existing containers just to be sure
docker pull arthera/arthera-node:1.2.1-rc.3
docker run -d --restart unless-stopped --name arthera-rpc --network host -v $HOME/arthera:/data arthera/arthera-node:1.2.1-rc.3 \
--port 6533 \
--genesis /data/mainnet.g --genesis.allowUnknown \
--syncmode full \
--gcmode full \
--nodekey /data/node.key \
--metrics --metrics.addr 127.0.0.1 \
--verbosity 3 \
--cache 4000 \
--nat extip:YOUR_PUBLIC_IP

Check the node was started with docker ps:

CONTAINER ID   IMAGE                                   COMMAND                  CREATED         STATUS        PORTS     NAMES
d6ac0f5fdf14 arthera/arthera-node:1.2.1-rc.3 "arthera-node --data…" 2 seconds ago Up 1 second arthera-rpc

and check the logs of the container with docker logs -f arthera-rpc. You should see the following output:

INFO [08-12|05:57:39.972] New block                                ....
INFO [08-12|05:57:39.972] New block ....
INFO [08-12|05:57:39.972] New block ....
INFO [08-12|05:57:39.973] New block ....
INFO [08-12|05:57:39.973] New block ....
INFO [08-12|05:57:39.973] New block ....

Troubleshooting

1. Node is not syncing

The most common problems are firewalls and incorrectly provided external IP address.

2. Cleanup node data and restart node

  1. Stop the doocker container with docker container stop arthera-rpc
  2. Remove the database with rm -rf $HOME/arthera/arthera-node $HOME/arthera/chaindata
  3. Start the docker container with docker container start arthera-rpc

3. Database is corrupted

See Cleanup node data and restart node