Betaalmethoden Abuse

Warden-protocol. Het knooppunt installeren

10.09.2024, 17:16
Inhoud:

Warden Protocol is een intentiegerichte blockchain gebouwd op de Cosmos SDK.

Kenmerken

De belangrijkste kenmerken zijn:

  • Intents: doelgerichte transacties.

  • Keychains: flexibel sleutelbeheer.

  • EVM en WASM ondersteuning voor slimme contracten.

Deze eigenschappen creëren aantrekkelijke mogelijkheden voor zowel ontwikkelaars als gebruikers van het blockchain ecosysteem. Het Warden Protocol moedigt open en toestemmingsvrije innovatie aan door veilige intents-gebaseerde cross-chain interacties mogelijk te maken.

Het protocol maakt gebruik van de modulariteit van Cosmos en IBC om interoperabele blockchainoplossingen te creëren. De focus ligt op het verminderen van de risico's van het verlies van activabeheer en het vereenvoudigen van de integratie van verschillende oplossingen voor sleutelbeheer, waardoor de veiligheid en gebruikerscontrole over digitale activa sterk worden verbeterd.

Minimale hardwarevereisten:

Type node

CPU

RAM

Opslag

Testnet

4

8 GB

150 GB

Warden-protocol installatie

Automatische installatie:

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

Handmatige installatie:

Server Voorbereiding:

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 Installatie:

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

Initialisatie:

wardend init STAVR_guide

Maken/herstellen van een portemonnee:

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

Genesis downloaden:

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

Instellen van minimum gasprijs, peers en filters:

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

Gegevens trimmen (optioneel):

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

Indexer uitschakelen (optioneel):

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

Adresboek downloaden:

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

Aanmaken van een servicebestand:

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 Testnet Status Synchronisatie

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

Testnet snapshots (elke 5 uur bijgewerkt):

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

Opstarten:

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

Een validator aanmaken

Maak een nieuwe validator met het volgende commando:

Verkrijg de publieke sleutel

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

Navigeer naar de home directory

cd $HOME
nano validator.json

Vul validator.json in met het volgende:

{
  "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"
}

Voer vervolgens het commando uit om de validator aan te maken:

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

Diensten en gereedschappen

Een node verwijderen

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)

Snapshot installeren

Gebruik de volgende commando's om gegevens van een snapshot te herstellen:

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

Handige hulpmiddelen

Zaad-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

Auto-installatie script-T

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

UPDATE 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

Handige commando's

Informatie
wardend status 2>&1 | jq .NodeInfo
wardend status 2>&1 | jq .SyncInfo
wardend status 2>&1 | jq .ValidatorInfo
Node logs controleren
sudo journalctl -fu wardend -o cat
Service status
sudo systemctl status wardend
Service herstarten
sudo systemctl restart wardend
Service stoppen
sudo systemctl stop wardend
Service starten
sudo systemctl start wardend
Opnieuw opstarten/afkoppelen/inschakelen
sudo systemctl daemon-reload
sudo systemctl disable wardend
sudo systemctl enable wardend

Werken met sleutels

Nieuwe sleutel of sleutelherstel
wardend keys add Wallet_Name
или
wardend keys add Wallet_Name --recover
Alle sleutels controleren
wardend keys list
Balans controleren
wardend query bank balances addressjkl1yjgn7z09ua9vms259j
Een sleutel verwijderen
wardend keys delete Wallet_Name
Sleutel exporteren
wardend keys export wallet
Sleutel importeren
wardend keys import wallet wallet.backup

Beheer van validators

Validator bewerken
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
Uw Valoper-adres
wardend keys show Wallet_Name --bech val
Je Val##### Je Valcons-adres
wardend tendermint show-address
Informatie over je validator
wardend query staking validator valoperaddress......
Info gevangenis
wardend query slashing signing-info $(wardend tendermint show-validator)
Vrijlating
wardend tx slashing unjail --from Wallet_name --chain-id buenavista-1 --gas 350000 -y
Lijst van actieve validators
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
Lijst met inactieve validators
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
Controleren of je sleutel overeenkomt met de validator (Winnen - Goed. Verliezen - Slecht)
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"
Alle beloningen van alle validators uitvoeren
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id buenavista-1 --gas 350000 -y
Uitvoeren van beloningen en commissie van jouw validator
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=buenavista-1 --commission -y
Delegeren van tokens naar jouw validator
wardend tx staking delegate Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Munten delegeren aan een andere validator
wardend tx staking delegate valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Hertoewijzen van tokens aan een andere validator
wardend tx staking redelegate Your_valoper........ valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Verbinden van tokens van uw validator of een andere 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
Overdracht van tokens van de ene portemonnee naar een andere portemonnee
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=buenavista-1 -y

Stemmen beheer

Alle voorstellen bekijken
wardend query gov proposals
Een specifiek voorstel bekijken
wardend query gov proposal 1
Stemmen voor een voorstel ("Ja")
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Tegen een voorstel stemmen ("Nee")
wardend tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Stemmen "Onthouding"
wardend tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Stemmen "Tegen met Veto" ("Nee met Veto")
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y

IBC overdracht

Voorbeeld - Warden -> Osmose
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