# Join Injective networks

# Equinox Testnet

Validators should expect to provision one or more data center locations with redundant power, networking, firewalls, HSMs and servers. We expect that a modest level of hardware specifications will be needed initially and that they might rise as network use increases. Participating in the testnet is the best way to learn more.

For the Equinox testnet, we recommend following specs:

Validator Node

Copy 6 GB RAM 100GB SSD x64 2.0 GHz 4 vCPU

Sentry Node

Copy 6 GB RAM 100GB SSD x64 2.0 GHz 4 vCPU

# Step 1: Install injectived and peggo binaries

Download the Injective Chain Staking-[version] binaries from the official injective-chain-releases. For example, staking-40009 release.

Copy wget https://github.com/InjectiveLabs/injective-chain-releases/releases/download/v4.0.9-1624286601/linux-amd64.zip

This zip file will contain two binaries: injectived which is the Injective Chain daemon as well as peggo which is the Injective Chain ERC-20 bridge relayer daemon.

Then unzip and add injectived and peggo to your /usr/bin. Then run help commands to verify the installation.

Copy mv injectived /usr/bin mv peggo /usr/bin injectived --help peggo --help

# Step 2: Initialize a new Injective Chain node

Before actually running the Injective Chain node, we need to initialize the chain, and most importantly its genesis file.

Copy # The argument <moniker> is the custom username of your node, it should be human-readable. export MONIKER=<moniker> # the Injective Chain has a chain-id of "injective-888" injectived init $MONIKER

# Step 3: Prepare configuration to join the Equinox Testnet

You should now update the default configuration with the testnet's genesis file and application config file, as well as configure your persistent peers with a seed node.

Copy git clone https://github.com/InjectiveLabs/network-config/ # copy genesis file to config directory cp network-config/staking/40009/genesis.json ~/.injectived/config/genesis.json # copy config file to config directory cp network-config/staking/40009/app.toml ~/.injectived/config/app.toml

You can also run verify the checksum of the genesis checksum - a36617cc21ef487ba726604f84422a6fc4f623bfc49aa4eb8f77769c1b50a1df

Copy sha256sum ~/.injectived/config/genesis.json

Then open update the persistent_peers field present in ~/.injectived/config/config.toml with the contents of network-config/staking/40009/seeds.txt and update the timeout_commit to 1500ms.

Copy cat network-config/staking/40009/seeds.txt nano ~/.injectived/config/config.toml # timeout_commit = 1500ms

# Step 4: Start your node and sync the Injective Chain

Copy injectived start

At this point, your node should start syncing blocks from the chain.

# Step 5: Use systemd service

Configure systemd service for injectived if not configured already. Edit the config at /etc/systemd/system/injectived.service:

Copy [Unit] Description=injectived [Service] WorkingDirectory=/usr/bin ExecStart=/bin/bash -c '/usr/bin/injectived --log-level=error start' Type=simple Restart=always RestartSec=5 User=ec2-user [Install] WantedBy=multi-user.target

Starting and restarting systemd service

Copy sudo systemctl daemon-reload sudo systemctl restart injectived sudo systemctl status injectived # enable start on system boot sudo systemctl enable injectived # To check Logs journalctl -u injectived -f

# Canary Mainnet

Validators should expect to provision one or more data center locations with redundant power, networking, firewalls, HSMs and servers.

We initially recommend this minimum hardware specifications and they might rise as network usage increases.

Validator Node

Copy Memory: 16Gb+ Storage: 1Tb+ Network: 5Gbps+

Sentry Nodes

Copy Memory: 16Gb+ Storage: 1Tb+ Network: 5Gbps+

# Step 1: Install injectived and peggo binaries

Download the Injective Chain Mainnet-10001 binaries from the official injective-chain-releases.

Copy wget https://github.com/InjectiveLabs/injective-chain-releases/releases/download/v1.0.1-1625200242/linux-amd64.zip

This zip file will contain two binaries: injectived which is the Injective Chain daemon as well as peggo which is the Injective Chain ERC-20 bridge relayer daemon.

Unzip and add injectived and peggo to your /usr/bin.

Copy unzip linux-amd64.zip sudo mv injectived /usr/bin sudo mv peggo /usr/bin

Check your binary version by running following commands.

Copy injectived version peggo version

Confirm your version matches the output below

Copy injectived version Version dev (5cb9e25f) peggo version Version dev (c94e9af)

# Step 2: Initialize a new Injective Chain node

Before actually running the Injective Chain node, we need to initialize the chain, and most importantly its genesis file.

Copy # The argument <moniker> is the custom username of your node, it should be human-readable. export MONIKER=<moniker> # the Injective Chain has a chain-id of "injective-1" injectived init $MONIKER --chain-id injective-1

Running this command will create injectived default configuration files at ~/.injectived.

# Step 3: Prepare configuration to join Mainnet

You should now update the default configuration with the Mainnet's genesis file and application config file, as well as configure your persistent peers with a seed node.

Copy git clone https://github.com/InjectiveLabs/mainnet-config # copy genesis file to config directory cp mainnet-config/10001/genesis.json ~/.injectived/config/genesis.json # copy config file to config directory cp mainnet-config/10001/app.toml ~/.injectived/config/app.toml

You can also run verify the checksum of the genesis checksum - 573b89727e42b41d43156cd6605c0c8ad4a1ce16d9aad1e1604b02864015d528

Copy sha256sum ~/.injectived/config/genesis.json

Then open update the persistent_peers field present in ~/.injectived/config/config.toml with the contents of mainnet-config/10001/seeds.txt and update the timeout_commit to 1500ms.

Copy cat mainnet-config/10001/seeds.txt nano ~/.injectived/config/config.toml # timeout_commit = 1500ms

# Step 4: Start your node using CLI or systemd service

You can start your node simply by running injectived start which should start syncing the Injective Chain.

Copy injectived start

# Using systemd service

Configure systemd service for injectived if not configured already.

Edit the config at /etc/systemd/system/injectived.service:

Copy [Unit] Description=injectived [Service] WorkingDirectory=/usr/bin ExecStart=/bin/bash -c '/usr/bin/injectived --log-level=error start' Type=simple Restart=always RestartSec=5 User=ec2-user [Install] WantedBy=multi-user.target

Starting and restarting systemd service

Copy sudo systemctl daemon-reload sudo systemctl restart injectived sudo systemctl status injectived # enable start on system boot sudo systemctl enable injectived # To check Logs journalctl -u injectived -f

At this point, your node should start syncing blocks from the chain.

# Next Steps

Once your node completes syncing the blocks, proceed to next step Become a Validator.

# Support

For any further questions, you can always connect with the Injective Team via Discord, Telegram, and email.

Discord https://discord.gg/injective
Telegram https://t.me/joininjective
Email contact@injectiveprotocol.com