Zahlungsmethoden Abuse

Warden-Protokoll. Installation des Knotens

10.09.2024, 17:16
Inhalt:

Das Warden-Protokoll ist eine auf dem Cosmos SDK aufbauende Blockchain, die sich auf Intentionen konzentriert.

Merkmale

Zu den wichtigsten Merkmalen gehören:

  • Intents: zielgerichtete Transaktionen.

  • Keychains: flexible Schlüsselverwaltung.

  • EVM- und WASM-Unterstützung für intelligente Verträge.

Diese Funktionen schaffen attraktive Möglichkeiten sowohl für Entwickler als auch für Nutzer des Blockchain-Ökosystems. Das Warden-Protokoll fördert offene und erlaubnisfreie Innovationen, indem es sichere Intent-basierte Cross-Chain-Interaktionen ermöglicht.

Das Protokoll nutzt die Modularität von Cosmos und IBC, um interoperable Blockchain-Lösungen zu schaffen. Der Schwerpunkt liegt auf der Minderung der Risiken, die mit dem Verlust der Verwaltung von Vermögenswerten einhergehen, und der Vereinfachung der Integration verschiedener Schlüsselverwaltungslösungen, wodurch die Sicherheit und die Benutzerkontrolle über digitale Vermögenswerte erheblich verbessert werden.

Mindestanforderungen an die Hardware:

Node-Typ

CPU

RAM

Speicher

Testnet

4

8GB

150GB

Installation des Warden-Protokolls

Automatische Installation:

wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent

Manuelle Installation:

Server-Vorbereitung:

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 Installation:

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

Aufbau (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

Initialisierung:

wardend init STAVR_guide

Erstellen/Wiederherstellen einer Brieftasche:

wardend keys add <walletname>
ИЛИ
wardend keys add <walletname> --recover

Herunterladen von Genesis:

wget -O $HOME/.warden/config/genesis.json http://135.181.210.171:29/genesis.json
sha256sum $HOME/.warden/config/genesis.json

Einstellen von Mindestgaspreis, Peers und Filtern:

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

Daten trimmen (optional):

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

Deaktivieren des Indexers (optional):

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.warden/config/config.toml

Herunterladen des Adressbuchs:

wget -O $HOME/.warden/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Warden/addrbook.json"

Erstellen einer Servicedatei:

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-Status-Synchronisation

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-Schnappschüsse (alle 5 Stunden aktualisiert):

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

Starten:

sudo systemctl daemon-reload
sudo systemctl enable wardend
sudo systemctl restart wardend && sudo journalctl -u wardend -f -o cat

Erstellen eines Validators

Erstellen Sie einen neuen Validator mit dem folgenden Befehl:

Abrufen des öffentlichen Schlüssels

wardend tendermint show-validator --home /root/.warden

Navigieren Sie zum Home-Verzeichnis

cd $HOME
nano validator.json

Füllen Sie die Datei validator.json mit den folgenden Angaben:

{
  "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"
}

Führen Sie dann den Befehl aus, um den Validator zu erstellen:

wardend --home $HOME/.warden tx staking create-validator $HOME/validator.json --from WalletName --chain-id buenavista-1 --fees 500uward -y

Dienste und Tools

Deinstallation eines Knotens

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)

Installieren eines Snapshots

Verwenden Sie die folgenden Befehle, um Daten aus einem Snapshot wiederherzustellen:

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

Nützliche Tools

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

Auto-Installations-Skript-T

wget -O wardent https://raw.githubusercontent.com/111STAVR111/props/main/Warden/wardent && chmod +x wardent && ./wardent

AKTUALISIERUNG 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

Nützliche Befehle

Informationen
wardend status 2>&1 | jq .NodeInfo
wardend status 2>&1 | jq .SyncInfo
wardend status 2>&1 | jq .ValidatorInfo
Knotenprotokolle prüfen
sudo journalctl -fu wardend -o cat
Status des Dienstes
sudo systemctl status wardend
Neustart des Dienstes
sudo systemctl restart wardend
Dienst stoppen
sudo systemctl stop wardend
Dienst starten
sudo systemctl start wardend
Neustart/Trennung/Aktivierung
sudo systemctl daemon-reload
sudo systemctl disable wardend
sudo systemctl enable wardend

Arbeiten mit Schlüsseln

Neuer Schlüssel oder Schlüsselwiederherstellung
wardend keys add Wallet_Name
или
wardend keys add Wallet_Name --recover
Alle Schlüssel prüfen
wardend keys list
Saldo-Prüfung
wardend query bank balances addressjkl1yjgn7z09ua9vms259j
Löschen eines Schlüssels
wardend keys delete Wallet_Name
Schlüssel exportieren
wardend keys export wallet
Schlüssel importieren
wardend keys import wallet wallet.backup

Validator-Verwaltung

Validator bearbeiten
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
Ihre Valoper-Adresse
wardend keys show Wallet_Name --bech val
Ihr Val##### Ihre Valcons-Adresse
wardend tendermint show-address
Informationen über Ihren Validator
wardend query staking validator valoperaddress......
Knast-Infos
wardend query slashing signing-info $(wardend tendermint show-validator)
Nicht inhaftieren
wardend tx slashing unjail --from Wallet_name --chain-id buenavista-1 --gas 350000 -y
Liste der aktiven Prüfer
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
Liste der inaktiven Prüfer
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
Prüfen, ob Ihr Schlüssel mit dem Validator übereinstimmt (Gewinnen - Gut. Verlieren - Schlecht)
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"
Ausgabe aller Rewards von allen Validierern
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id buenavista-1 --gas 350000 -y
Ausgabe von Rewards und Provisionen von Ihrem Prüfer
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=buenavista-1 --commission -y
Delegieren von Token an Ihren Prüfer
wardend tx staking delegate Your_valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Delegieren von Token an einen anderen Prüfer
wardend tx staking delegate valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Neuzuweisung von Token an einen anderen Prüfer
wardend tx staking redelegate Your_valoper........ valoper........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Anbinden von Token von Ihrem Validator oder einem anderen Validator
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
Übertragung von Token von einer Wallet zu einer anderen Wallet
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=buenavista-1 -y

Verwaltung von Abstimmungen

Alle Vorschläge anzeigen
wardend query gov proposals
Einen bestimmten Vorschlag anzeigen
wardend query gov proposal 1
Für einen Vorschlag stimmen ("Ja")
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Gegen einen Vorschlag stimmen ("Nein")
wardend tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Abstimmung "Enthaltung"
wardend tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y
Abstimmung mit "Nein mit Veto" ("No with Veto")
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=buenavista-1 -y

IBC-Übertragung

Beispiel - Aufseher -> Osmose
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