Unlock the Potential of Intent-Based, Secure Cross-Chain Interactions
- Topluluk kanalımız
- Topluluk Twitter
- Warden Website
- Blockchain Explorer
- Discord
- Twitter
### Communit RPC
- https://warden-mainnet-rpc.corenodehq.xyz
- https://warden-mainnet-api.corenodehq.xyz
- https://warden-mainnet-evm.corenodehq.xyz
| Bileşenler | Minimum Gereksinimler |
|---|---|
| CPU | 6 |
| RAM | 16+ GB |
| Storage | 400 GB SSD |
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
cd $HOME
VER="1.23.0"
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
cd $HOME && \
mkdir -p $HOME/.warden/cosmovisor/genesis/bin && \
wget https://github.com/warden-protocol/wardenprotocol/releases/download/v0.7.2/wardend-v0.7.2-linux-amd64 && \
mv wardend-v0.7.2-linux-amd64 $HOME/.warden/cosmovisor/genesis/bin/wardend && \
chmod +x $HOME/.warden/cosmovisor/genesis/bin/wardend
sudo ln -s $HOME/.warden/cosmovisor/genesis $HOME/.warden/cosmovisor/current -f
sudo ln -s $HOME/.warden/cosmovisor/current/bin/wardend /usr/local/bin/wardend -f
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.6.0
sudo tee /etc/systemd/system/wardend.service > /dev/null << EOF
[Unit]
Description=warden node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.warden"
Environment="DAEMON_NAME=wardend"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.warden/cosmovisor/current/bin"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable wardend
echo "export W_PORT="119"" >> $HOME/.bash_profile
source $HOME/.bash_profile
wardend config set client chain-id warden_8765-1
wardend config set client keyring-backend test
wardend config set client node tcp://localhost:${W_PORT}57
wardend init "change-moniker" --chain-id warden_8765-1
wget -O $HOME/.warden/config/genesis.json "https://raw.githubusercontent.com/warden-protocol/networks/refs/heads/main/mainnet/genesis.json"
cd $HOME/.warden/config
sed -i.bak 's|^\s*evm-chain-id\s*=.*|evm-chain-id = 8765|' app.toml
sed -i.bak 's|^\s*timeout_propose\s*=.*|timeout_propose = "1s"|' config.toml
sed -i.bak 's|^\s*timeout_propose_delta\s*=.*|timeout_propose_delta = "200ms"|' config.toml
sed -i.bak 's|^\s*timeout_prevote\s*=.*|timeout_prevote = "500ms"|' config.toml
sed -i.bak 's|^\s*timeout_prevote_delta\s*=.*|timeout_prevote_delta = "200ms"|' config.toml
sed -i.bak 's|^\s*timeout_precommit\s*=.*|timeout_precommit = "500ms"|' config.toml
sed -i.bak 's|^\s*timeout_precommit_delta\s*=.*|timeout_precommit_delta = "200ms"|' config.toml
sed -i.bak 's|^\s*timeout_commit\s*=.*|timeout_commit = "2s"|' config.toml
sed -i.bak 's|^\s*create_empty_blocks\s*=.*|create_empty_blocks = true|' config.toml
cd $HOME
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "10award"|g' $HOME/.warden/config/app.toml
SEEDS="7dbf2c58286b59aae1d9c121f1cee59fc21a59ef@54.220.127.230:26656,02810bc9ed25af587213a4ddb1fa4ab3a0e9978d@54.74.49.211:26656,e5ce023918478f61a3606e93b9642ca24e027328@63.33.179.20:26656"
PEERS="7dbf2c58286b59aae1d9c121f1cee59fc21a59ef@54.220.127.230:26656,02810bc9ed25af587213a4ddb1fa4ab3a0e9978d@54.74.49.211:26656,e5ce023918478f61a3606e93b9642ca24e027328@63.33.179.20:26656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*seeds *=.*/seeds = \"$SEEDS\"/}" \
-e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.warden/config/config.toml
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"10\"/" $HOME/.warden/config/app.toml
wardend comet unsafe-reset-all --home $HOME/.warden
cp $HOME/.warden/data/priv_validator_state.json $HOME/.warden/priv_validator_state.json.backup
rm -rf $HOME/.warden/data
SNAPSHOT_URL="https://files.corenodehq.xyz/warden/snapshot/"
LATEST_SNAPSHOT=$(curl -s $SNAPSHOT_URL | grep -oP 'warden_\d+\.tar\.lz4' | sort -t_ -k2 -n | tail -n 1)
if [ -n "$LATEST_SNAPSHOT" ]; then
FULL_URL="${SNAPSHOT_URL}${LATEST_SNAPSHOT}"
if curl -s --head "$FULL_URL" | head -n 1 | grep "200" > /dev/null; then
curl "$FULL_URL" | lz4 -dc - | tar -xf - -C $HOME/.warden
mv $HOME/.warden/priv_validator_state.json.backup $HOME/.warden/data/priv_validator_state.json
sudo systemctl restart wardend && sudo journalctl -fu wardend -o cat
else
echo "Snapshot URL is not accessible"
fi
else
echo "No snapshot found"
fi
sed -i.bak -e "s%:1317%:${WARDEN_PORT}317%g;
s%:8080%:${WARDEN_PORT}080%g;
s%:9090%:${WARDEN_PORT}090%g;
s%:9091%:${WARDEN_PORT}091%g;
s%:8545%:${WARDEN_PORT}545%g;
s%:8546%:${WARDEN_PORT}546%g;
s%:6065%:${WARDEN_PORT}065%g" $HOME/.warden/config/app.toml
sed -i.bak -e "s%:26658%:${WARDEN_PORT}658%g;
s%:26657%:${WARDEN_PORT}657%g;
s%:6060%:${WARDEN_PORT}060%g;
s%:26656%:${WARDEN_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${WARDEN_PORT}656\"%;
s%:26660%:${WARDEN_PORT}660%g" $HOME/.warden/config/config.toml
sed -i -e "s|^node *=.*|node = \"tcp://localhost:${WARDEN_PORT}657\"|" $HOME/.warden/config/client.toml
sudo systemctl restart wardend
journalctl -fu wardend -o cat
wardend keys add cüzdan-adi
wardend keys add cüzdan-adi --recover
Not: altaki kodla pubkey öğren
wardend comet show-validator
Not: öğrendiğin pubkeyi aşağıda nano ile içine akataracağın yere yazıcan
nano /root/validator.json
NOT: baska bele validator olusturmalı proje kuruluysa içi dolu olabilir. önemli değil zaten bikere kullanıyoruz sil bastan ekle yok sa zaten içi boş
{
"pubkey": pubyaz,
"amount": "1000000000000000000award",
"moniker": "myvalidator",
"identity": "optional identity signature (ex. UPort or Keybase)",
"website": "validator's (optional) website",
"security": "validator's (optional) security contact email",
"details": "validator's (optional) details",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
Not: ctrl xy enter kaydet çık.
wardend tx staking create-validator /root/validator.json \
--from=cüzdan-adi \
--chain-id=warden_8765-1 \
--gas auto --gas-adjustment 1.6 --fees 250000000000000award \
--node=http://localhost:11957
cd $HOME
echo ""{\"pubkey\":{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"$(wardend comet show-validator | grep -Po '\"key\":\s*\"\K[^"]*')\"},
\"amount\": \"1000000000000000000award\",
\"moniker\": \"nodeismin\",
\"identity\": \"keybasecode\",
\"website\": \"\",
\"security\": \"\",
\"details\": \"details\",
\"commission-rate\": \"0.1\",
\"commission-max-rate\": \"0.2\",
\"commission-max-change-rate\": \"0.01\",
\"min-self-delegation\": \"1\"
}" > validator.json
wardend tx staking create-validator validator.json \
--from cuzdanismin \
--chain-id warden_8765-1 \
--gas auto --gas-adjustment 1.6 --fees 250000000000000award \
--node=http://localhost:11957
wardend tx staking delegate valoper-adresi miktar000000000000000000award \
--chain-id warden_8765-1 \
--from "cüzdan-adi" \
--gas auto --gas-adjustment 1.6 --fees 250000000000000award \
--node=http://localhost:11957
sudo systemctl stop wardend
sudo systemctl disable wardend
sudo rm -rf /etc/systemd/system/wardend.service
sudo rm $(which wardend)
sudo rm -rf $HOME/.warden
sed -i "/WARDEN_/d" $HOME/.bash_profile
