XION Testnetのvalidator nodeの建て方
素人プログラミングのメモなので自己責任でお願いします。
参照
まずはfull nodeを建てる
OSはUbuntu22.04
リポジトリ情報を更新&システムのパッケージを最新verにアップグレード
(リポジトリに新しいverがある場合インストール済みのパッケージをアップグレードする)
sudo apt update && sudo apt upgrade -y
必要(そう)なパッケージをインストール
sudo apt -qy install curl git jq lz4 build-essential
GO言語をインストール
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.20.12.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
xion(burunt-labs)のリポジトリをローカル環境に複製
git clone https://github.com/burnt-labs/xion.git
xionディレクトリができる(ここに複製されている)のでxionディレクトリに移動
cd xion
xionディレクトリ内で
make install
binaryファイルがbuildされる(/root/go/bin/xiondが作成される)
#xiondの場所を確認
which xiond
#xiondのバージョン確認
xiond version
初期化(my-awesome-monikerは任意の名前)
xiond init my-awesome-moniker --chain-id xion-testnet-1 --home /home/xion/.xiond
Genesis JSONファイルをダウンロード
set -euxo pipefail #docsにはあるが入力せず
curl https://files.xion-testnet-1.burnt.com/genesis.json -o /home/xiond/.xiond/config/genesis.json -s
※この時点で/home/xiond/.xiond/configにはapp.toml, client.toml, config.toml, genesis.json, node_key.json, priv_validator_key.jsonが存在
Specify the Seed node to discover peers
set -euxo pipefail #これは不要かも
SEED_NODE="7900d5f177228def24170f9631db76afab20278e@seed.xion-testnet-1.burnt.com:11656"
sed -i.bak -E "s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"$SEED_NODE\"|" /home/xiond/.xiond/config/config.toml
Download the Address Book JSON file
/home/xiond/.xiond/config/にaddbook.jsonが追加される
set -euxo pipefail #これは不要かも
ADDRBOOK_JSON="https://files.xion-testnet-1.burnt.com/addrbook.json"
curl ${ADDRBOOK_JSON} -o /home/xiond/.xiond/config/addrbook.json -s
Dawnload a Nod Snapshot(これは終わるまでしばらく放置:1時間かからないぐらい?)
set -euxo pipefail #これは不要かも
BASEDIR="/home/xiond/.xiond"
TAR_LZ4="https://files.xion-testnet-1.burnt.com/xion-testnet-1-latest.tar.lz4"
curl -o - -L ${TAR_LZ4} | lz4 -c -d - | tar -x -v -C ${BASEDIR}
node起動
xiond start --x-crisis-skip-assert-invariants --home /home/xiond/.xiond
Validator登録
最新ブロックまでsyncできていることが前提
xiond statusコマンドlatest_block_heightとブロックエクスプローラーhttps://explorer.burnt.com/xion-testnet-1/の最新ブロックを確認すればOK
新しくwalletを作成(既存walletのインストールはdocs参照)
※my-wallet-nameは任意の文字列
xiond keys add my-wallet-name --keyring-backend test --home /home/xiond/.xiond
XIONトークンを入手
docsによると上記から入手となっているが私は下記から入手した。
validator登録
copypaste.comは任意の文字列
my-wallet-nameは自分のwalletの名前
xiond tx staking create-validator --amount "50000uxion" --pubkey $(xiond tendermint show-validator --home /home/xiond/.xiond/) --moniker "copypaste.com" --identity "my-keybase-id" --chain-id "xion-testnet-1" --commission-rate "0.05" --commission-max-rate "0.25" --commission-max-change-rate "0.1" --min-self-delegation "1" --gas "auto" --gas-prices "0.025uxion" --gas-adjustment 1.2 --from my-wallet-name --keyring-backend test --home /home/xiond/.xiond
validatorがactiveかどうかの確認
(何か返ってこればOKなのですが、私のvalidatorはアクティブにはなっていないので何も返ってきませんでした。)
xiond query tendermint-validator-set | grep "$(xiond tendermint show-validator --home /home/xiond/.xiond/)"
ただ、下記サイトでinactiveのvalidatorを確認することで発見できたので、validator登録自体は成功していると思われます。
また何かあれば追記します。
追加delegate
(validator-addressは自身のvalidatorアドレス)
xiond tx staking delegate validator-address 100000uxion --chain-id "xion-testnet-1" --gas "auto" --gas-prices "0.025uxion" --gas-adjustment 1.2 --from my-wallet-name --keyring-backend test --home /home/xiond/.xiond
この記事が気に入ったらサポートをしてみませんか?