Warden Protocol је блокчејн заснован на намери изграђен на Cosmos SDK-у.
Међу његовим кључним карактеристикама су:
Намере: трансакције усмерене ка постизању одређених циљева.
Привесци за кључеве: флексибилно управљање кључевима.
EVM и WASM подршка за паметне уговоре.
Ове карактеристике стварају атрактивне могућности и за програмере и за кориснике блокчејн екосистема. Warden Protocol подстиче отворене и бездозвољене иновације омогућавајући безбедне, намерно засноване интеракције између ланца.
Протокол користи модуларност Cosmos-а и IBC-а за креирање интероперабилних блокчејн решења. Фокус је на смањењу ризика од губитка управљања имовином и поједностављивању интеграције различитих решења за управљање кључевима, значајно повећавајући безбедност и контролу корисника над дигиталном имовином.
Тип чвора | Процесор | РАМ меморија | Складиштење |
Тестнет | 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
Скидање Genesis:
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
Синхронизациа состоаниа Варден Тестнет
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 Индексер „УКЉУЧЕНО“
RPC-T: https://warden.rpc.t.stavr.tech Интервал снимања = 100
гРПЦ-Т: хттпс: //варден.грпц.т.ставр.тецх :9918
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