Skip to main content

Register your node

Network details

Here are the coordinates to the Arthera Mainnet

Running a validator 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. Create a wallet for your validator

docker run -it -v $HOME/arthera:/data arthera/arthera-node:1.2.1-rc.3 account new

Enter a password for the new account and you will get an output similar to the one below:

Your new key was generated

Public address of the key: 0x0bEdA7aAB9cFAa963443e27e30a8F04A79f099C3
Path of the secret key file: /data/keystore/UTC--2023-07-18T21-48-46.572871703Z--088dc563b8184107010c947c4b94bbc856992985

- You can share your public address with anyone. Others need it to interact with you.
- You must NEVER share the secret key with anyone! The key controls access to your funds!
- You must BACKUP your key file! Without the key, it's impossible to access account funds!
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!

6. Create the validator identity

docker run -it -v $HOME/arthera:/data arthera/arthera-node:1.2.1-rc.3 validator new

Enter a password for the validator account and you will get an output similar to the one below:

Your new key was generated

Public key: 0xc004c1edab0ed2b77a316c81114177bb071bbc94ec2674a3ccb42c59fe539dd301c1868b919a7cd208d1e8798af141cf2fc41994c35cf4dfc3dd7df74f431f086022
Path of the secret key file: /data/keystore/validator/c004c1edab0ed2b77a316c81114177bb071bbc94ec2674a3ccb42c59fe539dd301c1868b919a7cd208d1e8798af141cf2fc41994c35cf4dfc3dd7df74f431f086022

- You can share your public key with anyone. Others need it to validate messages from you.
- You must NEVER share the secret key with anyone! The key controls access to your validator!
- You must BACKUP your key file! Without the key, it's impossible to operate the validator!
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!

7. Register your validator

This step requires that you submit the validator's wallet address created in step 5. Create a wallet for your validator and the Public Key created in 6. Create the validator identity to Arthera, so we can delegate the required coins to your validator (the minimum stake of 100,000 AA).

8. View your validator in the Arthera Wallet

While you wait for us to delegate the required coins to your validator, you can register your account it in the Arthera wallet.

  1. Configure MetaMask to connect to the Arthera Mainnet (see Network details)
  2. Import you wallet JSON file (which name starts with UTC) created in step 5. Create a wallet for your validator into Metamask
  3. Go to https://wallet.arthera.net
  4. Login with Metamask and select the imported account
  5. Under the Account menu you should see your new validator (after we delegate the required coins to it)

9. Create a password file

Run the command below and replace YOUR_PASSWORD with the password entered in step 6. Create the validator identity

echo "YOUR_PASSWORD" | sudo tee $HOME/arthera/keystore/validator/password

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

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

12. Test your node

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

docker pull arthera/arthera-node:1.2.1-rc.3
docker run --name arthera-validator --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 \
--validator.id ID_FROM_STEP_8 \
--validator.pubkey "VALIDATOR_PUBLIC_KEY_FROM_STEP_6" \
--validator.password "/data/keystore/validator/password"

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-validator and move to the next step.

13. Run your node

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

docker container rm arthera-validator # 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-validator --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 \
--validator.id ID_FROM_STEP_8 \
--validator.pubkey "VALIDATOR_PUBLIC_KEY_FROM_STEP_6" \
--validator.password "/data/keystore/validator/password"

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-validator

and check the logs of the container with docker logs -f arthera-validator. 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 validator

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

3. Database is corrupted

See Cleanup node data and restart validator