Mainnet

Run a Validator Node from Binaries:

Prerequisites:

build-essential installed on both the sentry and the validator machines.

To install:

sudo apt-get install build-essential

Go 1.18 installed on validator machine.

To install:

wget https://raw.githubusercontent.com/Ramestta-Blockchain/launch/master/go-install.sh
bash go-install.sh
sudo ln -nfs ~/.go/bin/go /usr/bin/go

Docker and RabbitMQ to install on validator machines.

sudo apt-get update
sudo apt install rabbitmq-server

To install sublime-text:

sudo snap install sublime-text --classic

Installing Heimdall:

Heimdall is the proof-of-stake verifier layer responsible for checkpointing the representation of the Plasma blocks to the Ramestta mainnet.

git clone https://github.com/Ramestta-Blockchain/heimdall
cd heimdall
make build
make install
cd ~
source ~/.bashrc

Check the Heimdall installation:

heimdalld version --long

note

Before proceeding, Heimdall should be installed on both the sentry and validator machines.

Installing Bor​

Bor is the sidechain operator that acts as the block production layer, which syncs with Heimdall to select block producers and verifiers for each span and sprint.

git clone https://github.com/Ramestta-Blockchain/bor
cd bor

Install Bor:

make bor-all

Create symlinks:

sudo ln -nfs ~/bor/build/bin/bor /usr/bin/bor
sudo ln -nfs ~/bor/build/bin/bootnode /usr/bin/bootnode

Check the Bor installation:

bor version

Change directory

cd ~

Before proceeding, Bor should be installed on both the sentry and validator machines.

Setting Up Node Files:

Node files need to be set up on both the sentry and validator machines.

Fetching the launch repository​

git clone https://github.com/Ramestta-Blockchain/launch

Setting up the launch directory​

On the validator machine​

Create a node directory:

mkdir -p node

Copy the files and scripts from the launch directory to the node directory:

cp -rf launch/mainnet-v1/sentry/validator/* ~/node
cp launch/mainnet-v1/service.sh ~/node

Setting up the network directories:

Run this section both on the sentry and validator machines.

Setting up Heimdall​

Change to the node directory:

cd ~/node/heimdall

Run the setup script:

bash setup.sh

Setting up Bor​

Change to the node directory:

cd ~/node/bor

Run the setup script:

bash setup.sh

Setting Up the Services:

Run this section both on the sentry and validator machines.

Navigate to the node directory:

cd ~/node

Run the setup script:

bash service.sh

Copy the service file to the system directory:

sudo cp *.service /etc/systemd/system/

Configuring the Validator Node​

Set the owner and signer key

On Ramestta, you should keep the owner and signer keys different. Generate New wallet, and use its private key in next step as POLYGON_PRIVATE_KEY

  • Signer — the address that signs the checkpoint transactions. The recommendation is to keep at least 1 MATIC on the signer address.

  • Owner — the address that does the staking transactions. The recommendation is to keep the RAMA tokens on the owner address.

Generating a Heimdall private key​

You must generate a Heimdall private key only on the validator machine. Do not generate a Heimdall private key on the sentry machine.

To generate the private key, run:

heimdallcli generate-validatorkey POLYGON_PRIVATE_KEY[0x prefix]

where

  • POLYGON_PRIVATE_KEY — your Polygon wallet’s private key.

This will generate priv_validator_key.json. Move the generated JSON file to the Heimdall configuration directory:

mv ./priv_validator_key.json ~/.heimdalld/config

Generating a Bor keystore file​

You must generate a Bor keystore file only on the validator machine. Do not generate a Bor keystore file on the sentry machine.

To generate the private key, run:

heimdallcli generate-keystore POLYGON_PRIVATE_KEY[0x prefix]

where

  • POLYGON_PRIVATE_KEY — your Polygon wallet’s private key.

When prompted, set up a password to the keystore file.

This will generate a UTC-<time>-<address> keystore file.

Move the generated keystore file to the Bor configuration directory:

mv ./UTC-<time>-<address> ~/.bor/keystore/

Add password.txt​

Make sure to create a password.txt file then add the Bor keystore file password right in the ~/.bor/password.txt file.

mv password.txt ~/.bor/password.txt

mkdir /etc/rama
cd ~/node

Add your Polygon address​

Open for editing.

sudo nano metadata

In metadata, add your Polygon address. Example: VALIDATOR_ADDRESS=0xca67a8D767e45056DC92384b488E9Af654d78DE2.

Save the changes in metadata.

mv metadata /etc/rama/

Starting the Validator Node​

At this point, you must have:

  • The Heimdall service on the sentry machine syncs and is running.

  • The Bor service on the sentry machine running.

  • The Heimdall service and the Bor service on the validator machine configured.

  • Your owner and signer keys configured.

Starting the Heimdall service​

You will now start the Heimdall service on the validator machine. Once the Heimdall service syncs, you will start the Bor service on the validator machine.

Start the Heimdall service:

sudo service heimdalld start

Start the Heimdall rest-server:

sudo service heimdalld-rest-server start

Start the Heimdall bridge:

sudo service heimdalld-bridge start

Check the Heimdall service logs:

journalctl -u heimdalld.service -f

Check the Heimdall rest-server logs:

journalctl -u heimdalld-rest-server.service -f

Check the Heimdall bridge logs:

journalctl -u heimdalld-bridge.service -f

Check the sync status of Heimdall:

curl localhost:26657/status

In the output, the catching_up value is:

  • true — the Heimdall service is syncing.

  • false — the Heimdall service is synced.

Wait for the Heimdall service to fully sync.

Starting the Bor service​

Once the Heimdall service on the validator machine syncs, start the Bor service on the validator machine.

Start the Bor service:

sudo service bor start

Check the Bor service logs:

journalctl -u bor.service -f

Service to Auto Start After Server Crash/Reboot

sudo systemctl enable heimdalld
sudo systemctl enable heimdalld-rest-server
sudo systemctl enable heimdalld-bridge
sudo systemctl enable bor

Next Steps: Staking​

Now that you have your sentry and validator nodes are health-checked, proceed to the Staking guide to start backing the network.

Last updated