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.
Clone the Heimdall repository👍
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.
Clone the Bor repository👍
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​
Clone 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