Mainnet

Run a Sentry 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

note

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/sentry/* ~/node
cp launch/mainnet-v1/sentry-service.sh ~/node

Setting up the network directories:

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

show enode:

bootnode -nodekey ~/.bor/data/bor/nodekey -writeaddress

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 sentry-service.sh

Copy the service file to the system directory:

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

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

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

Last updated