Run a node

Run a node

If you would like to run your own node and verify the integrity of the Omchain infrastructure, you can follow the guide below. Please keep in mind that validators on the Omchain network don't get any validating/mining incentives.

Recommended Specs

  • 2vCPUs

  • 4GB RAM

  • 100GB Disk space

  • Coinstore Exchange

  • Ubuntu 22.04

Get Started

Once you start with a fresh server, run the following commands shown below;

sudo apt-get update

sudo apt-get install default-jre

sudo apt-get install unzip

wget https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.3/besu-22.10.3.zip

unzip besu-22.10.3.zip

The above commands will download and extract besu to your working directory. After that move into that directory with cd besu-22.10.3.zip command.

Then create a genesis.json file with the command nano genesis.json and paste the following genesis info into it.

{
"config": {
"chainId": 21816,
"muirglacierblock": 0,
"ibft2": {
"blockperiodseconds": 2,
"epochlength": 30000,
"requesttimeoutseconds": 4,
"miningbeneficiary": "0x5eb0e1AfD4806928cfd8D1B5AFe5b1392d0226C0"
}
},
"nonce": "0x0",
"timestamp": "0x61a46efd",
"extraData": "0xf8bda00000000000000000000000000000000000000000000000000000000000000000f89394aa1b708acacf7311237bcf1bbd70593e3cdb10d79444e3f838a76b95131853e3fb5cfb22f0f5b4c100944659945e71392b0d14e4e46f4f852d8b2cc227d194636a2ef549f0aec260f7d44c1e8381707269b3d6940566b7b5d4f41b9576635497fb9689d45137576994d211604463106ef8d618563debf82a5bf9dd06d894b4070974a8ee5298dd48776df04cbda87eed647d808400000000c0",
"gasLimit": "0x2faf080",
"difficulty": "0x1",
"mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"alloc": {
"470d673a394Fb21B569fb5292a3c820f6C212Ad9" : {
"balance": "0x19d971e4fe8401e74000000"
}
}

Then CTRL+X for exit, and when nano prompts for saving the contents hit Y and when it asks for the name of the file hit ENTER

Now create a screen named besu with the following command to run Besu instance on the screen;

screen -S besu

And after that run the following command to start your instance, the node will start synching shortly

bin/besu --data-path=data --genesis-file=genesis.json --bootnodes=enode://957a5bfba095966f3d8316caf289ace2bd9e875d07d6ae1ee23dad82d551cd76dba691064e849422021b71ed4c90390da3294e0806e186585cc82ced133dbcce@178.62.46.132:30311 --p2p-port=30311 --rpc-http-enabled --rpc-http-api=ETH,NET,WEB3,IBFT,MINER,PRIV,DEBUG,TXPOOL,TRACE --rpc-http-host=0.0.0.0 --host-allowlist="*" --rpc-http-cors-origins="all" --rpc-http-port=8545 --rpc-ws-api=ETH,NET,WEB3,IBFT,MINER,PRIV,DEBUG,TXPOOL,TRACE --rpc-ws-enabled --rpc-ws-host=0.0.0.0 --rpc-ws-port=8546

After the node starts synching, you can hit CTRL+A and then D to exit the screen.

Notes

You can configure your data path with the --data-path variable and choose where you would like to store the blockchain data.

You can enable/disable RPC HTTP with --rpc-http-enabled command.

You can choose which APIs you would like to provide by setting --rpc-http-api parameter as you wish.

For more information please read the official BESU documentation here;

https://besu.hyperledger.org/en/stable/public-networks/get-started/install/binary-distribution/#prerequisites

Last updated