- ローカルネットワーク
- テストネット
- メインネット
ローカルノードを簡単にセットアップするには、以下のコマンドでノードを起動します:スクリプトの動作の詳細説明やセットアッププロセスをより細かく制御したい場合は、以下を参照してください。上記のコマンドにより、ノードの実行に必要なすべての設定ファイルとデフォルトのgenesisファイルが作成されます。genesisファイルはネットワークの初期状態を定義します。すべての設定ファイルはデフォルトで
この時点で、ローカルアカウントを作成したら、チェーンのgenesisファイルでそのアカウントに
2つの設定ファイルがこのコマンドでは単一のノードを実行できます。チェーンとの対話には十分ですが、複数のノードを同時に実行してコンセンサスの動作を確認することもできます。
setup.shスクリプトをダウンロードして実行します。これにより、ローカルInjectiveネットワークが初期化されます。チェーンの初期化
Injectiveノードを実行する前に、チェーンとノードのgenesisファイルを初期化する必要があります:~/.injectivedにありますが、--homeフラグを渡すことでこのフォルダの場所を上書きできます。~/.injectived以外のディレクトリを使用する場合は、injectivedコマンドを実行するたびに--homeフラグで場所を指定する必要があります。既存のgenesisファイルがある場合は、--overwriteまたは-oフラグで上書きできます。~/.injectivedフォルダは以下の構造を持ちます:genesis.jsonファイルの修正
この時点で、genesis.jsonファイルの修正が必要です:- stakingの
bond_denom、crisisのdenom、govのdenom、mintのdenomの値を"inj"に変更します。これはInjectiveのネイティブトークンです。
上記のコマンドは、デフォルトの
.injectivedディレクトリを使用している場合にのみ動作します。特定のディレクトリの場合は、上記のコマンドを修正するか、genesis.jsonファイルを手動で編集して変更を反映してください。バリデーターアカウントのキーの作成
チェーンを開始する前に、少なくとも1つのアカウントでstateを初期化する必要があります。そのためには、まずtest keyringバックエンドでmy_validatorという名前の新しいアカウントをkeyringに作成します(別の名前や別のバックエンドを選択しても構いません):injトークンを付与します。これにより、チェーンのgenesis時点からこのアカウントの存在がチェーンに認識されます:$MY_VALIDATOR_ADDRESSは、keyring内のmy_validatorキーのアドレスを保持する変数です。Injectiveのトークンは{amount}{denom}形式です:amountは18桁精度の10進数で、denomはdenomination key付きの一意のトークン識別子(例:inj)です。ここではinjトークンを付与しています。injはinjectivedでstakingに使用されるトークン識別子です。チェーンへのバリデーターの追加
アカウントにトークンが付与されたら、チェーンにバリデーターを追加する必要があります。バリデーターは、チェーンに新しいブロックを追加するためにコンセンサスプロセスに参加する特別なフルノードです。任意のアカウントがバリデーターオペレーターになる意向を宣言できますが、十分なdelegationを持つアカウントのみがアクティブセットに入ることができます。このガイドでは、上記のinitコマンドで作成したローカルノードをチェーンのバリデーターとして追加します。バリデーターは、gentxと呼ばれるgenesisファイルに含まれる特別なトランザクションを通じて、チェーンの最初の起動前に宣言できます:gentxは以下の3つのことを行います:- 作成した
validatorアカウントをバリデーターオペレーターアカウント(バリデーターを制御するアカウント)として登録します。 - 指定された
amountのstakingトークンをセルフデリゲートします。 - オペレーターアカウントを、ブロックの署名に使用されるTendermintノードのpubkeyにリンクします。
--pubkeyフラグが指定されていない場合、上記のinjectived initコマンドで作成されたローカルノードのpubkeyがデフォルトで使用されます。
gentxの詳細については、以下のコマンドを使用してください:app.tomlとconfig.tomlを使用したノードの設定
2つの設定ファイルが~/.injectived/config内に自動生成されます:config.toml: Tendermintの設定に使用されます(詳細はTendermintのドキュメントを参照)。app.toml: Cosmos SDK(Injectiveの基盤)によって生成され、stateプルーニング戦略、テレメトリ、gRPCおよびRESTサーバーの設定、state sync等の設定に使用されます。
app.toml内のminimum-gas-pricesフィールドがあります。これは、バリデーターノードがトランザクションの処理に受け入れる最低ガス価格を定義します。空の場合は、何らかの値(例:10inj)を設定してください。そうしないとノードは起動時に停止します。このチュートリアルでは、最低ガス価格を0に設定します: