Metode de plată Abuse

Protocolul Warden. Instalarea nodului

10.09.2024, 17:16
Conținut:

Protocolul Warden este un blockchain centrat pe intenții construit pe Cosmos SDK.

Caracteristici

Printre caracteristicile sale cheie se numără:

  • Intenții: tranzacții orientate spre obiective.

  • Lanțuri de chei: gestionare flexibilă a cheilor.

  • Suport EVM și WASM pentru contracte inteligente.

Aceste caracteristici creează oportunități atractive atât pentru dezvoltatori, cât și pentru utilizatorii ecosistemului blockchain. Protocolul Warden încurajează inovarea deschisă și nepermisă, permițând interacțiuni securizate între lanțuri bazate pe intente.

Protocolul valorifică modularitatea Cosmos și IBC pentru a crea soluții blockchain interoperabile. Accentul este pus pe atenuarea riscurilor de pierdere a gestionării activelor și pe simplificarea integrării diferitelor soluții de gestionare a cheilor, sporind considerabil securitatea și controlul utilizatorilor asupra activelor digitale.

Cerințe hardware minime:

Tipul nodului

CPU

RAM

Memorie

Testnet

4

8GB

150GB

Instalarea protocolului Warden

Instalare automată:

wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent

Instalare manuală:

Pregătirea serverului:

sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc chrony liblz4-tool -y

Go 1.21.6 Instalare:

ver="1.21.6"
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

Build (02.09.24):

cd $HOME && mkdir -p go/bin/
wget https://github.com/warden-protocol/wardenprotocol/releases/download/v0.4.2/wardend_Linux_x86_64.zip
unzip wardend_Linux_x86_64.zip
rm -rf wardend_Linux_x86_64.zip
chmod +x wardend
mv wardend $HOME/go/bin/wardend
wardend version --long | grep -e version -e commit

Inițializare:

wardend init STAVR_guide

Crearea/restaurarea unui portofel:

wardend keys add <walletname>
ИЛИ
wardend keys add <walletname> --recover

Descărcarea Genesis:

wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json
sha256sum $HOME/.warden/config/genesis.json

Setarea prețului minim al gazului, peers și filtre:

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = "0.0025uward"/;" ~/.warden/config/app.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=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.warden/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = "$seeds"/" $HOME/.warden/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.warden/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.warden/config/config.toml

Tăierea datelor (opțional):

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = "$pruning"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = "$pruning_keep_recent"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = "$pruning_keep_every"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = "$pruning_interval"/" $HOME/.warden/config/app.toml

Dezactivarea indexatorului (opțional):

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

Descărcarea agendei de adrese:

wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"

Crearea unui fișier de serviciu:

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

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

[Install]
WantedBy=multi-user.target
EOF

Warden Sincronizarea stării Testnet

SNAP_RPC="https://warden.rpc.t.stavr.tech:443"
sed -i.bak -e "s/^seeds *=.*/seeds = "$SEEDS"/; s/^persistent_peers *=.*/persistent_peers = "$PEERS"/" $HOME/.warden/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height) 
&& BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)) 
&& TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash); 
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

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"|" $HOME/.warden/config/config.toml; 
wardend tendermint unsafe-reset-all --home $HOME/.warden
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
sudo systemctl restart wardend && journalctl -u wardend -f -o cat

Instantanee Testnet (actualizate la fiecare 5 ore):

cd $HOME
apt install lz4
sudo systemctl stop wardend
cp $HOME/.warden/data/priv_validator_state.json $HOME/.warden/priv_validator_state.json.backup
rm -rf $HOME/.warden/data
curl -o - -L https://warden-t.snapshot.stavr.tech/warden-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.warden --strip-components 2
mv $HOME/.warden/priv_validator_state.json.backup $HOME/.warden/data/priv_validator_state.json
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
sudo systemctl restart wardend && journalctl -u wardend -f -o cat

Lansare:

sudo systemctl daemon-reload
sudo systemctl enable wardend
sudo systemctl restart wardend && sudo journalctl -u wardend -f -o cat

Crearea unui validator

Creați un validator nou utilizând următoarea comandă:

Obțineți cheia publică

wardend tendermint show-validator --home /root/.warden

Navigați la directorul home

cd $HOME
nano validator.json

Completați validator.json cu următoarele:

{
  "pubkey": {"#pubkey"},
  "amount": "1000000uward",
  "moniker": "STAVR_guide",
  "identity": "",
  "website": "",
  "security": "",
  "details": "",
  "commission-rate": "0.05",
  "commission-max-rate": "0.2",
  "commission-max-change-rate": "0.2",
  "min-self-delegation": "1"
}

Apoi executați comanda pentru a crea validatorul:

wardend --home $HOME/.warden tx staking create-validator $HOME/validator.json --from WalletName --chain-id buenavista-1 --fees 500uward -y

Servicii și instrumente

Dezinstalarea unui nod

sudo systemctl stop wardend
sudo systemctl disable wardend
rm /etc/systemd/system/wardend.service
sudo systemctl daemon-reload
cd $HOME
rm -rf wardenprotocol
rm -rf .warden
rm -rf $(which wardend)

