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.
  • 2vCPUs
  • 4GB RAM
  • 100GB Disk space
  • Ubuntu 22.04


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
The above commands will download and extract besu to your working directory. After that move into that directory with cd 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://957a5bfba095966f3d8316caf289ace2bd9e875d07d6ae1ee23dad82d551cd76d[email protected] --p2p-port=30311 --rpc-http-enabled --rpc-http-api=ETH,NET,WEB3,IBFT,MINER,PRIV,DEBUG,TXPOOL,TRACE --rpc-http-host= --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= --rpc-ws-port=8546
After the node starts synching, you can hit CTRL+A and then D to exit the screen.


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;