download_shard

[ソース]

サーバーに対し、外部ソースから特定の履歴レジャーデータのシャードをダウンロードするように指示します。rippledサーバーで履歴シャードが保管されるように設定する必要があります。新規: rippled 1.1.0

download_shardメソッドは、権限のないユーザーは実行できない管理メソッドです。

外部ソースからHTTPSを使用してシャードがlz4圧縮 tarアーカイブ として提供される必要があります。アーカイブには、NuDB形式のシャードディレクトリとデータファイルが含まれている必要があります。

通常、このメソッドを使用してシャードをダウンロードしてインポートすれば、ピアツーピアネットワークからシャードを個別に取得するよりも短い時間で取得できます。また、サーバーから提供される特定範囲のシャードまたはシャードのセットを選択する場合にもこのメソッドを使用できます。

要求フォーマット

要求フォーマットの例:

{
  "command": "download_shard",
  "shards": [
    {"index": 1, "url": "https://example.com/1.tar.lz4"},
    {"index": 2, "url": "https://example.com/2.tar.lz4"},
    {"index": 5, "url": "https://example.com/5.tar.lz4"}
  ]
}
{
  "method": "download_shard",
  "params": [
    {
      "shards": [
        {"index": 1, "url": "https://example.com/1.tar.lz4"},
        {"index": 2, "url": "https://example.com/2.tar.lz4"},
        {"index": 5, "url": "https://example.com/5.tar.lz4"}
      ]
    }
  ]
}

要求には以下のフィールドが含まれます。

Field 説明
shards 配列 ダウンロードするシャードとダウンロード元を記述したShard Descriptorオブジェクト(以下の説明を参照)のリスト。
validate ブール値 (省略可) falseの場合はダウンロードしたデータの検証をスキップします。デフォルトはtrueです。この場合、アーカイブのシャードにシャードのデータオブジェクトがすべて含まれており、シャードが現行の検証済みレジャーのレジャー履歴の一部であるか否かが確認されます。

shards配列の各Shard Descriptorオブジェクトには以下のフィールドが含まれています。

Field 説明
index 数値 取得するシャードのインデックス。本番環境のXRP Ledgerでは、最も古いシャードのインデックスは1であり、このシャードにはレジャー32750~32768が含まれています。次のシャードのインデックスは2であり、このシャードにはレジャー32769~49152が含まれています。
url 文字列 このシャードをダウンロードできるURL。このURLはhttps://で始まり.tar.lz4(大文字小文字の区別なし)で終わる必要があります。このダウンロードを提供するWebサーバーは、信頼できる認証局(CA)によって署名された有効なTLS証明書を使用する必要があります。(rippledはオペレーティングシステムのCAストアーを使用します。)

応答フォーマット

処理が成功した応答の例:

{
  "result": {
    "message": "downloading shards 1-2,5"
  },
  "status": "success",
  "type": "response"
}
200 OK

{
  "result": {
    "message": "downloading shards 1-2,5",
    "status": "success"
  }
}

この応答は標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。

Field 説明
message 文字列 この要求に対応して実行されたアクションを説明するメッセージ。

ヒント: サーバーで使用可能なシャードを確認するには、[crawl_shardsメソッド[]を使用します。または、シャードストアーとして設定されたロケーションのサブフォルダー(rippled.cfg[shard_db]pathパラメーター)を調べます。フォルダーには、シャードの番号に対応する名前が付いています。これらのフォルダーの1つに、シャードが未完了であることを示すcontrol.txtファイルが含まれていることがあります。

考えられるエラー

  • いずれかの汎用エラータイプ
  • notEnabled - サーバーでシャードストアーを使用するように設定されていません。
  • tooBusy - サーバーはすでに、ピアツーピアネットワークから、または以前のdownload_shard要求の結果として、シャードをダウンロード中です。
  • invalidParams - 要求で1つ以上の必須フィールドが省略されていたか、または指定されたフィールドのデータタイプが誤っています。