"Warden Protocol" yra į ketinimus orientuota blokų grandinė, sukurta naudojant "Cosmos SDK".
Funkcijos
Pagrindinės funkcijos yra šios:
-
ketinimai: į tikslą orientuoti sandoriai.
-
Raktų grandinės: lankstus raktų valdymas.
-
EVM ir WASM palaikymas išmaniosioms sutartims.
Šios funkcijos sukuria patrauklių galimybių tiek kūrėjams, tiek blokų grandinės ekosistemos naudotojams. Warden protokolas skatina atviras ir be leidimų diegiamas inovacijas, nes suteikia galimybę saugiai sąveikai tarp grandinių, grindžiamai ketinimais.
Protokole naudojamas "Cosmos" ir IBC modulinumas, kad būtų galima kurti sąveikius blokų grandinės sprendimus. Daugiausia dėmesio skiriama turto valdymo praradimo rizikai mažinti ir skirtingų raktų valdymo sprendimų integravimui supaprastinti, gerokai padidinant skaitmeninio turto saugumą ir naudotojų kontrolę.
Minimalūs techninės įrangos reikalavimai:
|
Mazgo tipas |
PROCESORIUS |
OPERATYVIOJI ATMINTIS |
Saugykla |
|
Testnet |
4 |
8 GB |
150GB |
Warden protokolo diegimas
Automatinis diegimas:
wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent
Įrengimas rankiniu būdu:
Serverio paruošimas:
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 diegimas:
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
(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
Inicializacija:
wardend init STAVR_guide
Sukurti/atkurti piniginę:
wardend keys add <walletname>
ИЛИ
wardend keys add <walletname> --recover
Genesis atsisiuntimas:
wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json
sha256sum $HOME/.warden/config/genesis.json
Minimalios dujų kainos, bendraamžių ir filtrų nustatymas:
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
Duomenų apipjaustymas (neprivalomas):
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
indeksatoriaus išjungimas (pasirinktinai):
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.warden/config/config.toml
Adresų knygos atsisiuntimas:
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
Paslaugų failo sukūrimas:
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 būsenos sinchronizavimas
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 momentinės nuotraukos (atnaujinamos kas 5 valandas):
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
Paleidimas:
sudo systemctl daemon-reload
sudo systemctl enable wardend
sudo systemctl restart wardend && sudo journalctl -u wardend -f -o cat
Patikrintojo sukūrimas
Sukurkite naują validatorių naudodami šią komandą:
Gaukite viešąjį raktą
wardend tendermint show-validator --home /root/.warden
Pereikite į pagrindinį katalogą
cd $HOME
nano validator.json
Užpildykite validator.json taip:
{
"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"
}
Tada paleiskite komandą, kad sukurtumėte validatorių:
wardend --home $HOME/.warden tx staking create-validator $HOME/validator.json --from WalletName --chain-id buenavista-1 --fees 500uward -y
Paslaugos ir įrankiai
Mazgo pašalinimas
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)
Momentinės nuotraukos diegimas
Norėdami atkurti duomenis iš momentinės nuotraukos, naudokite šias komandas:
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
Naudingi įrankiai
-
EXPLORER-T:https://explorer.stavr.tech/Warden-Testnet Indexer "ON" (indeksuotojas įjungtas)
-
RPC-T:https://warden.rpc.t.stavr.tech Momentinės peržiūros intervalas = 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
Automatinio diegimo scenarijus-T
wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent
ATNAUJINIMAS 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
Naudingos komandos
Informacija
wardend status 2>&1 | jq .NodeInfo
wardend status 2>&1 | jq .SyncInfo
wardend status 2>&1 | jq .ValidatorInfo
Patikrinti mazgų žurnalus
sudo journalctl -fu wardend -o cat
Paslaugos būsena
sudo systemctl status wardend
Paslaugos paleidimas iš naujo
sudo systemctl restart wardend
Paslaugos sustabdymas
sudo systemctl stop wardend
Paslaugos paleidimas
sudo systemctl start wardend
Pakartotinis paleidimas / atjungimas / įjungimas
sudo systemctl daemon-reload
sudo systemctl disable wardend
sudo systemctl enable wardend
Darbas su raktais
Naujas raktas arba rakto atkūrimas
wardend keys add Wallet_Name
или
wardend keys add Wallet_Name --recover
Patikrinti visus raktus
wardend keys list
Balanso patikrinimas
wardend query bank balances addressjkl1yjgn7z09ua9vms259j
Rakto pašalinimas
wardend keys delete Wallet_Name
Eksportuoti raktą
wardend keys export wallet
Importuoti raktą
wardend keys import wallet wallet.backup
Validatoriaus valdymas
Validatoriaus redagavimas
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
Jūsų "Valoper" adresas
wardend keys show Wallet_Name --bech val
Jūsų Val##### Jūsų Valcons adresas
wardend tendermint show-address
Informacija apie jūsų validatorių
wardend query staking validator valoperaddress......
Informacija apie kalėjimą
wardend query slashing signing-info $(wardend tendermint show-validator)
Neįkalinimo įstaiga
wardend tx slashing unjail --from Wallet_name --chain-id buenavista-1 --gas 350000 -y
Aktyvių validatorių sąrašas
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
Neaktyvių validatorių sąrašas
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
Patikrinimas, ar jūsų raktas atitinka validatorių (Laimėti - gerai. Prarasti - blogai)
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"
Visų atlygių iš visų validatorių išvedimas
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id buenavista-1 --gas 350000 -y
Išvesti apdovanojimus ir komisinius iš savo validatoriaus
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=buenavista-1 --commission -y
Žetonų delegavimas jūsų tvirtintojui
wardend tx staking delegate Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Žetonų delegavimas kitam tvirtintojui
wardend tx staking delegate valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Žetonų perskirstymas kitam tvirtintojui
wardend tx staking redelegate Your_valoper........ valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Žetonų susiejimas iš jūsų arba kito validatoriaus
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
Žetonų perkėlimas iš vienos piniginės į kitą piniginę
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=buenavista-1 -y
Balsavimo valdymas
Peržiūrėti visus pasiūlymus
wardend query gov proposals
Peržiūrėti konkretų pasiūlymą
wardend query gov proposal 1
Balsavimas už pasiūlymą ("Taip")
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Balsavimas prieš pasiūlymą ("Ne")
wardend tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Balsavimas "susilaikyti"
wardend tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Balsavimas "prieš su veto" ("Ne su veto")
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
IBC perkėlimas
Pavyzdys - 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