METAL Blockchain Validator Guide

Secure the METAL Blockchain and Earn Rewards!

Become a METAL Blockchain Validator

Contribute to the METAL blockchain by running a validator node. Validators secure the network.

Here is a great tutorial from the official website.

Also check out Marlon's metalstaking.com.

Video Tutorial: Become a METAL Node Validator

Watch my brief video tutorial on setting up a METAL validator node.

Step 1: Sign up for an Amazon Web Services account (or other VPS providers such as contabo.com)

https://portal.aws.amazon.com/billing/signup#/start/email

(You will need an email, mobile number, and credit card)

Under Services, go to Compute/Lightsail:

Lightsail: Launch and Manage Virtual Private Servers

Step 2: Create your Instance

  • Choose your location
  • Platform is Linux
  • OS: Ubuntu 22.04 LTS (or latest version)
  • Use the default SSH key or add/create your own
  • Choose Plan: will scale as the network becomes more active
  • Identify your instance by giving it a name
  • And hit Create

Step 3: Assign a Static IP address and attach to your instance

Setup Firewall setting

For METAL, we need port 9651 open

Port 9651 is used for inter-node communication in the METAL network.

Step 4: Connect using the SSH using Terminal (or web interface) and Run METAL install script

wget -nd -m https://raw.githubusercontent.com/MetalBlockchain/metal-docs/master/scripts/metalgo-installer.sh;
chmod 755 metalgo-installer.sh;
./metalgo-installer.sh

Note: You will be prompted:

Where is the node installed:

  • 1) residential network (dynamic IP)
  • 2) cloud provider (static IP)

Enter your connection type [1,2]:

Choose 2 and it will try to detect your public IP:

Detected ‘x.x.x.x’ as your public IP. Is this correct? [y,n]:

Enter y if detected, n if not, and enter your Static IP address attached to your instance when it prompts you.

It will also prompt:

Do you want the RPC port to be accessible to any or only local network interface? [any, local]:

It is safer to use local.

That’s it! Congratulations, you are running a METAL node.

Some useful commands

Check status:

sudo systemctl status metalgo

Make sure it says: "Active: active (running)" Press q or Control + C to stop

Check to see if bootstrapped:

curl -X POST --data '{
    "jsonrpc":"2.0",
    "id"     :1,
    "method" :"info.isBootstrapped",
    "params": {
        "chain":"X"
    }
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/info

(Your node needs to be bootstrapped before validation rewards are given)

Output should have: ”result”:{“isBootstrapped”:true},”id”:1}

Get your NodeID, publicKey, and proofOfPossession:

curl -X POST --data '{
    "jsonrpc":"2.0",
    "id"     :1,
    "method" :"info.getNodeID"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/info

The output will be as follows:

jsonrpc”:”2.0″,”result”:{“nodeID”:”NodeID-AVLJCKZXMJDug241XuTjep43DQrqPz8Qh ”}"nodePOP":{"publicKey":"0x8............................","proofOfPossession":"0x9..............."}},"id":1}

Copy your NodeID as you will need that to become a METAL Node validator (along with >2000$METAL to stake).

Also, you can find your publicKey and your proofOfPossession key from this command. You will need both of these when you go to validate your node.

Updating Your Metal Node

./metalgo-installer.sh

Stake METAL to Our Validator Nodes

Don't want to run a validator? Delegate (stake) METAL to our nodes using your WebAuth wallet.

Also see Blocksforge's How to stake your METAL BLOCKCHAIN tokens.