# peer_reservations_add

[[ソース]](https://github.com/XRPLF/rippled/blob/4a1148eb2849513dd1e7ae080288fd47ab57a376/src/ripple/rpc/handlers/Reservations.cpp#L36)

このメソッドは、XRP Ledger[ピアツーピアネットワーク](/ja/docs/concepts/networks-and-servers/peer-protocol)内の特定のピアサーバの予約済みスロットを追加または更新します。新規: rippled 1.4.0

*メソッドは、権限のないユーザは実行できない[管理メソッド](/ja/docs/references/http-websocket-apis/admin-api-methods)です。*

### リクエストのフォーマット

リクエストのフォーマットの例:

WebSocket

```json
{
    "id": "peer_reservations_add_example_1",
    "command": "",
    "public_key": "n9Jt8awsPzWLjBCNKVEEDQnw4bQEPjezfcQ4gttD1UzbLT1FoG99",
    "description": "Ripple s1 server 'WOOL'"
}
```

JSON-RPC

```json
{
    "method": "",
    "params": [{
      "public_key": "n9Jt8awsPzWLjBCNKVEEDQnw4bQEPjezfcQ4gttD1UzbLT1FoG99",
      "description": "Ripple s1 server 'WOOL'"
    }]
}
```

コマンドライン

```sh
#Syntax:  <public_key> [<description>]
rippled  n9Jt8awsPzWLjBCNKVEEDQnw4bQEPjezfcQ4gttD1UzbLT1FoG99 "Ripple s1 server 'WOOL'"
```

リクエストには以下のパラメーターが含まれます。

| `Field` | 型 | 説明 |
|  --- | --- | --- |
| `public_key` | 文字列 | [base58](/ja/docs/references/protocol/data-types/base58-encodings)での予約を追加するピアリザベーションの[ノード公開鍵](/ja/docs/concepts/networks-and-servers/peer-protocol#%E3%83%8E%E3%83%BC%E3%83%89%E3%82%AD%E3%83%BC%E3%83%9A%E3%82%A2) 。 |
| `description` | 文字列 | *(省略可)* ピアリザベーションに関するカスタムの説明。64文字を超える部分は、再起動時にサーバによって切り捨てられます。 |


### レスポンスのフォーマット

処理が成功したレスポンスの例:

WebSocket

```json
{
  "id": "peer_reservations_add_example_1",
  "result": {
    "previous": {
      "description": "Maecenas atavis edite regibus, O et praesidium et dulce decus meum, Sunt quos curriculo pulverem Olympicum Collegisse iuvat metaque fervidis Evitata rotis palmaque nobilis Terrarum dominos evehit ad deos; Hunc, si mobilium turba Quiritium Certat tergeminis tollere honoribus; Illum, si proprio condidit horreo, Quidquid de Libycis verritur areis.",
      "node": "n9Jt8awsPzWLjBCNKVEEDQnw4bQEPjezfcQ4gttD1UzbLT1FoG99"
    }
  },
  "status": "success",
  "type": "response"
}
```

JSON-RPC

```json
{
  "result": {
    "previous": {
      "description": "Maecenas atavis edite regibus, O et praesidium et dulce decus meum, Sunt quos curriculo pulverem Olympicum Collegisse iuvat metaque fervidis Evitata rotis palmaque nobilis Terrarum dominos evehit ad deos; Hunc, si mobilium turba Quiritium Certat tergeminis tollere honoribus; Illum, si proprio condidit horreo, Quidquid de Libycis verritur areis.",
      "node": "n9Jt8awsPzWLjBCNKVEEDQnw4bQEPjezfcQ4gttD1UzbLT1FoG99"
    },
    "status": "success"
  }
}
```

コマンドライン

```json
Loading: "/etc/rippled.cfg"
Connecting to 127.0.0.1:5005

{
  "result": {
    "previous": {
      "description": "Maecenas atavis edite regibus, O et praesidium et dulce decus meum, Sunt quos curriculo pulverem Olympicum Collegisse iuvat metaque fervidis Evitata rotis palmaque nobilis Terrarum dominos evehit ad deos; Hunc, si mobilium turba Quiritium Certat tergeminis tollere honoribus; Illum, si proprio condidit horreo, Quidquid de Libycis verritur areis.",
      "node": "n9Jt8awsPzWLjBCNKVEEDQnw4bQEPjezfcQ4gttD1UzbLT1FoG99"
    },
    "status": "success"
  }
}
```

このレスポンスは[標準フォーマット](/ja/docs/references/http-websocket-apis/api-conventions/response-formatting)に従っており、正常に完了した場合は結果に次のフィールドが含まれます。

| `Field` | 型 | 説明 |
|  --- | --- | --- |
| `previous` | オブジェクト | *（省略される場合があります）* 同じ[ノード公開鍵](/ja/docs/concepts/networks-and-servers/peer-protocol#%E3%83%8E%E3%83%BC%E3%83%89%E3%82%AD%E3%83%BC%E3%83%9A%E3%82%A2)の以前のエントリ（同じノード公開鍵を使用した予約がすでに存在する場合）。以下で説明するように、このオブジェクトは、**ピアリザベーションオブジェクト**というフォーマットになります。 |


同じ[ノード公開鍵](/ja/docs/concepts/networks-and-servers/peer-protocol#%E3%83%8E%E3%83%BC%E3%83%89%E3%82%AD%E3%83%BC%E3%83%9A%E3%82%A2)に以前のエントリがなかった場合、`result`オブジェクトは空です。

#### ピアリザベーションオブジェクト

`previous`フィールドが指定されている場合は、このピアリザベーションの以前のステータスが次のフィールドとともに表示されます。

| `Field` | 型 | 説明 |
|  --- | --- | --- |
| `node` | 文字列 | この予約の対象となるピアサーバの[ノード公開鍵][]（[base58][]）。 |
| `description` | 文字列 | *（省略される場合があります）* このピアリザベーションの説明（ある場合）。 |


### 考えられるエラー

- いずれかの[汎用エラータイプ](/ja/docs/references/http-websocket-apis/api-conventions/error-formatting#%E6%B1%8E%E7%94%A8%E3%82%A8%E3%83%A9%E3%83%BC)。
- `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
- `publicMalformed` - リクエストの`public_key`フィールドが無効です。[base58](/ja/docs/references/protocol/data-types/base58-encodings)フォーマットの有効なノード公開鍵である必要があります。