Warden Protocol — Cosmos SDK негізінде жасалған мақсатқа негізделген блокчейн.
Ерекшеліктер
Оның негізгі ерекшеліктеріне мыналар жатады:
Мақсаттар: нақты мақсаттарға жетуге бағытталған операциялар.
Түйіндер: икемді кілттерді басқару.
Смарт келісімшарттар үшін EVM және WASM қолдауы.
Бұл мүмкіндіктер блокчейн экожүйесін әзірлеушілер үшін де, пайдаланушылар үшін де тартымды мүмкіндіктер жасайды. Warden протоколы қауіпсіз, мақсатқа негізделген тізбекті өзара әрекеттесулерді қосу арқылы ашық және рұқсатсыз инновацияларды ынталандырады.
Протокол өзара әрекеттесетін блокчейн шешімдерін жасау үшін Cosmos және IBC модульділігін пайдаланады. Негізгі назар активтерді басқарудың жоғалу қаупін азайтуға және әртүрлі негізгі басқару шешімдерін біріктіруді жеңілдетуге, қауіпсіздікті және цифрлық активтерге пайдаланушы бақылауын айтарлықтай арттыруға бағытталған.
Ең аз жабдыққа қойылатын талаптар:
Түйін түрі | CPU | Жедел Жадтау Құрылғысы | Сақтау |
Testnet | 4 | 8 ГБ | 150 ГБ |
Warden протоколын орнату
Автоматты орнату:
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 -yGo 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Снапшоты Testnet (5 сағатқа созылады):
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.jsonvalidator.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:23316Adrbook-Т
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Жарияланған күні 24.09
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Сіздің Valoper мекенжайыңыз
wardend keys show Wallet_Name --bech valСіздің Val##### Valcons мекенжайыңыз
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 -yIBC трансфері
Мысал - Күзетші -> Осмос
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