Warden Protocol — Cosmos SDK негізінде жасалған мақсатқа негізделген блокчейн.
Оның негізгі ерекшеліктеріне мыналар жатады:
Мақсаттар: нақты мақсаттарға жетуге бағытталған операциялар.
Түйіндер: икемді кілттерді басқару.
Смарт келісімшарттар үшін EVM және WASM қолдауы.
Бұл мүмкіндіктер блокчейн экожүйесін әзірлеушілер үшін де, пайдаланушылар үшін де тартымды мүмкіндіктер жасайды. Warden протоколы қауіпсіз, мақсатқа негізделген тізбекті өзара әрекеттесулерді қосу арқылы ашық және рұқсатсыз инновацияларды ынталандырады.
Протокол өзара әрекеттесетін блокчейн шешімдерін жасау үшін Cosmos және IBC модульділігін пайдаланады. Негізгі назар активтерді басқарудың жоғалу қаупін азайтуға және әртүрлі негізгі басқару шешімдерін біріктіруді жеңілдетуге, қауіпсіздікті және цифрлық активтерге пайдаланушы бақылауын айтарлықтай арттыруға бағытталған.
Түйін түрі | CPU | Жедел Жадтау Құрылғысы | Сақтау |
Testnet | 4 | 8 ГБ | 150 ГБ |
wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent
Серверді дайындау:
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 орнату:
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
Инициализация:
wardend init STAVR_guide
Әмиянды жасау/қалпына келтіру:
wardend keys add <walletname> ИЛИ wardend keys add <walletname> --recover
Скачивание Жаратылыс:
wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json sha256sum $HOME/.warden/config/genesis.json
Настройка минимальной цены газа, пиров және фильтров:
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
Обрезка данных (опционально):
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="null" && sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.warden/config/config.toml
Скачивание адресной книги:
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
Создание файла службы:
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
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
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
Іске қосу:
sudo systemctl daemon-reload sudo systemctl enable wardend sudo systemctl restart wardend && sudo journalctl -u wardend -f -o cat
Келесі пәрменді пайдаланып жаңа валидатор жасаңыз:
Ашық кілтті алыңыз
wardend tendermint show-validator --home /root/.warden
Үй каталогына өтіңіз
cd $HOME nano validator.json
validator.json файлын келесідей толтырыңыз:
{ "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" }
Содан кейін валидаторды жасау үшін пәрменді іске қосыңыз:
wardend --home $HOME/.warden tx staking create-validator $HOME/validator.json --from WalletName --chain-id buenavista-1 --fees 500uward -y
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)
Суреттен деректерді қалпына келтіру үшін келесі пәрмендерді пайдаланыңыз:
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
EXPLORER-T: https://explorer.stavr.tech/Warden-Testnet Indexer "ON"
RPC-T: https://warden.rpc.t.stavr.tech Snapshot-interval = 100
f6fbded10338c1fed764c656a8968b648922b621@warden-t.seed.stavr.tech:23316
wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"
wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json
wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent
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
wardend status 2>&1 | jq .NodeInfo wardend status 2>&1 | jq .SyncInfo wardend status 2>&1 | jq .ValidatorInfo
sudo journalctl -fu wardend -o cat
sudo systemctl status wardend
sudo systemctl restart wardend
sudo systemctl stop wardend
sudo systemctl start wardend
sudo systemctl daemon-reload sudo systemctl disable wardend sudo systemctl enable wardend
wardend keys add Wallet_Name или wardend keys add Wallet_Name --recover
wardend keys list
wardend query bank balances addressjkl1yjgn7z09ua9vms259j
wardend keys delete Wallet_Name
wardend keys export wallet
wardend keys import wallet wallet.backup
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
wardend keys show Wallet_Name --bech val
wardend tendermint show-address
wardend query staking validator valoperaddress......
wardend query slashing signing-info $(wardend tendermint show-validator)
wardend tx slashing unjail --from Wallet_name --chain-id buenavista-1 --gas 350000 -y
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
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
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"
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id buenavista-1 --gas 350000 -y
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=buenavista-1 --commission -y
wardend tx staking delegate Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
wardend tx staking delegate valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
wardend tx staking redelegate Your_valoper........ valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
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
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=buenavista-1 -y
wardend query gov proposals
wardend query gov proposal 1
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
wardend tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
wardend tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
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