Instalarea snapshot-ului

Utilizați următoarele comenzi pentru a restaura datele dintr-un snapshot:

cd $HOME
apt install lz4
sudo systemctl stop wardend
cp $HOME/.warden/data/priv_validator_state.json $HOME/.warden/priv_validator_state.json.backup
rm -rf $HOME/.warden/data
curl -o - -L https://warden-t.snapshot.stavr.tech/warden-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.warden --strip-components 2
mv $HOME/.warden/priv_validator_state.json.backup $HOME/.warden/data/priv_validator_state.json
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
sudo systemctl restart wardend && journalctl -u wardend -f -o cat

Instrumente utile

Seed-T

f6fbded10338c1fed764c656a8968b648922b621@warden-t.seed.stavr.tech:23316

Addrbook-T

wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"

Genesis-T

wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json

Script auto-instalare-T

wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent

ACTUALIZARE 02.09.24

cd $HOME
wget https://github.com/warden-protocol/wardenprotocol/releases/download/v0.4.2/wardend_Linux_x86_64.zip
unzip wardend_Linux_x86_64.zip
rm -rf wardend_Linux_x86_64.zip
chmod +x wardend
mv wardend $(which wardend)
wardend version --long | grep -e commit -e version
#commit: 0bfb022a96b5da6e7cf5c348bdb17d0d4d62195b
#version: 0.4.2
sudo systemctl restart wardend && sudo journalctl -fu wardend -o cat

Comenzi utile

Informații
wardend status 2>&1 | jq .NodeInfo
wardend status 2>&1 | jq .SyncInfo
wardend status 2>&1 | jq .ValidatorInfo
Verificați jurnalele nodului
sudo journalctl -fu wardend -o cat
Starea serviciului
sudo systemctl status wardend
Repornirea serviciului
sudo systemctl restart wardend
Oprirea serviciului
sudo systemctl stop wardend
Pornirea serviciului
sudo systemctl start wardend
Reboot/disconectare/activare
sudo systemctl daemon-reload
sudo systemctl disable wardend
sudo systemctl enable wardend

Lucrul cu cheile

Cheie nouă sau recuperare cheie
wardend keys add Wallet_Name
или
wardend keys add Wallet_Name --recover
Verificarea tuturor cheilor
wardend keys list
Verificarea echilibrului
wardend query bank balances addressjkl1yjgn7z09ua9vms259j
Ștergerea unei chei
wardend keys delete Wallet_Name
Export cheie
wardend keys export wallet
Import cheie
wardend keys import wallet wallet.backup

Gestionarea validatorului

Editarea validatorului
wardend tx staking edit-validator 
--new-moniker "Your_Moniker" 
--identity "Keybase_ID" 
--details "Your_Description" 
--website "Your_Website" 
--security-contact "Your_Email" 
--chain-id buenavista-1 
--commission-rate 0.05 
--from Wallet_Name 
--gas 350000 -y
Adresa dumneavoastră Valoper
wardend keys show Wallet_Name --bech val
Adresa dumneavoastră Val##### Adresa dumneavoastră Valcons
wardend tendermint show-address
Informații despre validatorul dvs.
wardend query staking validator valoperaddress......
Informații despre închisoare
wardend query slashing signing-info $(wardend tendermint show-validator)
Unjail
wardend tx slashing unjail --from Wallet_name --chain-id buenavista-1 --gas 350000 -y
Lista validatorilor activi
wardend q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " t " + .description.moniker' | sort -gr | nl
Lista validatorilor inactivi
wardend q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " t " + .description.moniker' | sort -gr | nl
Verificarea dacă cheia dvs. corespunde validatorului (Câștig - bun. Pierdere - rău)
VALOPER=Enter_Your_valoper_Here
[[ $(wardend  q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(wardend status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "nYou winn" || echo -e "nYou losen"
Afișarea tuturor recompenselor de la toți validatorii
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id buenavista-1 --gas 350000 -y
Afișarea recompenselor și a comisioanelor de la validatorul dvs.
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=buenavista-1 --commission -y
Delegarea jetoanelor către validatorul dvs.
wardend tx staking delegate Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Delegarea jetoanelor către un alt validator
wardend tx staking delegate valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Realocarea jetoanelor către un alt validator
wardend tx staking redelegate Your_valoper........ valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Anbondarea jetoanelor de la validatorul dvs. sau de la un alt validator
wardend tx staking unbond Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
wardend tx staking unbond valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Transferul jetoanelor de la un portofel la un alt portofel
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=buenavista-1 -y

Gestionarea voturilor

Vizualizați toate propunerile
wardend query gov proposals
Vizualizarea unei propuneri specifice
wardend query gov proposal 1
Votarea în favoarea unei propuneri ("Da")
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Vot împotriva unei propuneri ("Nu")
wardend tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Votarea "Abținere"
wardend tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Votarea "Împotrivă cu Veto" ("Nu cu Veto")
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y

Transfer IBC

Exemplu - Warden -> Osmosis
wardend tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"uward --from Warden_Wallet_Name ---gas 350000 --fees 7000"uward" --chain-id=buenavista-1 -y