All networks
Explorer
Airchains logo

Airchains

testnet
Chain ID
varanasi-1
Node
v0.3.2

πŸ“š Node installation

Update packages

sudo apt update && sudo apt upgrade -y

Install dependencies

sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc lz4 gcc -y

Install Go

cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

The output should be: go version go1.22.0 linux/amd64

Download binary for work

git clone https://github.com/airchains-network/junction
cd junction
git checkout v0.3.2
make install

Specify variables, for ease of work

echo 'export airchains_moniker="Validator_name"' >> $HOME/.profile
echo 'export airchains_wallet="Wallet_name"' >> $HOME/.profile
echo 'export airchains_port="111"' >> $HOME/.profile
source $HOME/.profile

Initialize the node

junctiond init $airchains_moniker --chain-id varanasi-1

Set the settings

junctiond config chain-id varanasi-1 && \
peers=c70f853dba012ee6b6f50070657ca28dbd12daf4@65.108.0.88:13056,fb020fce2811c1cda85ed69b9571486f8eac7097@2a01:27956,fe51d4777e7ad2b4d93c3a096761a31966c65c64@2a0a:26656,9c732e72ea4ea957799e42bd0949b082b72f486b@148.251.179.244:29656,1db4bf40135b6991b1594d44054aea5f74bb4d47@65.109.113.242:10656,cca3325d9045d63e5fda4073662a24ff0a37da4f@116.202.219.112:26656,2d1ea4833843cc1433e3c44e69e297f357d2d8bd@2a01:26656,8416ae7dd9a15be93a90b4379e673b71704bde2e@130.185.118.55:656,538210a51eea49eb09a6410f2cf8dba00df9f94e@2607:17656,32d7cc99d765a3dbb22cefc3e579d10db6c0f6fd@178.215.71.99:28656,1918bd71bc764c71456d10483f754884223959a5@35.240.206.208:26656,054b081a861d7613273b0ceb4baab62784995820@144.126.132.101:38656,5f1b8533ecd9299188e407b14231212b9fbf13c4@2a01:11056,60133849b4c83531eb2d835970035a0f08868658@65.109.93.124:28156,c0ed5d652ca713b0bbf07b6a58e1116909cc67a7@178.18.246.196:43456,3e5f3247d41d2c3ceeef0987f836e9b29068a3e9@2a01:56256,d0a4dfb6cc7ee326a0681ae47c203d03e65f7ab5@2a01:26656,cc438cf06e3ab9a4a7657f5eb763444c852cc290@2a01:26656,47f61921b54a652ca5241e2a7fc4ed8663091e89@178.63.18.157:19656,77c159d6f883d8d607d59e3c668a10086f94dc6f@2402:63656,27d1c8383350eb11dc3cbba4b222d4e892e0ec03@45.250.254.41:19656,854f4964f2103728d4271108e539cb3b46fd9a08@2a01:26656,8003688321285589960b0c51e26b54648e420b91@2607:56256,c70eb86913e7db1a24892f08b1443ad4ed2fdf97@2a01:11056,ac6db455ae757d6f060793242928e33553001a4b@2a01:63656,0d03e79ef79687421ac6f4b1ddd6add67dd2d6a0@2a01:28156,5dce1a3d689b8ab65bbbe20fc8e2444b36fe5ada@2a01:21656,aaf57c42eb1a53b487443088db025a5d05f78159@2a01:13756,196b2212d651b1730a68d2f29450ee9b127890fc@2405:43456,5717aadf2f21e223012a1ab27e21307f510037c3@2a01:13756,d5ded9ed366f251a59c85f84ed1fa825cceb0d97@2a01:13656,7419a1b9753309f5f9d3c62daf882854cc0d7642@2a0a:26656,9a42358cb7100148bceb606f02ff35ea56f5474b@2a01:26656,f35c6f40ede70ea14ba10c2822116289b11eb7a3@2a01:26656,ab9ad5be31b6e97e50abf62e5e75fcfcc42b2a6b@109.199.118.239:26656,541c513ffc19cff0a02ce4aebaed46f5af020d71@2a01:22656,dcc3c05a0c8594f086086dba92f8243c16166708@195.26.243.208:63656,bb26fc8cef05cee75d4cae3f25e17d74c7913967@2a01:4476,4f84487af5e8a86baa7e4e428ca7156ae5bc3ab7@2a01:24656,a5a4616f3e0f1c4a958dfd86875eb54e1098c9d9@195.3.220.4:38656,7a9b0b9d50d23a2bb1e205c3ef332d990cefa5f0@2a03:26656,2d7a9e2e7ac0dc46c688f85bff05bba43f0aa576@2a0a:29956,545b1032799ab7b6f353c362bc07f9f6b151ed32@2a01:28656,3b429f2c994fa76f9443e517fd8b72dcf60e6590@2a01:26656,6b7889c07a194fc2357c3a413d317034a28f4884@2a01:26126,d4f57858803002125fe54261e97fa693f26c3fcc@46.196.214.35:63656,575e98598e9813a26576759c7ef70fd38d2516a4@2a01:15656,aeaf101d54d47f6c99b4755983b64e8504f6132d@2a01:28656,0bf905c7839556d924e1fc704b7abff66582f1f7@2001:26656,e2f4bdc67c3a9c2aa93f8a4b8ba400a8311c9bfb@198.7.120.70:26656 && \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.junction/config/config.toml && \
seeds="6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10217" && \
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.junction/config/config.toml

Create wallet

junctiond keys add $airchains_wallet

Save the wallet. Or restore if there is a mnemonic:

junctiond keys add $airchains_wallet --recover

Download Genesis

wget -O genesis.json "https://snapshots.stakeup.tech/airchains/genesis.json" --inet4-only
mv genesis.json ~/.junction/config

Optional Settings

Memory optimization
cd $HOME/.junction/config && \
indexer="null" && \
snapshot_interval="0" && \
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_interval="50" && \
sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" config.toml && \
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" app.toml && \
sed -i.bak -e "s/^pruning *=.*/pruning = \"$pruning\"/" app.toml && \
sed -i.bak -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" app.toml && \
sed -i.bak -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" app.toml
Change port
cd $HOME/.junction/config && \
sed -i.bak \
    -e "s/:\s*26656/:${airchains_port}56/g" \
    -e "s/:\s*26657/:${airchains_port}57/g" \
    -e "s/:\s*26658/:${airchains_port}58/g" \
    -e "s/:\s*26660/:${airchains_port}59/g" \
    -e "s/:\s*6060/:${airchains_port}61/g" \
    config.toml

sed -i.bak \
    -e "s/:\s*1317/:${airchains_port}17/g" \
    -e "s/:\s*8080/:${airchains_port}80/g" \
    -e "s/:\s*9090/:${airchains_port}90/g" \
    -e "s/:\s*9091/:${airchains_port}91/g" \
    app.toml && \
echo 'export airchains_node=http://localhost:${airchains_port}57' >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
junctiond config node $airchains_node

Create a service file

sudo tee /etc/systemd/system/junctiond.service > /dev/null <<EOF
[Unit]
Description=airchains
After=network-online.target

[Service]
User=$USER
ExecStart=$(which junctiond) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload &&
sudo systemctl enable junctiond &&
sudo systemctl restart junctiond && sudo journalctl -u junctiond -f -o cat