Before you can run a node for a blockchain protocol, there are several things to prepare. In this 4-part series, I discuss the prerequisites for running nodes on Oasis in detail. In part 1, we learned about hardware and cloud providers. Here, I will cover stake requirements and how to install the Oasis Node.
Stake Requirements
Based on your node role and whether you are on the mainnet or the testnet, you need to keep in mind the following requirements.
Registration of entity
Mainnet: 100 ROSE
Testnet: 100 TEST
Note: To get the latest entity registration requirement, you will need to run the command oasis network show native-token.Registration of node
Mainnet: 100 ROSE
Testnet: 100 TESTSize of the validator set
Mainnet: 120
Testnet: 110
Notes: The validator set is the consensus committee, and its size is capped by the max_validators committee-scheduler parameter. To view the current value, you will need to run the command oasis network show parameters.
For mainnet, to find out whether you are eligible to receive a delegation from the Oasis Protocol Foundation, check out the Delegation Policy.
For testnet, the faucet generates only a limited number of TEST tokens. If you need more, you will need to contact the team on the official Discord in the testnet channel.Run a Sapphire or Emerald compute node
Mainnet: 5,000,000 ROSE + member of the validator setRun a Cipher compute node
Mainnet: member of the validator set
Notes: The docs list no separate testnet figures.
To get the latest paratime-specific stake requirements, you will need to run the command oasis network show and specify the paratime ID for mainnet.
To know who the current top validators are, you can do that either with Oasis Explorer or with the CLI command oasis network show validators.
As mentioned, requirements vary according to your choice of node role. Here is a snapshot of the role-specific steps to set up a working node from scratch.

Note: There are no specific requirements for non-validator nodes.
To check whether you meet the requirements for your node role, you will first need to view the balance of your account. You can do that either with Oasis Explorer or with the CLI command oasis account show.
Installing the Oasis Node
The Oasis Node is a binary created from the Oasis Core repository's go/ directory. It is a single executable and contains the logic for running your node in various roles. Currently, the Oasis Node is only supported on x86_64 Linux systems.
Setting up the working directory
You need a place to store necessary files before installing the Oasis Node, so that is the first step. In this guide, /node refers to the working directory.
In the /node directory, start by creating the following subdirectories to allocate specific storage roles.
-
etc/: configuration andentity.json -
data/: node's data -
bin/:oasis-nodebinary -
runtimes/: paratime.orcbundles
To establish the directory structure along with the corresponding permissions, you will need to execute this command.
mkdir -m700 -p /node/{etc,bin,runtimes,data}
Note: Creating directories under / usually requires root privileges. Make sure the account that will run the node owns /node afterwards, since the 700 permissions give access to the owner only.
Copying the Genesis file
You can find the latest Genesis file for mainnet and testnet as part of the network parameters. The next step involves downloading the latest genesis.json file and copying it to /node/etc/genesis.json on the server.
Once done, you can now get the oasis-node Binary.
Downloading a binary release
The Oasis Protocol Foundation builds and provides the binaries. Since the Oasis Node is part of the Oasis Core release, start by finding the network parameters linked earlier for the respective mainnet and testnet. Next, follow the Oasis Core version link to its GitHub release, where the downloads are listed under Assets.
Building from source
Building from source is highly suggested, but the Oasis documentation currently treats it as beyond its scope. You will need to check out Oasis Core's Build Environment Setup and Building documentation for more details.
Note: The code in the current master branch may be incompatible with the code used by other nodes on the network. It is thus essential that you use the version specified in the network parameters linked earlier for the respective mainnet and testnet.
Adding oasis-node binary to PATH
If you are installing the oasis-node binary next to your Oasis Node data directory, you will need to copy/symlink it to /node/bin. Now, if you are installing the binary for the current user, the copy/symlink needs to be to ~/.local/bin. To install it for all users of the system, you have to copy it to /usr/local/bin.
Running paratimes
This is applicable only if you are running a paratime node. You will then need to install some additional software packages.
You will need Bubblewrap 0.4.1+ to create process sandboxes.
On Ubuntu 20.04+, you can install it with this command.
sudo apt install bubblewrap
For Fedora, use this command instead.
sudo dnf install bubblewrap
This concludes part 2 of the prerequisites series. In the next part, I will discuss system configuration.
- For technical specs, APIs, architecture, and integration guides, the Oasis documentation is your starting point.
- For direct support on specific issues, the Oasis engineering team and other node operators are available in the node-operators channel on the official Discord.
Top comments (0)