# Run a node

### Run a node&#x20;

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;

<mark style="color:blue;">`sudo apt-get update`</mark>

<mark style="color:blue;">`sudo apt-get install default-jre`</mark>

<mark style="color:blue;">`sudo apt-get install unzip`</mark>

<mark style="color:blue;">`wget https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.3/besu-22.10.3.zip`</mark>

<mark style="color:blue;">`unzip besu-22.10.3.zip`</mark>

The above commands will download and extract besu to your working directory. After that move into that directory with <mark style="color:blue;">`cd besu-22.10.3.zip`</mark> command.

Then create a genesis.json file with the command <mark style="color:blue;">`nano genesis.json`</mark> and paste the following genesis info into it.

```json
{
"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 <mark style="color:blue;">CTRL+X</mark> for exit, and when nano prompts for saving the contents hit Y and when it asks for the name of the file hit <mark style="color:blue;">ENTER</mark>

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

<mark style="color:blue;">`screen -S besu`</mark>

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

```sh
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 <mark style="color:blue;">CTRL+A</mark> and then <mark style="color:blue;">D</mark> 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;&#x20;

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