Warden Protocol är en intents-centrerad blockkedja byggd på Cosmos SDK.
Funktioner
Bland dess nyckelfunktioner är:
-
Intents: målinriktade transaktioner.
-
Nyckelkedjor: flexibel nyckelhantering.
-
EVM- och WASM-stöd för smarta kontrakt.
Dessa funktioner skapar attraktiva möjligheter för både utvecklare och användare av blockkedjans ekosystem. Warden-protokollet uppmuntrar öppen och tillståndslös innovation genom att möjliggöra säkra intentsbaserade interaktioner mellan kedjor.
Protokollet utnyttjar Cosmos och IBC:s modularitet för att skapa interoperabla blockkedjelösningar. Fokus ligger på att mildra riskerna med att förlora tillgångshantering och förenkla integrationen av olika nyckelhanteringslösningar, vilket avsevärt förbättrar säkerheten och användarkontrollen över digitala tillgångar.
Minimikrav för hårdvara:
|
Typ av nod |
CPU |
RAM-MINNE |
Lagring |
|
Testnät |
4 |
8 GB |
150 GB |
Installation av Warden-protokoll
Automatisk installation:
wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent
Manuell installation:
Förberedelse av server:
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
Installation av Go 1.21.6:
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
Bygg (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
Initialisering:
wardend init STAVR_guide
Skapa/återställa en plånbok:
wardend keys add <walletname>
ИЛИ
wardend keys add <walletname> --recover
Nedladdning av Genesis:
wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json
sha256sum $HOME/.warden/config/genesis.json
Ställa in lägsta gaspris, peers och filter:
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
Trimning av data (valfritt):
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
Inaktivera indexeraren (valfritt):
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.warden/config/config.toml
Ladda ner adressboken:
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
Skapa en servicefil:
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 Synkronisering av Testnet-status
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 (uppdateras var 5:e timme):
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
Starta:
sudo systemctl daemon-reload
sudo systemctl enable wardend
sudo systemctl restart wardend && sudo journalctl -u wardend -f -o cat
Skapa en validerare
Skapa en ny validator med hjälp av följande kommando:
Hämta den publika nyckeln
wardend tendermint show-validator --home /root/.warden
Navigera till hemkatalogen
cd $HOME
nano validator.json
Fyll i validator.json med följande:
{
"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"
}
Kör sedan kommandot för att skapa validatorn:
wardend --home $HOME/.warden tx staking create-validator $HOME/validator.json --from WalletName --chain-id buenavista-1 --fees 500uward -y
Tjänster och verktyg
Avinstallera en 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)
Installera ögonblicksbild
Använd följande kommandon för att återställa data från en ögonblicksbild:
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
Användbara verktyg
-
EXPLORER-T:https://explorer.stavr.tech/Warden-Testnet Indexerare "PÅ"
-
RPC-T:https://warden.rpc.t.stavr.tech Snapshot-intervall = 100
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
Autoinstallationsskript-T
wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent
UPPDATERING 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
Användbara kommandon
Information om noden
wardend status 2>&1 | jq .NodeInfo
wardend status 2>&1 | jq .SyncInfo
wardend status 2>&1 | jq .ValidatorInfo
Kontrollera nodloggar
sudo journalctl -fu wardend -o cat
Status för tjänsten
sudo systemctl status wardend
Omstart av tjänst
sudo systemctl restart wardend
Stopp av tjänst
sudo systemctl stop wardend
Start av tjänst
sudo systemctl start wardend
Omstart/frånkoppling/aktivering
sudo systemctl daemon-reload
sudo systemctl disable wardend
sudo systemctl enable wardend
Arbeta med nycklar
Ny nyckel eller nyckelåterställning
wardend keys add Wallet_Name
или
wardend keys add Wallet_Name --recover
Kontrollera alla nycklar
wardend keys list
Kontroll av balans
wardend query bank balances addressjkl1yjgn7z09ua9vms259j
Ta bort en nyckel
wardend keys delete Wallet_Name
Exportera nyckel
wardend keys export wallet
Importera nyckel
wardend keys import wallet wallet.backup
Hantering av validerare
Redigera validerare
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
Din Valoper-adress
wardend keys show Wallet_Name --bech val
Din Val##### Din Valcons-adress
wardend tendermint show-address
Information om din validerare
wardend query staking validator valoperaddress......
Information om fängelse
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 över aktiva validerare
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 över inaktiva validerare
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
Kontroll av om din nyckel matchar valideraren (Vinn - bra. Förlora - dåligt)
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"
Ta ut alla belöningar från alla validerare
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id buenavista-1 --gas 350000 -y
Utmatning av belöningar och provision från din validerare
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=buenavista-1 --commission -y
Delegering av tokens till din validerare
wardend tx staking delegate Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Delegering av tokens till en annan validerare
wardend tx staking delegate valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Omfördelning av tokens till en annan validerare
wardend tx staking redelegate Your_valoper........ valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Anbonding av tokens från din validerare eller en annan validerare
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
Överföring av tokens från en plånbok till en annan plånbok
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=buenavista-1 -y
Hantering av röstning
Visa alla förslag
wardend query gov proposals
Visa ett specifikt förslag
wardend query gov proposal 1
Röstar för ett förslag ("Ja")
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Röstar emot ett förslag ("Nej")
wardend tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Röstar "Avstår"
wardend tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Röstar "emot med veto" ("nej med veto")
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
IBC-överföring
Exempel - 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