Welcome to validator AlxVoy ⚡ ANODE.TEAM



Cerberus

Links

Mainnet service

Explorers

Sync

RPC & API

Peers and seeds

Genesis and addrbook

Wasm

Service script (Install, State-Sync, Snapshot, Delete)

wget -O Cerberus.sh https://anode.team/Cerberus/main/Cerberus.sh && chmod u+x Cerberus.sh && ./Cerberus.sh

Installation

Software Requirements

  • Prerequisite: go1.18.5+ required. ref
  • Prerequisite: git. ref

Install last binary

git clone https://github.com/cerberus-zone/cerberus.git
cd cerberus
git checkout v3.1.0
make install

Init the config files

cerberusd init <moniker> --chain-id cerberus-chain-1
cerberusd config chain-id cerberus-chain-1

Create a wallet

cerberusd keys add <wallet_name>

Download genesis and addrbook

curl https://anode.team/Cerberus/main/genesis.json > ~/.cerberus/config/genesis.json
curl https://anode.team/Cerberus/main/addrbook.json > ~/.cerberus/config/addrbook.json

Add peers, seed

SEEDS="4c3abff6e4a3e93b84babfc95df854861f83ac82@cerberus-seed.blockpane.com:26656"
PEERS="7eae619d788be00cf5d6b467450cca9b8c4612c7@38.146.3.172:26656,a0b96a35e8515283cebe40f2f84f36d27074ff8f@162.55.234.165:26656,642d1baeae0d719b1d5570d46c666dfee55f6b9b@142.132.202.223:26656,081e114c7452e3b148cc1a796d75f702b60b0219@85.237.192.125:26656,f03e64d46713068da60b096d528053a57e0e5fec@157.90.36.33:29563,ec2be19d90412993f8e85bcdb4e40180206df6db@103.19.25.18:26656,55ab0ffc8fcb877fb0b4b0526bab21a9b07513de@65.108.138.73:26656,b69be8da781b0bfb0cef434fd8ede65e06ea10ad@207.180.237.43:26656,4d37478bdcdd9c6f5b77ca9a0f66f1f056f1301a@194.163.182.169:26656,1055b42fef78959b0f6e5faf30995833ab5d391f@38.146.3.249:26656,66cc75901832d5870873a878fca8bd5c871ad0c4@135.181.133.176:46656,ae2971b8a4c6247ce674525593f703e5618a0d12@65.108.137.36:26656,4af2ce6477ab0b5dd46ae54ff37d883ab94635c9@38.146.3.171:26656,4fde156038a3f9a7cb92b88cb929d5ca5ee01416@162.55.143.10:38656,aaa2eba32286074fb575a48e033ac2ba7f4c94e6@98.113.93.139:26661,c65e0daf02ea774e999f8a0fccb3f57f4310efbc@135.181.113.166:26656,71571f4b4c5ce229475a86a6a11cadb3872e8ec0@135.181.0.30:2080,4791b3d31b722129f7a1f06588a9629c797c6ea5@135.181.162.15:26656,590a85b4e361d32d07a50a3f9f37e79781d71939@207.246.112.177:26656,77edacfa4d4c1f8a56ee5fdf6710a15dc3dffd53@87.123.210.175:21156,04e602d5c75ea499fd3a63f9a8559e5661e51193@161.97.133.160:26656,dbaafb6b95302678f2d77f276ba9218abfc9356d@65.108.141.61:26656,a9471133fc31672b6f19732954c80ada012ace56@65.108.140.110:26656,5aa4e80ff97e6d662f10fa585a873e9c745ca419@3.36.147.12:26656,e69a30cb4a4f540009006b2b1cca77f0c53bad79@65.108.202.59:10356,1d7be8ba88c4d1d36d94f493b31018b832ecb5be@116.202.223.110:26656,ffbade2af84ed0c42d418134465d14ee1f5e83cb@65.108.135.177:26656,d53d9d02d77e7d32e94a2de322053666b951a8c6@157.90.176.153:26656,6c5539a0582497282b0daed9f463576c18b8248f@37.143.9.36:26656,bbb9e1333f77a77e884cce7b580279f43a3e6d49@147.182.200.229:26656,36e96edc825426f13d35678ebe9501231c7961ef@142.132.155.25:29656,98485cb781a632cade9338e383b2cbb36aef337a@170.187.204.71:26656"
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.cerberus/config/config.toml

Pruning

sed -i.bak -e "s/^pruning *=.*/pruning = \"nothing\"/" $HOME/.cerberus/config/app.toml

Add min gas

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.001ucrbrus\"/" $HOME/.cerberus/config/app.toml

Create the service file

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

[Service]
User=$USER
ExecStart=$(which cerberusd) start
Restart=always
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

Load service and start

sudo systemctl daemon-reload && sudo systemctl enable cerberusd
sudo systemctl restart cerberusd && journalctl -fu cerberusd -o cat

Create Validator

cerberusd tx staking create-validator \
  --amount=1000000ucrbrus \
  --pubkey=$(cerberusd tendermint show-validator) \
  --moniker="<moniker>" \
  --identity="<identity>" \
  --website="<website>" \
  --details="<details>" \
  --security-contact="<contact>" \
  --chain-id="cerberus-chain-1" \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --fees="500ucrbrus" \
  --from=<wallet_name>

State-Sync

SNAP_RPC=https://cerberus.rpc.m.anode.team:443 && \
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) && \
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sudo systemctl stop cerberusd && cerberusd tendermint unsafe-reset-all --home $HOME/.cerberus --keep-addr-book
peers="d2b08cfef119856330b8a885965adf513606db84@65.108.199.222:26726"
sed -i.bak -e  "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.cerberus/config/config.toml
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.cerberus/config/config.toml
curl -o - -L https://anode.team/Cerberus/main/anode.team_cerberus_wasm.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.cerberus/data/
sudo systemctl restart cerberusd && journalctl -fu cerberusd -o cat

Testnet service

Explorers

Sync

RPC & API

Peers and seeds

Genesis and addrbook

Wasm

Service script (Install, State-Sync, Snapshot, Delete)

wget -O Cerberus.sh https://anode.team/Cerberus/test/Cerberus.sh && chmod u+x Cerberus.sh && ./Cerberus.sh

Installation

Hardware Requirements

  • Memory 32GB
  • CPUs 4 Cores (modern CPU's)
  • Disk 1TB of storage (SSD or NVME)

Software Requirements

  • Prerequisite: go1.18.5+ required. ref
  • Prerequisite: git. ref

Install last binary

git clone $GIT_T$
cd $FOLDER_GIT_T$
git checkout $VERSION_T$
make install

Init the config files

$BIN_T$ init <moniker> --chain-id $CHAIN_T$
$BIN_T$ config chain-id $CHAIN_T$

Create a wallet

$BIN_T$ keys add <wallet_name>

Download genesis and addrbook

curl https://anode.team/Cerberus/test/genesis.json > ~/.$FOLDER_CONF_T$/config/genesis.json
curl https://anode.team/Cerberus/test/addrbook.json > ~/.$FOLDER_CONF_T$/config/addrbook.json

Add peers, seed

SEEDS="$SEEDS_T$"
PEERS="$PEERS_T$"
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.$FOLDER_CONF_T$/config/config.toml

Add min gas

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"$MIN_GAS_T$\"/" $HOME/.$FOLDER_CONF_T$/config/app.toml

Create the service file

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

[Service]
User=$USER
ExecStart=$(which $BIN_T$) start
Restart=always
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

Load service and start

sudo systemctl daemon-reload && sudo systemctl enable $BIN_T$
sudo systemctl restart $BIN_T$ && journalctl -fu $BIN_T$ -o cat

Create Validator

$BIN_T$ tx staking create-validator \
  --amount=1000000$TOKEN_T$ \
  --pubkey=$($BIN_T$ tendermint show-validator) \
  --moniker="<moniker>" \
  --identity="<identity>" \
  --website="<website>" \
  --details="<details>" \
  --security-contact="<contact>" \
  --chain-id="$CHAIN_T$" \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --fees="$FEES_T$" \
  --from=<wallet_name>

State-Sync

SNAP_RPC=https://cerberus.rpc.t.anode.team:443 && \
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - $RPC_N_T$)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) && \
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sudo systemctl stop $BIN_T$ && $BIN_T$ tendermint unsafe-reset-all --home $HOME/.$FOLDER_CONF_T$ --keep-addr-book
peers="$PEER_T$"
sed -i.bak -e  "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.$FOLDER_CONF_T$/config/config.toml
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.$FOLDER_CONF_T$/config/config.toml
curl -o - -L https://anode.team/Cerberus/test/anode.team_cerberus_wasm.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.$FOLDER_WASM_T$/
sudo systemctl restart $BIN_T$ && journalctl -fu $BIN_T$ -o cat

SnapShot (2 times a day)

sudo systemctl stop $BIN_T$ && \
cp $HOME/.$FOLDER_CONF_T$/data/priv_validator_state.json $HOME/.$FOLDER_CONF_T$/priv_validator_state.json.backup && \
rm -rf $HOME/.$FOLDER_CONF_T$/data/
curl -o - -L https://anode.team/Cerberus/test/anode.team_cerberus.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.$FOLDER_CONF_T$
curl -o - -L https://anode.team/Cerberus/test/anode.team_cerberus_wasm.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.$FOLDER_WASM_T$/
mv $HOME/.$FOLDER_CONF_T$/priv_validator_state.json.backup $HOME/.$FOLDER_CONF_T$/data/priv_validator_state.json && \
sudo systemctl restart $BIN_T$ && journalctl -fu $BIN_T$ -o cat