Skip to main content

Build Oasys Node (geth)

Build steps

Full Node

Oasys's full node is capable of synchronizing blocks and executing commands on geth, including eth.getbalance. However, it is important to note that the Oasys full node itself does not function as a validator.

  • 1.Check Hardware requirements
  • 2.Install geth through one of the following two options:
    • Express setup: his is a straightforward method for setting up the validator node in your preferred environment.
    • Manual setup: This is a more engineering-friendly method. Those who use this setup will gain a good understanding of the Oasys validation node.
  • 3.Join our official Discord. Announcements such as validator node updates are posted in the announcement-validator channel. Once you've joined, please remember to obtain roles in the get-a-role channel.

Validator Node

The Oasys validator node operation involves running the validator client on the Oasys platform. To participate in the validator node operation, it is necessary to have a stake of 10,000,000 OAS from a delegator or through self-delegation. Please make sure to prepare the required stake in advance.

caution

The Oasys client undergoes frequent hard forks whenever it updates nodes. To continue validating on the Oasys chain, it is necessary to update your node prior to each hard fork. If you fail to update in a timely manner, you will be required to resync your node.

info

Please note that we have tested the Express Setup process on CentOS, so the provided commands may vary for other operating systems. However, rest assured that you can run Oasys nodes on any Linux OS or any other operating system of your choice.

1. Verify Installation of unzip and wget Commands

Please ensure that the unzip and wget commands are installed on your system. If they are not already installed, please proceed with their installation.

CentOS:

$ sudo yum install unzip
$ sudo yum install wget

Ubuntu:

$ sudo apt install unzip
$ sudo apt install wget

2. Download the Setup File

Ensure that you are downloading the latest setup.sh file. You can verify this by visiting the latest release page.

3. Granting Permissions to the Setup File

Once you have located the downloaded setup.sh file, please navigate to its location and grant the necessary permissions to the file.

$ sudo chmod +x setup.sh

4. Start setup.sh

$ ./setup.sh

When starting Geth, you will encounter a question:

Do you want to start block validation automatically?

If you wish to start the validator immediately, please select YES. If you choose NO, please check to initiate block validation section in Q&A. Keep in mind that manually turning on the validator might take some time.

Operator Address

The operator address required for registration in the later Join Validator process is generated in Step 4. This step is identified by the print message 4. Create a private key.

The address is written in the wallet.txt file located at /home/geth/.ethereum/wallet.txt. You can find the created account's address after the sentence Public address of the key:.

For more information about the operator, please refer to this discription

5. Check sestatus Command

On CentOS, there are instances where running sestatus may cause interruptions with geth(Oasys Node). In such cases, it is necessary to make the following changes:

$ sestatus

Then, the following result will be displayed::

SELinux status:                 enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33

We recommend changing the SELinux mode from enforcing to permissive. To do this, open the /etc/selinux/config file and modify the value of SELINUX to "permissive":

This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these three values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted

After making the changes, please restart your system for the modifications to take effect.

6. Starting Geth

To start Geth, execute the following command:

$ systemctl start geth

To check the status of your node, use the following command:

$ systemctl status geth

7. Checking Block Sync Status

For CentOS default installations, you can use the following command to check the block sync status:

$ sudo -u geth /usr/local/bin/geth attach ipc:/home/geth/.ethereum/geth.ipc --exec eth.syncing