Run a Full Node

Please be aware that Steps 1, 2, and 3 are intended to be executed specifically on the primary node. These steps involve retrieving critical information such as the node-id, genesis.json, and chain_id, which are essential for the setup process.

1. Retrieve Node ID and Chain ID

Execute the command on the primary node to obtain the Node ID.

aircosmicd tendermint show-node-id

2. Retrieve and Save the genesis.json File

Obtain the genesis.json file from the primary node. This file will be used later for setting up other nodes in the network.

On the primary node, navigate to the directory where the genesis.json file is stored. By default, it is located at: ~/.aircosmicd/config/genesis.json

3. Retrieve chain_id from genesis.json File.

{
  ...
  "chain_id": "your_chain_id_here",
  ...
}

Please note that all subsequent steps are required to be executed on the system where the new node is to be started. This is crucial for the successful setup and operation of your new node. Ensure you are performing these actions on the correct system designated for the node's deployment and operation.

4. Clone GitHub Repositories

Start by cloning the necessary repositories from GitHub. Use the following commands in your terminal:

git clone https://github.com/airchains-network/rollup-evm

5. Initialize Node

To initiate the new chain, follow these commands:

cd rollup-evm
go mod tidy
make build

6. Setting aircosmicd Paths

In this step, you will set paths in your environment.

First, set aircosmicdโ€™s root value, which tells aircosmicd where to look for its files. You can do this by editing the .profile file, which contains a list of commands that the system runs every time you log in.

Use your preferred editor to open .profile, which is stored in your userโ€™s home directory. Here, weโ€™ll use nano:

sudo nano ~/.profile

Then, add the following information to the end of your file:

. . .
export PATH=$PATH:$(pwd)/rollup-evm/build

After youโ€™ve added this information to your profile, save and close the file. If you used nano, do so by pressing CTRL+X, then Y, and then ENTER.e

Next, refresh your profile by running the following command:

source ~/.profile

7. Initialize Node with Chain ID

To initialize your node, use the aircosmicd init command with your specific node name and chain ID. Replace <your-node-name> with your chosen node name and <your-chain-id> with the actual chain ID retrieved from primary node:

aircosmicd init <your-node-name> --chain-id=<your-chain-id>

8. Copy Genesis File from Primary Node

The next step is to copy the genesis.json file from the primary node to your node. This file is critical for ensuring your node is in sync with the network.

The genesis.json file needs to be placed in the following directory on your node:

~/.aircosmicd/config/genesis.json

9. Update Configuration

Edit the config.toml file to update the persistent peers setting, and then start the node and verify its status.

9.1 Edit config.toml File:

Navigate to the config.toml file located in the ~/.aircosmicd/config/ directory:

nano ~/.aircosmicd/config/config.toml

In the file, locate the line containing persistent_peers = "".

9.2 Update Persistent Peers:

Change this line to include the primary node's ID and IP address in the following format:

persistent_peers = "<primary-node-id>@<primary-node-ip>:26656"

Replace <primary-node-id> with the actual node ID of the primary node and <primary-node-ip> with its IP address.

9.3 Save and Exit the File:

After making the changes, save and close the file. If using nano, you can do this by pressing CTRL + X, then Y, and Enter.

10. Start the Node and Check Status

To start your node, run the following command:

aircosmicd start

Once the node is running, you can check its status to ensure it's functioning correctly:

aircosmicd status

Last updated