Setup Testnet

Setup Chain

Index

  • Install Akash
  • Create Keys
  • Update genesis params
  • Add genesis accounts
  • Collect Gentx
  • Start the chain

Before we begin

Make sure to have Akash client installed on your workstation, check install guide for instructions.

Add a Key

Create a new key (account) using below command:

akashctl keys add <key-name>

Or recover your old key with mnemonic using below command:

akashctl keys add <key-name> --recover

{% hint style='warning' %}

Please store the menonic keys in a safe place

{% endhint %}

Initialize Node

Following instructions are for setting up a node.

First, initialize the node and create the necessary config files:

akashd init <your_moniker> --chain-id eridani

You can edit the ~/.akashd/config/app.toml file in order to enable the anti spam mechanism and reject incoming transactions with less than the minimum gas prices:

# This is a TOML config file.
# For more information, see https://github.com/toml-lang/toml

##### main base config options #####

# The minimum gas prices a validator is willing to accept for processing a
# transaction. A transaction's fees must meet the minimum of any denomination
# specified in this config (e.g. 0.25token1;0.0001token2).
minimum-gas-prices = ""

Your node has been initialized!

If you want to run a

Setup Sentry Node

Once your node is initialized, update config.toml to setup sentry node.

$EDITOR ~/.akashd/config/config.toml

Set addr_book_strict value in config.toml to false if you want to setup private sentry or to true for public.

# Set true for strict address routability rules
# Set false for private or local networks
addr_book_strict = true

Set private_peer_ids value with your validators node IDs, the values should be seperated by a comma (,) for each ID:

# Comma separated list of peer IDs to keep private (will not be gossiped to other peers)
private_peer_ids = "331db71f20be13da096a8c2e4fbb8106cd7077e8"

To know your validator node ID, run below command in your validator node:

akashd tendermint show-node-id

Skip to Configure Node to update genesis and seeds.

Setup Seed Node

Once your node is initialized, update config.toml to setup seed node.

$EDITOR ~/.akashd/config/config.toml

Set seed_mode value in config.toml to true.

# Set true for strict address routability rules
# Set false for private or local networks
seed_mode = true

Next configure your node to update genesis.

Configure Node

This section is applicable only after the genesis is released.

Download the Genesis and Sync with Seeds

Fetch released genesis into akashd's config directory.

curl -s https://raw.githubusercontent.com/ovrclk/net/master/centauri/genesis.json > ~/.akashd/config/genesis.json

Add seed nodes and persistent peers in config.toml.

$EDITOR ~/.akashd/config/config.toml

Find the following section and add the seed and persistent peer nodes, the values should be seperated by a comma (,) for each key:

seeds = "331db71f20be13da096a8c2e4fbb8106cd7077e8@147.75.62.73:26656,cf9b4ab767f245062f664cf3cc6aa06c082af106@67.207.70.48:26656,e58583366339344c92161e92602f40fa4163edf9@86.109.15.49:26656"
# Comma separated list of persistent peers to connect to
persistent_peers = "b29c405d575b76795150cf9b26e44a7b51e72dd8@157.245.119.72:26656,c7c3f86b35dee13958190b301f7f3b8de137fa9e@167.71.138.117:26656"

The above configuration will sync your node with below set of seeds nodes and persistent peers:

Seed nodes:

  • 331db71f20be13da096a8c2e4fbb8106cd7077e8@147.75.62.73:26656
  • cf9b4ab767f245062f664cf3cc6aa06c082af106@67.207.70.48:26656
  • e58583366339344c92161e92602f40fa4163edf9@86.109.15.49:26656

Persistent peers:

  • b29c405d575b76795150cf9b26e44a7b51e72dd8@157.245.119.72:26656
  • c7c3f86b35dee13958190b301f7f3b8de137fa9e@167.71.138.117:26656

Start your node

Join as a Validator (Post genesis time)

To create a validator, you need to have enough uakt.

Please make sure you have enough uakt in your account by running below command:

akashctl query account <key-address>

Create Your Validator

To create your validator, just use the following command:

akashctl tx staking create-validator \
  --amount=9000000uakt \
  --pubkey=$(akashd tendermint show-validator) \
  --moniker="choose a moniker" \
  --chain-id=eridani \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --gas="auto" \
  --from=<key_name>

{% hint style='warning' %}

Don't use more uakt than you have.

{% endhint %}

  • When specifying commission parameters, the commission-max-change-rate is used to measure % point change over the commission-rate. E.g. 1% to 2% is a 100% rate increase, but only 1 percentage point.

  • min-self-delegation is a stritly positive integer that represents the minimum amount of self-delegated voting power your validator must always have. A min-self-delegation of 1 means your validator will never have a self-delegation lower than 1akt, or 1000000uakt.

You can confirm that you are in the validator set by using any akash block explorer.

Or, you can query validators using:

akashctl query staking validators --trust-node --node http://localhost:26657 --chain-id centauri -o json | jq '.[] | select(.jailed==false) | {operator_address, jailed, status, moniker:.description.moniker}'

Cygni Upgrade

Cygni, the fourth release of The Akashian Challenge: Phase 1, starts with the proposal to upgrade the network to Cygni release, which goes live Tuesday May 26th at 1600 UTC.

Context - Why Cygni Upgrade?

Cygni Upgrade will requires features for Akash Phase 2. The goal is to ensure upgrades happen without friction, and coordination gaps are identified and fixed.

Cygni Voting

All validators and delegators will have 48 hours to cast their votes on the proposal

​​​​The voting starts on May 26th, 2020 1600 UTC
​​​​The voting closes on May 28th, 2020 1600 UTC.

Schedule

  • Upgrade proposal time: May 26th, 2020 1600 UTC
  • Voting Period : May 26th, 2020 1600 UTC - May 28th, 2020 1600 UTC
  • Network Upgrade Time: May 29th, 2020 1600 UTC