Files
2019-01-29 17:27:26 -08:00

4.7 KiB

crawl_shards

[Source]

Requests information from peer servers about which shards of historical ledger data they have available. [New in: rippled 1.2.0][]

The crawl_shards method is an admin method that cannot be run by unprivileged users.

Request Format

An example of the request format:

WebSocket

{
  "command": "crawl_shards",
  "pubkey": true,
  "limit": 2
}

JSON-RPC

{
  "method": "crawl_shards",
  "params": [
    {
      "pubkey": true,
      "limit": 2
    }
  ]
}

Note: There is no command-line syntax for this method. Use the [json method][] to access this from the command line.

The request includes the following fields:

Field Type Description
pubkey Boolean (Optional) If true, the response includes the node public keys (for peer-to-peer communications) of servers that were crawled. The default is false.
limit Number (Optional) How many hops deep to search. The default is 0, which searches direct peers only. With a limit of 1, searches peers' peers also. (The number of peers searched potentially grows exponentially as limit increases.) The maximum value is 3.

Response Format

An example of a successful response:

WebSocket

{
  "result": {
    "complete_shards": "1-2,5,8-9,584,1973,2358",
    "peers": [
      {
        "complete_shards": "1-2,8,47,371,464,554,653,857,1076,1402,1555,1708,1813,1867",
        "public_key": "n9LxFZiySnfDSvfh23N94UxsFkCjWyrchTeKHcYE6tJJQL5iejb2"
      },
      {
        "complete_shards": "8-9,584",
        "ip": "192.168.1.132",
        "public_key": "n9MN5xwYqbrj64rtfZAXQy7Y3sNxXZJeLt7Lj61a9DYEZ4SE2tQQ"
      }
    ]
  },
  "status": "success",
  "type": "response"
}

JSON-RPC

200 OK

{
  "result": {
    "complete_shards": "1-2,5,8-9,584,1973,2358",
    "peers": [
      {
        "complete_shards": "1-2,8,47,371,464,554,653,857,1076,1402,1555,1708,1813,1867",
        "public_key": "n9LxFZiySnfDSvfh23N94UxsFkCjWyrchTeKHcYE6tJJQL5iejb2"
      },
      {
        "complete_shards": "8-9,584",
        "ip": "192.168.1.132",
        "public_key": "n9MN5xwYqbrj64rtfZAXQy7Y3sNxXZJeLt7Lj61a9DYEZ4SE2tQQ"
      }
    ],
    "status": "success"
  }
}

The response follows the [standard format][], with a successful result containing the following fields:

Field Type Description
complete_shards String (May be omitted) The range of history shards that are available on the local server. This may be disjointed. For example, 1-2,5,7-9 indicates that shards 1, 2, 5, 7, 8, and 9 are available. Omitted if this server does not have any history sharding enabled or does not have any shards available.
peers Array List of Peer Shard Objects (see below) describing which history shards each peer has available.

Peer Shard Objects

Each member of the peers array of the response is an object that describes one server in the peer-to-peer network. The list only includes peers that have at least one complete history shard available. Each object in the array has the following fields:

Field Type Description
complete_shards String The range of history shards this peer has available. This may be disjointed. For example, 1-2,5,7-9 indicates that shards 1, 2, 5, 7, 8, and 9 are available.
ip String (May be omitted) The IP address of the peer this object describes. This may be an IPv4 or IPv6 address. Omitted if this is a private peer.
public_key String (Omitted unless the request specified "pubkey": true) The public key this peer uses for peer-to-peer communications, in the XRP Ledger's base58 format.

Possible Errors

  • Any of the [universal error types][].
  • invalidParams - One or more required fields were omitted from the request, or a provided field was specified as the wrong data type.

{% include '_snippets/rippled-api-links.md' %} {% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %}