Non-Validator peer node

Ozone Chain is a private blockchain network. Participation in the network as a node is restricted to select nodes that is agreed to by Ozone Chain DAO (Decentralized Autonomous Organization).
A Non-Validator Node is a peer node in the Ozone Chain network that has access to the RPC URL of a Validator Node, can receive block data or forward transaction requistions from a client like Metamask to the Validator Node’s RPC URL. A Non-Validator cannot produce blocks and thus cannot receive transaction fees.

How to add a Non-Validator peer node to Ozone Chain network?

The code for running a Validator Node is hosted at https://github.com/Ozone-chain/ozonechain_quantum

The newly proposed Validator Node as well as existing Validator Nodes must perform the below steps to add a new Validator Node to the network.

Steps to do if you are the Non-Validator Node to be added:

1. System requirements:

CPU and Memory:

Ozone Chain is very light on system requirements. It can run on a server with just 2 CPU and 4 GB RAM.

For optimal performance, we recommend a server with 8 CPU and 16 GB RAM.

Storage:

1 TB SSD harddisk.

Operating System:

Ozone Chain supports a variety of OS like Linux (many distros like Debian, Ubuntu, Fedora, RHEL etc), Windows and Mac.

The recommended OS is any recent version of Ubuntu or Debian, These have been tested to work well with the officially provided scripts.

Caution: If you want to run Ozone Chain on a different OS, you may need to modify the scripts. Go this route only if you are an expert in blockchain. Official support may not be available.

Location of Server:

It can be an on-premise server or from a cloud provider like AWS, Azure, Digital ocean etc.

IP address:

The IP address of the node must be public and static.

Public, meaning it is reachable from the Internet.

Static, meaning it must be a permanent IP address and not a dynamically changing one.

If you are using AWS, you need to attach an Elastic IP to the EC2 Instance.

Firewall Ports: The Following ports are to be open

Compulsary:

TCP 30303

UDP 30303

Optional:

TCP 8545 (if you want to open RPC port to public)

2. Clone the Github repo

2.1 Open the terminal and go to /root
$ cd /root

2.2 Become the root user
$ sudo su
or
$ su root

2.3 Clone the github repo

# git clone https://github.com/Ozone-chain/ozonechain_quantum.git

Verify that the folder /root/ozonechain_quantum is present and the code is inside.

3. Running the scripts

The scripts run-1.sh and run-2.sh are used to setup quantum security as a systemd service. The script run-3.sh is used to setup the blockchain node as a systemd service.

3.1 Create a partition (preferably ext4 filesystem) in the 1 TB SSD storage. Mount the partition to the path /root/blockchain. Caution: If you mount this partition to any other path, you may need to modify the scripts. Go this route only if you are an expert in system administration. Official support may not be available.

3.2 Pull the latest code from github.
# bash run-1.sh

3.3 You can skip run-2.sh as it is related to quantum security and is not needed by a Non-Validator Node.

3.4 To setup Non-Validator Node, create the file
/root/ozonechain_quantum/ozonechain/.env which must contain the public ip address of the node. NODE_PUBLIC_IP="aaa.bbb.ccc.ddd"

3.5 To install the required softwares (java, besu), configure them and start the node as a systemd service, run the command:
# bash run-3.sh

3.6 Find the enode url of your node using the command.
# journalctl -u ozonechain_node --grep"enode" | head

3.7 Share the enode url with ozonechain.io. It will be updated in their node’s permissions_config.toml

3.8 You can check if ozonechain node is functioning properly using the command,
# systemctl status ozonechain_node
If you see “active (running)” in the output, your quantum-secure node is operational.
To see the peer count and imported blocks in real-time, run,
# journalctl -u ozonechain_node -f

Scroll