フルコンセンサスノード
フルコンセンサスノードを使用すると、Sunriseコンセンサスレイヤーでブロックチェーンの履歴を同期できます。
チェーンのアップグレード
「チェーンのアップグレード」セクションへのリンクチェーンのアップグレードを効率化し、ダウンタイムを最小限に抑えるために、Cosmovisorを設定してノードを管理することをお勧めします。
Cosmovisorチュートリアルに従ってください。
オンチェーンアップグレードを自動化するには、次のオプションを設定します。
DAEMON_ALLOW_DOWNLOAD_BINARIES=trueバックアップ
「バックアップ」セクションへのリンク最近のバージョンのCosmovisorを使用している場合、デフォルトの設定では、アップグレードを適用する前に状態のバックアップが作成されます。これは環境フラグを使用してオフにすることができます。
アラートと監視
「アラートと監視」セクションへのリンクアラートと監視も望ましいため、ソリューションを検討し、自分の設定に合ったものを見つけることをお勧めします。Prometheusは標準で利用可能で、さまざまなオープンソースツールがあります。
ハードウェア要件
「ハードウェア要件」セクションへのリンクバリデーターノードを実行するために、以下の最低ハードウェア要件が推奨されます。
- メモリ:8 GB RAM(最小)
- CPU:4コア
- ディスク:250 GB SSDストレージ
- 帯域幅:ダウンロード1 Gbps / アップロード1 Gbps
プルーニングを使用しない場合は、アーカイブノードを実行しており、500 GBのSSDストレージを推奨します。
依存関係
「依存関係」セクションへのリンクチュートリアルはUbuntu 22.04(LTS)で行われています。環境チュートリアルに従ってください。
フルコンセンサスノードの実行
「フルコンセンサスノードの実行」セクションへのリンクインストール
「インストール」セクションへのリンクGo 1.24.2をインストールします。
git clone https://github.com/sunriselayer/sunrise.gitcd sunrisegit checkout $TAGmake installchain-idとmonikerを設定します。monikerはノードの名前です。
CHAIN_ID=sunrise-1 // mainnetMONIKER="node-name"sunrised init "$MONIKER" --chain-id $CHAIN_IDこれにより、~/.sunrise/config/に以下のファイルが生成されます。
genesis.jsonnode_key.jsonpriv_validator_key.json
ジェネシスファイルのダウンロード
「ジェネシスファイルのダウンロード」セクションへのリンクGithubで現在実行中のネットワークのgenesis.jsonを確認してください。
例:メインネットの場合:
rm ~/.sunrise/config/genesis.jsoncurl -L https://raw.githubusercontent.com/sunriselayer/network/main/sunrise-1/genesis.json -o ~/.sunrise/config/genesis.json最低ガス価格の設定
「最低ガス価格の設定」セクションへのリンクRPCノードおよびバリデーターノードについて、以下の最低ガス価格の設定を推奨します。私たちはパーミッションレスのWasmチェーンであるため、この設定はコントラクトスパムや潜在的なWasmコントラクトの攻撃ベクターから保護するのに役立ちます。
\$HOME/.sunrise/config/app.tomlで、最低ガス価格を設定してください。
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025uusdrise\"/" $HOME/.sunrise/config/app.tomlオプション:シードと永続的ピアの設定
「オプション:シードと永続的ピアの設定」セクションへのリンク- シード
「シード」は、新しく参加するバリデーターが最初に接続すべき他のバリデーターのリストを提供します。
バリデーターがネットワークに接続すると、主にpersistent_peersに接続を依存するため、seedsの重要性は低下します。
SEEDS=$(curl -sL https://raw.githubusercontent.com/sunriselayer/network/main/sunrise-1/seeds.txt | tr '\n' ',')echo $SEEDSsed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" $HOME/.sunrise/config/config.toml- 永続的ピア
「永続的ピア」は、バリデーターが常に接続を維持すべき信頼できるバリデーターのリストです。
persistent_peersにリストされているバリデーターへの接続は、ネットワークの安定性を維持するために優先されます。
PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/sunriselayer/network/main/sunrise-1/peers.txt | tr '\n' ',')echo $PERSISTENT_PEERSsed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PERSISTENT_PEERS\"/" $HOME/.sunrise/config/config.tomlオプション:追加設定
「オプション:追加設定」セクションへのリンク必要に応じて、\$HOME/.sunrise/config/app.tomlの設定ファイルを編集してください。
enableは、APIサーバーを有効にするかどうかを定義します。
sed -i '/\[api\]/,+3 s/enable = false/enable = true/' $HOME/.sunrise/config/app.toml;EnableUnsafeCORSは、CORSを有効にするかどうかを定義します(安全ではないため、自己責任で使用してください)。
sed -i 's/enabled-unsafe-cors = false/enabled-unsafe-cors = true/' $HOME/.sunrise/config/app.toml;- デフォルトでは、RPCとRESTは公開されていないため、公開ノードにしたい場合は、次のように設定してください。
sed -i 's/address = "localhost:9090"/address = "0.0.0.0:9090"/' $HOME/.sunrise/config/app.toml;sed -i 's#address = "tcp://localhost:1317"#address = "tcp://0.0.0.0:1317"#' $HOME/.sunrise/config/app.toml;sed -i 's#laddr = "tcp://127.0.0.1:26657"#laddr = "tcp://0.0.0.0:26657"#' $HOME/.sunrise/config/config.toml;ストレージとプルーニングの設定
「ストレージとプルーニングの設定」セクションへのリンクコンセンサスノードをsunrise-nodeブリッジノードに接続する場合は、トランザクションインデックスを有効にし、すべてのブロックデータを保持する必要があります。これは、config.tomlで次の設定を行うことで実現できます。
トランザクションインデックスの有効化
「トランザクションインデックスの有効化」セクションへのリンクindexer = "kv"すべてのブロックデータの保持
「すべてのブロックデータの保持」セクションへのリンクそして、app.tomlでは、min-retain-blocksはデフォルト設定のままである必要があります。
min-retain-blocks = 0過去のステートへのアクセス
「過去のステートへのアクセス」セクションへのリンク過去の特定の高さでのウォレットの残高などを照会したい場合は、app.tomlでpruning = "nothing"に設定したアーカイブノードを実行する必要があります。この設定はリソースを多く消費し、かなりのストレージが必要になることに注意してください。
pruning = "nothing"ストレージの要件を節約したい場合は、app.tomlでpruning = "everything"を使用してすべてをプルーニングすることを検討してください。
pruning = "everything"ローカルキーペアを作成(または復元)する
「ローカルキーペアを作成(または復元)する」セクションへのリンクバリデーター用に新しいキーペアを作成するか、既存のウォレットを復元します。
# 新しいキーペアを作成sunrised keys add <your-key># ニーモニックシードフレーズで既存のsunriseウォレットを復元します。# ニーモニックシードを入力するように求められます。sunrised keys add <your-key> --recover# キーストアで公開アドレスをクエリしますsunrised keys show <your-key> -a<your-key>を任意のキー名に置き換えてください。
RISEトークンを取得する
「RISEトークンを取得する」セクションへのリンクバリデーターにボンドするためにいくつかのvRISEトークンが必要になります(手数料のためにいくつかのRISEトークンも必要です)。アクティブセットに入るには、十分なトークンが必要です。
コンセンサスノードの起動
「コンセンサスノードの起動」セクションへのリンクCosmovisorを設定し、ノードを起動するための手順に従ってください。 Cosmovisorチュートリアルを参照してください。
Cosmovisorを使用しない場合は、次のコマンドを実行してください。
sunrised startノードの同期
「ノードの同期」セクションへのリンクsunrisedデーモンを起動すると、チェーンがネットワークと同期し始めます。ネットワークとの同期時間は、設定やブロックチェーンの現在のサイズによって異なりますが、非常に長い時間がかかる可能性があります。ノードのステータスを照会するには、次のようにします。
# RPC経由でクエリ(デフォルトポート:26657)curl http://localhost:26657/status | jq .result.sync_info.catching_upこのコマンドがtrueを返す場合、ノードはまだ同期中であることを意味します。それ以外の場合、ノードはネットワークの最新ブロックに追いついており、バリデーターノードへのアップグレードを安全に進めることができます。
最新のブロックに追いつく時間を短縮したい場合は、他のノードのスナップショットを使用することを検討してください。
オプション:スナップショットを使用する
「オプション:スナップショットを使用する」セクションへのリンク最新のブロックに追いつく時間を短縮したい場合は、スナップショットの使用を検討してください。スナップショットを使用すると、特定の高さからノードをブートストラップできるため、ジェネシスから同期する必要がなくなります。
パートナーのPolkachuは、Sunriseネットワークの毎日のスナップショットを提供しています。最新のスナップショットURLを取得するには、彼らのWebサイトにアクセスしてください。