Artela

The Warden Protocol is a modular L1 blockchain for omnichain applications, "OApps". Our mission is to empower developers to simply launch secure OApps by giving them modular infrastructure for securit

RPC: https://artela.rpc.cryptomolot.com/

Resources

Hardware requirements

8-Cores

16 GB

1 TB NVME

200mbps network bandwidth

Linux (Ubuntu 22.04 x64)

Installation 💾

Update repositories

apt update && apt upgrade -y

Install dependencies

sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y

Install GO 1.22.2

sudo rm -rf /usr/local/go && \
curl -L https://go.dev/dl/go1.22.2.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local && \
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && \
source .bash_profile && \
go version

Set variables

change the <wallet-name>, <moniker>. And ARTELA_PORT # if you needed

echo "export ARTELA_WALLET="<wallet-name>"" >> $HOME/.bash_profile
echo "export ARTELA_MONIKER="<moniker>"" >> $HOME/.bash_profile
echo "export ARTELA_CHAIN_ID="artela_11822-1"" >> $HOME/.bash_profile
echo "export ARTELA_PORT="26"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Get binaries

cd $HOME
rm -rf artela
git clone https://github.com/artela-network/artela
cd artela
git checkout v0.4.7-rc7-fix-execution
make install

Initialize

change the <moniker>

artelad config node tcp://localhost:${ARTELA_PORT}657
artelad config keyring-backend os
artelad config chain-id artela_11822-1
artelad init "<moniker>" --chain-id artela_11822-1

Download genesis and addrbook

wget -O $HOME/.artelad/config/genesis.json "https://docs.artela.network/assets/files/genesis-314f4b0294712c1bc6c3f4213fa76465.json"
wget -O $HOME/.artelad/config/addrbook.json https://testnet-files.itrocket.net/artela/addrbook.json

Add seeds/bpeers/peers in config.toml

external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address =./external_address = "$external_address:26656"/" $HOME/.warden/config/config.toml
PEERS="5c9b1bc492aad27a0197a6d3ea3ec9296504e6fd@artela-testnet-peer.itrocket.net:30656,e87a90f600dd4e1415f39421d885bde824586c67@161.97.109.65:26656,cf41581cb27bd13d4c72665fca905dba05bf1588@135.181.57.151:39656,b7da5fca649c5a0fefb0ab3512edf5c11ccd21c4@80.85.243.60:26656,7dc5af98a958b494d432ce191b08174d5a0092b6@109.199.96.99:26656,b27334c54889c7d3bf17ede7659afa3fdeea04ba@154.53.63.241:3456,b00b048b1516b13b38d455878d34a0dadedca367@65.108.65.62:39656,dc1cb0cb8e9dc7c7632a1eea3b246353c9de4962@89.117.20.137:3456,c1ebbbb495113f838bad5b09221a11813518b18c@109.199.127.159:26656,bdc404f1a82772e7454512841bdfdaf3e3a6e165@109.199.127.207:26656,5a30a57992bf0b2d2c5c289a9a7b6d3c9b88a5e0@213.199.56.75:30656"
SEEDS="8d0c626443a970034dc12df960ae1b1012ccd96a@artela-testnet-seed.itrocket.net:30656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.artelad/config/config.toml

Set minimum gas-price

sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.025art"|g' $HOME/.artelad/config/app.toml

(Optional) Pruning

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.artelad/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.artelad/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.artelad/config/app.toml

(Optional) Disable indexer

default indexer="kv"

sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.artelad/config/config.toml

Create a service file

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

[Service]
User=$USER
WorkingDirectory=$HOME/.artelad
ExecStart=$(which artelad) start --home $HOME/.artelad
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

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

Run from snapshot

sudo systemctl stop artelad

cp $HOME/.artelad/data/priv_validator_state.json $HOME/.artelad/priv_validator_state.json.backup

rm -rf $HOME/.artelad/data $HOME/.artelad/wasmPath
curl https://testnet-files.itrocket.net/artela/snap_artela.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.artelad

mv $HOME/.artelad/priv_validator_state.json.backup $HOME/.artelad/data/priv_validator_state.json

sudo systemctl enable artelad && sudo systemctl restart artelad && sudo journalctl -u artelad -f

Wait fo full sync (output "false")

artelad status 2>&1 | jq

Create or recover wallet

!!! BACKUP YOUR SEED PHRASE !!!

artelad keys add $WALLET

OR

artelad keys add $WALLET --recover

Get tokens from faucet 🆓

every 12 hours or use discord channel (every 6 hours)

https://crypton-faucet.vercel.app/

Create Validator

artelad tx staking create-validator \
--amount 1000000uart \
--from $ARTELA_WALLET \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(artelad tendermint show-validator) \
--moniker "$ARTELA_MONIKER" \
--identity "" \
--website "" \
--details "" \
--chain-id artela_11822-1 \
--gas auto --gas-adjustment 1.5 \
-y

!!! BACKUP YOUR priv_validator_key.json !!!

Useful commands ⚙️

node info

artelad status 2>&1 | jq

logs

sudo journalctl -u artelad -f

start service

sudo systemctl start wardend

stop service

sudo systemctl stop artelad

restart service

sudo systemctl start artelad

enable service

sudo systemctl enable artelad

disable service

sudo systemctl disable artelad

Check wallets list

artelad keys list

Delete wallet

artelad keys delete <wallet-name>

Check Balance

artelad q bank balances $ARTELA_WALLET

Withdraw all rewards

artelad tx distribution withdraw-all-rewards --from $ARTELA_WALLET --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5

Withdraw rewards and commission from your validator

artelad tx distribution withdraw-rewards $(artelad keys show $ARTELA_WALLET --bech val -a) --from $ARTELA_WALLET --commission --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5 -y

Check your balance

artelad query bank balances $ARTELA_WALLET

Delegate to Yourself

artelad tx staking delegate $(artelad keys show $ARTELA_WALLET --bech val -a) 1000000uart --from $ARTELA_WALLET --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5 -y

Delegate

artelad tx staking delegate <TO_VALOPER_ADDRESS> 1000000uart --from $ARTELA_WALLET --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5 -y

Redelegate Stake to Another Validator

artelad tx staking redelegate $(artelad keys show $ARTELA_WALLET --bech val -a) <TO_VALOPER_ADDRESS> 1000000uart --from $ARTELA_WALLET --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5 -y

Unbond

artelad tx staking unbond $(artelad keys show $ARTELA_WALLET --bech val -a) 1000000uart --from $ARTELA_WALLET --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5 -y

Transfer Funds

artelad tx bank send $ARTELA_WALLET <TO_WALLET_ADDRESS> 1000000uart --gas auto --gas-adjustment 1.5 -y

Validator Details

artelad q staking validator $(artelad keys show $ARTELA_WALLET --bech val -a)

Jailing info

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

Slashing parameters

artelad q slashing params

Unjail validator

artelad tx slashing unjail --from $ARTELA_WALLET --chain-id artela_11822-1 --gas auto --gas-adjustment 1.5 -y

Delete node 🗑️

sudo systemctl stop artelad
sudo systemctl disable artelad
sudo rm -rf /etc/systemd/system/artelad.service
sudo rm $(which artelad)
sudo rm -rf $HOME/.artelad
sed -i "/ARTELA_/d" $HOME/.bash_profile

Last updated