download_shard

[ソース]

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

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

外部ソースからHTTPSを使用してシャードがlz4圧縮 tarアーカイブ として提供される必要があります。このアーカイブの内容が、シャードストアーに使用されるデータベースタイプ(NuDBまたはRocksDB)と一致する必要があります。

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

要求フォーマット

要求フォーマットの例:

{
 "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 文字列 この要求に対応して実行されたアクションを説明するメッセージ。

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

考えられるエラー

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