Skip to main content

Arkeo

Run the node using SystemD

Port: 186. Chain id: arkeo

Automatic:

curl -o arkeo.sh https://raw.githubusercontent.com/vnbnode/binaries/main/Projects/Arkeo/arkeo.sh && chmod +x arkeo.sh && ./arkeo.sh

Snapshot:

sudo systemctl stop arkeod
cp $HOME/.arkeo/data/priv_validator_state.json $HOME/.arkeo/priv_validator_state.json.backup
rm -rf $HOME/.arkeo/data
curl https://testnet-files.itrocket.net/arkeo/snap_arkeo.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.arkeo
mv $HOME/.arkeo/priv_validator_state.json.backup $HOME/.arkeo/data/priv_validator_state.json
sudo systemctl restart arkeod && sudo journalctl -u arkeod -f

Manual:

Replace YOUR_MONIKER_GOES_HERE with your validator name

MONIKER="YOUR_MONIKER_GOES_HERE"

Install dependencies UPDATE SYSTEM AND INSTALL BUILD TOOLS

sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade

INSTALL GO

sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.20.8.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)

Download binaries

cd $HOME
rm -rf arkeod
wget https://testnet-files.itrocket.net/arkeo/arkeod
chmod +x arkeod
mv arkeod /root/go/bin/
arkeod version

Create service

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

[Service]
sudo tee /etc/systemd/system/arkeod.service > /dev/null <<EOF
[Unit]
Description=Arkeo testnet
After=network-online.target

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

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable arkeod

Set node configuration

arkeod config chain-id arkeo
arkeod config keyring-backend test
arkeod config node tcp://localhost:18657

Initialize the node

arkeod init $MONIKER --chain-id arkeo

Download genesis and addrbook

wget -O $HOME/.arkeo/config/genesis.json https://testnet-files.itrocket.net/arkeo/genesis.json
wget -O $HOME/.arkeo/config/addrbook.json https://testnet-files.itrocket.net/arkeo/addrbook.json

Add seeds

PEERS="5c3ca78b11bbd746f950c198cac51d4e5d4c0750@arkeo-testnet-peer.itrocket.net:18656,[email protected]:26856,[email protected]:40656,[email protected]:60556,[email protected]:36656,[email protected]:61056,[email protected]:37656,[email protected]:15756,[email protected]:33656,[email protected]:60656,[email protected]:26646,[email protected]:11156"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.arkeo/config/config.toml
sed -i -e "s|^seeds *=.*|seeds = \"\"|" $HOME/.arkeo/config/config.toml

Set minimum gas price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uarkeo\"/" $HOME/.arkeo/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.arkeo/config/config.toml

Set pruning

sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.arkeo/config/app.toml

Set custom ports

sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:18658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:18657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:18660\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:18656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":18666\"%" $HOME/.arkeo/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:18617\"%; s%^address = \":8080\"%address = \":18680\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:18690\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:18691\"%; s%:8545%:18645%; s%:8546%:18646%; s%:6065%:18665%" $HOME/.arkeo/config/app.toml

Start service and check the logs

sudo systemctl start arkeod && sudo journalctl -u arkeod -f --no-hostname -o cat

Arkeo Command

Key management Add New Wallet

arkeod keys add wallet

Restore executing wallet

arkeod keys add wallet --recover

List All Wallets

arkeod keys list

Delete wallet

arkeod keys delete wallet

Check Balance

arkeod q bank balances $(arkeod keys show wallet -a)

Export Key (save to wallet.backup)

arkeod keys export wallet

Import Key (restore from wallet.backup)

arkeod keys import wallet wallet.backup

Withdraw all rewards

arkeod tx distribution withdraw-all-rewards --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5

Withdraw rewards and commission from your validator

arkeod tx distribution withdraw-rewards $VALOPER_ADDRESS --from wallet --commission --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Check your balance

arkeod query bank balances wallet_ADDRESS

Delegate to Yourself

arkeod tx staking delegate $(arkeod keys show wallet --bech val -a) 1000000uarkeo --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Delegate

arkeod tx staking delegate <TO_VALOPER_ADDRESS> 1000000uarkeo --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Redelegate Stake to Another Validator

arkeod tx staking redelegate $VALOPER_ADDRESS <TO_VALOPER_ADDRESS> 1000000uarkeo --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Unbond

arkeod tx staking unbond $(arkeod keys show wallet --bech val -a) 1000000uarkeo --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Transfer Funds

arkeod tx bank send wallet_ADDRESS <TO_WALLET_ADDRESS> 1000000uarkeo --gas auto --gas-adjustment 1.5 -y

Create New Validator

arkeod tx staking create-validator \
--amount 1000000uarkeo \
--from wallet \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(arkeod tendermint show-validator) \
--moniker "$MONIKER" \
--identity "" \
--details "" \
--chain-id arkeo \
--gas auto --gas-adjustment 1.5 \
-y

Edit Existing Validator

arkeod tx staking edit-validator \
--commission-rate 0.1 \
--new-moniker "$MONIKER" \
--identity "" \
--details "" \
--from wallet \
--chain-id arkeo \
--gas auto --gas-adjustment 1.5 \
-y

Validator info

arkeod status 2>&1 | jq .ValidatorInfo

Validator Details

arkeod q staking validator $(arkeod keys show wallet --bech val -a)

Jailing info

arkeod q slashing signing-info $(arkeod tendermint show-validator)

Unjail validator

arkeod tx slashing unjail --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Active Validators List

arkeod q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " 	 " + .description.moniker' | sort -gr | nl

Check Validator key

[[ $(arkeod q staking validator $VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(arkeod status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "Your key status is ok" || echo -e "Your key status is error"

Signing info

arkeod q slashing signing-info $(arkeod tendermint show-validator)
arkeod  tx gov submit-proposal \
--title "" \
--description "" \
--deposit 1000000uarkeo \
--type Text \
--from wallet \
--gas auto --gas-adjustment 1.5 \
-y

🗳 Governance List all proposals

arkeod query gov proposals

View proposal by id

arkeod query gov proposal 1

Vote 'Yes'

arkeod tx gov vote 78 yes --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Vote 'No'

arkeod tx gov vote 1 no --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Vote 'Abstain'

arkeod tx gov vote 1 abstain --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Vote 'NoWithVeto'

arkeod tx gov vote 1 nowithveto --from wallet --chain-id arkeo --gas auto --gas-adjustment 1.5 -y

Remove node

sudo systemctl stop arkeod
sudo systemctl disable arkeod
sudo rm /etc/systemd/system/arkeod.service
sudo systemctl daemon-reload
rm -f $(which arkeod)
rm -rf $HOME/arkeod
rm -rf $HOME/.arkeo
rm -rf $HOME/arkeo.sh

Thank to support VNBnode.​

Visit us at:​