getEpochSchedule RPCメソッドは、クラスターのジェネシス設定からエポックスケジュール情報を返します。このデータは、エポックがどのように構成されているか、その長さ、およびリーダースケジュールがエポックの開始時に対してどのように決定されるかを定義します。
エポックスケジュールを理解することは、ネットワークイベントに調整したり、エポックの境界を予測したり、リーダー回転メカニズムを理解する必要があるアプリケーションにとって重要です。
一般的な使用例
- エポック境界の予測: エポック内のスロット数を決定し、現在のエポックがいつ終了し、次がいつ開始するかを推定します。
- リーダースケジュール計算:
leaderScheduleSlotOffsetを理解して、来るエポックのリーダースケジュールがどれだけ前に生成されるかを知ります。 - ネットワーク初期化の分析:
warmup、firstNormalEpoch、firstNormalSlotを観察して、クラスターのエポック長の初期ランプアップフェーズを理解します(該当する場合)。 - ネットワーク監視ツールの構築: この情報を使用して、エポックのタイミングと進行を正確に表示します。
リクエストパラメータ
このメソッドにはパラメータはありません。応答構造
JSON-RPC応答のresultフィールドは以下のフィールドを含むオブジェクトになります:
slotsPerEpoch(u64): 各エポックの最大スロット数(ウォームアップ期間後)。leaderScheduleSlotOffset(u64): そのエポックのリーダースケジュールが生成されるエポック開始前のスロット数。warmup(boolean): クラスターがウォームアップ期間を持ち、エポックが短く始まり徐々に長くなるかどうかを示すブール値。firstNormalEpoch(u64): 完全なslotsPerEpoch長を持つ最初のエポック番号。warmupがtrueの場合に関連します。firstNormalSlot(u64):firstNormalEpochの最初のスロットのスロットインデックス。warmupがtrueの場合に関連します。
例
1. クラスターのエポックスケジュールを取得
この例は、エポックスケジュールを取得します。開発者向けのヒント
- 静的情報: エポックスケジュールはクラスターのジェネシス設定によって決定され、重大なネットワークアップグレードまたは異なるパラメータを持つ新しいクラスターの起動がない限り、一般的に変更されません。
- メインネットとテストネット/Devnet: エポックスケジュール、特に
slotsPerEpochとウォームアップパラメータは、メインネットベータ、テストネット、およびDevnetの間で大きく異なる場合があります。関心のある特定のクラスターを必ずクエリしてください。 - ウォームアップ期間:
warmupがtrueの場合、firstNormalEpoch前のエポックにはslotsPerEpochより少ないスロットがあります。ウォームアップエポックの長さの正確な計算は2^N * MINIMUM_SLOTS_PER_EPOCHで、NはfirstNormalEpochに到達するまで(0から始まる)エポック番号です。通常、MINIMUM_SLOTS_PER_EPOCHは32です。
getEpochSchedule RPCメソッドを使用するために必要な情報を提供します。