diff --git a/content/dev-tools/dev-tools.ja.md b/content/dev-tools/dev-tools.ja.md new file mode 100644 index 0000000000..f678ace661 --- /dev/null +++ b/content/dev-tools/dev-tools.ja.md @@ -0,0 +1,28 @@ +# 開発者用ツール + + +Rippleには、XRP LedgerのAPIリクエストと動作をテスト、探索、検証するための一連の開発者用ツールがそろっています。 + +* **[XRP Ledger Lookup Tool](xrp-ledger-rpc-tool.html)** + + このJSON-RPCベースのデバッグツールを使用して、XRP Ledgerのアカウント、取引、台帳についての生データを表示します。 + +* **[XRP Ledger Test Net Faucet](xrp-test-net-faucet.html)** + + WebSocketおよびJSON-RPC Test Netエンドポイントを使用して、XRP Ledger上で構築したソフトウェアを実際の資金を使用せずにテストします。テストの目的でTest Netのクレデンシャルと資金を生成します。Test Netの台帳と残高は定期的にリセットされます。 + + +* **[rippled API WebSocket Tool](websocket-api-tool.html)** + + 動作中のrippled APIを今すぐ見る必要がありますか? このツールを使用して、あらかじめ用意されたサンプル要求を送信し、応答を取得します。設定は何も必要ありません。 + + +* **[Data API v2 Tool](data-api-v2-tool.html)** + + 動作中のData API v2を今すぐ見る必要がありますか? このツールを使用して、あらかじめ用意されたサンプル要求を送信し、応答を取得します。設定は何も必要ありません。 + +* **[rippled.txt Validator](ripple-txt-validator.html)** + + このツールを使用して、「ripple.txt」が構文的に正しいことと、正しくデプロイされたことを確認します。 + +ここにないツールについて何かアイデアをお持ちですか? [お問い合わせ>](mailto:docs@ripple.com) diff --git a/content/references/data-api.ja.md b/content/references/data-api.ja.md new file mode 100644 index 0000000000..2deb4a4553 --- /dev/null +++ b/content/references/data-api.ja.md @@ -0,0 +1,5407 @@ +# Ripple Data API v2 + +Ripple Data API v2を使用すると、XRP Ledgerの変更に関する情報(トランザクション履歴や処理済みの分析データなど)にアクセスできます。このような情報は専用データベースに保管されるので、`rippled`サーバーで保持する必要のある履歴レジャーバージョンの数が少なくなります。Data API v2は[XRP Charts](https://xrpcharts.ripple.com/)や[ripple.com](https://www.ripple.com)などのアプリケーションのデータソースとしても機能します。 + +Rippleは可能な限り完全なトランザクションレコードが含まれているData APIのライブインスタンスを以下のアドレスで公開しています。 + +[**https://data.ripple.com**](https://data.rifpple.com) + + +## 詳細情報 +Ripple Data API v2はHistorical Database v1および[Charts API](https://github.com/ripple/ripple-data-api/)を置き換えます。 + +* [APIメソッド](#apiメソッドリファレンス) +* [APIの規則](#apiの規則) +* [設定(ローカルインスタンス)](#historical-databaseの実行) +* [ソースコード(Github)](https://github.com/ripple/rippled-historical-database) +* [リリースノート](https://github.com/ripple/rippled-historical-database/releases) + +[v2.0.4]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.0.4 +[v2.0.5]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.0.5 +[v2.0.6]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.0.6 +[v2.0.7]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.0.7 +[v2.0.8]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.0.8 +[v2.1.0]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.1.0 +[v2.2.0]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.2.0 +[v2.3.0]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.3.0 +[v2.3.2]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.3.2 +[v2.3.5]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.3.5 +[v2.3.7]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.3.7 +[v2.4.0]: https://github.com/ripple/rippled-historical-database/releases/tag/v2.4.0 + + +# APIメソッドリファレンス + +Data API v2は、以下のメソッドを備えたREST APIです。 + +レジャーコンテンツメソッド: + +* [Get Ledger - `GET /v2/ledgers/{ledger_identifier}`](#get-ledger) +* [Get Transaction - `GET /v2/transactions/{hash}`](#get-transaction) +* [Get Transactions - `GET /v2/transactions/`](#get-transactions) +* [Get Payments - `GET /v2/payments/{currency}`](#get-payments) +* [Get Exchanges - `GET /v2/exchanges/{base}/{counter}`](#get-exchanges) +* [Get Exchange Rates - `GET /v2/exchange_rates/{base}/{counter}`](#get-exchange-rates) +* [Normalize - `GET /v2/normalize`](#normalize) +* [Get Daily Reports - `GET /v2/reports/`](#get-daily-reports) +* [Get Stats - `GET /v2/stats/`](#get-stats) +* [Get Active Accounts - `GET /v2/active_accounts/{base}/{counter}`](#get-active-accounts) +* [Get Exchange Volume - `GET /v2/network/exchange_volume`](#get-exchange-volume) +* [Get Payment Volume - `GET /v2/network/payment_volume`](#get-payment-volume) +* [Get External Markets - `GET /v2/network/external_markets`](#get-external-markets) +* [Get XRP Distribution - `GET /v2/network/xrp_distribution`](#get-xrp-distribution) +* [Get Top Currencies - `GET /v2/network/top_currencies`](#get-top-currencies) +* [Get Top Markets - `GET /v2/network/top_markets`](#get-top-markets) + +アカウントメソッド: + +* [Get Account - `GET /v2/accounts/{address}`](#get-account) +* [Get Accounts - `GET /v2/accounts`](#get-accounts) +* [Get Account Balances - `GET /v2/accounts/{address}/balances`](#get-account-balances) +* [Get Account Orders - `GET /v2/accounts/{address}/orders`](#get-account-orders) +* [Get Account Transaction History - `GET /v2/accounts/{address}/transactions`](#get-account-transaction-history) +* [Get Transaction By Account and Sequence - `GET /v2/accounts/{address}/transactions/{sequence}`](#get-transaction-by-account-and-sequence) +* [Get Account Payments - `GET /v2/accounts/{address}/payments`](#get-account-payments) +* [Get Account Exchanges - `GET /v2/accounts/{address}/exchanges`](#get-account-exchanges) +* [Get Account Balance Changes - `GET /v2/accounts/{address}/balance_changes`](#get-account-balance-changes) +* [Get Account Reports - `GET /v2/accounts/{address}/reports`](#get-account-reports) +* [Get Account Transaction Stats - `GET /v2/accounts/{address}/stats/transactions`](#get-account-transaction-stats) +* [Get Account Value Stats - `GET /v2/accounts/{address}/stats/value`](#get-account-value-stats) + +外部情報メソッド: + +* [Get All Gateways - `GET /v2/gateways`](#get-all-gateways) +* [Get Gateway - `GET /v2/gateways/{gateway}`](#get-gateway) +* [Get Currency Image - `GET /v2/currencies/{currencyimage}`](#get-currency-image) + +検証ネットワークメソッド: + +* [Get Transaction Costs - `GET /v2/network/fees`](#get-transaction-costs) +* [Get Fee Stats - `GET /v2/network/fee_stats`](#get-fee-stats) +* [Get Ledger Validations - `GET /v2/ledger/{hash}/validations`](#get-ledger-validations) +* [Get Ledger Validation - `GET /v2/ledger/{hash}/validations/{pubkey}`](#get-ledger-validation) +* [Get Topology - `GET /v2/network/topology`](#get-topology) +* [Get Topology Nodes - `GET /v2/network/topology/nodes`](#get-topology-nodes) +* [Get Topology Node - `GET /v2/network/topology/nodes/{pubkey}`](#get-topology-node) +* [Get Topology Links - `GET /v2/network/topology/links`](#get-topology-links) +* [Get Validator - `GET /v2/network/validators/{pubkey}`](#get-validator) +* [Get Validators - `GET /v2/network/validators`](#get-validators) +* [Get Validator Manifests - `GET /v2/network/validators/{pubkey}/manifests`](#get-validator-manifests) +* [Get Single Validator Reports - `GET /v2/network/validators/{pubkey}/reports`](#get-single-validator-reports) +* [Get Daily Validator Reports - `GET /v2/network/validator_reports`](#get-daily-validator-reports) +* [Get `rippled` Versions - `GET /v2/network/rippled_versions`](#get-rippled-versions) + +健全性チェック: + +* [API Health Check - `GET /v2/health/api`](#health-check-api) +* [Importer Health Check - `GET /v2/health/importer`](#health-check-ledger-importer) +* [Nodes ETL Health Check - `GET /v2/health/nodes_etl`](#health-check-nodes-etl) +* [Validations ETL Health Check - `GET /v2/health/validations_etl`](#health-check-validations-etl) + + +## Get Ledger +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getLedger.js "Source") + +ハッシュ、インデックス、または日付を指定して特定のレジャーを取得するか、または最新の検証済みレジャーを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/ledgers/{identifier} +``` + + + +[試してみる>](data-api-v2-tool.html#get-ledger) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:--------------------|:----------------------------------------------------|:--| +| `ledger_identifier` | レジャー[ハッシュ][]、[レジャーインデックス][]、または[タイムスタンプ][] | _(省略可)_ 取得するレジャーのID。16進数のハッシュ全体、整数のシーケンス番号、または日時のいずれかです。日時を指定すると、その指定した日時の時点で最新であった閉鎖済みレジャーが取得されます。省略すると、最新の検証済みレジャーが取得されます。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------------|:--------|:--------------------------------------------------| +| `transactions` | ブール値 | `true`の場合は、このレジャーに含まれるすべてのトランザクションの識別用ハッシュが含まれます。 | +| `binary` | ブール値 | `true`の場合は、このレジャーのすべてのトランザクションが16進フォーマットのバイナリデータとして含まれます。(このフィールドが指定されている場合、`transactions`をオーバーライドします。) | +| `expand` | ブール値 | `true`の場合、このレジャーのすべてのトランザクションが入れ子のJSONオブジェクトとして含まれます。(このフィールドが指定されている場合は、`binary`と`transactions`をオーバーライドします。) | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:---------------------------------|:-------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `ledger` | [レジャーオブジェクト](#レジャーオブジェクト) | 要求されたレジャー。 | + +#### 例 + +要求: + +``` +GET /v2/ledgers/3170DA37CE2B7F045F889594CBC323D88686D2E90E8FFD2BBCD9BAD12E416DB5 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "ledger": { + "ledger_hash": "3170da37ce2b7f045f889594cbc323d88686d2e90e8ffd2bbcd9bad12e416db5", + "ledger_index": 8317037, + "parent_hash": "aff6e04f07f441abc6b4133f8c50c65935b817a85b895f06dba098b3fbc1be90", + "total_coins": 99999980165594400, + "close_time_res": 10, + "accounts_hash": "8ad73e49a34d8b9c31bc13b8a97c56981e45ee70225ef4892e8b198fec5a1f7d", + "transactions_hash": "33e0b9c5fd7766343e67854aed4222f5ed9c9507e0ec0d7ae7d54d0f17adb98e", + "close_time": 1408047740, + "close_time_human": "2014-08-14T20:22:20+00:00" + } +} +``` + + + +## Get Ledger Validations +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getLedger.js "Source") + +特定のレジャーハッシュについて記録されたすべての検証を取得します。このデータセットには、検証済みレジャーチェーン外部のレジャーバージョンが含まれます。_(新規: [v2.2.0][])_ + +**注記:** Data APIは、すべてのバリデーションを網羅する包括的な記録を持っていません。応答には、Data APIに記録されているデータのみが含まれています。一部のレジャーバージョン、特に古いレジャーは、コンセンサスによって検証済みであっても検証が取得できないことがあります。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/ledgers/{ledger_hash}/validations +``` + + + +[試してみる>](data-api-v2-tool.html#get-ledger-validations) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:--------------|:---------|:-----------------------------------------| +| `ledger_hash` | [ハッシュ][] | 検証を取得するレジャーのハッシュ。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:--------------|:--------------------------------|:---------------------------| +| `result` | 文字列 - `success` | 本文が成功した場合の応答を表しています。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | 要求したレジャーバージョンの識別用ハッシュ。 | +| `count` | 整数 | 返された検証の数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `validations` | [検証オブジェクト][]の配列 | このレジャーバージョンのすべての既知の検証投票。 | + + +#### 例 + +要求: + +``` +GET /v2/ledgers/A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7/validations?limit=2 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "ledger_hash": "A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7", + "count": 2, + "marker": "A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7|n9KDJnMxfjH5Ez8DeWzWoE9ath3PnsmkUy3GAHiVjE7tn7Q7KhQ2|20160608001732", + "validations": [ + { + "count": 27, + "first_datetime": "2016-06-08T00:17:32.352Z", + "last_datetime": "2016-06-08T00:17:32.463Z", + "ledger_hash": "A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7", + "reporter_public_key": "n9KJb7NMxGySRcjCqh69xEPMUhwJx22qntYYXsnUqYgjsJhNoW7g", + "signature": "304402204C751D0033070EBC008786F0ECCA8E29195FD7DD8D22498EB6E4E732905FC7090220091F458976904E7AE4633A1EC405175E6A126798E4896DD452853B887B1E6359", + "validation_public_key": "n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7" + }, + { + "count": 3, + "first_datetime": "2016-06-08T00:17:32.653Z", + "last_datetime": "2016-06-08T00:17:32.673Z", + "ledger_hash": "A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7", + "reporter_public_key": "n9JCK5AML7Ejv3TcJmnvJk5qeYhf7Q9YwScjz5PhtUbtWCKH3NAm", + "signature": "3045022100A48E5AF6EA9D0ACA6FDE18536081A7D2182535579EA580C3D0B0F18C2556C5D30220521615A3D677376069F8F3E608B59F14482DDE4CD2A304DE578B6CCE2F5E8D54", + "validation_public_key": "n9K6YbD1y9dWSAG2tbdFwVCtcuvUeNkBwoy9Z6BmeMra9ZxsMTuo" + } + ] +} +``` + + + +## Get Ledger Validation +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getLedger.js "Source") + +特定のバリデータの特定のレジャーハッシュについて記録された検証投票を取得します。このデータセットには、検証済みレジャーチェーン外部のレジャーバージョンが含まれます。_(新規: [v2.2.0][])_ + +**注記:** Data APIは、すべてのバリデーションを網羅する包括的な記録を持っていません。応答には、Data APIに記録されているデータのみが含まれています。一部のレジャーバージョン、特に古いレジャーは、コンセンサスによって検証済みであっても検証が取得できないことがあります。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/ledgers/{ledger_hash}/validations/{pubkey} +``` + + + +[試してみる>](data-api-v2-tool.html#get-ledger-validation) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:--------------|:--------------------------------|:---------------------------| +| `ledger_hash` | [ハッシュ][] | 検証を取得するレジャーのハッシュ。 | +| `pubkey` | 文字列 - Base-58 [公開鍵][] | バリデータの公開鍵。 | + +この要求はクエリーパラメーターをとりません。 + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と、以下の追加フィールドを持つ **[検証オブジェクト][]** を含むJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | + +#### 例 + +要求: + +``` +GET /v2/ledgers/A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7/validations/n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7 +``` + +応答: + +``` +200 OK +{ + "count": 27, + "first_datetime": "2016-06-08T00:17:32.352Z", + "last_datetime": "2016-06-08T00:17:32.463Z", + "ledger_hash": "A10E9E338BA365D2B768814EC8B0A9A2D8322C0040735E20624AF711C5A593E7", + "reporter_public_key": "n9KJb7NMxGySRcjCqh69xEPMUhwJx22qntYYXsnUqYgjsJhNoW7g", + "signature": "304402204C751D0033070EBC008786F0ECCA8E29195FD7DD8D22498EB6E4E732905FC7090220091F458976904E7AE4633A1EC405175E6A126798E4896DD452853B887B1E6359", + "validation_public_key": "n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7", + "result": "success" +} +``` + + + +## Get Transaction +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getTransactions.js "Source") + +識別用ハッシュに基づいて特定のトランザクションを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/transactions/{hash} +``` + + + +[試してみる>](data-api-v2-tool.html#get-transaction) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:-------|:------------------|:-----------------------------------------| +| `hash` | 文字列 - [ハッシュ][] | トランザクションの識別用ハッシュ。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `binary` | ブール値 | `true`の場合、バイナリフォーマットのトランザクションデータを16進文字列として返します。それ以外の場合、トランザクションデータを入れ子のJSONとして返します。デフォルトは`false`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:--------------|:-----------------------|:------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `transaction` | [トランザクションオブジェクト][] | 要求されたトランザクション。 | + +[トランザクションオブジェクト]: #トランザクションオブジェクト + +#### 例 + +要求: + +``` +GET /v2/transactions/03EDF724397D2DEE70E49D512AECD619E9EA536BE6CFD48ED167AE2596055C9A +``` + +応答(サイズが大きいため一部省略): + +```js +200 OK +{ + "result": "success", + "transaction": { + "ledger_index": 8317037, + "date": "2014-08-14T20:22:20+00:00", + "hash": "03EDF724397D2DEE70E49D512AECD619E9EA536BE6CFD48ED167AE2596055C9A", + "tx": { + "TransactionType": "OfferCreate", + "Flags": 131072, + "Sequence": 159244, + "TakerPays": { + "value": "0.001567373", + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "TakerGets": "146348921", + "Fee": "64", + "SigningPubKey": "02279DDA900BC53575FC5DFA217113A5B21C1ACB2BB2AEFDD60EA478A074E9E264", + "TxnSignature": "3045022100D81FFECC36A3DEF0922EB5D16F1AA5AA0804C30A18ED3B512093A75E87C81AD602206B221E22A4E3158785C109E7508624AD3DE5C0E06108D34FA709FCC9575C9441", + "Account": "r2d2iZiCcJmNL6vhUGFjs8U8BuUq6BnmT" + }, + "meta": { + "TransactionIndex": 0, + "AffectedNodes": [ + { + "ModifiedNode": { + "LedgerEntryType": "AccountRoot", + "PreviousTxnLgrSeq": 8317036, + "PreviousTxnID": "A56793D47925BED682BFF754806121E3C0281E63C24B62ADF7078EF86CC2AA53", + "LedgerIndex": "2880A9B4FB90A306B576C2D532BFE390AB3904642647DCF739492AA244EF46D1", + "PreviousFields": { + "Balance": "275716601760" + }, + "FinalFields": { + "Flags": 0, + "Sequence": 326323, + "OwnerCount": 27, + "Balance": "275862935331", + "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", + "RegularKey": "rfYqosNivHQFJ6KpArouxoci3QE3huKNYe" + } + } + }, + + ... + ], + "TransactionResult": "tesSUCCESS" + } + } +} +``` + + + + + +## Get Transactions +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getTransactions.js "Source") + +時刻に基づいて複数のトランザクションを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/transactions/ +``` + + + +[試してみる>](data-api-v2-tool.html#get-transactions) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | この時刻以降の結果に絞り込みます。 | +| `end` | 文字列 - [タイムスタンプ][] | この時刻以前の結果に絞り込みます。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `type` | 文字列 | 特定の[トランザクションタイプ](transaction-types.html)にトランザクションを絞り込みます。 | +| `result` | 文字列 | 特定の[トランザクション結果](transaction-results.html)でトランザクションを絞り込みます。 | +| `binary` | ブール値 | `true`の場合、トランザクションをバイナリフォーマットで返します。デフォルトは`false`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは20です。100を超える値は指定できません。 | +| `marker` | 文字列 | 前の応答の[ページネーション](#ページネーション)マーカー。 | + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------------|:---------------------------------|:-------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返されたトランザクションの数。 | +| `marker` | 文字列 | (省略される場合があります)ページネーションマーカー。 | +| `transactions` | [トランザクションオブジェクト][]の配列。 | 要求されたトランザクション。 | + +[トランザクションオブジェクト]: #トランザクションオブジェクト + +#### 例 + +要求: + +``` +GET /v2/transactions/?result=tecPATH_DRY&limit=2&type=Payment +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "marker": "20130106022000|000000053869|00000", + "transactions": [ + { + "hash": "B8E4335A94438EC8209135A4E861A4C88F988C651B819DDAF2E8C55F9B41E589", + "date": "2013-01-02T20:13:40+00:00", + "ledger_index": 40752, + "ledger_hash": "55A900C2BA9483DC83F8FC065DE7789570662365BDE98EB75C5F4CE4F9B43214", + "tx": { + "TransactionType": "Payment", + "Flags": 0, + "Sequence": 61, + "Amount": { + "value": "96", + "currency": "USD", + "issuer": "rJ6VE6L87yaVmdyxa9jZFXSAdEFSoTGPbE" + }, + "Fee": "10", + "SigningPubKey": "02082622E4DA1DC6EA6B38A48956D816881E000ACF0C5F5B52863B9F698799D474", + "TxnSignature": "304402200A0746192EBC7BC3C1B9D657F42B6345A49D75FE23EF340CB6F0427254C139D00220446BF9169C94AEDC87F56D01DB011866E2A67E2AADDCC45C4D11422550D044CB", + "Account": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", + "Destination": "rJ6VE6L87yaVmdyxa9jZFXSAdEFSoTGPbE" + }, + "meta": { + "TransactionIndex": 0, + "AffectedNodes": [ + { + "ModifiedNode": { + "LedgerEntryType": "AccountRoot", + "PreviousTxnLgrSeq": 40212, + "PreviousTxnID": "F491DC8B5E51045D4420297293199039D5AE1EA0C6D62CAD9A973E3C89E40CD6", + "LedgerIndex": "9B242A0D59328CE964FFFBFF7D3BBF8B024F9CB1A212923727B42F24ADC93930", + "PreviousFields": { + "Sequence": 61, + "Balance": "8178999999999400" + }, + "FinalFields": { + "Flags": 0, + "Sequence": 62, + "OwnerCount": 6, + "Balance": "8178999999999390", + "Account": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY" + } + } + } + ], + "TransactionResult": "tecPATH_DRY" + } + }, + { + "hash": "1E1C14BF5E61682F3DC9D035D9908816497B8E8843E05C0EE98E06DFDDDAE920", + "date": "2013-01-05T08:43:10+00:00", + "ledger_index": 51819, + "ledger_hash": "88ED10E4E31FC7580285CF173B264690B0E8688A3FC9F5F9C62F1A295B96269D", + "tx": { + "TransactionType": "Payment", + "Flags": 0, + "Sequence": 10, + "Amount": { + "value": "2", + "currency": "EUR", + "issuer": "rfitr7nL7MX85LLKJce7E3ATQjSiyUPDfj" + }, + "Fee": "10", + "SigningPubKey": "03FDDCD97668B686100E60653FD1E5210A8310616669AACB3A1FCC6D2C090CCB32", + "TxnSignature": "304402204F9BB7E37C14A3A3762E2A7DADB9A28D1AFFB3797521229B6FB98BA666B5491B02204F69AAEAFAC8FA473E52042FF06035AB3618A54E0B76C9852766D55184E98598", + "Account": "rhdAw3LiEfWWmSrbnZG3udsN7PoWKT56Qo", + "Destination": "rfitr7nL7MX85LLKJce7E3ATQjSiyUPDfj" + }, + "meta": { + "TransactionIndex": 0, + "AffectedNodes": [ + { + "ModifiedNode": { + "LedgerEntryType": "AccountRoot", + "PreviousTxnLgrSeq": 51814, + "PreviousTxnID": "5EC1C179996BD87E2EB11FE60A37ADD0FB2229ADC7D13B204FAB04FABED8A38D", + "LedgerIndex": "AC1B67084F84839A3158A4E38618218BF9016047B1EE435AECD4B02226AB2105", + "PreviousFields": { + "Sequence": 10, + "Balance": "10000999910" + }, + "FinalFields": { + "Flags": 0, + "Sequence": 11, + "OwnerCount": 2, + "Balance": "10000999900", + "Account": "rhdAw3LiEfWWmSrbnZG3udsN7PoWKT56Qo" + } + } + } + ], + "TransactionResult": "tecPATH_DRY" + } + } + ] +} +``` + + + +## Get Payments +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getPayments.js "Source") + +Paymentを経時的に取得します。Paymentは、トランザクションの送金元が同時に送金先ではない`Payment`タイプのトランザクションと定義されます。_(新規: [v2.0.4][])_ + +結果は個別のペイメントとして返されるか、または通貨とイシュアーが指定されている場合には特定の間隔でリストに集約されます。 + +#### 要求フォーマット + + + +*REST - 全通貨* + +``` +GET /v2/payments/ +``` + +*REST - 特定の通貨* + +``` +GET /v2/payments/{currency} +``` + + + +[試してみる>](data-api-v2-tool.html#get-payments) + +このメソッドでは以下のURLパラメーターを使用します。 + +| フィールド | 値 | 説明 | +|:-----------|:-------|:-------------------------------------------------------| +| `currency` | 文字列 | _(省略可)_ 通貨コード、`+`、相手側アドレスの順。(あるいは`XRP`のみ(相手側なし)。)省略すると、全通貨のペイメントが返されます。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | この時刻以降の結果に絞り込みます。 | +| `end` | 文字列 - [タイムスタンプ][] | この時刻以前の結果に絞り込みます。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +結果を集計するための`interval`パラメーターは、[v2.3.5][]で削除されました。 + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-----------|:-----------------------------|:---------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返されたペイメントの件数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `payments` | [ペイメントオブジェクト][]の配列 | 要求されたペイメント。 | + + +#### 例 + +要求: + +``` +GET /v2/payments/BTC+rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q?limit=2 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "marker": "20131124004240|000003504935|00002", + "payments": [ + { + "amount": "100.0", + "delivered_amount": "100.0", + "destination_balance_changes": [ + { + "counterparty": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "currency": "BTC", + "value": "100" + } + ], + "transaction_cost": "1.0E-5", + "source_balance_changes": [ + { + "counterparty": "rwm98fCBS8tV1YB8CGho8zUPW5J7N41th2", + "currency": "BTC", + "value": "-100" + } + ], + "tx_index": 3, + "currency": "BTC", + "destination": "rwm98fCBS8tV1YB8CGho8zUPW5J7N41th2", + "executed_time": "2013-09-27T04:03:00Z", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "ledger_index": 2424349, + "source": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "source_currency": "BTC", + "tx_hash": "EDDE2601C38F886E1183B5E7E1BFD936105C76E3648E3FAD2A6C55E90BABDB47" + }, + { + "amount": "0.2", + "delivered_amount": "0.2", + "destination_balance_changes": [ + { + "counterparty": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "currency": "BTC", + "value": "0.2" + } + ], + "transaction_cost": "1.5E-5", + "max_amount": "0.202", + "source_balance_changes": [ + { + "counterparty": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "currency": "BTC", + "value": "-0.2" + } + ], + "tx_index": 1, + "currency": "BTC", + "destination": "rHfcNvcg8pBqBxtSvD9Ma8gF17uxauB31o", + "executed_time": "2013-11-20T23:52:30Z", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "ledger_index": 3445885, + "source": "rwm98fCBS8tV1YB8CGho8zUPW5J7N41th2", + "source_currency": "BTC", + "tx_hash": "F30D6CED4B0C37660F6DD741C9CA49F0BCB2D2648CDB8FC8AD6CFD86A86384E2" + } + ] +} +``` + + + + + +## Get Exchanges +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getExchanges.js "Source") + +特定の通貨ペアの取引を経時的に取得します。結果は取引ごとに個別に返されるか、または特定の間隔でリストにまとめられます。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/exchanges/{base}/{counter} +``` + + + +[試してみる>](data-api-v2-tool.html#get-exchanges) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `base` | 文字列 | ペアのベース通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します(ただし、ベース通貨がXRPの場合を除く)。 | +| `counter` | 文字列 | ペアのクオート通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します(ただし、クオート通貨がXRPの場合を除く)。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:--------------|:-----------------------|:------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | この時刻以降の結果に絞り込みます。 | +| `end` | 文字列 - [タイムスタンプ][] | この時刻以前の結果に絞り込みます。 | +| `interval` | 文字列 | 収集間隔: `1minute`、`5minute`、`15minute`、`30minute`、`1hour`、`2hour`、`4hour`、`1day`、`3day`、`7day`、または`1month`。デフォルトでは結果は収集されません。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。 | +| `reduce` | ブール値 | `true`の場合、個々の結果がすべてまとめられます。デフォルトは`false`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。`reduce`がtrueの場合、指定できる最大値は20,000です。それ以外の場合は、指定できる最大値は1,000です。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `autobridged` | ブール値 | `true`の場合は、オートブリッジングされた取引のみに結果が絞り込まれます。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------|:------------------------------|:-------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返されたトランザクションの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `exchanges` | [取引オブジェクト][]の配列 | 要求された取引。 | + +#### 例 + +要求: + +``` +GET /v2/exchanges/USD+rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP?descending=true&limit=3&result=tesSUCCESS&type=OfferCreate +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 3, + "marker": "USD|rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q|XRP||20151021222220|000016612683|00017|00000", + "exchanges": [ + { + "base_amount": 4.98954834453577, + "counter_amount": 1047.806201, + "node_index": 9, + "rate": 210.00021000021, + "tx_index": 0, + "buyer": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "executed_time": "2015-10-21T23:09:50", + "ledger_index": 16613308, + "offer_sequence": 1010056, + "provider": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "seller": "rK2o63evRPdRoMT2ZaW72wsHsFzcjnRLLq", + "taker": "rK2o63evRPdRoMT2ZaW72wsHsFzcjnRLLq", + "tx_hash": "25600A10E5395D45A9D514E1EC3D98C341C5451FD21C48FA9D104C310EC29D6B", + "tx_type": "Payment", + "base_currency": "USD", + "base_issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "counter_currency": "XRP" + }, + { + "base_amount": 0.0004716155440678037, + "counter_amount": 0.1, + "node_index": 3, + "rate": 212.03711637126, + "tx_index": 0, + "buyer": "rfh3pFHkCXv3TgzsEJgyCzF1CduZHCLi9o", + "executed_time": "2015-10-21T23:09:50", + "ledger_index": 16613308, + "offer_sequence": 158081, + "provider": "rfh3pFHkCXv3TgzsEJgyCzF1CduZHCLi9o", + "seller": "rK2o63evRPdRoMT2ZaW72wsHsFzcjnRLLq", + "taker": "rK2o63evRPdRoMT2ZaW72wsHsFzcjnRLLq", + "tx_hash": "25600A10E5395D45A9D514E1EC3D98C341C5451FD21C48FA9D104C310EC29D6B", + "tx_type": "Payment", + "base_currency": "USD", + "base_issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "counter_currency": "XRP" + }, + { + "base_amount": 0.0004714169229390923, + "counter_amount": 0.1, + "node_index": 3, + "rate": 212.1264535361624, + "tx_index": 17, + "autobridged_currency": "USD", + "autobridged_issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "buyer": "rfh3pFHkCXv3TgzsEJgyCzF1CduZHCLi9o", + "executed_time": "2015-10-21T22:22:20", + "ledger_index": 16612683, + "offer_sequence": 158059, + "provider": "rfh3pFHkCXv3TgzsEJgyCzF1CduZHCLi9o", + "seller": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "taker": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "tx_hash": "F05F670B06D641D7F6FE18E450DDB2C7A4DDF76D580C34C820939DC22AD9F582", + "tx_type": "OfferCreate", + "base_currency": "USD", + "base_issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "counter_currency": "XRP" + } + ] +} +``` + + + +## Get Exchange Rates +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getExchangeRate.js "Source") + +指定された通貨ペアの特定の時点での為替レートを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/exchange_rates/{base}/{counter} +``` + + + +[試してみる>](data-api-v2-tool.html#get-exchange-rates) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `base` | 文字列 | ペアのベース通貨を、[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します。XRPの場合は`+`とイシュアーを省略します。 | +| `counter` | 文字列 | ペアのクオート通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します。XRPの場合は`+`とイシュアーを省略します。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------|:-----------------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | 指定された時点の為替レートを返します。デフォルトは現行時刻です。 | +| `strict` | ブール値 | `false`の場合、10件未満の取引からレートを導出できます。デフォルトは`true`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `rate` | 数値 | 要求された為替レート。為替レートを判別できなかった場合は`0` です。 | + +すべての為替レートは、ベース通貨とクオート通貨をXRPに変換して算出されます。 + +レートは指定されたカレンダー日の出来高加重平均から導出されます。過去14日間における最新50件の取引の加重平均です。 + +#### 例 + +要求: + +``` +GET /v2/exchange_rates/USD+rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP?date=2015-11-13T00:00:00Z +``` + +応答: + +``` +200 OK +{ + "result": "success", + "rate": "224.65709" +} +``` + + + + +## Normalize +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/normalize.js "Source") + +ネットワークの為替レートを使用して、ある通貨とイシュアーからの額を別の通貨とイシュアーの額へ交換します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/normalize +``` + + + +[試してみる>](data-api-v2-tool.html#normalize) + +少なくとも以下のクエリーパラメーターのいくつかを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:--------------------|:---------------------------|:--------------------------| +| `amount` | 数値 | (必須)正規化する通貨の額。 | +| `currency` | 文字列 - [通貨コード][] | 交換前の`amount`の通貨コード。デフォルトはXRPです。 | +| `issuer` | 文字列 - [アドレス][] | 交換前の通貨のイシュアー。(`currency`がXRP以外の場合には必須です。) | +| `exchange_currency` | 文字列 - [通貨コード][] | 交換後の通貨。デフォルトはXRPです。 | +| `exchange_issuer` | 文字列 - [アドレス][] | 交換後の通貨のイシュアー。(`exchange_currency`がXRP以外の場合には必須です。) | +| `date` | 文字列 - [タイムスタンプ][] | この時点の為替レートに基づいて変換します。デフォルトは現行時刻です。 | +| `strict` | ブール値 | `true`の場合は、10件未満の取引から判別された為替レートは使用されません。デフォルトは`true`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------|:-------|:------------------------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `amount` | 数値 | 要求に指定されている交換前の額。 | +| `converted` | 数値 | 交換後の`exchange_currency`の額。為替レートを判別できなかった場合は`0`です。 | +| `rate` | 数値 | 交換の計算に使用された為替レート。為替レートを判別できなかった場合は`0`です。 | + +為替レートはすべて、両方の通貨をXRPに交換することで算出されます。 + +#### 例 + +要求: + +``` +GET /v2/normalize?amount=100¤cy=XRP&exchange_currency=USD&exchange_issuer=rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q +``` + +応答: + +``` +200 OK +{ + "result": "success", + "amount": "100", + "converted": "0.4267798022744489", + "rate": "0.0042677980" +} +``` + + + + +## Get Daily Reports +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/reports.js "Source") + +1日あたりのアカウント別に集計されたペイメントのサマリーを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/reports/{date} +``` + + + +[試してみる>](data-api-v2-tool.html#get-daily-reports) + +このメソッドでは以下のURLパラメーターを使用します。 + +| フィールド | 値 | 説明 | +|:-------|:-------|:--------------------------------------------------------------| +| `date` | 文字列 | _(省略可)_ クエリー実行日(UTC)。省略すると現在の日付が使用されます。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-----------|:--------|:------------------------------------------------------| +| `accounts` | ブール値 | `true`の場合は、相手側アカウントのリストが含まれます。デフォルトは`false`です。 | +| `payments` | ブール値 | `true`の場合は、個々のペイメントのリストが含まれます。デフォルトは`false`です。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:----------|:-----------------------------|:----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `date` | 文字列 - [タイムスタンプ][] | このレポートが適用される日付。 | +| `count` | 整数 | 返されたレポートの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `reports` | [レポートオブジェクト][]の配列 | 要求されたレポート。各レポートは1つのアカウントに関連します。 | + +**注意:** このメソッドでは非常に大量のデータ(1 MB以上)が返されることがあり、クライアントアプリケーションのパフォーマンスを低下させる可能性があります。 + +#### 例 + +要求: + +``` +GET /v2/reports/2015-08-19T00:00:00Z?accounts=true&payments=true +``` + +応答(サイズが大きいため一部省略): + +``` +{ + "result": "success", + "date": "2015-08-19T00:00:00Z", + "count": 2, + "marker": "20150819000000|r2nt4zXDP6Be5FNrLsiuuTEBETbGR9RFw", + "reports": [ + { + "account": "r2LXq2rZWSgQ1thhKiEytzi1smg6oEn8A", + "date": "2015-08-19T00:00:00Z", + "high_value_received": "7000", + "high_value_sent": "3400", + "payments": [ + { + "tx_hash": "A032EFBB219B1102BBD9BCCB91EDC6EAA8185509574FA476A2D3FE6BA79B04EF", + "amount": "1700", + "type": "received" + }, + { + "tx_hash": "8B059360DC83777CDCABA84824C169651AFD6A7AB44E8742A3B8C6BC2AAF7384", + "amount": "40", + "type": "received" + }, + + ...(additional results trimmed)... + + { + "tx_hash": "76041BD6546389B5EC2CDBAA543200CF7B8D300F34F908BA5CA8523B0CA158C8", + "amount": "1400", + "type": "sent" + } + ], + "payments_received": 155, + "payments_sent": 49, + "receiving_counterparties": [ + "rDMFJrKg2jyoNG6WDWJknXDEKZ6ywNFGwD", + "r4XXHxraHLuCiLmLMw96FTPXXywZSnWSyR", + + ...(additional results trimmed)... + + + "rp1C4Ld6uGjurFpempUJ8q5hPSWhak5EQf" + ], + "sending_counterparties": [ + "rwxcJVWZSEgN2DmLZYYjyagHjMx5jQ7BAa", + + ...(additional results trimmed)... + + + "rBK1rLjbWsSU9EuST1cAz9RsiYdJPVGXXA" + ], + "total_value": "210940", + "total_value_received": "100540", + "total_value_sent": "110400" + }, + { + "account": "r2adXWaWFJt9mHeoWN77iHJozDz2FDAPA", + "date": "2015-08-19T00:00:00Z", + "high_value_received": "7400", + "high_value_sent": "15900", + "payments": [ + { + "tx_hash": "9C7EA76D467AE58E6AEFAAC7994D42FB4E7FA72BFA22F90260937386D76BDB64", + "amount": "900", + "type": "sent" + }, + + ...(additional results trimmed)... + + + { + "tx_hash": "EC25427964419394BB5D06343BC74235C33655C1F70523C688F9A201957D65BA", + "amount": "100", + "type": "sent" + } + ], + "payments_received": 43, + "payments_sent": 62, + "receiving_counterparties": [ + "rB4cyZxrBrTmJcWZSBc8YoW2t3bafiKRp", + + ...(additional results trimmed)... + + + "rKybkw3Pu74VfJfrWr7QJbVPJNarnKP2EJ" + ], + "sending_counterparties": [ + "rNRCXw8PQRjvTwMDDLZVvuLHSKqqXUXQHv", + "r7CLMVEuNvK2yXTPLPnkWMqzkkXuopWeL", + + ...(additional results trimmed)... + + + "ranyeoYRhvwiFABzDvxSVyqQKp1bMkFsaX" + ], + "total_value": "117600", + "total_value_received": "54700", + "total_value_sent": "62900" + } + ] +} +``` + + + +## Get Stats +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/stats.js "Source") + +XRP Ledgerでのトランザクションアクティビティの統計情報を、さまざまな時間間隔で取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/stats +``` + + + +[試してみる>](data-api-v2-tool.html#get-stats) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `family` | 文字列 | 指定されている場合は、結果が`type`、`result`、または`metric`のいずれか1つの統計ファミリーに絞り込まれます。デフォルトでは、すべてのファミリーのすべての統計情報が返されます。 | +| `metrics` | 文字列 | 結果を1つ以上のメトリック(カンマ区切りリスト)に絞り込みます。メトリックの`family`を指定する必要があります。デフォルトでは、当該ファミリーのすべてのメトリックが返されます。 | +| `start` | 文字列 - [タイムスタンプ][] | この時刻以降の結果に絞り込みます。 | +| `end` | 文字列 - [タイムスタンプ][] | この時刻以前の結果に絞り込みます。 | +| `interval` | 文字列 | 収集間隔(`hour`、`day`、または`week`)。デフォルトは`day`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +##### ファミリーとメトリクス + +クエリーパラメーター`family`と`metrics`を使用すると、任意の間隔ですべてのトランザクションに適用できるあらゆるメトリクスの特定のサブセットに結果を絞り込むことができます。各メトリクスは以下のように特定のファミリーに関連付けられています。 + +| ファミリー | 含まれるメトリクス | 意味 | +|:---------|:-----------------|:--------| +| `type` | XRP Ledgerのすべての[トランザクションタイプ](transaction-formats.html)(`Payment`、`AccountSet`、`OfferCreate`など)。 | 所定の間隔内に発生した、指定されたタイプのトランザクションの数。 | +| `result` | `tesSUCCESS`、`tecPATH_DRY`などを含む、すべての[トランザクション結果コード](transaction-results.html)(数値コードではなく文字列コード)。 | 所定の間隔内に指定された結果コードを取得したトランザクションの数。 | +| `metric` | Data-API定義の特殊トランザクションメトリクス。 | (場合により異なる) | + +##### 特殊トランザクションメトリクス + +Data APIは各間隔ごとに以下の値を導出します。これらのメトリクスは`metric`ファミリーの一部です。 + +| フィールド | 値 | 説明 | +|:-------------------|:-------|:-----------------------------------------------| +| `accounts_created` | 数値 | この間隔内に資金供給を受けた新しいアカウントの数。 | +| `exchanges_count` | 数値 | この間隔内に発生した通貨取引の数。 | +| `ledger_count` | 数値 | この間隔内に閉鎖されたレジャーの数。 | +| `ledger_interval` | 数値 | この間隔内におけるレジャーの平均閉鎖間隔(秒数)。 | +| `payments_count` | 数値 | この間隔におけるアカウント間決済数。 | +| `tx_per_ledger` | 数値 | この間隔におけるレジャーあたりの平均トランザクション数。 | + +値が0のメトリクスは結果から省略されます。 + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------|:-----------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返されたレポートの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `stats` | 統計情報オブジェクトの配列 | 要求された統計情報。値が0のメトリクスと、0以外のメトリクスのない間隔は省略されます。 | + +#### 例 + +要求: + +``` +GET /v2/stats/?start=2015-08-30&end=2015-08-31&interval=day&family=metric&metrics=accounts_created,exchanges_count,ledger_count,payments_count +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "stats": [ + { + "accounts_created": 15, + "exchanges_count": 19368, + "ledger_count": 20307, + "payments_count": 24763, + "date": "2015-08-30T00:00:00Z" + }, + { + "accounts_created": 18, + "exchanges_count": 17192, + "ledger_count": 19971, + "payments_count": 30894, + "date": "2015-08-31T00:00:00Z" + } + ] +} +``` + + + +## Get Active Accounts +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/activeAccounts.js "Source") + +特定の通貨ペアの取引を実際に行っているアカウントに関する情報を取得します。_(新規: [v2.0.4][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/active_accounts/{base}/{counter} +``` + + + +[試してみる>](data-api-v2-tool.html#get-active-accounts) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `base` | 文字列 | ペアのベース通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します(ベース通貨がXRPの場合を除く)。 | +| `counter` | 文字列 | ペアのクオート通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します(ただし、クオート通貨がXRPの場合を除く)。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:--------------------|:--------|:---------------------------------------------| +| `period` | 文字列 | 選択した期間中の取引アクティビティの結果を取得します。有効期間は`1day`、`3day`、`7day`です。デフォルトは`1day`です。 | +| `date` | 文字列 | この日に始まる期間の結果を取得します。デフォルトは、直近の期間です。 | +| `include_exchanges` | ブール値 | 各アカウントの個々の取引を結果に含めます。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------------|:----------------------------------------|:---------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返されたアカウントの数。 | +| `exchanges_count` | 整数 | 当該期間の取引の合計数。 | +| `accounts` | アクティブなアカウント取引オブジェクトの配列。 | 当該期間のアクティブな取引アカウント。 | + +各**アカウント取引オブジェクト**は、当該期間における1つのアカウントのアクティビティを表し、以下のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:----------------------|:---------------------|:------------------------------| +| `buy` | オブジェクト | ベース通貨を購入する通貨取引のサマリー。 | +| `buy.base_volume` | 数値 | このアカウントが当該期間に購入したベース通貨の額。 | +| `buy.counter_volume` | 数値 | このアカウントが当該期間に売却したクオート通貨の額。 | +| `buy.count` | 数値 | 当該期間にベース通貨を購入した取引の数。 | +| `sell` | オブジェクト | ベース通貨を売却する通貨取引のサマリー。 | +| `sell.base_volume` | 数値 | このアカウントが当該期間に売却したベース通貨の額。 | +| `sell.counter_volume` | 数値 | このアカウントが当該期間に購入したクオート通貨の額。 | +| `sell.count` | 数値 | 当該期間にベース通貨を売却した取引の数。 | +| `account` | 文字列 - [アドレス][] | このオブジェクトが表すアクティビティのアドレス。 | +| `base_volume` | 数値 | このアカウントが当該期間中に売買したベース通貨の総額。 | +| `counter_volume` | 数値 | このアカウントが当該期間中に売買したクオート通貨の総額。 | +| `count` | 数値 | このアカウントが当該期間中に行った取引の合計数。 | + +#### 例 + +要求: + +``` +GET /v2/active_accounts/XRP/USD+rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 12, + "exchanges_count": 11, + "accounts": [ + { + "buy": { + "base_volume": 0, + "counter_volume": 0, + "count": 0 + }, + "sell": { + "base_volume": 13084.822874, + "counter_volume": 54.499328645454604, + "count": 4 + }, + "account": "rGBQhB8EH5DmqMmfKPLchpqr3MR19pv6zN", + "base_volume": 13084.822874, + "counter_volume": 54.499328645454604, + "count": 4 + }, + { + "buy": { + "base_volume": 12597.822874, + "counter_volume": 52.4909286454546, + "count": 1 + }, + "sell": { + "base_volume": 0, + "counter_volume": 0, + "count": 0 + }, + "account": "rQE5Z3FgVnRMbVfS6xiVQFgB4J3X162FVD", + "base_volume": 12597.822874, + "counter_volume": 52.4909286454546, + "count": 1 + }, + + ...(additional results trimmed)... + + { + "buy": { + "base_volume": 1.996007, + "counter_volume": 0.008782427920595, + "count": 1 + }, + "sell": { + "base_volume": 0, + "counter_volume": 0, + "count": 0 + }, + "account": "rD8LigXE7165r3VWhSQ4FwzJy7PNrTMwUq", + "base_volume": 1.996007, + "counter_volume": 0.008782427920595, + "count": 1 + }, + { + "buy": { + "base_volume": 0, + "counter_volume": 0, + "count": 0 + }, + "sell": { + "base_volume": 0.1, + "counter_volume": 0.0004821658905462904, + "count": 1 + }, + "account": "rfh3pFHkCXv3TgzsEJgyCzF1CduZHCLi9o", + "base_volume": 0.1, + "counter_volume": 0.0004821658905462904, + "count": 1 + } + ] +} +``` + + + +## Get Exchange Volume +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getMetric.js "Source") + +指定された期間における取引量の合計を取得します。_(新規: [v2.0.4][])_ + +APIは、結果を複数の種類の通貨ではなく1つの _表示通貨_ 単位で返します。XRPと他の通貨の取引には、標準レートが使用されます。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/exchange_volume +``` + + + +[試してみる>](data-api-v2-tool.html#get-exchange-volume) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:--------------------|:---------------------------|:--------------------------| +| `live` | 文字列 | この時間の長さのライブローリングウィンドウを返します。有効な値は`day`、`hour`、`minute`です。_(新規: [v2.3.0][])_ | +| `exchange_currency` | 文字列 - [通貨コード][] | すべての額を正規化し、この通貨を表示通貨として使用します。XRP以外の場合は`exchange_issuer`も必要です。デフォルトはXRPです。 | +| `exchange_issuer` | 文字列 - [アドレス][] | 結果を、このイシュアーが発行した特定の`currency`に正規化します。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +`start`、`end`、`interval`、`limit`、および`marker`パラメーターは[v2.3.5][]で削除されました。 + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-------------------------------------|:---------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返された結果の数。 | +| `rows` | 取引[取引量オブジェクト][]の配列。 | 要求された期間における各間隔の取引量。(デフォルトでは、この配列には直近の完全な間隔だけが含まれます。`live`が指定されており`interval`が指定されていない場合は、この配列には指定されたローリングウィンドウが含まれます。) | + +取引量オブジェクトの`components`配列内の各オブジェクトは、2種類の通貨間のマーケットにおける取引量を表し、以下のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:-------------------|:-------|:-----------------------------------------------| +| `count` | 数値 | この間隔内にこのマーケットで行われた取引の件数。 | +| `rate` | 数値 | ベース通貨から表示通貨への為替レート。 | +| `amount` | 数値 | このマーケットにおける取引量(ベース通貨単位)。 | +| `base` | オブジェクト | このマーケットにおけるベース通貨の`currency`と`issuer`。XRPの場合は`issuer`はありません。 | +| `counter` | オブジェクト | このマーケットにおけるクオート通貨の`currency`と`issuer`。XRPの場合は`issuer`はありません。 | +| `converted_amount` | 数値 | このマーケットにおける合計取引量(表示通貨に変換)。_([v2.1.0][]より古いバージョンでは、これは`convertedAmount`でした。)_ | + +#### 例 + +要求: + +``` +GET /v2/network/exchange_volume?exchange_currency=USD&exchange_issuer=rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B +``` + + +応答: + +``` +200 OK +{ + "result": "success", + "count": 1, + "rows": [ + { + "components": [ + { + "count": 1711, + "rate": 5.514373809662552e-8, + "amount": 333.7038784107369, + "base": { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "counter": { + "currency": "XRP" + }, + "converted_amount": 117720.99268355068 + }, + { + "count": 1977, + "rate": 0.000019601413454357618, + "amount": 74567.72531650064, + "base": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "counter": { + "currency": "XRP" + }, + "converted_amount": 74003.51871932109 + }, + + ...(additional results trimmed) ... + + { + "count": 3, + "rate": 0.022999083584408355, + "amount": 85.40728674708998, + "base": { + "currency": "CNY", + "issuer": "razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA" + }, + "counter": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "converted_amount": 12.72863756671683 + }, + { + "count": 3, + "rate": 1.7749889023209692e-7, + "amount": 570.687912196755, + "base": { + "currency": "JPY", + "issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN" + }, + "counter": { + "currency": "BTC", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" + }, + "converted_amount": 4.4137945368632545 + } + ], + "count": 11105, + "endTime": "2015-09-11T19:58:58+00:00", + "exchange": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "exchangeRate": 0.004410567085248279, + "startTime": "2015-11-10T00:06:04+00:00", + "total": 442442.5974313684 + } + ] +} +``` + + + + + +## Get Payment Volume +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getMetric.js "Source") + +指定された期間のペイメントの合計取引量を取得します。_(新規: [v2.0.4][])_ + +APIは、結果を複数の種類の通貨ではなく1つの _表示通貨_ 単位で返します。XRPと他の通貨の取引には、標準レートが使用されます。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/payment_volume +``` + + + +[試してみる>](data-api-v2-tool.html#get-payment-volume) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:--------------------|:---------------------------|:--------------------------| +| `live` | 文字列 | この時間の長さのライブローリングウィンドウを返します。有効な値は`day`、`hour`、`minute`です。_(新規: [v2.3.0][])_ | +| `exchange_currency` | 文字列 - [通貨コード][] | すべての額を正規化し、この通貨を表示通貨として使用します。XRP以外の場合は`exchange_issuer`も必要です。デフォルトはXRPです。 | +| `exchange_issuer` | 文字列 - [アドレス][] | 結果を、このイシュアーが発行した特定の`currency`に正規化します。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +`start`、`end`、`interval`、`limit`、および`marker`パラメーターは[v2.3.5][]で削除されました。 + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:------------------------------------|:----------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返された結果の数。 | +| `rows` | ペイメントの[取引量オブジェクト][]の配列。 | 要求された期間における各間隔のペイメントの取引量。(デフォルトでは、この配列には最新の間隔だけが含まれます。`live`が指定されており`interval`が指定されていない場合は、この配列には指定されたローリングウィンドウが含まれます。) | + +取引量オブジェクトの`components`配列の各オブジェクトは、1つの通貨とイシュアーのペイメントの取引量を表し、以下のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:-------------------|:---------------------------|:---------------------------| +| `currency` | 文字列 - [通貨コード][] | このペイメントの取引量オブジェクトの通貨。 | +| `issuer` | 文字列 - [アドレス][] | (XRPの場合は省略)このペイメントの取引量オブジェクトのイシュアー。 | +| `amount` | 数値 | 当該間隔内におけるこの通貨でのペイメントの合計額(当該通貨単位)。 | +| `count` | 数値 | この通貨でのペイメントの合計件数。 | +| `rate` | 数値 | この通貨と表示通貨間の為替レート。 | +| `converted_amount` | 数値 | この通貨のペイメントの合計額(表示通貨に変換)。_([v2.1.0][]より古いバージョンでは、これは`convertedAmount`でした。)_ | + +#### 例 + +要求: + +``` +GET /v2/network/payment_volume +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 1, + "rows": [ + { + "components": [ + { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "amount": 87279.59029136538, + "count": 331, + "rate": 0.004412045860957953, + "converted_amount": 19782113.1153009 + }, + { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "amount": 0, + "count": 0, + "rate": 0.00451165816091143, + "converted_amount": 0 + }, + { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "amount": 279.03077460240354, + "count": 107, + "rate": 0.000013312520335244644, + "converted_amount": 20960026.169024874 + }, + + ...(additional results trimmed) ... + + { + "currency": "MXN", + "issuer": "rG6FZ31hDHN1K5Dkbma3PSB5uVCuVVRzfn", + "amount": 49263.13280138676, + "count": 19, + "rate": 0.07640584677247926, + "converted_amount": 644756.0609868265 + }, + { + "currency": "XRP", + "amount": 296246369.30089426, + "count": 8691, + "rate": 1, + "converted_amount": 296246369.30089426 + } + ], + "count": 9388, + "endTime": "2015-09-11T19:58:59+00:00", + "exchange": { + "currency": "XRP" + }, + "exchangeRate": 1, + "startTime": "2015-11-10T00:19:04+00:00", + "total": 390754174.7837752 + } + ] +} +``` + + + +## Get External Markets +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/externalMarkets.js "Source") + +指定のローリング間隔におけるレジャー外の取引のリストから、取引量の合計を取得します。 + +APIは、結果を複数の種類の通貨ではなく1つの _表示通貨_ 単位で返します。XRPと他の通貨の取引には、標準レートが使用されます。 + +#### 要求フォーマット #### + + + +*REST* + +``` +GET /v2/network/external_markets +``` + + + +[試してみる>](data-api-v2-tool.html#get-external-markets) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:--------------------|:---------------------------|:--------------------------| +| `period` | 文字列 | 集約期間 - 有効な間隔は`1hour`、`1day`、`3day`、`7day`、`30day`です。デフォルトは`1day`です。 | +| `exchange_currency` | 文字列 - [通貨コード][] | すべての額を正規化し、この通貨を表示通貨として使用します。XRP以外の場合は`exchange_issuer`も必要です。デフォルトはXRPです。 | +| `exchange_issuer` | 文字列 - [アドレス][] | 結果を、このイシュアーが発行した特定の`currency`に正規化します。 | + + +#### 応答フォーマット #### +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:--------------|:-------|:----------------------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `data` | オブジェクト | 指定の期間のデータが含まれています。 | +| `data.date` | 文字列 | この期間が計算された日付。 | +| `data.total` | 数値 | 当該期間に取引されたXRPの合計額。 | +| `data.period` | 文字列 | 照会された期間の名前。 | + +取引量オブジェクトの`components`配列の各オブジェクトは、1つの外部マーケットの取引量を表します。マーケットによってはすべてのフィールドが表示されるわけではありません。 + +| フィールド | 値 | 説明 | +|:-------------------|:-------|:-----------------------------------------------| +| `source` | 文字列 | 特定の外部マーケットのドメイン名。 | +| `base_volume` | 数値 | ベース通貨(XRP)単位での取引量。 | +| `counter_volume` | 数値 | クオート通貨単位での取引量。 | +| `base_currecy` | 文字列 | マーケットペアのベース通貨。 | +| `counter_currency` | 文字列 | マーケットペアのクオート通貨。 | +| `rate` | 数値 | 為替レート。 | + +#### 例 #### + +要求: + +``` +GET /v2/network/external_markets +``` + + +応答: + +``` +200 OK + +{ + "result": "success", + "data": { + "components": [ + { + "base_volume": "52847221.256202064", + "counter_volume": "619.8111371100003", + "source": "poloniex.com", + "base_currency": "XRP", + "counter_currency": "BTC", + "rate": "0.0000117284" + }, + { + "base_volume": "389955.29648717004", + "counter_volume": "3212.07137265", + "source": "poloniex.com", + "base_currency": "XRP", + "counter_currency": "USD", + "rate": "0.00823702" + }, + { + "base_volume": "6025268.09143092", + "counter_volume": "70.57870572291264", + "count": 250, + "source": "kraken.com", + "base_currency": "XRP", + "counter_currency": "BTC", + "rate": "0.0000117138" + }, + { + "base_volume": "4141962.161763998", + "source": "btc38.com", + "base_currency": "XRP", + "counter_currency": "CNY" + }, + { + "base_volume": "303505", + "source": "btc38.com", + "base_currency": "XRP", + "counter_currency": "BTC" + }, + { + "base_volume": "1275008.2922999999", + "source": "jubi.com", + "base_currency": "XRP", + "counter_currency": "CNY" + } + ], + "date": "2016-10-31T20:45:20Z", + "period": "1day", + "total": "64982920.098184146" + } +} +``` + + + +## Get XRP Distribution +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/xrpDistribution.js "Source") + +現存し、流通しているXRPの合計額に関する情報を週単位で取得します。_(新規: [v2.2.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/xrp_distribution +``` + + + +[試してみる>](data-api-v2-tool.html#get-xrp-distribution) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトは、最新間隔の開始時刻です。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトは、最新間隔の終了時刻です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:------------------------------|:----------------------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `count` | 整数 | 返された行の数。 | +| `rows` | 流通量オブジェクトの配列 | XRP流通量の週次スナップショット。 | + +各流通量オブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:----------------|:-----------------------|:----------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | このスナップショットの時刻。 | +| `total` | 文字列 | 現存するXRPの合計。 | +| `undistributed` | 文字列 | Ripple(企業)が保有するXRPの総額。 | +| `distributed` | 文字列 | Ripple以外が保有するXRPの総額。 | + +#### 例 + +要求: + +``` +GET /v2/network/xrp_distribution +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 171, + "rows": [ + { + "date": "2016-04-10T00:00:00Z", + "distributed": "34918644255.77274", + "total": "99997725821.25714", + "undistributed": "65079081565.4844" + }, + ... + ] +} +``` + + + +## Get Top Currencies +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/topCurrencies.js "Source") + +XRP Ledgerの上位通貨を、ランクが高いものから順に返します。このランクは、トランザクションの額と件数、および一意の取引相手の数に基づいて決定します。デフォルトでは、現在の日付で終了する30日間ローリングウィンドウの結果が返されます。結果を取得する30日間ローリングウィンドウの最終日の日付を指定できます。_(新規: [v2.1.0][])_ + + +#### 要求フォーマット + + + +*最新* + +``` +GET /v2/network/top_currencies +``` + +*日付指定* + +``` +GET /v2/network/top_currencies/{date} +``` + + + +[試してみる>](data-api-v2-tool.html#get-top-currencies) + +このメソッドでは以下のURLパラメーターを使用します。 + +| フィールド | 値 | 説明 | +|:-------|:-----------------------|:-------------------------------------------| +| `date` | 文字列 - ISO 8601の日付 | _(省略可)_ 照会する過去の日付。省略すると、利用可能な最新の日付が使用されます。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは1000です。1000を超える値は指定できません。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-------------|:------------------------------|:------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `date` | 文字列 - [タイムスタンプ][] | このデータが測定された時点。 | +| `count` | 整数 | `currencies`フィールドに含まれているオブジェクトの数。 | +| `currencies` | 上位通貨オブジェクトの配列 | このデータサンプルの上位通貨。各メンバーは1つの通貨を通貨コードとイシュアーで表します。 | + +各上位通貨オブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:----------------------|:---------------------------|:------------------------| +| `currency` | 文字列 - [通貨コード][] | このオブジェクトが表す通貨。 | +| `issuer` | 文字列 - [アドレス][] | この通貨を発行するXRP Ledgerアドレス。 | +| `avg_exchange_count` | [文字列 - 数値][] | 1日あたりの平均[取引](#取引オブジェクト)件数。 | +| `avg_exchange_volume` | [文字列 - 数値][] | 1日あたりの平均取引量(XRPに正規化)。 | +| `avg_payment_count` | [文字列 - 数値][] | 1日あたりの平均[ペイメント](#ペイメントオブジェクト)件数。 | +| `avg_payment_volume` | [文字列 - 数値][] | 1日あたりの平均ペイメント取引量(XRPに正規化)。 | +| `issued_value` | [文字列 - 数値][] | このイシュアーが発行したこの通貨の合計額(XRPに正規化)。 | + +#### 例 + +要求: + +``` +GET /v2/network/top_currencies/2016-04-14?limit=2 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "date": "2016-04-14T00:00:00Z", + "count": 2, + "currencies": [ + { + "avg_exchange_count": "8099.967741935484", + "avg_exchange_volume": "3.5952068085531615E7", + "avg_payment_count": "624.28125", + "avg_payment_volume": "3910190.139488101", + "issued_value": "1.5276205395328993E8", + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y" + }, + { + "avg_exchange_count": "3003.2258064516127", + "avg_exchange_volume": "3.430482029838605E7", + "avg_payment_count": "257.4375", + "avg_payment_volume": "501442.0789529095", + "issued_value": "2.6289124450524995E8", + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } + ] +} +``` + + + +## Get Top Markets +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/topMarkets.js "Source") + +XRP Ledgerの上位マーケットを、ランクが高いものから順に返します。このランクは、取引の数と量、および参加取引相手の数に基づいて決定します。デフォルトでは、現在の日付で終わる30日間ローリングウィンドウにおける上位のマーケットが返されます。結果を取得する30日間ローリングウィンドウの最終日の日付を指定できます。_(新規: [v2.1.0][])_ + +#### 要求フォーマット + + + +*最新* + +``` +GET /v2/network/top_markets +``` + +*日付指定* + +``` +GET /v2/network/top_markets/{date} +``` + + + +[試してみる>](data-api-v2-tool.html#get-top-markets) + +このメソッドでは以下のURLパラメーターを使用します。 + +| フィールド | 値 | 説明 | +|:-------|:-----------------------|:-------------------------------------------| +| `date` | 文字列 - ISO 8601の日付 | _(省略可)_ 照会する過去の日付。省略すると、利用可能な最新の日付が使用されます。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは1000です。1000を超える値は指定できません。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:----------|:----------------------------|:-----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `date` | 文字列 - [タイムスタンプ][] | このデータの計算対象であるローリングウィンドウの終了時刻。 | +| `count` | 整数 | `markets`フィールドに含まれている結果の数。 | +| `markets` | 上位マーケットオブジェクトの配列 | このデータサンプルの上位マーケット。各メンバーは通貨ペアを表します。 | + +各上位マーケットオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:---------------------|:---------------------------|:-------------------------| +| `base_currency` | 文字列 - [通貨コード][] | このマーケットのベース通貨。 | +| `base_issuer` | 文字列 - [アドレス][] | (`base_currency`がXRPの場合は省略)ベース通貨を発行するXRP Ledgerアドレス。 | +| `counter_currency` | 文字列 - [通貨コード][] | このマーケットのクオート通貨。 | +| `counter_issuer` | 文字列 - [アドレス][] | (`counter_currency`がXRPの場合は省略)クオート通貨を発行するXRP Ledgerアドレス。 | +| `avg_base_volume` | 文字列 | 1日あたりのベース通貨単位での平均取引量。 | +| `avg_counter_volume` | 文字列 | 1日あたりのクオート通貨単位での平均取引量。 | +| `avg_exchange_count` | 文字列 | 1日あたりの平均[取引](#取引オブジェクト)件数。 | +| `avg_volume` | 文字列 | 1日あたりの平均取引量(XRPに正規化)。 | + +#### 例 + +要求: + +``` +GET /v2/network/top_markets/2015-12-31 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "date": "2015-12-31T00:00:00Z", + "count": 58, + "markets": [ + { + "avg_base_volume": "116180.98607935428", + "avg_counter_volume": "1.6657039295476614E7", + "avg_exchange_count": "1521.4603174603174", + "avg_volume": "1.6657039295476614E7", + "base_currency": "USD", + "base_issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "counter_currency": "XRP" + }, + { + "avg_base_volume": "410510.0286920887", + "avg_counter_volume": "9117398.719214212", + "avg_exchange_count": "1902.1587301587301", + "avg_volume": "9117398.719214212", + "base_currency": "CNY", + "base_issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "counter_currency": "XRP" + }, + ... + ] +} +``` + + + +## Get Transaction Costs +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getFees.js "Source") + +レジャー、時間、または日ごとに[トランザクションコスト](transaction-cost.html)の統計情報を返します。このデータは、特定の間隔またはレジャーで支払われたトランザクションコストの最小値、最大値、および合計を示します。_(新規: [v2.2.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/fees +``` + + + +[試してみる>](data-api-v2-tool.html#get-transaction-costs) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトでは、利用可能な最も古いデータから開始します。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトでは、利用可能な最も新しいデータから開始します。 | +| `interval` | 文字列 | 収集間隔 - 有効な間隔は`ledger`、`hour`、`day`です。デフォルトは`ledger`です。 | +| `descending` | ブール値 | `true`の場合は、結果が最新のものから順にソートされます。デフォルトでは、結果が最も古いものから順にソートされます。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------------|:-----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `count` | 整数 | `markets`フィールドに含まれている結果の数。 | +| `rows` | 手数料サマリーオブジェクトの配列 | 各間隔のトランザクションコストの統計情報。 | + +各手数料サマリーオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `avg` | 数値 | この間隔内に支払われたトランザクションコストの平均。 | +| `min` | 数値 | この間隔内に支払われたトランザクションコストの最小額。 | +| `max` | 数値 | この間隔内に支払われたトランザクションコストの最大額。 | +| `total` | 数値 | トランザクションコストにより消却されたXRPの合計。 | +| `tx_count` | 数値 | この間隔のトランザクションの数。 | +| `date` | 文字列 - [タイムスタンプ][] | この間隔の開始時刻(時間間隔)とこのレジャーの閉鎖時刻(`ledger`間隔)。 | +| `ledger_index` | 整数 - [レジャーインデックス][] | (`ledger`間隔の場合にのみ含まれます)このオブジェクトが表すレジャー。 | + +#### 例 + +要求: + +``` +GET /v2/network/fees?interval=day&limit=3&descending=true +``` + +応答: + +``` +200 OK +{ + "result": "success", + "marker": "day|20160603000000", + "count": 3, + "rows": [ + { + "avg": 0.011829, + "max": 15, + "min": 0.01, + "total": 6682.15335, + "tx_count": 564918, + "date": "2016-06-06T00:00:00Z" + }, + { + "avg": 0.011822, + "max": 4.963071, + "min": 0.01, + "total": 5350.832025, + "tx_count": 452609, + "date": "2016-06-05T00:00:00Z" + }, + { + "avg": 0.012128, + "max": 15, + "min": 0.01, + "total": 5405.126404, + "tx_count": 445689, + "date": "2016-06-04T00:00:00Z" + } + ] +} +``` + + + + +## Get Fee Stats +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getFeeStats.js "Source") + +`rippled`の[`fee`コマンド](fee.html)から導出されたメトリクスのスナップショットを返します。_(新規: [v2.3.2][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/fee_stats +``` + + + +[試してみる>](data-api-v2-tool.html#get-fee-stats) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトでは、利用可能な最も古いデータから開始します。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトでは、利用可能な最新データで終了します。 | +| `interval` | 文字列 | スナップショットの間隔。有効な間隔は`minute`、`hour`、`day`です。デフォルトの間隔は5秒です。 | +| `descending` | ブール値 | `true`の場合は、結果が最新のものから順にソートされます。デフォルトでは、結果が最も古いものから順にソートされます。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------------|:-----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `count` | 整数 | `markets`フィールドに含まれている結果の数。 | +| `rows` | 手数料サマリーオブジェクトの配列 | 各間隔のトランザクションコストの統計情報。 | + +各**手数料サマリーオブジェクト**のフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:-----------------------|:-----------------------|:---------------------------| +| `date` | 文字列 - [タイムスタンプ][] | スナップショットの取得日時。 | +| `current_ledger_size` | 数値 | 指定時刻での現行レジャーのトランザクション数。 | +| `expected_ledger_size` | 数値 | 指定時刻に次のレジャーで予想されるトランザクションの数。 | +| `current_queue_size` | 数値 | 将来のレジャーに追加されるようキューに入れられているトランザクションの数。 | +| `pct_max_queue_size` | 数値 | 現在のキューサイズ(最大キューサイズに対する割合で表されます)。 | +| `median_fee` | 数値 | 現行レジャーのトランザクションの手数料の中央値。 | +| `minimum_fee` | 数値 | 任意のレジャーに追加する際の最小手数料。 | +| `open_ledger_fee` | 数値 | スナップショットの取得時点でオープンしていたレジャーに追加するコストのしきい値。 | + +#### 例 + +要求: + +``` +GET /v2/network/fee_stats +``` + +応答: + +``` +200 OK +{ + result: "success", + marker: "raw|20160701032100", + count: 200, + rows: [ + { + current_ledger_size: 39, + current_queue_size: 0, + date: "2016-07-01T00:00:00Z", + expected_ledger_size: 59, + median_fee: 0.005, + minimum_fee: 0.00001, + open_ledger_fee: 0.00001, + pct_max_queue_size: 0 + }, + { + current_ledger_size: 33, + current_queue_size: 0, + date: "2016-07-01T00:01:00Z", + expected_ledger_size: 59, + median_fee: 0.00543, + minimum_fee: 0.00001, + open_ledger_fee: 0.00001, + pct_max_queue_size: 0 + }, + ... + ] +} +``` + + + + +## Get Topology +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getTopology.js "Source") + +既知の`rippled`サーバーと、これらのサーバー間のピアツーピア接続を取得します。_(新規: [v2.2.0][])_ + + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/topology +``` + + + +[試してみる>](data-api-v2-tool.html#get-topology) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:----------|:-----------------------|:----------------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | 過去のクエリーの日時。デフォルトでは、利用可能な最新のデータが使用されます。 | +| `verbose` | ブール値 | `true`の場合、各サーバーに関する追加の詳細情報が含まれます(使用可能な場合)。デフォルトは`false`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-------------|:----------------------------|:--------------------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `date` | 文字列 - [タイムスタンプ][] | この測定の時刻。 | +| `node_count` | 整数 | トポロジー内の`rippled`サーバーの数。 | +| `link_count` | 整数 | トポロジー内のリンクの数。 | +| `nodes` | [サーバーオブジェクト][]の配列 | ピアツーピアネットワーク内の`rippled`サーバーの詳細。 | +| `links` | [リンクオブジェクト][]の配列 | ピアツーピアネットワーク内の`rippled`サーバー間のネットワーク接続。 | + +#### 例 + +要求: + +``` +GET /v2/network/topology +``` + +応答: + +``` +200 OK +{ + "result": "success", + "date": "2016-06-06T23:51:04Z", + "node_count": 115, + "link_count": 1913, + "nodes": [ + { + "node_public_key": "n94fDXS3ta92gRSi7DKngh47S7Rg4z1FuNsahvbiakFEg51dLeVa", + "version": "rippled-0.31.0-rc1", + "uptime": 266431, + "inbound_count": 24, + "last_updated": "2016-06-03T21:50:57Z" + }, + { + "node_public_key": "n94h5KNspwUGLaGcdHGxruYNmExWHjPkLcMvwsNrivR9czRp6Lor", + "ip": "104.247.221.178", + "port": 51235, + "version": "rippled-0.31.0", + "uptime": 608382, + "inbound_count": 10, + "outbound_count": 11, + "city": "Atlanta", + "country": "United States", + "country_code": "US", + "isp": "QuickPacket, LLC", + "last_updated": "2016-05-28T06:29:43Z", + "lat": "-84.3846", + "long": "33.8379", + "postal_code": "30305", + "region": "Georgia", + "region_code": "GA", + "timezone": "America/New_York" + }, + + ... + ], + "links": [ + { + "source": "n94Extku8HiQVY8fcgxeot4bY7JqK2pNYfmdnhgf6UbcmgucHFY8", + "target": "n9KcFAX2bCuwF4vGF8gZZcpQQ6nyqm44e5TUygb3zvdZEpiJE5As" + }, + { + "source": "n94Extku8HiQVY8fcgxeot4bY7JqK2pNYfmdnhgf6UbcmgucHFY8", + "target": "n9LGAj7PjvfTmEGQ75JaRKba6GQmVwFCnJTSHgX2HDXzxm6d2JpM" + }, + + ... + ] +} +``` + + + +## Get Topology Nodes +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getNodes.js "Source") + +既知の`rippled`ノードを取得します。(これは[Get Topologyメソッド](#get-topology)で返されるデータのサブセットです。)_(新規: [v2.2.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/topology/nodes +``` + + + +[試してみる>](data-api-v2-tool.html#get-topology-nodes) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:----------|:-----------------------|:----------------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | 過去のクエリーの日時。デフォルトは最新データです。 | +| `verbose` | ブール値 | `true`の場合は、各サーバーのすべての詳細が返されます。デフォルトは`false`です。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:----------------------------|:------------------------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `date` | 文字列 - [タイムスタンプ][] | このデータが測定された時点。 | +| `count` | 整数 | 記述される`rippled`サーバーの数。 | +| `nodes` | [サーバーオブジェクト][]の配列 | トポロジー内の`rippled`サーバーの詳細。 | + +#### 例 + +要求: + +``` +GET /v2/network/topology/nodes +``` + +応答: + +``` +200 OK +{ + "result": "success", + "date": "2016-06-08T00:36:53Z", + "count": 116, + "nodes": [ + { + "node_public_key": "n94BuARkPiYLrMuAVZqMQFhTAGpo12dqUPiH3yrzEnhaEcXfLAnV", + "version": "rippled-0.30.1", + "uptime": 122424, + "inbound_count": 10, + "last_updated": "2016-06-06T14:36:52Z" + }, + { + "node_public_key": "n94h5KNspwUGLaGcdHGxruYNmExWHjPkLcMvwsNrivR9czRp6Lor", + "ip": "104.247.221.178", + "port": 51235, + "version": "rippled-0.31.2", + "uptime": 38649, + "inbound_count": 10, + "outbound_count": 11, + "city": "Atlanta", + "country": "United States", + "country_code": "US", + "isp": "QuickPacket, LLC", + "last_updated": "2016-06-07T13:53:12Z", + "lat": "-84.3846", + "long": "33.8379", + "postal_code": "30305", + "region": "Georgia", + "region_code": "GA", + "timezone": "America/New_York" + }, + + ... + + ] +} +``` + + + +## Get Topology Node +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getNodes.js "Source") + +1つの`rippled`サーバーに関する情報を、そのバリデータの公開鍵ではなく[ノードの公開鍵](#公開鍵)に基づいて取得します。_(新規: [v2.2.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/topology/nodes/{pubkey} +``` + + + +[試してみる>](data-api-v2-tool.html#get-topology-node) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:---------|:--------------------------------|:--------------------------------| +| `pubkey` | 文字列 - Base-58 [公開鍵][] | 検索するサーバーのノードの公開鍵。 | + +このメソッドはクエリーパラメーターをとりません。 + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と、以下の追加フィールドが含まれる **[サーバーオブジェクト][]** を含むJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | + +#### 例 + +要求: + +``` +GET /v2/network/topology/nodes/n94h5KNspwUGLaGcdHGxruYNmExWHjPkLcMvwsNrivR9czRp6Lor +``` + +応答: + +``` +200 OK +{ + "node_public_key": "n94h5KNspwUGLaGcdHGxruYNmExWHjPkLcMvwsNrivR9czRp6Lor", + "ip": "104.247.221.178", + "port": 51235, + "version": "rippled-0.31.2", + "uptime": 43342, + "inbound_count": 10, + "outbound_count": 11, + "city": "Atlanta", + "country": "United States", + "country_code": "US", + "isp": "QuickPacket, LLC", + "last_updated": "2016-06-07T13:53:12Z", + "lat": "-84.3846", + "long": "33.8379", + "postal_code": "30305", + "region": "Georgia", + "region_code": "GA", + "timezone": "America/New_York", + "result": "success" +} +``` + + + +## Get Topology Links +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getLinks.js "Source") + +`rippled`サーバー間のピアツーピア接続に関する情報を取得します。(これは[Get Topologyメソッド](#get-topology)で返されるデータのサブセットです。)_(新規: [v2.2.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/topology/links +``` + + + +[試してみる>](data-api-v2-tool.html#get-topology-links) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------|:-----------------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | 過去のクエリーの日時。デフォルトは、使用可能な最新データです。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:--------------------------|:--------------------------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `date` | 文字列 - [タイムスタンプ][] | このデータが測定された時点。 | +| `count` | 整数 | 返されたリンクの数。 | +| `links` | [リンクオブジェクト][]の配列 | `rippled`サーバー間のリンク。 | + +#### 例 + +要求: + +``` +GET /v2/network/topology/links +``` + +応答: + +``` +200 OK +{ + result: "success", + date: "2016-03-21T16:38:52Z", + count: 1632, + links: [ + { + source: "n94Extku8HiQVY8fcgxeot4bY7JqK2pNYfmdnhgf6UbcmgucHFY8", + target: "n9JccBLfrDJBLBF2X5N7bUW8251riCwSf9e3VQ3P5fK4gYr5LBu4" + }, + ... + ] +} +``` + + + +## Get Validator +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getValidators.js "Source") + +[コンセンサスネットワーク](consensus.html)内の1つのバリデータに関する詳細を取得します。_(更新: [v2.4.0][])_ + + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/validators/{pubkey} +``` + + + +[試してみる>](data-api-v2-tool.html#get-validator) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:---------|:--------------------------------|:----------------------| +| `pubkey` | 文字列 - Base-58 [公開鍵][] | バリデータの公開鍵。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------------------|:--------------------------------|:-----------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `validation_public_key` | 文字列 - Base-58 [公開鍵][] | このバリデータのバリデータ公開鍵。 | +| `domain` | 文字列 | (省略される場合があります)このバリデータに関連付けられているDNSドメイン。 | +| `chain` | 文字列 | このバリデータが現在フォローしているレジャーハッシュチェーン。値が`main`の場合はメインネットワークを示し、`altnet`の場合はXRP Test Networkを示します。その他のフォークの名前は`chain.{NUMBER}`で、`{NUMBER}`は各フォークの一意の番号です。 | +| `unl` | ブール値 | Trueの場合、バリデータはレジャーチェーンの推奨UNLの一部です。 | +| `current_index` | 数値 | 最新の検証済みレジャーのレジャーインデックス。 | +| `partial` | ブール値 | Trueの場合、最新の検証は部分的な検証です。 | +| `agreement_1h` | 合意オブジェクト | 直近1時間の合意の状況を含むオブジェクト。 | +| `agreement_24h` | 合意オブジェクト | 直近24時間の合意の状況を含むオブジェクト。 | + +#### 合意オブジェクト + +| フィールド | 値 | 説明 | +|:------------------------|:--------------------------------|:-----------------| +| `score` | 文字列 | フォロー対象のレジャーチェーンとの合意のスコア。 | +| `missed` | 整数 | 当該期間内に検証されなかったレジャーの数。 | +| `total` | 整数 | 当該期間内に検証されたレジャーの数。 | +| `incomplete` | ブール値 | Trueの場合は、当該期間全体のデータはカバーされていません。 | + +#### 例 + +要求: + +``` +GET /v2/network/validators/nHBidG3pZK11zQD6kpNDoAhDxH6WLGui6ZxSbUx7LSqLHsgzMPec +``` + +応答: + +``` +200 OK +{ + "validation_public_key": "nHBidG3pZK11zQD6kpNDoAhDxH6WLGui6ZxSbUx7LSqLHsgzMPec", + "domain": "bitso.com", + "chain": "main", + "current_index": 42279525, + "agreement_1h": { + "missed": 0, + "total": 981, + "score": "1.0000", + "incomplete": false + }, + "agreement_24h": { + "missed": 0, + "total": 23519, + "score": "1.0000", + "incomplete": false + }, + "partial": false, + "unl": true, + "result": "success" +} +``` + + + +## Get Validators +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getValidators.js "Source") + +直近24時間にアクティブであった既知のバリデータのリストを取得します。_(更新: [v2.4.0][])_ + + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/validators +``` + + + +[試してみる>](data-api-v2-tool.html#get-validators) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------------------|:--------------------------------|:-----------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `count` | 整数 | 返されたバリデータの数。 | +| `validators` | [バリデータオブジェクト][]の配列 | 直近24時間にアクティブであったバリデータのリスト。 | + +#### バリデータオブジェクト +[バリデータオブジェクト]: #バリデータオブジェクト + +| フィールド | 値 | 説明 | +|:------------------------|:--------------------------------|:-----------------| +| `validation_public_key` | 文字列 - Base-58 [公開鍵][] | このバリデータのバリデータ公開鍵。 | +| `domain` | 文字列 | (省略される場合があります)このバリデータに関連付けられているDNSドメイン。 | +| `chain` | 文字列 | このバリデータが現在フォローしているレジャーハッシュチェーン。値が`main`の場合はメインネットワークを示し、`altnet`の場合はXRP Test Networkを示します。その他のフォークの名前は`chain.{NUMBER}`で、`{NUMBER}`は各フォークの一意の番号です。 | +| `unl` | ブール値 | Trueの場合、バリデータはレジャーチェーンの推奨UNLの一部です。 | +| `current_index` | 数値 | 最新の検証済みレジャーのレジャーインデックス。 | +| `partial` | ブール値 | Trueの場合、最新の検証は部分的な検証です。 | +| `agreement_1h` | 合意オブジェクト | 直近1時間の合意の状況を含むオブジェクト。 | +| `agreement_24h` | 合意オブジェクト | 直近24時間の合意の状況を含むオブジェクト。 | + +#### 合意オブジェクト + +| フィールド | 値 | 説明 | +|:------------------------|:--------------------------------|:-----------------| +| `score` | 文字列 | フォロー対象のレジャーチェーンとの合意のスコア。 | +| `missed` | 整数 | 当該期間内に検証されなかったレジャーの数。 | +| `total` | 整数 | 当該期間内に検証されたレジャーの数。 | +| `incomplete` | ブール値 | Trueの場合は、当該期間全体のデータはカバーされていません。 | + +#### 例 + +要求: + +``` +GET /v2/network/validators/ +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 141, + "validators": [ + { + "validation_public_key": "nHBidG3pZK11zQD6kpNDoAhDxH6WLGui6ZxSbUx7LSqLHsgzMPec", + "domain: "bitso.com", + "chain": "main", + "current_index": 42281151, + "agreement_1h": { + "missed": 0, + "total": 1029, + "score": "1.0000", + "incomplete": false + }, + "agreement_24h": { + "missed": 0, + "total": 23585, + "score": "1.0000", + "incomplete": false + }, + "partial": false, + "unl": true + }, + { + "validation_public_key": "nHUStq4qu3NXaL6T42wbtpR8mare8gWMVYrUzek227c6QeUn6QGN", + "domain": "blockchain.korea.ac.kr", + "chain": "main", + "current_index": 42860792, + "agreement_1h": { + "missed": 0, + "total": 995, + "score": "1.0000", + "incomplete": false + }, + "agreement_24h": { + "missed": 0, + "total": 23478, + "score": "1.0000", + "incomplete": false + }, + "partial": false, + "unl": true + }, + + ... + ] +} +``` + + + +## Get Validator Manifests +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getManifests.js "Source") + +指定されたバリデータにより署名されたマニフェストを取得します。(マニフェストは _サブキー認証_ とも呼ばれ、バリデータが提案と検証の署名に使用する一時的なキーを指します。)_(新規: [v2.3.7][])_ + +**注記:** Data APIは、すべてのマニフェストを網羅する包括的な記録を持っていません。応答には、Data APIに記録されているデータのみが含まれています。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/validators/{pubkey}/manifests +``` + + + +[試してみる>](data-api-v2-tool.html#get-validator-manifests) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:--------------------------------|:----------------------| +| `pubkey` | 文字列 - Base-58 [公開鍵][] | バリデータの公開鍵。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------|:------------------------------|:-------------------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `count` | 整数 | 返されたマニフェストの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `manifests` | [マニフェストオブジェクト][]の配列 | 要求されたマニフェスト。 | + +#### マニフェストオブジェクト +[マニフェストオブジェクト]: #マニフェストオブジェクト + +各マニフェストオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:-----------------------|:--------------------------------|:------------------| +| `count` | 数値 | Data APIがこのマニフェストを参照した回数。この数値が小さいほど、マニフェストが新しいものであることを意味します。 | +| `ephemeral_public_key` | 文字列 - Base-58 [公開鍵][] | このマニフェストでエンコードされているこのバリデータの一時公開鍵。 | +| `first_datetime` | 文字列 - [タイムスタンプ][] | Data APIがこのマニフェストを最初に参照した時刻。 | +| `last_datetime` | 文字列 - [タイムスタンプ][] | Data APIがこのマニフェストを最後に参照した時刻。 | +| `master_public_key` | 文字列 - Base-58 [公開鍵][] | このバリデータを識別するマスター公開鍵。 | +| `master_signature` | 文字列 - 16進数 | このマニフェストを承認するバリデータのマスターキーの署名。 | +| `sequence` | 数値 | このマニフェストのシーケンス番号。大きなシーケンス番号のマニフェストは古いマニフェストを置き換え、一時キーをローテーションします。 | +| `signature` | 文字列 - 16進数 | このマニフェストにより承認された一時キーによる署名。 | + +#### 例 + +要求: + +``` +GET /v2/network/validator/nHDEmQKb2nbcewdQ1fqCTGcPTcePhJ2Rh6MRftsCaf6UNRQLv7pB/manifests +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "manifests": [ + { + "count": 1, + "ephemeral_public_key": "nHUvPMeNsrwdJd7d65eaYGkKx6bPEcxJGudjVDqwCybtEfrSUE8w", + "first_datetime": "2018-09-06T20:20:08.353Z", + "last_datetime": "2018-09-06T20:20:08.353Z", + "master_public_key": "nHDEmQKb2nbcewdQ1fqCTGcPTcePhJ2Rh6MRftsCaf6UNRQLv7pB", + "master_signature": + "D8E78AD2C10ADA5A91D673C2EA66045926D3ED3D4C77DE4350AAA076379F69B8D0EC492A626EA9228964F694EED9EC63394D051001BA432EC57F2B6031204806", + "sequence": "1", + "signature": + "C794C3D1159932FF8EE7360074E7D17CB59F6646B227EF35D439892C00832648C46FD1958714E153AF4BD0540A7B27011B7F58D357B68B87DCBF5CA81874480C" + }, + { + "count": 1, + "ephemeral_public_key": "n9M7mktkbZCnKWa41LFkZsfXemBGdYsFT6fqJBXa4xupV8X8px7W", + "first_datetime": "2018-09-06T20:20:08.357Z", + "last_datetime": "2018-09-06T20:20:08.357Z", + "master_public_key": "nHDEmQKb2nbcewdQ1fqCTGcPTcePhJ2Rh6MRftsCaf6UNRQLv7pB", + "master_signature": + "F7ECCB90F84ED3FC5E0DE1A6B0B7E835A8D2A94C8E985A74932DE30CD2EDCB46936FD14C39A5AA1BB3583CF888C869167979FEE068C6C34B9B63AB922850090E", + "sequence": "2", + "signature": + "3044022055ED7EFF1245DE21D3C28C57D19301291F0D617CA3A6D3D4CFDF8692D9E0E68502200276215BA986BA61834E0AC71E8590706C851B8F55F0B80A44EECE868F71415F" + } + ] +} +``` + + +## Get Single Validator Reports +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getValidatorReports.js "Source") + +24時間間隔で1つのバリデータの検証投票の状況を取得します。_(更新: [v2.4.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/validators/{pubkey}/reports +``` + + + +[試してみる>](data-api-v2-tool.html#get-single-validator-reports) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:---------|:-------|:----------------------| +| `pubkey` | 文字列 | バリデータの公開鍵。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------|:-----------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 過去のクエリーの開始日時。デフォルトでは、開始日は現在の日付の200日前です。 | +| `end` | 文字列 - [タイムスタンプ][] | 過去のクエリーの終了日時。デフォルトでは、使用可能な最新データで終了します。 | +| `descending` | ブール値 | 結果を逆の順序で返します。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------------------------|:-------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `count` | 整数 | 返されたバリデータの日次レポートの数。 | +| `reports` | [シングルバリデータレポートオブジェクト][]の配列。 | 当該日の各バリデータのパフォーマンスに関する日次レポート。 | + +##### シングルバリデータレポートオブジェクト +[シングルバリデータレポートオブジェクト]: #シングルバリデータレポートオブジェクト + +各シングルバリデータレポートオブジェクトは、特定日のバリデータのパフォーマンスを表し、以下のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:---------------------|:--------------------------------|:-----------------------------| +| `validation_public_key` | 文字列 - Base-58 [公開鍵][] | バリデータの公開鍵。 | +| `date` | 文字列 - [タイムスタンプ][] | このオブジェクトが表す日付の開始時刻。 | +| `chain` | 文字列 | このバリデータが現在フォローしているレジャーハッシュチェーン。値が`main`の場合はメインネットワークを示し、`altnet`の場合はXRP Test Networkを示します。その他のフォークの名前は`chain.{NUMBER}`で、`{NUMBER}`は各フォークの一意の番号です。 | +| `score` | 文字列 | フォロー対象のレジャーチェーンとの合意のスコア。 | +| `missed` | 整数 | 当該期間内に検証されなかったレジャーの数。 | +| `total` | 整数 | 当該期間内に検証されたレジャーの数。 | +| `incomplete` | ブール値 | Trueの場合は、当該期間全体のデータはカバーされていません。 | + +#### 例 + +要求: + +``` +GET /v2/network/validators/n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7/reports +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 198, + "reports": [ + { + "date": "2015-11-20T00:00:00Z", + "total_ledgers": 19601, + "main_net_agreement": "1.0", + "main_net_ledgers": 19601, + "alt_net_agreement": "0.0", + "alt_net_ledgers": 0, + "other_ledgers": 0 + }, + { + "date": "2015-11-21T00:00:00Z", + "total_ledgers": 19876, + "main_net_agreement": "1.0", + "main_net_ledgers": 19876, + "alt_net_agreement": "0.0", + "alt_net_ledgers": 0, + "other_ledgers": 0 + }, + + ... + ] +} +``` + + +## Get Daily Validator Reports +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getValidatorReports.js "Source") + +24時間ですべての既知のバリデータの検証投票の状況とバリデータ情報を取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/validator_reports +``` + + + +[試してみる>](data-api-v2-tool.html#get-daily-validator-reports) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------|:-----------------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | 照会する日時。デフォルトでは、利用可能な最新のデータが使用されます。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:----------|:----------------------------------------|:-----------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `count` | 整数 | 返されたレポートの数。 | +| `reports` | [日次バリデータレポートオブジェクト][]の配列。 | この期間中にアクティブであった各バリデータのバリデータパフォーマンスの日次サマリー。 | + +#### 日次バリデータレポートオブジェクト +[日次バリデータレポートオブジェクト]: #日次バリデータレポートオブジェクト + +`reports`配列の各メンバーは、当該日のバリデータのパフォーマンスを表し、以下のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:---------------------|:--------------------------------|:-----------------------------| +| `validation_public_key` | 文字列 - Base-58 [公開鍵][] | バリデータの公開鍵。 | +| `date` | 文字列 - [タイムスタンプ][] | このオブジェクトが表す日付の開始時刻。 | +| `chain` | 文字列 | このバリデータが現在フォローしているレジャーハッシュチェーン。値が`main`の場合はメインネットワークを示し、`altnet`の場合はXRP Test Networkを示します。その他のフォークの名前は`chain.{NUMBER}`で、`{NUMBER}`は各フォークの一意の番号です。 | +| `score` | 文字列 | フォロー対象のレジャーチェーンとの合意のスコア。 | +| `missed` | 整数 | 当該期間内に検証されなかったレジャーの数。 | +| `total` | 整数 | 当該期間内に検証されたレジャーの数。 | +| `incomplete` | ブール値 - 省略可 | Trueの場合は、当該期間全体のデータはカバーされていません。 | + +#### 例 + +要求: + +``` +GET /v2/network/validator_reports +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 27, + "reports": [ + { + "validation_public_key": "n9J2N3FfiUFC4rBX5UBob8JzgDGsYqUou1cwKdsaymS44mZDfnYe", + "date": "2018-10-15T00:00:00Z", + "chain": "main", + "score": "0.6909", + "total": "16127", + "missed": "7216" + } + ] +} +``` + + +## Get rippled Versions +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/network/getVersions.js "Source") + +公式Ripple Yumリポジトリから入手可能な`rippled`の最新バージョンを報告します。_(新規: [v2.3.0][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/network/rippled_versions +``` + + + +[試してみる>](data-api-v2-tool.html#get-rippled-versions) + + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-------------------------|:---------------------------------------| +| `result` | 文字列 | 値が`success`の場合、本文は成功した場合の応答を表しています。 | +| `count` | 整数 | 返された行の数。 | +| `rows` | バージョンオブジェクトの配列 | 各リポジトリの最新`rippled`バージョンの説明。 | + +各バージョンオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:----------|:-----------------------|:----------------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | この`rippled`バージョンのリリース日。 | +| `repo` | 文字列 | この`rippled`が入手可能なYumリポジトリ。`stable`リポジトリに最新の本番環境バージョンがあります。その他のバージョンは開発テスト用です。 | +| `version` | 文字列 | この`rippled`バージョンを示すバージョン文字列。 | + +#### 例 + +要求: + +``` +GET /v2/network/rippled_versions +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 3, + "rows": [ + { + "date": "2016-06-24T00:00:00Z", + "repo": "nightly", + "version": "0.32.0-rc2" + }, + { + "date": "2016-06-24T00:00:00Z", + "repo": "stable", + "version": "0.32.0" + }, + { + "date": "2016-06-24T00:00:00Z", + "repo": "unstable", + "version": "0.32.0-rc1" + } + ] +} +``` + + + +## Get All Gateways +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/gateways.js "Source") + +[既知のゲートウェイ](https://github.com/ripple/rippled-historical-database/blob/v2.0.4/api/gateways/gateways.json)に関する情報を取得します。_(新規: [v2.0.4][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/gateways/ +``` + + + +[試してみる>](data-api-v2-tool.html#get-all-gateways) + +このメソッドはクエリーパラメーターをとりません。 + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**とJSON本文が返されます。 + +上位JSONオブジェクトの各フィールドは[通貨コード][]です。各フィールドの内容は、当該通貨を発行するゲートウェイを表すオブジェクトの配列です。各オブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:-----------|:---------------------|:-----------------------------------------| +| `name` | 文字列 | 人間が読み取れる形式のゲートウェイの名前。 | +| `account` | 文字列 - [アドレス][] | この通貨の[発行アドレス](issuing-and-operational-addresses.html)。 | +| `featured` | ブール値 | このゲートウェイが通貨の「主要」イシュアーとして見なされるかどうか。Rippleは、責任あるビジネスプラクティスや取引量などの評価基準に基づいて主要とするゲートウェイを決定します。 | +| `label` | 文字列 | (省略される場合があります)[通貨コード][]が40文字の16進値である場合にのみ出力されます。これは、このゲートウェイが発行した通貨の人間が読める形式の別名です。 | +| `assets` | 文字列の配列 | このゲートウェイに対して利用可能なグラフィックスファイル名(存在する場合)。(ほとんどの場合、XRP Chartsで使用されるロゴのグラフィックスファイル名となります。) | + +#### 例 + +要求: + +``` +GET /v2/gateways/ +``` + +応答: + +``` +200 OK +{ + "AUD": [ + { + "name": "Bitstamp", + "account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "featured": false, + "assets": [ + "logo.grayscale.svg", + "logo.svg" + ] + }, + { + "name": "Coinex", + "account": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "featured": false, + "assets": [] + } + ], + +...(additional results trimmed) ... + + "0158415500000000C1F76FF6ECB0BAC600000000": [ + { + "name": "GBI", + "account": "rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67", + "featured": false, + "label": "XAU (-0.5pa)", + "assets": [] + } + ], + "KRW": [ + { + "name": "EXRP", + "account": "rPxU6acYni7FcXzPCMeaPSwKcuS2GTtNVN", + "featured": true, + "assets": [] + }, + { + "name": "Pax Moneta", + "account": "rUkMKjQitpgAM5WTGk79xpjT38DEJY283d", + "featured": false, + "assets": [] + } + ] +} +``` + + + +## Get Gateway +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/gateways.js "Source") + + +[Data APIの既知のゲートウェイのリスト](https://github.com/ripple/rippled-historical-database/blob/v2.0.4/api/gateways/gateways.json)から、特定のゲートウェイに関する情報を取得します。_(新規: [v2.0.4][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/gateways/{gateway} +``` + + + +[試してみる>](data-api-v2-tool.html#get-gateway) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `gateway` | 文字列 | ゲートウェイの発行[アドレス][]、[URLエンコード名](https://en.wikipedia.org/wiki/Percent-encoding)、または正規化された名前です。 | + +このメソッドはクエリーパラメーターをとりません。 + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `name` | 文字列 | 人間が読み取れる形式のゲートウェイの名前。 | +| `start_date` | 文字列 - [タイムスタンプ][] | レジャーに記録されているこのゲートウェイの通貨の初回取引のおおよその日付。 | +| `accounts` | 配列 | このゲートウェイが使用する[発行アドレス](issuing-and-operational-addresses.html)のリスト。(ゲートウェイは、異なる通貨に異なる発行アカウントを使用することがあります。) | +| `hotwallets` | [アドレス][]の配列 | このゲートウェイの[運用アドレス](issuing-and-operational-addresses.html)。 | +| `domain` | 文字列 | このゲートウェイのビジネス用ドメイン名。 | +| `normalized` | 文字列 | URLに組み込むことができる`name`フィールドの正規化バージョン。 | +| `assets` | 文字列の配列 | このゲートウェイに対して利用可能なグラフィックスファイル名(存在する場合)。(ほとんどの場合、XRP Chartsで使用されるロゴのグラフィックスファイル名となります。) | + +`accounts`フィールド配列の各オブジェクトには以下のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:-------------|:-------|:-----------------------------------------------------| +| `address` | 文字列 | このゲートウェイが使用する[発行アドレス](issuing-and-operational-addresses.html)。 | +| `currencies` | オブジェクト | このオブジェクトの各フィールドは、このアドレスが発行する通貨に対応した[通貨コード][]です。各値は、その通貨が主要通貨であるかどうかを示す`featured` ブール値を含むオブジェクトです。Rippleは、責任あるビジネスプラクティスや取引量などの評価基準に基づいて主要とする通貨とゲートウェイを決定します。 | + +#### 例 + +要求: + +``` +GET /v2/gateways/Gatehub +``` + +応答: + +``` +200 OK +{ + "name": "Gatehub", + "start_date": "2015-02-15T00:00:00Z", + "accounts": [ + { + "address": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "currencies": { + "EUR": { + "featured": true + }, + "USD": { + "featured": true + } + } + } + ], + "hotwallets": [ + "rhotcWYdfn6qxhVMbPKGDF3XCKqwXar5J4" + ], + "domain": "gatehub.net", + "normalized": "gatehub", + "assets": [ + "logo.grayscale.svg", + "logo.svg" + ] +} +``` + + + + +## Get Currency Image + +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/gateways.js#L199 "Source") + +各種通貨のベクターアイコンを取得します。_(新規: [v2.0.4][])_ + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/currencies/{currencyimage} +``` + + + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------------|:-------|:--------------------------------------------------| +| `currencyimage` | 文字列 | 通貨のイメージファイル(`xrp.svg`など)。利用可能なイメージのリストについては[ソースコード](https://github.com/ripple/rippled-historical-database/tree/develop/api/gateways/currencyAssets)を参照してください。 | + +#### 応答フォーマット +成功した場合の応答にはHTTPコード **200 OK**が含まれており、**Content-Type**ヘッダーは`image/svg+xml`です。これは、コンテンツが[SVGフォーマット](https://en.wikipedia.org/wiki/Scalable_Vector_Graphics)のファイルを表すXMLであることを示しています。 + +#### 例 + +要求: + +``` +GET /v2/currencies/mxn.svg +``` + +応答 + +``` +200 OK +Content-Type: image/svg+xml + + + + + + + + + +``` + + + +## Get Accounts +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accounts.js "Source") + +XRP Ledgerでの新しいアカウントの作成に関する情報を取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/accounts +``` + + + +[試してみる>](data-api-v2-tool.html#get-accounts) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1,000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `parent` | 文字列 | 指定された親アカウントの子に結果を絞り込みます。`interval`パラメーターとともに指定することはできません。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +`interval`および`reduce`パラメーターは[v2.3.5][]で除去されました。 + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-----------|:--------|:------------------------------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返されたアカウントの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `accounts` | 配列 |[アカウント作成オブジェクト](#アカウント作成オブジェクト)の配列。 | + +#### 例 + +要求: + +``` +GET /v1/accounts?parent=rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 3, + "accounts": [ + { + "balance": "20.0", + "account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "executed_time": "2015-02-09T23:31:40+00:00", + "ledger_index": 11620700, + "parent": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "tx_hash": "1D381C0FCA00E8C34A6D4D3A91DAC9F3697B4E66BC49ED3D9B2D6F57D7F15E2E" + }, + { + "balance": "30", + "account": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "executed_time": "2015-06-16T21:15:40+00:00", + "ledger_index": 14090928, + "parent": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "tx_hash": "60B614622FC67DFCA8D796D7F6AF0B7AEC5E59BB268EA032F810395407DDF8D5" + }, + { + "balance": "50", + "account": "rLFd1FzHMScFhLsXeaxStzv3UC97QHGAbM", + "executed_time": "2015-09-23T23:05:20+00:00", + "ledger_index": 16061430, + "parent": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "tx_hash": "FAE331A6D5CB83BCE832E7EBEDBD807EDEFFAF39AB241683EE81A0326A1A6748" + } + ] +} +``` + + +## Get Account +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/getAccount.js "Source") + +特定のrippleアカウントの作成に関する情報を取得します。 + +#### 要求フォーマット + + + + +*REST* + +``` +GET /v2/accounts/{address} +``` + + + +[試してみる>](data-api-v2-tool.html#get-account) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:----------|:-------------------------------------------------------|:--------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `account` | オブジェクト - [アカウント作成](#アカウント作成オブジェクト) | 要求されたアカウント。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn +``` + +応答: + +``` +200 OK +{ + "result": "success", + "account": { + "address": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "parent": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "initial_balance": "100.0", + "inception": "2014-05-29T17:05:20+00:00", + "ledger_index": 6902264, + "tx_hash": "074415C5DC6DB0029E815EA6FC2629FBC29A2C9D479F5D040AFF94ED58ECC820" + } +} +``` + + + +## Get Account Balances +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountBalances.js "Source") + +特定のXRP Ledgerアカウントが保有または支払い義務のあるすべての残高を取得します。 + + + +*REST* + +``` +GET /v2/accounts/{address}/balances +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-balances) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------------|:--------|:--------------------------------------------------| +| `ledger_index` | 整数 | 過去の残高のレジャーのインデックス。 | +| `ledger_hash` | 文字列 | 過去の残高のレジャーハッシュ。 | +| `date` | 文字列 | 過去の残高の日付(UTC)。 | +| `currency` | 文字列 | 指定された通貨に結果を制限します。 | +| `counterparty` | 文字列 | 指定された取引相手/イシュアーに結果を制限します。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。400よりも大きい値は指定できませんが、値`all` を使用すればすべての結果を返せます。(注意: 非常に大量の結果を取得する際にlimit=allを指定すると、要求がタイムアウトになる可能性があります。大規模なイシュアーの場合は、結果が数万件にのぼることがあります。) | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------------|:-----------------------------|:-----------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `ledger_index` | 整数 | 残高クエリーのレジャーインデックス。 | +| `close_time` | 文字列 | レジャーの閉鎖時刻。 | +| `limit` | 文字列 | 制限を超えた場合に返された結果の数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `balances` | [残高オブジェクト][]の配列。 | 要求された残高。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn/balances?currency=USD&date=2015-01-01T00:00:00Z&limit=3 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "ledger_index": 10852618, + "close_time": "2015-01-01T00:00:00Z", + "limit": 3, + "balances": [ + { + "currency": "USD", + "counterparty": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "value": "-11.0301" + }, + { + "currency": "USD", + "counterparty": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "0.0001" + }, + { + "currency": "USD", + "counterparty": "rweYz56rfmQ98cAdRaeTxQS9wVMGnrdsFp", + "value": "0" + } + ] +} +``` + + +## Get Account Orders +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountOrders.js "Source") + +オーダーブックで特定のアカウントが発注したオーダーを取得します。すでに処理されたオーダーは返されません。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/account/{address}/orders +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-orders) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:---------------------|:-----------------------------| +| `address` | 文字列 - [アドレス][] | 照会するXRP Ledgerアドレス。 | + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------------|:-----------------------|:-----------------------------------| +| `ledger_index` | 整数 | このレジャーの時点でのオーダーを取得します。`ledger_hash`または`date`と同時に指定することはできません。 | +| `ledger_hash` | 文字列 | このレジャーの時点でのオーダーを取得します。`ledger_index`または`date`と同時に指定することはできません。 | +| `date` | 文字列 - [タイムスタンプ][] | この時刻でのオーダーを取得します。`ledger_index`または`ledger_hash`と同時に指定することはできません。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。400を超える値は指定できません。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + +`ledger_index`、`ledger_hash`、`date`のいずれも指定されていない場合、APIは利用可能な最新データを使用します。 + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------------|:-----------------------|:-----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `ledger_index` | 整数 | 使用するレジャーバージョンの`ledger_index`。 | +| `close_time` | 文字列 | 使用するレジャーバージョンの閉鎖時刻。 | +| `limit` | 文字列 | 要求に指定されていた`limit`。 | +| `orders` | オーダーオブジェクトの配列 | 要求されたオーダー。 | + +各オーダーオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:-------------------------------|:---------------------|:---------------------| +| `specification` | オブジェクト | このオーダーの現在の状態の詳細。 | +| `specification.direction` | 文字列 | `buy`または`sell`。 | +| `specification.quantity` | [残高オブジェクト][] | このオーダーで(方向に応じて)売却または購入するベース通貨の最大額。オーダーが部分的に約定するとこの値が減少します。 | +| `specification.totalPrice` | [残高オブジェクト][] | ベース通貨の購入または売却のためにオーダーで支出または獲得できるクオート通貨の最大額。オーダーが部分的に約定するとこの値が減少します。 | +| `properties` | オブジェクト | オーダーの発注方法の詳細。 | +| `properties.maker` | 文字列 - [アドレス][] | オーダーを発注したXRP Ledgerアカウント。 | +| `properties.sequence` | 数値 | このオーダーを発注したトランザクションのシーケンス番号。 | +| `properties.makerExchangeRate` | [文字列 - 数値][] | オーダーを送信したアカウントの側から見た為替レート。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rK5j9n8baXfL4gzUoZsfxBvvsv97P5swaV/orders?limit=2&date=2015-11-11T00:00:00Z +``` + +応答: + +``` +200 OK +{ + "result": "success", + "ledger_index": 17007855, + "close_time": "2015-11-11T00:00:00Z", + "limit": 2, + "orders": [ + { + "specification": { + "direction": "buy", + "quantity": { + "currency": "JPY", + "value": "56798.00687665813", + "counterparty": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN" + }, + "totalPrice": { + "currency": "USD", + "value": "433.792841227449", + "counterparty": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } + }, + "properties": { + "maker": "rK5j9n8baXfL4gzUoZsfxBvvsv97P5swaV", + "sequence": 7418286, + "makerExchangeRate": "130.9334813270407" + } + }, + { + "specification": { + "direction": "buy", + "quantity": { + "currency": "JPY", + "value": "11557.02705273459", + "counterparty": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN" + }, + "totalPrice": { + "currency": "USD", + "value": "87.570156003591", + "counterparty": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" + } + }, + "properties": { + "maker": "rK5j9n8baXfL4gzUoZsfxBvvsv97P5swaV", + "sequence": 7418322, + "makerExchangeRate": "131.9744942815983" + } + } + ] +} +``` + + + + +## Get Account Transaction History +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountTransactions.js "Source") + +特定のアカウントに影響を及ぼしたトランザクションの履歴を取得します。これには、そのアカウントから送信されたすべてのトランザクション、アカウントが受領したペイメント、アカウントを通じてRipplingされたペイメントが含まれます。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/accounts/{address}/transactions +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-transaction-history) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:---------------------|:-----------------------------| +| `address` | 文字列 - [アドレス][] | 照会するXRP Ledgerアドレス。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------------|:-----------------------|:-----------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトは、利用可能な最も古い日付です。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトは現在の日付です。 | +| `min_sequence` | 文字列 | 照会対象の最小シーケンス番号。 | +| `max_sequence` | 文字列 | 照会対象の最大シーケンス番号。 | +| `type` | 文字列 | 指定された[トランザクションタイプ](transaction-types.html)に結果を制限します。 | +| `result` | 文字列 | 指定された[トランザクションの結果](transaction-results.html)に結果を制限します。 | +| `binary` | ブール値 | 結果をバイナリフォーマットで返します。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは20です。1,000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | + +**注記:** このメソッドはCSVフォーマットを返すことができません。生XRP LdgerトランザクションではJSONの結果だけがサポートされています。 + + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------------|:-----------------------------------------------------|:-----| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | `transactions`フィールドに含まれているオブジェクトの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `transactions` | [トランザクションオブジェクト](#トランザクションオブジェクト)の配列。 | 要求に一致するすべてのトランザクション。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn/transactions?type=Payment&result=tesSUCCESS&limit=1 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 1, + "marker": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn|20140602224750|000006979192|00001", + "transactions": [ + { + "hash": "074415C5DC6DB0029E815EA6FC2629FBC29A2C9D479F5D040AFF94ED58ECC820", + "date": "2014-05-29T17:05:20+00:00", + "ledger_index": 6902264, + "tx": { + "TransactionType": "Payment", + "Flags": 0, + "Sequence": 1, + "LastLedgerSequence": 6902266, + "Amount": "100000000", + "Fee": "12", + "SigningPubKey": "032ECFCC409F02057D8556988B89E17D48ECFC8373965036C6BA294AA2B7972971", + "TxnSignature": "30450221008D8E251DA5EA17A29CC9192717860F3B4047E74DF005127A65D9140CAE870C0902201C8E4548D2D3BA11B3E13CE8A167EBC076920E2B1C38547275CAA75FEC436EB9", + "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Destination": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" + }, + "meta": { + "TransactionIndex": 1, + "AffectedNodes": [ + { + "CreatedNode": { + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", + "NewFields": { + "Sequence": 1, + "Balance": "100000000", + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" + } + } + }, + { + "ModifiedNode": { + "LedgerEntryType": "AccountRoot", + "PreviousTxnLgrSeq": 6486567, + "PreviousTxnID": "FF9BFF3C200B475CA7EE54F9A98EAB7E92BBDBD2DBE95AC854405D8A85C9D535", + "LedgerIndex": "43EA78783A089B137D5E87610DF3BD4129F989EDD02EFAF6C265924D3A0EF8CE", + "PreviousFields": { + "Sequence": 1, + "Balance": "1000000000" + }, + "FinalFields": { + "Flags": 0, + "Sequence": 2, + "OwnerCount": 0, + "Balance": "899999988", + "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX" + } + } + } + ], + "TransactionResult": "tesSUCCESS" + } + } + ] +} +``` + + + + +## Get Transaction By Account And Sequence +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountTxSeq.js "Source") + +指定されたアカウントから送信された特定のトランザクションを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/accounts/{address}/transactions/{sequence} +``` + + + +[試してみる>](data-api-v2-tool.html#get-transaction-by-account-and-sequence) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:-----------|:--------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | +| `sequence` | 整数 | トランザクションのシーケンス番号。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `binary` | ブール値 | `true`の場合、トランザクションをバイナリフォーマットで返します。デフォルトは`false`です。 | + + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:--------------|:-------------------------------------------|:----------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `transaction` | [トランザクションオブジェクト](#トランザクションオブジェクト) | 要求されたトランザクション。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn/transactions/10?binary=true +``` + +応答: + +``` +200 OK +{ + "result": "success", + "transaction": { + "hash": "4BFFBB86C12659B6C5BB88F0EB859356DE3433EBACBFD9F50F6E70B2C05CCFE0", + "date": "2014-09-15T19:59:10+00:00", + "ledger_index": 8889812, + "tx": "1200052200000000240000000A68400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100AA4AF08726FCF0F28AA4A841C45F975C3BF1545648F6907DCB33F6E3DD7E85D6022037365B80AB1972BF8A4280009A0DBCF16A1D562ED0489B155750E48CC939039981144B4E9C06F24296074F7BC48F92A97916C6DC5EA9", + "meta": "201C00000003F8E5110061250087A5C555CBCA96F4C42E0EBC0E75C5AD84B3403FEDF824A7DAFA45ADCA6ECB66AA143C1B5613F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8E6240000000A62400000000DB5852F8814D3484B9ED2556DCE16A3B928B438BA6EE0FF0989E1E72200010000240000000B2D0000000062400000000DB5852572110000000000000000000000070000000300770A6D64756F31332E636F6D81144B4E9C06F24296074F7BC48F92A97916C6DC5EA9E1E1F1031000" + } +} +``` + + + +## Get Account Payments +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountPayments.js "Source") + +指定されたアカウントのペイメントを取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/accounts/{address}/payments +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-payments) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:------------------|:---------------------------|:----------------------------| +| `start` | 文字列 - [タイムスタンプ][] | この時刻以降の結果に絞り込みます。 | +| `end` | 文字列 - [タイムスタンプ][] | この時刻以前の結果に絞り込みます。 | +| `type` | 文字列 | ペイメントタイプ - `sent`または`received`。 | +| `currency` | 文字列 - [通貨コード][] | 指定された通貨に結果を絞り込みます。 | +| `issuer` | 文字列 - [アドレス][] | 指定されたイシュアーに結果を絞り込みます。 | +| `source_tag` | 整数 | 指定された送金元タグに結果を絞り込みます。 | +| `destination_tag` | 整数 | 指定された送金先タグに結果を絞り込みます。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1,000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:-----------|:-----------------------------|:---------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | `payments`フィールドに含まれているオブジェクトの数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `payments` | [ペイメントオブジェクト][]の配列 | 要求に一致するすべてのペイメント。最も古いものから順にソートされています。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn/payments?currency=USD&limit=1 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 1, + "marker": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn|20140604191650|000007013674|00000", + "payments": [ + { + "amount": "1.0", + "delivered_amount": "1.0", + "destination_balance_changes": [ + { + "counterparty": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "currency": "USD", + "value": "1" + } + ], + "source_balance_changes": [ + { + "counterparty": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "currency": "USD", + "value": "-1" + } + ], + "tx_index": 1, + "currency": "USD", + "destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "executed_time": "2014-06-02T22:47:50Z", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ledger_index": 6979192, + "source": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "source_currency": "USD", + "tx_hash": "7BF105CFE4EFE78ADB63FE4E03A851440551FE189FD4B51CAAD9279C9F534F0E", + "transaction_cost": "1.0E-5" + } + ] +} +``` + + + + +## Get Account Exchanges +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountExchanges.js "Source") + +指定されたアカウントの取引を経時的に取得します。 + +#### 要求フォーマット + +このメソッドには2種類のバリエーションがあります。 + + + +*REST - すべての取引* + +``` +GET /v2/accounts/{address}/exchanges/ +``` + +*REST - 特定の通貨ペア* + +``` +GET /v2/accounts/{address}/exchanges/{base}/{counter} +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-exchanges-all) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | +| `base` | 文字列 | ペアのベース通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します(ベース通貨がXRPの場合を除く)。 | +| `counter` | 文字列 | ペアのクオート通貨。[通貨コード][]、`+`、イシュアーの[アドレス][]の順で指定します(ベース通貨がXRPの場合を除く)。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | この時刻以降の結果に絞り込みます。 | +| `end` | 文字列 - [タイムスタンプ][] | この時刻以前の結果に絞り込みます。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------|:------------------------------|:-------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返された取引の数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `exchanges` | [取引オブジェクト][]の配列 | 要求された取引。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rsyDrDi9Emy6vPU78qdxovmNpmj5Qh4NKw/exchanges/KRW+rUkMKjQitpgAM5WTGk79xpjT38DEJY283d/XRP?start=2015-08-08T00:00:00Z&end=2015-08-31T00:00:00Z&limit=2 + +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "marker": "rsyDrDi9Emy6vPU78qdxovmNpmj5Qh4NKw|20150810014200|000015162386|00013|00003", + "exchanges": [ + { + "base_amount": 209.3501241148, + "counter_amount": 20.424402, + "rate": 0.097560973925, + "autobridged_currency": "USD", + "autobridged_issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "base_currency": "KRW", + "base_issuer": "rUkMKjQitpgAM5WTGk79xpjT38DEJY283d", + "buyer": "rnAqwsu2BEbCjacoZmsXrpViqd3miZhHbT", + "counter_currency": "XRP", + "executed_time": "2015-08-08T02:57:40", + "ledger_index": 15122851, + "offer_sequence": "1738", + "provider": "rsyDrDi9Emy6vPU78qdxovmNpmj5Qh4NKw", + "seller": "rsyDrDi9Emy6vPU78qdxovmNpmj5Qh4NKw", + "taker": "rnAqwsu2BEbCjacoZmsXrpViqd3miZhHbT", + "tx_hash": "506D109A609A5E0778276CCBB125A4AA7B78428059F069A2CB4F739B861C0C49", + "tx_type": "OfferCreate" + }, + { + "base_amount": 86355.6498758851, + "counter_amount": 8424.941452, + "rate": 0.097560975618, + "base_currency": "KRW", + "base_issuer": "rUkMKjQitpgAM5WTGk79xpjT38DEJY283d", + "buyer": "r9xQi5YT8jqVM3wZhbiV94ZKKvGHaVeSDj", + "client": "rt1.1-26-gbeb68ab", + "counter_currency": "XRP", + "executed_time": "2015-08-08T07:15:00", + "ledger_index": 15126536, + "offer_sequence": "1738", + "provider": "rsyDrDi9Emy6vPU78qdxovmNpmj5Qh4NKw", + "seller": "rsyDrDi9Emy6vPU78qdxovmNpmj5Qh4NKw", + "taker": "r9xQi5YT8jqVM3wZhbiV94ZKKvGHaVeSDj", + "tx_hash": "C897A595DED16ADF5AD52E6FD9CE5DE65C78A93CCAA62A85248DC3015A78F5C4", + "tx_type": "Payment" + } + ] +} +``` + + + + +## Get Account Balance Changes +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountBalanceChanges.js "Source") + +指定されたアカウントの残高変更を経時的に取得します。 + +#### 要求フォーマット + + + +*REST* + +``` +GET /v2/accounts/{address}/balance_changes/ +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-balance-changes) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:---------------|:-----------------------|:-----------------------------------| +| `currency` | 文字列 | 指定された通貨に結果を制限します。 | +| `counterparty` | 文字列 | 指定された取引相手/イシュアーに結果を制限します。 | +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。 | +| `descending` | ブール値 | `true`の場合、結果が逆時系列で返されます。デフォルトは`false`です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`。デフォルトは`json`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:------------|:----------------------------------------|:---------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | 返された残高変更の数。 | +| `marker` | 文字列 | (省略される場合があります)[ページネーション](#ページネーション)マーカー。 | +| `exchanges` | [残高変更記述][]の配列。 | 要求された残高変更。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn/balance_changes?descending=true&limit=3 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 3, + "marker": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn|20160122235211|000018425487|00010|00001", + "balance_changes": [ + { + "amount_change": "-0.012", + "final_balance": "75.169663", + "tx_index": 7, + "change_type": "transaction_cost", + "currency": "XRP", + "executed_time": "2016-01-29T22:57:20Z", + "ledger_index": 18555460, + "tx_hash": "2B44EBE00728D04658E597A85EC4F71D20503B31ABBF556764AD8F7A80BA72F6" + }, + { + "amount_change": "-25.0", + "final_balance": "75.181663", + "node_index": 1, + "tx_index": 4, + "change_type": "payment_source", + "currency": "XRP", + "executed_time": "2016-01-26T08:32:20Z", + "ledger_index": 18489336, + "tx_hash": "E5C6DD25B2DCF534056D98A2EFE3B7CFAE4EBC624854DE3FA436F733A56D8BD9" + }, + { + "amount_change": "-0.01", + "final_balance": "100.181663", + "tx_index": 4, + "change_type": "transaction_cost", + "currency": "XRP", + "executed_time": "2016-01-26T08:32:20Z", + "ledger_index": 18489336, + "tx_hash": "E5C6DD25B2DCF534056D98A2EFE3B7CFAE4EBC624854DE3FA436F733A56D8BD9" + } + ] +} +``` + + + + +## Get Account Reports +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountReports.js "Source") + +アカウントのペイメントアクティビティの日次サマリーを取得します。 + + + +*REST - 日付を省略* + +``` +GET /v2/accounts/{address}/reports/ +``` + +*REST - 日付を指定* + +``` +GET /v2/accounts/{address}/reports/{date} +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-reports-by-day) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | +| `date` | 文字列 | _(省略可)_ 1つのレポートの日付(UTC)。省略すると、`start`および`end`クエリーパラメーターが使用されます。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトは、現在の日付の開始時刻です。`date`が指定されている場合は無視されます。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトは、現在の日付の終了時刻です。`date`が指定されている場合は無視されます。 | +| `accounts` | ブール値 | `true`の場合、すべての`sending_counterparties`および`receiving_counterparties`のアドレスのリストが結果に含まれます。それ以外の場合、送金側取引相手と受取側取引相手の数のみが返されます。デフォルトは`false`です。 | +| `payments` | ブール値 | [ペイメントサマリーオブジェクト][]を各間隔の`payments`フィールドに指定します。このオブジェクトには、当該間隔で発生したペイメントが含まれています。 | +| `descending` | ブール値 | `true`の場合は、結果が最新のものから順にソートされます。デフォルトでは、結果が最も古いものから順にソートされます。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:----------|:-----------------------------|:----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | `reports`フィールドに含まれているレポートの数。 | +| `reports` | [レポートオブジェクト][]の配列 | 指定のアカウントと日付範囲のアカウントアクティビティの日次サマリー。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/reports?start=2015-08-28T00:00:00&end=2015-08-28T00:00:00&accounts=true&payments=true&descending=true +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 1, + "reports": [ + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "date": "2015-08-28T00:00:00+00:00", + "high_value_received": 89500.74142547617, + "high_value_sent": 0, + "payments": [ + { + "tx_hash": "F2323EE7494384E77ABB18F31981FEE8C31767BBD27515B55FC3BD6792C4E408", + "amount": 2.7, + "currency": "BTC", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": "received" + }, + { + "tx_hash": "FEAD462738EE430E154FF3122D3EE2DD27DDD8BEFBA080A60FE91B78E8865365", + "amount": 3, + "currency": "BTC", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": "received" + }, + { + "tx_hash": "383B1D1EABB646AB2EFBBF9E8967FE279BFE5EF86A3B6BCD5BDA287210053116", + "amount": 0.14, + "currency": "BTC", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": "received" + } + ], + "payments_received": 3, + "payments_sent": 0, + "receiving_counterparties": [], + "sending_counterparties": [ + "rhi4zZdCeFdfTokzek8D7p9bUWmtEFCZAe", + "rP1hkW1LCiVos6FpzU7itmm9Tk29yqvyk5" + ], + "total_value": 174019.58324753598, + "total_value_received": 174019.58324753598, + "total_value_sent": 0 + } + ] +} +``` + + + +## Get Account Transaction Stats +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountStats.js "Source") + +アカウントのトランザクションアクティビティの日次サマリーを取得します。_(新規: [v2.1.0][])_ + + + +*REST* + +``` +GET /v2/accounts/{address}/stats/transactions +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-transaction-stats) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトは、利用可能な最も古い日付です。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトは現在の日付です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `descending` | ブール値 | `true`の場合は、結果が最新のものから順にソートされます。デフォルトでは、結果が最も古いものから順にソートされます。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------------------|:-----------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | `rows`フィールドに含まれているトランザクション統計情報オブジェクトの数。 | +| `rows` | トランザクション統計情報オブジェクトの配列。 | 指定されたアカウントのアカウントアクティビティの日次サマリー。 | + +各トランザクション状況オブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:--------------------|:-----------------------|:------------------------------| +| `date` | 文字列 - [タイムスタンプ][] | このオブジェクトは、当該日付のアクティビティを表します。 | +| `transaction_count` | 整数 | アカウントが当該日付に送信したトランザクションの合計数。 | +| `result` | オブジェクト | 当該日付でこのアカウントが送信したトランザクションで発生した各結果コードの数を示す[トランザクション結果コード](transaction-results.html)のマップ。 | +| `type` | オブジェクト | アカウントが当該日付に送信した各トランザクションタイプの数を示す[トランザクションタイプ](transaction-formats.html)のマップ。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rGFuMiw48HdbnrUbkRYuitXTmfrDBNTCnX/stats/transactions?start=2015-01-01&limit=2 +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "marker": "rGFuMiw48HdbnrUbkRYuitXTmfrDBNTCnX|20150116000000", + "rows": [ + { + "date": "2015-01-14T00:00:00Z", + "transaction_count": 44, + "result": { + "tecUNFUNDED_PAYMENT": 1, + "tesSUCCESS": 43 + }, + "type": { + "Payment": 42, + "TrustSet": 2 + } + }, + { + "date": "2015-01-15T00:00:00Z", + "transaction_count": 116, + "result": { + "tesSUCCESS": 116 + }, + "type": { + "Payment": 116 + } + } + ] +} +``` + + + +## Get Account Value Stats +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/accountStats.js "Source") + +アカウントのトランザクションアクティビティの日次サマリーを取得します。_(新規: [v2.1.0][])_ + + + +*REST* + +``` +GET /v2/accounts/{address}/stats/value +``` + + + +[試してみる>](data-api-v2-tool.html#get-account-value-stats) + +このメソッドには以下のURLパラメーターを指定する必要があります。 + +| フィールド | 値 | 説明 | +|:----------|:-------|:-----------------------------| +| `address` | 文字列 | 照会するXRP Ledgerアドレス。 | + + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:-----------------------|:-------------------------------------| +| `start` | 文字列 - [タイムスタンプ][] | 照会範囲の開始時刻。デフォルトは、最新間隔の開始時刻です。 | +| `end` | 文字列 - [タイムスタンプ][] | 照会範囲の終了時刻。デフォルトは、最新間隔の終了時刻です。 | +| `limit` | 整数 | ページあたりの最大結果件数。デフォルトは200です。1000を超える値は指定できません。 | +| `marker` | 文字列 | 前に返された応答の[ページネーション](#ページネーション)キー。 | +| `descending` | ブール値 | `true`の場合は、結果が最新のものから順にソートされます。デフォルトでは、結果が最も古いものから順にソートされます。 | +| `format` | 文字列 | 返される結果のフォーマットは`csv`または`json`です。デフォルトは`json`です。 | + + +#### 応答フォーマット +成功した場合の応答では、HTTPコード**200 OK**と以下の内容のJSON本文が返されます。 + +| フィールド | 値 | 説明 | +|:---------|:-----------------------------|:-----------------------------------| +| `result` | 文字列 | 値が`success`の場合は、成功した場合の応答であることを示します。 | +| `count` | 整数 | `rows`フィールドに含まれている価値統計情報オブジェクトの数。 | +| `rows` | 価値統計情報オブジェクトの配列。 | 指定されたアカウントのアカウント価値の日次サマリー。 | + +各価値統計情報オブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:-----------------------|:-----------------------|:---------------------------| +| `date` | 文字列 - [タイムスタンプ][] | このオブジェクトは、当該日付のアクティビティを表します。 | +| `value` | [文字列 - 数値][] | このアカウントが保有しているすべての通貨の合計額(XRPに正規化)。 | +| `balance_change_count` | 数値 | 当該日付でアカウントの残高が変更された回数。 | + +#### 例 + +要求: + +``` +GET /v2/accounts/rGFuMiw48HdbnrUbkRYuitXTmfrDBNTCnX/stats/value?limit=2&descending=true +``` + +応答: + +``` +200 OK +{ + "result": "success", + "count": 2, + "marker": "rGFuMiw48HdbnrUbkRYuitXTmfrDBNTCnX|20160412000000", + "rows": [ + { + "date": "2016-04-14T00:00:00Z", + "account_value": "7.666658705139822E7", + "balance_change_count": 58 + }, + { + "date": "2016-04-13T00:00:00Z", + "account_value": "1.0022208004947332E8", + "balance_change_count": 184 + } + ] +} +``` + + + + +## Health Check - API +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/checkHealth.js "Source") + +APIサービスの健全性をチェックします。 + + + +*REST* + +``` +GET /v2/health/api +``` + + + +[試してみる>](data-api-v2-tool.html#api-health-check) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:------------|:--------|:-----------------------------------------------------| +| `threshold` | 整数 | データベースがこの期間(秒単位)内に応答しない場合、APIが正常ではないと見なされます。デフォルトは5秒です。 | +| `verbose` | ブール値 | `true`の場合は、データポイントが含まれているJSON応答が返されます。デフォルトでは整数値のみが返されます。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**が返されます。デフォルトでは、応答本文には**整数の正常値のみ**が含まれます。 + +正常値`0`は常に、正常な状況を示します。その他の正常値の定義を次に示します。 + +| 値 | 意味 | +|:------|:---------------------------------------------------------------------| +| `0` | APIサービスが稼働しており、HBaseに対する応答時間は要求の`threshold`値未満である。 | +| `1` | APIサービスが稼働しており、HBaseに対する応答時間は要求の`threshold`値を超えている。 | + +要求のクエリーパラメーターに`verbose=true`が指定されている場合、応答本文は以下のフィールドを含むJSONオブジェクトです。 + +| フィールド | 値 | 説明 | +|:--------------------------|:-----------------------------|:------------------| +| `score` | 0-1 | 前述のように定義される正常値。 | +| `response_time` | 文字列 - 人間が読める形式の時間 | データベースの実際の応答時間。 | +| `response_time_threshold` | 文字列 - 人間が読める形式の時間 | 正常と見なされる最大応答時間。 | + +#### 例 + +要求: + +``` +GET /v2/health/api?verbose=true +``` + +応答: + +``` +200 OK +{ + "score": 0, + "response_time": "0.014s", + "response_time_threshold": "5s" +} +``` + + +## Health Check - Ledger Importer +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/checkHealth.js "Source") + +Ledger Importer Serviceの健全性をチェックします。 + + + +*REST - Importerの健全性* + +``` +GET /v2/health/importer +``` + + + +[試してみる>](data-api-v2-tool.html#importer-health-check) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:-------------|:--------|:----------------------------------------------------| +| `threshold` | 整数 | 最新の検証済みレジャーのインポート後に経過時間がこの時間(秒単位)を超えると、Importerは正常ではないと見なされます。デフォルトは300秒です。 | +| `threshold2` | 整数 | あらゆる種類の最新レジャーのインポート後に経過時間がこの時間(秒単位)を超えると、Importerは正常ではないと見なされます。デフォルトは60秒です。 | +| `verbose` | ブール値 | `true`の場合は、データポイントが含まれているJSON応答が返されます。デフォルトでは整数値のみが返されます。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**が返されます。デフォルトでは、応答本文には**整数の正常値のみ**が含まれます。 + +正常値`0`は常に、正常な状況を示します。その他の正常値の定義を次に示します。 + +| 値 | 意味 | +|:------|:---------------------------------------------------------------------| +| `0` | 最後にインポートされたレジャーの経過時間が`threshold2` (デフォルト: 60)秒よりも短く、最新の検証済みレジャーの経過時間が`threshold` 秒よりも短い。 | +| `1` | 最後にインポートされたレジャーの経過時間が`threshold2` (デフォルト: 60)秒よりも短く、最新の検証済みレジャーの経過時間が`threshold` 秒よりも長い。 | +| `2` | 最後にインポートされたレジャーの経過時間が`threshold2` 秒よりも長い。 | + +要求のクエリーパラメーターに`verbose=true`が指定されている場合、応答本文は以下のフィールドを含むJSONオブジェクトです。 + +| フィールド | 値 | 説明 | +|:---------------------------|:-----------------------------|:-----------------| +| `score` | 0-2 | 前述のように定義される正常値。 | +| `response_time` | 文字列 | データベースの実際の応答時間。 | +| `ledger_gap` | 文字列 - 人間が読める形式の時間 | 最後に保存されたレジャーの閉鎖時刻と現在の時刻の差。 | +| `ledger_gap_threshold` | 文字列 - 人間が読める形式の時間 | 正常と見なされる最大レジャーギャップ。 | +| `valildation_gap` | 文字列 - 人間が読める形式の時間 | 最後にインポートされた検証済みレジャーの閉鎖時刻と現在の時刻の差。 | +| `validation_gap_threshold` | 文字列 - 人間が読める形式の時間 | 正常と見なされる最大検証ギャップ。 | + +#### 例 + +要求: + +``` +GET /v2/health/importer?verbose=true +``` + +応答: + +``` +200 OK +{ + "score": 0, + "response_time": "0.081s", + "ledger_gap": "1.891s", + "ledger_gap_threshold": "5.00m", + "validation_gap": "29.894s", + "validation_gap_threshold": "15.00m" +} +``` + + + +## Health Check - Nodes ETL +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/checkHealth.js "Source") + +Topology Nodes Extract, Transform, Load(ETL)Serviceの健全性をチェックします。 + + + +*REST - Nodes ETLの健全性* + +``` +GET /v2/health/nodes_etl +``` + + + +[試してみる>](data-api-v2-tool.html#nodes-etl-health-check) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:------------|:--------|:-----------------------------------------------------| +| `threshold` | 整数 | 最新データインポート後の経過時間がこの時間(秒単位)を超えると、このサービスは正常でないと見なされます。デフォルトは120秒です。 | +| `verbose` | ブール値 | `true`の場合は、データポイントが含まれているJSON応答が返されます。デフォルトでは整数値のみが返されます。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**が返されます。デフォルトでは、応答本文には**整数の正常値のみ**が含まれます。 + +正常値`0`は常に、正常な状況を示します。その他の正常値の定義を次に示します。 + +| 値 | 意味 | +|:------|:---------------------------------------------------------------------| +| `0` | 最後のトポロジーデータインポート後の経過時間が`threshold` の秒数(デフォルト: 120)よりも短い。 | +| `1` | 最後のトポロジーデータインポート後の経過時間が`threshold`の秒数よりも長い。 | + + +要求のクエリーパラメーターに`verbose=true`が指定されている場合、応答本文は以下のフィールドを含むJSONオブジェクトです。 + +| フィールド | 値 | 説明 | +|:----------------|:-----------------------------|:----------------------------| +| `score` | 0-1 | 前述のように定義される正常値。 | +| `gap` | 文字列 - 人間が読める形式の時間 | データが最後にインポートされた時点と現在の時刻の差。 | +| `gap_threshold` | 文字列 - 人間が読める形式の時間 | 正常と見なされる最大ギャップ。 | +| `message` | 文字列 | ゼロ以外のスコアの理由の説明(該当する場合)。 | + +#### 例 + +要求: + +``` +GET /v2/health/nodes_etl?verbose=true +``` + +応答: + +``` +200 OK +{ + "score": 0, + "gap": "1.891s", + "gap_threshold": "2.00m", +} +``` + + + +## Health Check - Validations ETL +[[ソース]
](https://github.com/ripple/rippled-historical-database/blob/master/api/routes/checkHealth.js "Source") + +Validations Extract, Transform, Load(ETL)Serviceの健全性をチェックします。 + + + +*REST - Validations ETLの健全性* + +``` +GET /v2/health/validations_etl +``` + + + +[試してみる>](data-api-v2-tool.html#validations-etl-health-check) + +オプションで、以下のクエリーパラメーターを指定できます。 + +| フィールド | 値 | 説明 | +|:------------|:--------|:-----------------------------------------------------| +| `threshold` | 整数 | 最新データインポート後の経過時間がこの時間(秒単位)を超えると、このサービスは正常でないと見なされます。デフォルトは120秒です。 | +| `verbose` | ブール値 | `true`の場合は、データポイントが含まれているJSON応答が返されます。デフォルトでは整数値のみが返されます。 | + +#### 応答フォーマット + +成功した場合の応答では、HTTPコード**200 OK**が返されます。デフォルトでは、応答本文には**整数の正常値のみ**が含まれます。 + +正常値`0`は常に、正常な状況を示します。その他の正常値の定義を次に示します。 + +| 値 | 意味 | +|:------|:---------------------------------------------------------------------| +| `0` | 最後のトポロジーデータインポート後の経過時間が`threshold` の秒数(デフォルト: 120)よりも短い。 | +| `1` | 最後のトポロジーデータインポート後の経過時間が`threshold`の秒数よりも長い。 | + +要求のクエリーパラメーターに`verbose=true`が指定されている場合、応答本文は以下のフィールドを含むJSONオブジェクトです。 + +| フィールド | 値 | 説明 | +|:----------------|:-----------------------------|:----------------------------| +| `score` | 0-1 | 前述のように定義される正常値。 | +| `gap` | 文字列 - 人間が読める形式の時間 | データが最後にインポートされた時点と現在の時刻の差。 | +| `gap_threshold` | 文字列 - 人間が読める形式の時間 | 正常と見なされる最大ギャップ。 | +| `message` | 文字列 | ゼロ以外のスコアの理由の説明(該当する場合)。 | + +#### 例 + +要求: + +``` +GET /v2/health/nodes_etl?verbose=true +``` + +応答: + +``` +200 OK +{ + "score": 0, + "gap": "1.891s", + "gap_threshold": "2.00m", +} +``` + + + + +# APIの規則 + +## 基本的なデータ型 + +REST APIであるData API v2では[JSON](http://json.org/)のネイティブデータ型を使用してAPIフィールドが表されます(特殊なケースがいくつかあります)。 + +### 数値と精度 +[文字列 - 数値]: #数値と精度 + +{% include '_snippets/string-number-formatting.md' %} + +XRP Ledgerでの**XRP以外の通貨**の額の精度は次のようになります。 + +* 非ゼロの最小絶対値: `1000000000000000e-96` +* 最大値: `9999999999999999e80` +* 最小値: `-9999999999999999e80` +* 10進15桁の精度 + +**XRP**の内部表現は異なり、その精度も異なります。 + +* 最小値: `0` +* 最大値: `100000000000`(`1e11`) +* `0.000001`(`1e-6`)に近い精度。 + +つまりXRPの精度は、64ビット符号なし整数と同等であり、各単位は0.000001 XRPに相当します。 + +### アドレス +[アドレス]: #アドレス + +{% include '_snippets/data_types/address.md' %} + + +### 公開鍵 +[公開鍵]: #公開鍵 + +{% include '_snippets/data_types/public_key.md' %} + + +### ハッシュ +[ハッシュ]: #ハッシュ + +{% include '_snippets/data_types/hash.md' %} + + +### タイムスタンプ +[タイムスタンプ]: #タイムスタンプ + +すべての日付と時刻はISO 8601 Timestamp Formatで記述され、UTCを使用しています。このフォーマットをまとめると次のようになります。 + +`YYYY-MM-DDThh:mm:ssZ` + +* 4桁の年 +* 2桁の月 +* 2桁の日 +* データ部分と時間部分が文字`T`で区切られています。 +* 2桁の時間(24時間制) +* 2桁の分 +* UTCからのゼロオフセットを示す文字`Z` 。 + +([v2.0.4][]の時点では、オフセット`+00:00`は使用されていません。) + +### レジャーインデックス +[レジャーインデックス]: #レジャーインデックス + +{% include '_snippets/data_types/ledger_index.md' %} + +### アカウントシーケンス +[シーケンス番号]: #アカウントシーケンス + +{% include '_snippets/data_types/account_sequence.md' %} + +### 通貨コード +[通貨コード]: #通貨コード + +{% include '_snippets/data_types/currency_code.md' %} + +## ページネーション + +多くのクエリーは、1つのHTTP応答で返すのに適量を上回る大量のデータを返します。Data APIでは、1つの応答(ページ)で返すデータの量を制御し、追加の内容を照会する「制限とマーカー」システムが採用されています。 + +多くの要求の`limit`クエリーパラメーターは、応答に含まれる結果の数を特定の数に限定します。結果の型とデフォルト値はメソッドに応じて異なります。ほとんどのメソッドでは、`limit`のデフォルト値は**200**で、最大で**1000**まで設定できます。この最大値を超える`limit`値を指定しても、APIはこの最大値を使用します。 + +現在の応答に含まれていない追加オブジェクトがクエリーに含まれている場合、JSON応答には、追加の結果を取得できることを示す最上位フィールド`marker`が含まれます。このためには、`marker`フィールドの前の値を`marker`クエリーパラメーターとして指定した複数の要求を追加で実行します。個々の追加要求では、1番目の要求と同じパラメーター(`marker`を除く)を使用します。応答にて`marker`パラメーターが省略されている場合は、照会可能なデータの最後に達したことを示しています。 + +`marker`が含まれている場合は、応答の[`Link`ヘッダー](https://tools.ietf.org/html/rfc5988#section-5)に`rel="next"`が指定されています。これは、次の結果ページの完全なURLです。応答が`json`ではなく`csv`フォーマットである場合は、これを使用して結果をページネーションできます。_(新規: [v2.0.4][])_ + +## トランザクションオブジェクト + +トランザクションには、簡潔な「バイナリ」フォーマットと拡張フォーマットの2種類があります。バイナリフォーマットでは、トランザクションを定義するフィールドが16進文字列としてエンコードされており、拡張フォーマットではトランザクションを定義するフィールドが完全なJSONオブジェクトとして入れ子になっています。 + +### 完全なJSONフォーマット + +| フィールド | 値 | 説明 | +|:---------------|:--------------------------|:--------------------------------| +| `hash` | 文字列 - [ハッシュ][] | このトランザクションに固有の識別用ハッシュ値(16進文字列)。 | +| `date` | 文字列 - [タイムスタンプ][] | トランザクションが検証済みレジャーに追加された時刻。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | このレジャーが含まれているレジャーのシーケンス番号。 | +| `tx` | オブジェクト | このトランザクションオブジェクトのフィールド。[トランザクションのフォーマット](transaction-formats.html)により定義されます。 | +| `meta` | オブジェクト | このトランザクションの結果に関するメタデータ。 | + +### バイナリフォーマット + +| フィールド | 値 | 説明 | +|:---------------|:--------------------------|:--------------------------------| +| `hash` | 文字列 - [ハッシュ][] | このトランザクションに固有の識別用ハッシュ値(16進文字列)。 | +| `date` | 文字列 - [タイムスタンプ][] | トランザクションが検証済みレジャーに追加された時刻。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | このレジャーが含まれているレジャーのシーケンス番号。 | +| `tx` | 文字列 | このトランザクションを表すバイナリデータ(16進文字列)。 | +| `meta` | 文字列 | このトランザクションのメタデータを表すバイナリデータ(16進文字列)。 | + +## レジャーオブジェクト + +「レジャー」とは、共有グローバルレジャーの1バージョンです。各レジャーオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:--------------------|:--------------------------|:---------------------------| +| `ledger_hash` | 文字列 - [ハッシュ][] | このレジャーに固有の識別用ハッシュ値(16進文字列)。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | このレジャーのシーケンス番号。新しいレジャーのレジャーインデックスは、その直前のレジャーに1を加算した値になります。 | +| `parent_hash` | 文字列 - [ハッシュ][] | 前のレジャーの識別用ハッシュ。 | +| `total_coins` | [文字列 - 数値][] | このレジャーの時点で存在していたXRPのdrops数の合計。(1 XRPは1,000,000 dropに相当します。) | +| `close_time_res` | 数値 | レジャー閉鎖時刻はこの秒数で丸められます。 | +| `accounts_hash` | 文字列 - [ハッシュ][] | このレジャーに含まれているアカウント情報のハッシュ(16進数)。 | +| `transactions_hash` | 文字列 - [ハッシュ][] | このレジャーに含まれているトランザクション情報のハッシュ(16進数)。 | +| `close_time` | 数値 | UNIX時間でのこのレジャーの閉鎖時刻。 | +| `close_time_human` | 文字列 - [タイムスタンプ][] | このレジャーが閉鎖された時刻。 | + +**注記:** レジャーの閉鎖時刻はおおよその時刻であり、通常10秒単位で丸められます。2つのレジャーの実際の閉鎖時刻の差が数秒程度の場合、それらの`close_time`の値が同一となることがあります。レジャーのシーケンス番号(`ledger_index`)により、どのレジャーが最初に閉鎖したのかが明確になります。 + +### ジェネシスレジャー + +XRP Ledgerの運用開始当初に起きた事故により、1~32569番目までのレジャーが失われました。このため、現存する一番最初のレジャーは番号32570のレジャーです。Data API v2の目的上、番号32570のレジャーは _ジェネシスレジャー_ と見なされます。 + +## アカウント作成オブジェクト + +アカウント作成オブジェクトは、XRP Ledgerでのアカウント作成アクションを表します。アカウントがレジャー32570(最も古いレジャー)にすでに含まれていたかどうかに応じて、2種類のバリエーションがあります。レジャー32570にすでに含まれていたアカウントは _ジェネシスアカウント_ と呼ばれます。 + +| フィールド | 値 | 説明 | +|:------------------|:-----------------------------|:--------------------------| +| `address` | 文字列 - [アドレス][] | このアカウントの識別用アドレス(base-58)。 | +| `inception` | 文字列 - [タイムスタンプ][] | このアドレスに資金が供給された時点のUTCタイムスタンプ。ジェネシスアカウントの場合、これはレジャー32570のタイムスタンプです。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | アカウントが作成された時点でのレジャーのシーケンス番号。ジェネシスアカウントの場合は32570です。 | +| `parent` | 文字列 - [アドレス][] | (ジェネシスアカウントの場合は省略)このアドレスに資金供給するためにXRPを提供したアドレス。 | +| `tx_hash` | 文字列 - [ハッシュ][] | (ジェネシスアカウントの場合は省略)このアカウントに資金供給したトランザクションの識別用ハッシュ。 | +| `initial_balance` | [文字列 - 数値][] | (ジェネシスアカウントの場合は省略)このアカウントに供給されたXRPの額。 | +| `genesis_balance` | [文字列 - 数値][] | (ジェネシスアカウントのみ)レジャー番号32570の時点でこのアカウントが保有していたXRPの額。 | +| `genesis_index` | 数値 - [シーケンス番号][] | (ジェネシスアカウントのみ)レジャー番号32570の時点でのこのアカウントのトランザクションシーケンス番号。 | + + +## 取引オブジェクト +[取引オブジェクト]: #取引オブジェクト + +取引オブジェクトは、実際の通貨取引を表します。この取引は、OfferCreateトランザクションまたはPaymentトランザクションを実行した結果として、XRP Ledgerで発生します。通貨が実際に取引されるには、OfferCreateトランザクションを使用してレジャーで以前に発注され、約定しなかったオファーが存在している必要があります。 + +1つのトランザクションで複数の取引を実行できます。この場合、どの取引においてもトランザクションの送信者がTakerとなりますが、プロバイダーと通貨ペアのいずれかまたはその両方は取引ごとに異なります。 + +| フィールド | 値 | 説明 | +|:-----------------------|:-----------------------------|:---------------------| +| `base_amount` | 数値 | 取引されたベース通貨の額。 | +| `counter_amount` | 数値 | 取引されたクオート通貨の額。 | +| `rate` | 数値 | ベース通貨1単位で獲得できるクオート通貨の額。 | +| `autobridged_currency` | 文字列 - [通貨コード][] | (省略される場合があります)オファーがオートブリッジングされていた場合(XRPオーダーブックを使用して2つのXRP以外の通貨がブリッジングされていた場合)、この取引を実行したオファーのもう一方の通貨です。 | +| `autobridged_issuer` | 文字列 - [アドレス][] | (省略される場合があります)オファーがオートブリッジングされていた場合(XRPオーダーブックを使用して2つのXRP以外の通貨がブリッジングされていた場合)、この取引を実行したオファーのもう一方のイシュアーです。 | +| `base_currency` | 文字列 - [通貨コード][] | ベース通貨。 | +| `base_issuer` | 文字列 - [アドレス][] | (XRPの場合は省略)ベース通貨を発行したアカウント。 | +| `buyer` | 文字列 - [アドレス][] | ベース通貨を獲得したアカウント。 | +| `client` | 文字列 | (省略される場合があります)トランザクションに、クライアントアプリケーションが送信したメモが含まれている場合、これはメモの内容です。 | +| `counter_currency` | 文字列 - [通貨コード][] | クオート通貨。 | +| `counter_issuer` | 文字列 - [アドレス][] | (XRPの場合は省略)クオート通貨を発行したアカウント。 | +| `executed_time` | 文字列 - [タイムスタンプ][] | 取引が発生した時刻。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | このトランザクションが含まれているレジャーのシーケンス番号。 | +| `offer_sequence` | 数値 - [シーケンス番号][] | このレジャーに含まれている`provider`の既存のオファーのシーケンス番号。 | +| `provider` | 文字列 - [アドレス][] | レジャーに既存のオファーが含まれているアカウント。 | +| `seller` | 文字列 - [アドレス][] | クオート通貨を獲得したアカウント。 | +| `taker` | 文字列 - [アドレス][] | この取引を実行したトランザクションを送信したアカウント。 | +| `tx_hash` | 文字列 - [ハッシュ][] | この取引を実行したトランザクションの識別用ハッシュ。(**注記:** この取引は、1つのトランザクションで実行された複数の取引の1つである場合があります。) | +| `tx_type` | 文字列 | この取引を実行したトランザクションのタイプ(`Payment`または`OfferCreate`)。 | + + +## レポートオブジェクト +[レポートオブジェクト]: #レポートオブジェクト + +レポートオブジェクトは、特定の間隔(通常は1日)における特定アカウントのアクティビティを示します。レポートには次のフィールドがあります。 + +| フィールド | 値 | 説明 | +|:---------------------------|:-------------------------------------|:---------| +| `account` | 文字列 - [アドレス][] | このレポートに関連するアカウントのアドレス。 | +| `date` | 文字列 - [タイムスタンプ][] | このレポートに関連する間隔の開始時刻。 | +| `high_value_received` | [文字列 - 数値][] | 1回のトランザクションで受領した最大額(XRPに正規化、可能な限り近い値)これにはペイメントと取引が含まれます。 | +| `high_value_sent` | [文字列 - 数値][] | 1回のトランザクションで送金した最大額(XRPに正規化、可能な限り近い値)。 | +| `payments` | [ペイメントサマリーオブジェクト][]の配列 | (省略される場合があります)この間隔でアカウントが送金または受領した各ペイメントに関する情報の配列。 | +| `payments_received` | 数値 | このアカウントに送金されたペイメントの件数。(これには、このアカウントが送金先であるペイメントのみが含まれます。アカウントを通じてRipplingされたペイメントや、アカウントのオファーで消費されたペイメントは含まれません。) | +| `payments_sent` | 数値 | このアカウントが送金したペイメントの件数。 | +| `receiving_counterparties` | 配列または数値 | アカウントリストが要求された場合は、このアカウントからのペイメントを受取ったアドレスの配列。それ以外の場合は、このアカウントからペイメントを受取ったさまざまなアカウントの数。 | +| `sending_counterparties` | 配列または数値 | アカウントリストが要求された場合は、このアカウントにペイメントを送信したアドレスの配列。それ以外の場合は、このアカウントにペイメントを送信したさまざまなアカウントの数。 | +| `total_value` | [文字列 - 数値][] | ペイメントで受領および送金された合計額(XRPに正規化、可能な限り近い値)。 | +| `total_value_received` | [文字列 - 数値][] | このアカウントへのすべてのペイメントの合計額(XRPに正規化、可能な限り近い値)。 | +| `total_value_sent` | [文字列 - 数値][] | このアカウントからのすべてのペイメントの合計額(XRPに正規化、可能な限り近い値)。 | + +## ペイメントサマリーオブジェクト +[ペイメントサマリーオブジェクト]: #ペイメントサマリーオブジェクト + +ペイメントサマリーオブジェクトには、ペイメントの送金元または受取人から見た1つのペイメントに関する限られた量の情報が含まれています。 + +| フィールド | 値 | 説明 | +|:-------------------|:---------------------------|:---------------------------| +| `tx_hash` | 文字列 - [ハッシュ][] | このペイメントを発生させたトランザクションの識別用ハッシュ。 | +| `delivered_amount` | [文字列 - 数値][] | 実際に送金先アカウントが受領した送金先`currency`の額。 | +| `currency` | 文字列 - [通貨コード][] | トランザクションの受取人に送金された通貨。 | +| `issuer` | 文字列 - [アドレス][] | 通貨を発行するゲートウェイ。XRPの場合は空のストリング。 | +| `type` | 文字列 | `sent`または`received`のいずれか。これは、パースペクティブアカウントがトランザクションの送金元または受取人のいずれであるかを示します。 | + + +## ペイメントオブジェクト +[ペイメントオブジェクト]: #ペイメントオブジェクト + +Data APIでは、ペイメントオブジェクトはアカウント間で価値が移動したイベントを表します。これはほとんどの場合、`Payment` [トランザクションタイプ](transaction-types.html)のXRP Ledgerトランザクションに対応します。ただし Data APIでは、送金元`Account` と`Destination`アカウントが同一である場合、またはトランザクションが失敗した場合には、トランザクションはペイメントとして見なされません。 + +ペイメントオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:------------------------------|:---------------------------|:----------------| +| `amount` | [文字列 - 数値][] | トランザクションに対し送金指示があった送金先`currency`の額。Partial Paymentsでは、この額は「最大」額です。 | +| `delivered_amount` | [文字列 - 数値][] | 実際に送金先アカウントが受領した送金先`currency`の額。 | +| `destination_balance_changes` | 配列 | [残高変更オブジェクト][]の配列。このオブジェクトは、`destination`アカウントの残高に対して行われたすべての変更を示します。 | +| `source_balance_changes` | 配列 | [残高変更オブジェクト][]の配列。このオブジェクトは、`source`アカウントの残高に対して行われたすべての変更を示します(XRPトランザクションコストを除く)。 | +| `transaction_cost` | [文字列 - 数値][] | トランザクションコストに対して`source`アカウントが支払ったXRPの額。([v2.0.4][]より前のバージョンでは、このパラメーターは`fee`でした。) | +| `destination_tag` | 整数 | (省略される場合があります)このペイメントに指定された[送金先タグ](become-an-xrp-ledger-gateway.html#source-and-destination-tags)。 | +| `source_tag` | 整数 | (省略される場合があります)このペイメントに指定された[送金元タグ](become-an-xrp-ledger-gateway.html#source-and-destination-tags)。 | +| `currency` | 文字列 - [通貨コード][] | `destination`アカウントが受領した通貨。 | +| `destination` | 文字列 - [アドレス][] | ペイメントを受領したアカウント。 | +| `executed_time` | 文字列 - [タイムスタンプ][] | このペイメントが含まれているレジャーが閉鎖した時刻。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | このペイメントが含まれているレジャーのシーケンス番号。 | +| `source` | 文字列 - [アドレス][] | ペイメントを送金したアカウント。 | +| `source_currency` | 文字列 - [通貨コード][] | `source`アカウントが支払った通貨。 | +| `tx_hash` | 文字列 - [ハッシュ][] | このペイメントを発生させたトランザクションの識別用ハッシュ。 | + + +## 残高オブジェクトと残高変更オブジェクト +[残高変更オブジェクト]: #残高オブジェクトと残高変更オブジェクト +[残高オブジェクト]: #残高オブジェクトと残高変更オブジェクト + +残高オブジェクトは、特定時点での特定の相手側に対する特定通貨でのXRP Ledgerアカウントの残高です。残高変更オブジェクトは、トランザクションの実行時に発生するこのような残高に対する変更を表します。 + +1つのXRP Ledgerトランザクションで、複数の相手側に対する残高の変更と、XRPの変更が行われることがあります。 + +残高オブジェクトと残高変更オブジェクトのフォーマットは同一であり、これらのオブジェクトには次のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `counterparty` | 文字列 - [アドレス][] | `currency`の取引相手またはイシュアー。XRPの場合これは空の文字列です。 | +| `currency` | 文字列 - [通貨コード][] | この残高が変更された通貨。 | +| `value` | [文字列 - 数値][] | 関連付けられているアカウントが獲得または喪失した`currency`の額。残高変更オブジェクトでは、この値がプラスの場合(獲得した額)とマイナスの場合(喪失した額)があります。残高オブジェクトでは、この値がプラスの場合(このアカウントに対して相手側が支払う義務のある額)とマイナスの場合(相手側に対して支払う義務のある額)があります。 | + + +## 残高変更記述 +[残高変更記述]: #残高変更記述 + +残高変更記述は、トランザクションの実行時に発生する1つの残高変更を記述、分析するオブジェクトです。[残高変更オブジェクト][]と同じイベントを表しますが、残高変更オブジェクトよりも詳細です。 + +残高変更記述のフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:----------------|:---------------------------|:------------------------------| +| `amount_change` | [文字列 - 数値][] | この変更前後での保有通貨額の差。_([v2.0.6][]より前のバージョンでは、このフィールドは`change`でした。)_ | +| `final_balance` | [文字列 - 数値][] | 変更後の残高。 | +| `node_index` | 数値(または`null`) | この残高変更は、残高変更を実行したトランザクションのメタデータセクション内にて、ModifiedNodes配列のこのインデックスの位置にあるエントリーで表されます。**注記:** トランザクションコストがXRP残高に対する他の変更と結合されている場合、トランザクションコストの`node_index`は**null**になります。 | +| `tx_index` | 数値 | この残高変更を実行したトランザクションは、トランザクションが記録されているレジャーのトランザクション配列のこのインデックスにあります。 | +| `change_type` | 文字列 | この残高変更が発生した原因を示すさまざまな[](#変更タイプ)のうちの1つ。 | +| `currency` | 文字列 - [通貨コード][] | この通貨に影響する変更。 | +| `executed_time` | 文字列 - [タイムスタンプ][] | 変更が発生した時刻。(変更を実行したトランザクションが記録されているレジャーの閉鎖時間に基づいています。) | +| `counterparty` | 文字列 - [アドレス][] | (XRPの場合は省略)`currency`はこのアカウントとの間のトラストラインに保有されています。_([v2.0.6][]より前のバージョンでは、このフィールドは`issuer`でした。)_ | +| `ledger_index` | 数値 - [レジャーインデックス][] | この残高変更を実行したトランザクションを含むレジャーのシーケンス番号。 | +| `tx_hash` | 文字列 - [ハッシュ][] | この残高変更を実行したトランザクションの識別用ハッシュ。 | + +### 変更タイプ + +残高変更記述の`change_type`フィールドで有効な値を以下に示します。 + +| 値 | 意味 | +|:----------------------|:-----------------------------------------------------| +| `transaction_cost` | これは、トランザクションの中継時にXRPが消却されたことによる残高変更を表します。_([v2.0.4][]より前では、これは`network fee`でした。)_ | +| `payment_destination` | これは、ペイメントとして通貨を受領したことによる残高変更を表します。 | +| `payment_source` | これは、ペイメントとして通貨を支払ったことによる残高変更を表します。 | +| `exchange` | これは、他の通貨への取引や、別のイシュア―との同一通貨での取引による残高変更を表します。これは、オファーにより発生するだけでなく、ペイメント実行中にも発生する可能性があります。 | + +## 取引量オブジェクト +[取引量オブジェクト]: #取引量オブジェクト + +取引量オブジェクトは、特定の期間にペイメントや取引により移動した資金の合計取引量を表します。 + +| フィールド | 値 | 説明 | +|:----------------|:-----------------------|:----------------------------------| +| `components` | オブジェクトの配列 | この合計の計算に使用されたデータ。ペイメント取引量の場合、各オブジェクトは特定の通貨およびイシュアーでのペイメントを表します。取引量の場合、各オブジェクトは2通貨間のマーケットを表します。 | +| `count` | 数値 | この期間における取引の合計件数。 | +| `end_time` | 文字列 - [タイムスタンプ][] | この間隔の終了時刻。 | +| `exchange` | オブジェクト | `currency`および(XRPの場合を除く) `issuer`フィールドと同様、使用される表示通貨を示します。すべての額は、最初にXRPに交換され、その後要求で指定されている表示通貨に変換されることで正規化されます。 | +| `exchange_rate` | 数値 | XRPから表示通貨への為替レート。 | +| `start_time` | 文字列 - [タイムスタンプ][] | この期間の開始時刻。 | +| `total` | 数値 | 当該期間に記録されたすべての取引の合計取引量。 | + + +## サーバーオブジェクト +[サーバーオブジェクト]: #サーバーオブジェクト +[サーバーオブジェクト]: #サーバーオブジェクト + +「サーバーオブジェクト」は、XRP Ledgerピアツーピアネットワークの1つの`rippled`サーバーを表します。サーバーオブジェクトは[Get Topology](#get-topology)、[Get Toplogy Nodes](#get-topology-nodes)、および[Get Topology Node](#get-topology-node)メソッドで返されます。Data APIは、[ピアクローラー](peer-crawler.html)を使用して、報告されるネットワークトポロジーを約30秒間隔で収集します。 + +サーバーオブジェクトのフィールドを次に示します。一部のフィールドは、要求で応答がverboseであることが指定されている場合にのみ表示されます。 + +| フィールド | 値 | 説明 | +|:-------------------|:--------------------------------|:----------------------| +| `node_public_key` | 文字列 - Base-58 [公開鍵][] | このサーバーがピアツーピア通信に署名するときに使用する公開鍵(検証は含まれません)。 | +| `version` | 文字列 | 最後に照会された時点でのこのサーバーの`rippled`バージョン。 | +| `uptime` | 整数 | このサーバーがネットワークに接続していた秒数。 | +| `ip` | 文字列 | (省略される場合があります)ノードのIPアドレス。 | +| `port` | 整数 | (省略される場合があります)このサーバーが[`rippled`ピアプロトコル](peer-protocol.html)を使用するポート。 | +| `inbound_count` | 整数 | (省略される場合があります)このサーバーへの着信ピアツーピア接続の数。 | +| `inbound_added` | 文字列 | (省略される場合があります)最終測定以降に追加された新規着信ピアツーピア接続の数。 | +| `inbound_dropped` | 文字列 | (省略される場合があります)最終測定以降に削除された着信ピアツーピア接続の数。 | +| `outbound_count` | 整数 | (省略される場合があります)このサーバーへの発信ピアツーピア接続の数。 | +| `outbound_added` | 文字列 | (省略される場合があります)最終測定以降に削除された新規発信ピアツーピア接続の数。 | +| `outbound_dropped` | 文字列 | (省略される場合があります)最終測定以降に削除された発信ピアツーピア接続の数。 | +| `city` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の市町村。 | +| `region` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の地域。 | +| `country` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の国。 | +| `region_code` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の地域のISOコード。 | +| `country_code` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の国のISOコード。 | +| `postal_code` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の郵便番号。 | +| `timezone` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地のISOタイムゾーン。 | +| `lat` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の緯度。 | +| `long` | 文字列 | (verboseが設定されている場合のみ)IP位置情報に基づくこのサーバーの所在地の経度。 | +| `isp` | 文字列 | (verboseが設定されている場合のみ)このサーバーのパブリックIPアドレスをホストするインターネットサービスプロバイダー。 | +| `org` | 文字列 | (verboseが設定されている場合のみ)このサーバーのパブリックIPアドレスを所有する組織。 | + + +## リンクオブジェクト +[リンクオブジェクト]: #リンクオブジェクト +[リンクオブジェクト]: #リンクオブジェクト + +リンクオブジェクトは、2つの`rippled`サーバー間のピアツーピアネットワーク接続を表します。次のフィールドが含まれています。 + +| フィールド | 値 | 説明 | +|:---------|:--------------------------------|:--------------------------------| +| `source` | 文字列 - Base-58 [公開鍵][] | 発信接続を行う`rippled`のノード公開鍵。 | +| `target` | 文字列 - Base-58 [公開鍵][] | 着信接続を受け取る`rippled`のノード公開鍵。 | + + +## 検証オブジェクト +[検証オブジェクト]: #検証オブジェクト +[検証オブジェクト]: #検証オブジェクト + +検証オブジェクトは、レジャーバージョンを検証済みにするためにバリデータが投じる1票を表します。(レジャーは、同一のレジャーバージョンに対して投票した信頼できるバリデータの数が定数に達した場合に、コンセンサスプロセスによってのみ検証済みになります。) + +**注記:** Data APIは検証投票データを6か月間だけ保持します。 + +検証オブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:------------------------|:--------------------------------|:-----------------| +| `count` | 整数 | (省略される場合があります)この検証を参照した旨を報告した`rippled`サーバーの数。古いデータでは使用できません。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | この検証投票が適用されるレジャーバージョンのハッシュ。 | +| `reporter_public_key` | 文字列 - Base-58 [公開鍵][] | 最初にこの検証を報告した`rippled`サーバーの公開鍵(base-58)。 | +| `validation_public_key` | 文字列 - Base-58 [公開鍵][] | この検証の署名に使用されたバリデータの公開鍵(base-58)。 | +| `signature` | 文字列 | 検証内容についてのバリデータの署名(16進数)。 | +| `first_datetime` | 文字列 - [タイムスタンプ][] | この検証の最初の報告の日時。 | +| `last_datetime` | 文字列 - [タイムスタンプ][] | この検証の最終報告の日時。 | + + + +# Historical Databaseの実行 + +各自のHistorical DatabaseソフトウェアのインスタンスからData API v2を提供し、各自の`rippled`インスタンスからそのData APIにトランザクションを取り込むこともできます。これは、Historical Databaseの運用を無期限にRippleに依存したくない場合や、各自のイントラネットから履歴トランザクションにアクセスしたい場合に有用です。 + +## インストール + +### 依存関係 + +Historical Databaseを使用するには、最初に以下のソフトウェアをインストールする必要があります。 + +* [HBase](http://hbase.apache.org/)(v2には必要です) +* [Node.js](http://nodejs.org/) +* [npm](https://www.npmjs.org/) +* [git](http://git-scm.com/)(省略可)インストールおよび更新用。 + +Historical Databaseバージョン2には[PostgreSQL](http://www.postgresql.org/)の代わりにHBaseが必要です。Postgresのサポートは廃止されました。 + +### インストールプロセス + +Data API v2をインストールするには、以下の手順に従います。 + +1. HBaseをインストールします。本番環境で使用する場合は、分散モードで構成します。 +2. Historical Database Git Repositoryを複製します。 + + git clone https://github.com/ripple/rippled-historical-database.git + + (Zipされているリリースをダウンロードして解凍することもできます。) + +3. npmを使用して追加のモジュールをインストールします。 + + cd rippled-historical-database + npm install + + インストールスクリプトにより必要な構成ファイルが作成されます。`config/api.config.json` and `config/import.config.json` + +4. オプションで、構成ファイルを変更します。`api.config.json`から`postgres`セクションを削除します。 + +レポート、統計情報、および集約された取引データをAPIで利用可能にするには、さらに処理が必要です。この処理ではApache Stormといくつかのカスタムスクリプトが使用されます。詳細は、[Stormの設定](https://github.com/ripple/rippled-historical-database/blob/master/storm/README.md)を参照してください。 + +これでData APIがインストールされました。実行できる各種コンポーネントについては、[サービス](#サービス)を参照してください。 + +### テスト + +依存関係: + +* [Docker Compose](https://docs.docker.com/compose/install/) + +``` +$ docker-compose build +$ docker-compose up -d hbase +$ docker-compose run --rm webapp npm test +``` + +### サービス + +`rippled` Historical Databaseは、個別に実行できるさまざまなプロセスで構成されています。 + +* [Live Ledger Importer](#live-ledger-importer) - 新たに検証されたレジャーについて`rippled`を監視します。 + コマンド: `node import/live` +* [Backfiller](#backfiller) - データベースに`rippled`インスタンスから古いレジャーを取り込みます。 + コマンド: `node import/postgres/backfill` +* API Server - データへの[REST API アクセス](#apiメソッドリファレンス)を提供します。 + コマンド: `npm start`(ソースファイルが変更されるとサーバーが自動的に再起動します) + または`node api/server.js`(1回だけ起動します) + +## データのインポート + +データを`rippled` Historical Databaseから取得するには、最初にこのデータベースにデータを取り込む必要があります。通常は、次の2種類の方法で行われます。 + +* 履歴レジャーを保持する`rippled`サーバーに接続し、履歴レジャーを取得する。(後で`rippled`サーバーを再設定し、Historical Databaseに保持されている履歴よりも古い履歴を保持しないようにできます。) + * 検証される新しいレジャーのみを取得するか、または古いレジャーも取得することができます。 +* あるいは、履歴レジャーデータをすでに保持するデータベースからダンプを読み込むこともできます。(現時点では、一般に利用可能な履歴データのデータベースダンプはありません。)データベースの標準プロセスを使用します。 + +いずれの場合でも、データの整合性を元のソースの整合性と同じ程度にとどめるよう注意してください。公開サーバーからデータを取得する場合は、そのサーバーのオペレーターが信頼できることを前提としています。データベースダンプから読み込む場合は、ダンプのプロバイダーがデータを破損または改ざんしていないことを前提としています。 + +### Live Ledger Importer + +Live Ledger Importerは、WebSocket APIを使用して`rippled`サーバーに接続し、レジャー閉鎖イベントを待機するサービスです。新しいレジャーが閉鎖されるたびに、Importerは最新の検証済みレジャーを要求します。レジャーがスキップされることを防ぐため、このプロセスにはフォールトトレランスが組み込まれていますが、それでもImporterがレジャーをスキップすることがあります。 + +Live Ledger Importerには、すでにインポートされているデータを検証し、レジャー履歴のギャップを確認するために定期的に実行される2番目のプロセスがあります。 + +Live Ledger Importerは、1つ以上のデータストアーを同時にインポートできます。別のストレージ方式を使用するように履歴データベースを設定している場合は、`--type`パラメーターを使用して、使用するデータベースタイプを1つ以上指定できます。 + +使用例: + +``` +// start loading records into HBase: +$ node import/live +``` + +### Backfiller + +Backfillerは時間をさかのぼって`rippled`インスタンスから古いレジャーを取得します。オプションで、開始インデックスと終了インデックス指定すると、シーケンス番号に基づいて一定範囲のレジャーを取得できます。 + +`--startIndex`パラメーターは、取得する最新レジャーを定義します。Backfillerは最初にこのレジャーを取得し、その後さらに古いレジャーの取得を続行します。このパラメーターを省略すると、Backfillerは最新の検証済みレジャーから開始します。 + +`--stopIndex`パラメーターは、取得する最も古いレジャーを定義します。Backfillerはこのレジャーを取得した後に停止します。省略すると、Backfillerは可能な限り古いレジャーの取得を続行します。埋め戻しは最新レジャーから古いレジャーの順に進むため、停止インデックスは開始インデックスよりも小さい値である必要があります。 + +**注意:** Backfillerは、比較的短いトランザクション履歴を埋めるのに適しています。Backfillerを使ってXRP Ledgerトランザクションの全履歴をインポートする操作には、数週間かかる場合があります。全履歴が必要な場合は、古いトランザクションを含むデータベースダンプを取得して直接インポートすることが推奨されます。公開サーバーの場合、Ripple社はオフライン`rippled`の内部SQLiteデータベースを使用して履歴データベースに古いトランザクションを取り込み、インポート完了後にBackfillerを使用して最新状態にしています。 + +使用例: + +``` +// get ledgers #1,000,000 to #2,000,000 (inclusive) and store in HBase +node import/hbase/backfill --startIndex 2000000 --stopIndex 1000000 +``` + + + +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/admin-rippled-methods.ja.md b/content/references/rippled-api/admin-rippled-methods/admin-rippled-methods.ja.md new file mode 100644 index 0000000000..993adf0e74 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/admin-rippled-methods.ja.md @@ -0,0 +1,64 @@ +# 管理rippledメソッド + +`rippled`サーバーと直接通信する際には管理APIメソッドを使用します。管理メソッドは、信頼できるサーバー運用担当者のみを対象としています。管理メソッドには、サーバーの管理、監視、デバッグのためのコマンドが含まれています。 + +管理コマンドを使用できるのは、管理者として、`rippled.cfg`ファイルに指定されているホストとポートで`rippled`サーバーに接続している場合に限られます。デフォルトでは、コマンドラインクライアントが管理接続を使用します。`rippled`への接続についての詳細は、[rippled API入門](get-started-with-the-rippled-api.html)を参照してください。 + + +## [キー生成メソッド](key-generation-methods.html) + +キーを生成および管理するには、以下のメソッドを使用します。 + +* **[`validation_create`](validation_create.html)** - 新しいrippledバリデータのキーを生成します。 +* **[`wallet_propose`](wallet_propose.html)** - 新規アカウントのキーを生成します。 + + +## [ロギングおよびデータ管理のメソッド](logging-and-data-management-methods.html) + +ログレベルとその他のデータ(レジャーなど)の管理には、以下のメソッドを使用します。 + +* **[`can_delete`](can_delete.html)** - 特定レジャーまでのレジャーのオンライン削除を許可します。 +* **[`download_shard`](download_shard.html)** - レジャー履歴の特定のシャードをダウンロードします。 +* **[`ledger_cleaner`](ledger_cleaner.html)** - レジャークリーナーサービスが破損データを確認するように設定します。 +* **[`ledger_request`](ledger_request.html)** - ピアサーバーに対し特定のレジャーバージョンを照会します。 +* **[`log_level`](log_level.html)** - ログの詳細レベルを取得または変更します。 +* **[`logrotate`](logrotate.html)** - ログファイルを再度開きます。 + + +## [サーバー制御メソッド](server-control-methods.html) + +rippledサーバーの管理には、以下のメソッドを使用します。 + +* **[`connect`](connect.html)** - rippledサーバーを特定のピアに強制的に接続します。 +* **[`ledger_accept`](ledger_accept.html)** - スタンドアロンモードでレジャーを閉鎖し、次のレジャーに進みます。 +* **[`stop`](stop.html)** - rippledサーバーをシャットダウンします。 +* **[`validation_seed`](validation_seed.html)** - 検証に使用するキーを一時的に設定します。 + + +## [ステータスおよびデバッグメソッド](status-and-debugging-methods.html) + +ネットワークとサーバーのステータスを確認するには、以下のメソッドを使用します。 + +* **[`consensus_info`](consensus_info.html)** - 発生したコンセンサスの状態に関する情報を取得します。 +* **[`feature`](feature.html)** - プロトコルAmendmentに関する情報を取得します。 +* **[`fetch_info`](fetch_info.html)** - サーバーとネットワークの同期に関する情報を取得します。 +* **[`get_counts`](get_counts.html)** - サーバー内部とメモリー使用状況に関する統計情報を取得します。 +* **[`peers`](peers.html)** - 接続しているピアサーバーに関する情報を取得します。 +* **[`print`](print.html)** - 内部サブシステムに関する情報を取得します。 +* **[`validators`](validators.html)** - 現在のバリデータに関する情報を取得します。 +* **[`validator_list_sites`](validator_list_sites.html)** - バリデータリストを公開するサイトに関する情報を取得します。 + + +## 廃止予定のメソッド + +以下の管理コマンドは廃止予定であり、今後予告なしに削除される可能性があります。 + +* `ledger_header` - 代わりに[ledgerメソッド][]を使用してください。 +* `unl_add`、`unl_delete`、`unl_list`、`unl_load`、`unl_network`、`unl_reset`、`unl_score` - 代わりに UNL管理用構成ファイルを使用してください。 +* `wallet_seed` - 代わりに[wallet_proposeメソッド][]を使用してください。 + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/key-generation-methods/validation_create.ja.md b/content/references/rippled-api/admin-rippled-methods/key-generation-methods/validation_create.ja.md new file mode 100644 index 0000000000..5afff4505c --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/key-generation-methods/validation_create.ja.md @@ -0,0 +1,110 @@ +# validation_create +[[ソース]
](https://github.com/ripple/rippled/blob/315a8b6b602798a4cff4d8e1911936011e12abdb/src/ripple/rpc/handlers/ValidationCreate.cpp "Source") + +`validation_create`コマンドキーを使用して、[`rippled`サーバーがネットワークに対して自身の身元を識別させるのに使用できる暗号鍵](peer-protocol.html#ノードキーペア)を生成します。[wallet_proposeメソッド][]と同様に、このメソッドでは適切なフォーマットで一連のキーが単に生成されるだけです。XRP Ledgerのデータやサーバー構成は変更されません。 + +_`validation_create`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +サーバーを設定することにより、生成されたキーペアを検証の署名(検証キーペア)に使用するか、または通常のピアツーピア通信の署名([ノードキーペア](peer-protocol.html#ノードキーペア))に使用するかを指定できます。 + +**ヒント:** 堅牢なバリデータを設定するには、`validator-keys`ツール(`rippled` RPMに付属)を使用してバリデータトークン(ローテーション可能)とオフラインマスターキーを生成してください。詳細は、[rippledサーバーで検証を有効化](run-rippled-as-a-validator.html#3rippledサーバーで検証を有効化)を参照してください。 + + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 0, + "command": "validation_create", + "secret": "BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE" +} +``` + +*JSON-RPC* + +``` +{ + "method": "validation_create", + "params": [ + { + "secret": "BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE" + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: validation_create [secret] +rippled validation_create "BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE" +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `secret` | 文字列 | _(省略可)_ クレデンシャルを生成するときにこの値をシードとして使用します。同じシークレットを使用すると常に同じクレデンシャルが生成されます。シードは[RFC-1751](https://tools.ietf.org/html/rfc1751)フォーマットまたはXRP Ledgerの[base58][]フォーマットで指定できます。省略すると、ランダムシードが生成されます。 | + +**注記:** バリデータのセキュリティは、シードのエントロピーに応じて異なります。シークレット値が強力なランダム性のソースを使用して生成されている場合を除き、実際の事業目的のためにシークレット値を使用しないでください。新しいクレデンシャルを初めて生成するときには`secret`を省略することが推奨されます。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +{ + "result" : { + "status" : "success", + "validation_key" : "FAWN JAVA JADE HEAL VARY HER REEL SHAW GAIL ARCH BEN IRMA", + "validation_public_key" : "n9Mxf6qD4J55XeLSCEpqaePW4GjoCR5U1ZeGZGJUCNe3bQa4yQbG", + "validation_seed" : "ssZkdwURFMBXenJPbrpE14b6noJSu" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "status" : "success", + "validation_key" : "FAWN JAVA JADE HEAL VARY HER REEL SHAW GAIL ARCH BEN IRMA", + "validation_public_key" : "n9Mxf6qD4J55XeLSCEpqaePW4GjoCR5U1ZeGZGJUCNe3bQa4yQbG", + "validation_seed" : "ssZkdwURFMBXenJPbrpE14b6noJSu" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:------------------------|:-------|:------------------------------------------| +| `validation_key` | 文字列 | これらの検証クレデンシャルのシークレットキー([RFC-1751](https://tools.ietf.org/html/rfc1751)フォーマット)。 | +| `validation_public_key` | 文字列 | これらの検証クレデンシャルの公開鍵(XRP Ledgerの[base58][]エンコード文字列フォーマット)。 | +| `validation_seed` | 文字列 | これらの検証クレデンシャルのシークレットキー(XRP Ledgerの[base58][]エンコード文字列フォーマット)。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `badSeed` - 要求に無効なシード値が指定されていました。この場合は通常、シード値が異なるフォーマットの有効文字列(アカウントアドレス、検証の公開鍵など)である可能性があります。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/key-generation-methods/wallet_propose.ja.md b/content/references/rippled-api/admin-rippled-methods/key-generation-methods/wallet_propose.ja.md new file mode 100644 index 0000000000..4fc522cb11 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/key-generation-methods/wallet_propose.ja.md @@ -0,0 +1,196 @@ +# wallet_propose +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/WalletPropose.cpp "Source") + +`wallet_propose`メソッドを使用して、キーペアとXRP Ledgerアドレスを生成します。このコマンドは単にキーとアドレス値を生成し、XRP Ledger自体には何ら影響しません。レジャー上で資金供給済みのアドレスになるには、そのアドレスで、[必要準備金](reserves.html)を満たすのに十分なXRPの[Paymentトランザクションを受け取る](accounts.html#アカウントの作成)必要があります。 + +*`wallet_propose`要求は、権限のないユーザーは実行できない[adminメソッド](admin-rippled-methods.html)です。*(このコマンドは、アカウントの機密情報を求めてネットワーク上の伝送情報をスニッフィングする人々から守るためにadminコマンドとされています。adminコマンドは通常、外部ネットワーク上で伝送されることはありません。) + +[更新: rippled 0.31.0][新規: rippled 0.31.0] + +### 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket(キータイプあり)* + +``` +{ + "command": "wallet_propose", + "seed": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", + "key_type": "secp256k1" +} +``` + +*WebSocket(キータイプなし)* + +``` +{ + "command": "wallet_propose", + "passphrase": "masterpassphrase" +} +``` + +*JSON-RPC(キータイプあり)* + +``` +{ + "method": "wallet_propose", + "params": [ + { + "seed": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", + "key_type": "secp256k1" + } + ] +} +``` + +*JSON-RPC(キータイプなし)* + +``` +{ + "method": "wallet_propose", + "params": [ + { + "passphrase": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb" + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: wallet_propose [passphrase] +rippled wallet_propose masterpassphrase +``` + + + +要求には以下のパラメーターを含めることができます。 + +| `Field` | 型 | 説明 | +|:-------------|:-------|:-----------------------------------------------------| +| `key_type` | 文字列 | このキーペアに使用する楕円曲線アルゴリズム。有効な値は`ed25519`と`secp256k1`(すべて小文字)です。デフォルトは`secp256k1`です。 | +| `passphrase` | 文字列 | _(省略可能)_ このシード値からキーペアとアドレスを生成します。この値は、[16進数][]、XRP Ledgerの[base58][]フォーマット、[RFC-1751][]、または任意の文字列でフォーマットできます。`seed`または`seed_hex`とともに使用することはできません。 | +| `seed` | 文字列 | _(省略可能)_ このシード値からXRP Ledgerの[base58][]エンコードフォーマットでキーペアとアドレスを生成します。`passphrase`または`seed_hex`とともに使用することはできません。 | +| `seed_hex` | 文字列 | _(省略可能)_ このシード値から[16進数][]形式でキーペアとアドレスを生成します。`passphrase`または`seed`とともに使用することはできません。 | + +以下のフィールドのうち**1つ**を指定する必要があります。`passphrase`、`seed`、または`seed_hex`。3つすべてを省略すると、`rippled`によってランダムシードが使用されます。 + +**注記:** [Ed25519](https://ed25519.cr.yp.to/)のサポートは実験的な機能です。このコマンドのコマンドラインバージョンではEd25519キーを生成できません。 + +#### シードの指定 + +ほとんどの場合、強力な乱数ソースから生成されたシード値を使用する必要があります。あるアドレスのシード値を知っている人は、[そのアドレスで署名されたトランザクションを送信する](transaction-basics.html#取引の承認)すべての権限を持っています。一般的に、ランダムシードの生成には、このコマンドにパラメーターを指定しないで実行する方法が適しています。 + +以下の場合には、既知のシードを指定します。 + +* アドレスに関連するシードのみを知っていて、アドレスを再計算する +* `rippled`の機能をテストする + +シードは、以下のどのフォーマットでも指定できます。 + +* XRP Ledgerの[base58][]フォーマットのシークレットキー文字列。例: `snoPBrXtMeMyMHUVTgbuqAfg1SUTb`。 +* [RFC-1751][]フォーマット文字列(secp256k1キーペアのみ)。例: `I IRE BOND BOW TRIO LAID SEAT GOAL HEN IBIS IBIS DARE`。 +* 128ビットの[16進数][]文字列。例: `DEDCE9CE67B451D852FD4E846FCDE31C`。 +* シード値として使用する任意の文字列。例: `masterpassphrase`。 + +[RFC-1751]: https://tools.ietf.org/html/rfc1751 +[16進数]: https://en.wikipedia.org/wiki/Hexadecimal + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "account_id": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "key_type": "secp256k1", + "master_key": "I IRE BOND BOW TRIO LAID SEAT GOAL HEN IBIS IBIS DARE", + "master_seed": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", + "master_seed_hex": "DEDCE9CE67B451D852FD4E846FCDE31C", + "public_key": "aBQG8RQAzjs1eTKFEAQXr2gS4utcDiEC9wmi7pfUPTi27VCahwgw", + "public_key_hex": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020" + } +} +``` + +*JSON-RPC* + +``` +{ + "result": { + "account_id": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "key_type": "secp256k1", + "master_key": "I IRE BOND BOW TRIO LAID SEAT GOAL HEN IBIS IBIS DARE", + "master_seed": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", + "master_seed_hex": "DEDCE9CE67B451D852FD4E846FCDE31C", + "public_key": "aBQG8RQAzjs1eTKFEAQXr2gS4utcDiEC9wmi7pfUPTi27VCahwgw", + "public_key_hex": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", + "status": "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "account_id" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "key_type" : "secp256k1", + "master_key" : "I IRE BOND BOW TRIO LAID SEAT GOAL HEN IBIS IBIS DARE", + "master_seed" : "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", + "master_seed_hex" : "DEDCE9CE67B451D852FD4E846FCDE31C", + "public_key" : "aBQG8RQAzjs1eTKFEAQXr2gS4utcDiEC9wmi7pfUPTi27VCahwgw", + "public_key_hex" : "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", + "status" : "success" + } +} +``` + + + +応答は[標準フォーマット][]に従い、正常に終了した場合、新しい(可能性がある)アカウントについての重要な各種情報を含みます。以下のフィールドを含みます。 + +| `Field` | 型 | 説明 | +|:------------------|:-------|:------------------------------------------------| +| `master_seed` | 文字列 | これはキーペアの秘密鍵です。このアカウントに関するその他のあらゆる情報が、マスターシードからXRP Ledgerの[base58][]エンコード文字列フォーマットで引き出されます。通常、このフォーマットのキーを使用してトランザクションに署名します。 | +| `master_seed_hex` | 文字列 | 16進数形式のマスターシード。単純で広く支持されている秘密鍵表示法。トランザクションの署名に使用できます。 | +| `master_key` | 文字列 | [RFC 1751](http://tools.ietf.org/html/rfc1751)フォーマットのマスターシード。覚えやすく書き留めやすい秘密鍵。トランザクションの署名に使用できます。 | +| `account_id` | 文字列 | XRP Ledgerの[base58][]フォーマットで作成されたアカウントの[アドレス][]。これは公開鍵ではありませんが、公開鍵を2回ハッシュ化したものです。チェックサムも持っているため、タイプミスした場合はほぼ間違いなく無効なアドレスとみなされ、有効だが異なるアドレスとはみなされません。これはXRP LedgerのアカウントのプライマリIDです。支払いを受けるときにこれを人に伝えたり、トランザクションにおいて、自身や、支払先、委託先識別するのに使用します。[マルチ署名のリスト](multi-signing.html)でもこれを使用して、他の署名者を識別します。 | +| `public_key` | 文字列 | XRP Ledgerの[base58][]エンコード文字列フォーマットで作成された、キーペアの公開鍵。`master_seed`から生成されます。 | +| `public_key_hex` | 文字列 | これは16進数で作成されたキーペアの公開鍵です。`master_seed`から生成されます。トランザクションの署名を検証する場合、`rippled`にはこの公開鍵が必要です。そのため、署名されたトランザクションのフォーマットの`SigningPubKey`フィールドには公開鍵が入力されています。 | +| `warning` | 文字列 | (削除される可能性あり)要求にシード値を指定した場合、このフィールドに安全でない可能性があるという警告が表示されます。[新規: rippled 0.32.0][] | + +このメソッドを使用してキーペアを生成し、アカウントのレギュラーキーペアとして使用することもできます。アカウントにレギュラーキーペアを割り当てて、それを使用してほとんどのトランザクションに署名し、マスターキーペアをできるだけオフラインにしておくことも可能です。 + +レギュラーキーペアとして使用するほかに、マルチ署名のリスト(SignerList)のメンバーとして使用することもできます。 + +マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](cryptographic-keys.html)を参照してください。 + +マルチ署名の詳細は、[マルチ署名](multi-signing.html)を参照してください。 + + +### 考えられるエラー + +* いずれかの[ユニバーサルエラータイプ][]。 +* `invalidParams` - 1つ以上のフィールドが不正に指定されています。 +* `badSeed` - 要求には、空の文字列やXRP Ledgerアドレスに似た文字列などの許可されないシード値が(`passphrase`、`seed`、または`seed_hex`フィールド内に)指定されています。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/can_delete.ja.md b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/can_delete.ja.md new file mode 100644 index 0000000000..1e18ddb077 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/can_delete.ja.md @@ -0,0 +1,78 @@ +# can_delete +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/CanDelete.cpp "Source") + +`can_delete`メソッドは`rippled`サーバーに対し最新のレジャーバージョンを通知します。この最新バージョンは[指示による削除が有効なオンライン削除](online-deletion.html#指示による削除)を使用するときに削除できます。指示による削除が有効ではない場合、このメソッドは何も行いません。 + +_`can_delete`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "can_delete", + "can_delete": 11320417 +} +``` + +*JSON-RPC* + +``` +{ + "method": "can_delete", + "params": [ + { + "can_delete": 11320417 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax can_delete [||now|always|never] +rippled can_delete 11320417 +``` + + + +要求には以下のパラメーターを指定できます。 + +| `Field` | 型 | 説明 | +|:-------------|:------------------|:------------------------------------------| +| `can_delete` | 文字列 または整数 | _(省略可)_ 削除可能な最大レジャーバージョンの[レジャーインデックス][]。特殊ケース`never`を指定すると、オンライン削除が無効になります。特殊ケース`always`を指定すると、指示による削除が無効な場合と同様に、自動オンライン削除が有効になります。特殊ケース`now`を指定すると、設定されている`online_delete`値に一致するかまたはこの値を超える次の検証済みレジャーで、オンライン削除が1回実行されます。省略すると、サーバーは変更を行いません(ただし現在の`can_delete`の値で応答します)。 | + +### 応答フォーマット + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-------------|:--------|:----------------------------------------------------| +| `can_delete` | 整数 | オンライン削除ルーチンにより削除できる最大レジャーインデックス。 | + +既存の`can_delete`設定を照会する場合は、パラメーターを指定せずにこのコマンドを実行します。 + +### 考えられるエラー + +- [一般的なエラータイプ][]のすべて。 +- `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +- `lgrNotFound` 要求の`can_delete`フィールドに指定されているレジャーが存在しないか、存在しているがサーバーにはありません。 +- `notEnabled` - オンライン削除または指示による削除のいずれかがサーバーの設定で有効になっていない場合。 +- `notReady` - サーバーは現在オンライン削除を実行する準備ができていません。これは通常、サーバーが起動したが、検証済みレジャーをまだ取得していないことを意味します。 + +## 参照項目 + +- [オンライン削除](online-deletion.html) +- [指示による削除の設定](configure-advisory-deletion.html) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/download_shard.ja.md b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/download_shard.ja.md new file mode 100644 index 0000000000..bfcc59b895 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/download_shard.ja.md @@ -0,0 +1,122 @@ +# download_shard +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/DownloadShard.cpp "Source") + +サーバーに対し、外部ソースから特定の[履歴レジャーデータのシャード](history-sharding.html)をダウンロードするように指示します。`rippled`サーバーで[履歴シャードが保管されるように設定する](configure-history-sharding.html)必要があります。[新規: rippled 1.1.0][] + +_`download_shard`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +外部ソースからHTTPSを使用してシャードが[lz4圧縮](https://lz4.github.io/lz4/) [tarアーカイブ](https://en.wikipedia.org/wiki/Tar_(computing)) として提供される必要があります。このアーカイブの内容が、シャードストアーに使用されるデータベースタイプ(NuDBまたはRocksDB)と一致する必要があります。 + +通常、このメソッドを使用してシャードをダウンロードしてインポートすれば、ピアツーピアネットワークからシャードを個別に取得するよりも短い時間で取得できます。また、サーバーから提供される特定範囲のシャードまたはシャードのセットを選択する場合にもこのメソッドを使用できます。 + +### 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +```json +{ + "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"} + ] +} +``` + +*JSON-RPC* + +```json +{ + "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ストアーを使用します。) | + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +```json +{ + "result": { + "message": "downloading shards 1-2,5" + }, + "status": "success", + "type": "response" +} +``` + + +*JSON-RPC* + +```json +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つ以上の必須フィールドが省略されていたか、または指定されたフィールドのデータタイプが誤っています。 + + + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_cleaner.ja.md b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_cleaner.ja.md new file mode 100644 index 0000000000..9ded145d3c --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_cleaner.ja.md @@ -0,0 +1,73 @@ +# ledger_cleaner +[[ソース]
](https://github.com/ripple/rippled/blob/df54b47cd0957a31837493cd69e4d9aade0b5055/src/ripple/rpc/handlers/LedgerCleaner.cpp "Source") + +`ledger_cleaner`コマンドは[レジャークリーナー](https://github.com/ripple/rippled/blob/f313caaa73b0ac89e793195dcc2a5001786f916f/src/ripple/app/ledger/README.md#the-ledger-cleaner)を制御します。レジャークリーナーは、`rippled`のレジャーデータベースの破損を検出して修復できる非同期メンテナンスプロセスです。 + +_`ledger_cleaner`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "command": "ledger_cleaner", + "max_ledger": 13818756, + "min_ledger": 13818000, + "stop": false +} +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:--------------|:--------------------------------|:---------------------------| +| `ledger` | 数値(レジャーシーケンス番号) | _(省略可)_ 指定されている場合は、このレジャーのみをチェックして訂正します。 | +| `max_ledger` | 数値(レジャーシーケンス番号) | _(省略可)_ シーケンス番号がこの番号以下のレジャーをチェックするようにレジャークリーナーを設定します。 | +| `min_ledger` | 数値(レジャーシーケンス番号) | _(省略可)_ シーケンス番号がこの番号以上のレジャーをチェックするようにレジャークリーナーを設定します。 | +| `full` | ブール値 | _(省略可)_ trueの場合は、指定されたレジャーのレジャー状態オブジェクトとトランザクションを修正します。デフォルトではfalseです。`ledger`が指定されている場合は、自動的に`true`に設定されます。 | +| `fix_txns` | ブール値 | _(省略可)_ trueの場合は、指定されたレジャーのトランザクションを修正します。指定されている場合は`full`をオーバーライドします。 | +| `check_nodes` | ブール値 | _(省略可)_ trueの場合は、指定されているレジャーのレジャー状態オブジェクトを修正します。指定されている場合は`full`をオーバーライドします。 | +| `stop` | ブール値 | _(省略可)_ trueの場合は、レジャークリーナーを無効にします。 | + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +200 OK +{ + "result" : { + "message" : "Cleaner configured", + "status" : "success" + } +} + +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:---------------------------------| +| `message` | 文字列 | `Cleaner configured` : 正常終了の場合。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `internal` : いずれかのパラメーターが正しく指定されていない場合。(これはバグです。本来のエラーコードは`invalidParams`です。) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_request.ja.md b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_request.ja.md new file mode 100644 index 0000000000..54579273d3 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_request.ja.md @@ -0,0 +1,183 @@ +# ledger_request +[[ソース]
](https://github.com/ripple/rippled/blob/e980e69eca9ea843d200773eb1f43abe3848f1a0/src/ripple/rpc/handlers/LedgerRequest.cpp "Source") + +`ledger_request`コマンドは、サーバーに対し接続しているピアから特定のレジャーバージョンを取得するように指示します。これは、サーバーが直接接続しているピアの1つにそのレジャーが存在している場合にのみ機能します。場合によっては、レジャーを完全に取得するにはこのコマンドを繰り返し実行する必要があります。 + +*`ledger_request`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 102, + "command": "ledger_request", + "ledger_index": 13800000 +} +``` + +*コマンドライン* + +``` +rippled ledger_request 13800000 +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------|:---------------------------------------------------| +| `ledger_index` | 数値 | _(省略可)_[レジャーインデックス][]により指定されたレジャーを取得します。 | +| `ledger_hash` | 文字列 | _(省略可)_ 識別用[ハッシュ][]により指定されたレジャーを取得します。 | + +`ledger_index`または`ledger_hash`のいずれかを指定する必要がありますが、両方は指定しないでください。 + +### 応答フォーマット + +応答は[標準フォーマット][]に従っています。ただし、_`rippled`サーバーに対してレジャーの取得開始を正常に指示できた場合でも_、指定されたレジャーがない場合には失敗を示す応答が要求から返されます。 + +**注記:** レジャーを取得するには、rippledサーバーのダイレクトピアの履歴にそのレジャーが含まれている必要があります。どのピアにも要求されたレジャーがない場合は、[connectメソッド][]または構成ファイルの`fixed_ips`セクションを使用して、`s2.ripple.com`にあるRippleのすべての履歴が記録されるサーバーを追加すれば、`ledger_request`要求を再度実行できます。 + +失敗した場合の応答には、レジャーの取得状況が示されます。成功した場合の応答には、[ledgerメソッド][]に類似したフォーマットでレジャーの情報が含まれます。 + + + +*コマンドライン(失敗)* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "acquiring" : { + "hash" : "01DDD89B6605E20338B8EEB8EB2B0E0DD2F685A2B164F3790C4D634B5734CC26", + "have_header" : false, + "peers" : 2, + "timeouts" : 0 + }, + "error" : "lgrNotFound", + "error_code" : 20, + "error_message" : "acquiring ledger containing requested index", + "request" : { + "command" : "ledger_request", + "ledger_index" : 18851277 + }, + "status" : "error" + } +} +``` + +*コマンドライン(進行中)* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "hash" : "EB68B5B4F6F06BF59B6D7532BCB98BB98E2F10C2435D895217AA0AA7E910FBD5", + "have_header" : true, + "have_state" : false, + "have_transactions" : false, + "needed_state_hashes" : [ + "C46F7B9E795135447AF24BAF999AB8FC1612A997F6EAAF8B784C226FF0BD8E25", + "E48F528E4FC2A1DC492C6264B27B420E2285B2A3ECF3A253DB480DA5BFB7F858", + "B62CD0B2E1277F78BC279FA037F3F747587299B60D23A551C3F63DD137DC0CF8", + "30014C55701FB8426E496A47B297BEC9E8F5BFA47763CC22DBD9024CC81D39DD", + "7EB59A853913898FCEA7B701637F33B1054BD36C32A0B910B612EFB9CDFF6334", + "07ECAD3066D62583883979A2FADAADC8F7D89FA07375843C8A47452639AB2421", + "97A87E5246AF78463485CB27E08D561E22AAF33D5E2F08FE2FACAE0D05CB5478", + "50A0525E238629B32324C9F59B4ECBEFE3C21DC726DB9AB3B6758BD1838DFF68", + "8C541B1ED47C9282E2A28F0B7F3DDFADF06644CAB71B15A3E67D04C5FAFE9BF4", + "2C6CC536C778D8C0F601E35DA7DD9888C288897E4F603E76357CE2F47E8A7A9F", + "309E78DEC67D5725476A59E114850556CC693FB6D92092997ADE97E3EFF473CC", + "8EFF61B6A636AF6B4314CAC0C08F4FED0759E1F782178A822EDE98275E5E4B10", + "9535645E5D249AC0B6126005B79BB981CBA00286E00154D20A3BCF65743EA3CA", + "69F5D6FCB41D1E6CEA5ADD42CBD194086B45E957D497DF7AEE62ADAD485660CE", + "07E93A95DBB0B8A00925DE0DF6D27E41CACC77EF75055A89815006109D82EAD3", + "7FDF25F660235DCAD649676E3E6729DF920A9B0B4B6A3B090A3C64D7BDE2FB20" + ], + "needed_transaction_hashes" : [ + "BA914854F2F5EDFCBD6E3E0B168E5D4CD0FC92927BEE408C6BD38D4F52505A34", + "AE3A2DB537B01EB33BB3A677242DE52C9AE0A64BD9222EE55E52855276E7EA2A", + "E145F737B255D93769673CBA6DEBA4F6AC7387A309DAACC72EA5B07ECF03C215", + "073A118552AA60E1D3C6BE6F65E4AFA01C582D9C41CCC2887244C19D9BFA7741", + "562DB8580CD3FE19AF5CEA61C2858C10091151B924DBF2AEB7CBB8722E683204", + "437C0D1C2391057079E9539CF028823D29E6437A965284F6E54CEBF1D25C5D56", + "1F069486AF5533883609E5C8DB907E97273D9A782DF26F5E5811F1C42ED63A3D", + "CAA6B7DA68EBA71254C218C81A9EA029A179694BDD0D75A49FB03A7D57BCEE49" + ], + "peers" : 6, + "status" : "success", + "timeouts" : 1 + } +} +``` + +*コマンドライン(成功)* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "ledger" : { + "accepted" : true, + "account_hash" : "84EBB27D9510AD5B9A3A328201921B3FD418D4A349E85D3DC69E33C7B506407F", + "close_time" : 486691300, + "close_time_human" : "2015-Jun-04 00:01:40", + "close_time_resolution" : 10, + "closed" : true, + "hash" : "DCF5D723ECEE1EF56D2B0024CD9BDFF2D8E3DC211BD2B9460165922564ACD863", + "ledger_hash" : "DCF5D723ECEE1EF56D2B0024CD9BDFF2D8E3DC211BD2B9460165922564ACD863", + "ledger_index" : "13840000", + "parent_hash" : "8A3F6FBC62C11DE4538D969F9C7966234635FE6CEB1133DDC37220978F8100A9", + "seqNum" : "13840000", + "totalCoins" : "99999022883526403", + "total_coins" : "99999022883526403", + "transaction_hash" : "3D759EF3AF1AE2F78716A8CCB2460C3030F82687E54206E883703372B9E1770C" + }, + "ledger_index" : 13840000, + "status" : "success" + } +} + +``` + + + +3つの応答フォーマットは次のとおりです。 + +1. `lgrNotFound`エラーが返された場合、応答の`acquiring`フィールドには、ピアツーピアネットワークからのレジャー取得状況を示す[レジャー要求オブジェクト](#レジャー要求オブジェクト)が指定されています。 +2. サーバーが現在データを取得中であると応答に示される場合、その結果の本文として、ピアツーピアネットワークからのレジャー取得状況を示す[レジャー要求オブジェクト](#レジャー要求オブジェクト)が表示されます。 +3. レジャーが完全に利用可能な場合、応答には[レジャーヘッダー](ledger-header.html)が表示されます。 + +### レジャー要求オブジェクト + +サーバーでレジャーの取得操作が進行中であり、まだ完了していない場合は、`rippled`サーバーはレジャー取得状況を示すレジャー要求オブジェクトを返します。このオブジェクトのフィールドを次に示します。 + +| `Field` | 型 | 説明 | +|:----------------------------|:-----------------|:----------------------------| +| `hash` | 文字列 | (省略される場合があります)要求されるレジャーの[ハッシュ][](サーバーがこのハッシュを認識している場合)。 | +| `have_header` | ブール値 | 要求されたレジャーのヘッダーセクションがサーバーにあるかどうか。 | +| `have_state` | ブール値 | (省略される場合があります)要求されたレジャーの[アカウント状態セクション](ledgers.html#ツリーの形式)がサーバーにあるかどうか。 | +| `have_transactions` | ブール値 | (省略される場合があります)要求されたレジャーのトランザクションセクションがサーバーにあるかどうか。 | +| `needed_state_hashes` | 文字列の配列 | (省略される場合があります)サーバーが取得する必要がある[状態ツリー](ledgers.html#ツリーの形式)内のオブジェクトのハッシュ(最大16個)。 | +| `needed_transaction_hashes` | 文字列の配列 | (省略される場合があります)サーバーが取得する必要があるトランザクションツリー内のオブジェクトのハッシュ(最大16個)。 | +| `peers` | 数値 | このレジャーを見つけるためにサーバーが照会するピアの数。 | +| `timeouts` | 数値 | これまでにこのレジャーの取得操作がタイムアウトした回数。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。このエラーは、指定したレジャーインデックスが現在進行中のレジャーのインデックス以上である場合にも発生します。 +* `lgrNotFound` - レジャーがまだ利用可能ではない場合。これは、サーバーがレジャーの取得を開始していますが、要求されたレジャーが接続されたどのピアにもない場合には失敗する可能性があることを意味します。(以前はこのエラーにはコード`ledgerNotFound`が使用されていました。)[更新: rippled 0.30.1][新規: rippled 0.30.1] + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/log_level.ja.md b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/log_level.ja.md new file mode 100644 index 0000000000..1e10876db5 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/log_level.ja.md @@ -0,0 +1,140 @@ +# log_level +[[ソース]
](https://github.com/ripple/rippled/blob/155fcdbcd0b4927152892c8c8be01d9cf62bed68/src/ripple/rpc/handlers/LogLevel.cpp "Source") + +`log_level`コマンドは`rippled`サーバーのログ詳細レベルを変更するか、各ログメッセージカテゴリー(_パーティション_)の現在のログレベルを返します。 + +_`log_level`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "ll1", + "command": "log_level", + "severity": "debug", + "partition": "PathRequest" +} +``` + +*コマンドライン* + +``` +#Syntax: log_level [[partition] severity] +rippled log_level PathRequest debug +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:------------|:-------|:------------------------------------------------------| +| `severity` | 文字列 | _(省略可)_ 設定するログの詳細レベル。以下に、有効な値を詳細レベルの低いものから順に示します。`fatal`、`error`、`warn`、`info`、`debug`、および`trace`。省略すると、すべてのカテゴリーの現在のログ詳細レベルが返されます。 | +| `partition` | 文字列 | _(省略可)_`severity`が指定されていない場合は無視されます。変更するログカテゴリー。省略されている場合、または`base`の値が指定されている場合は、すべてのカテゴリーのログレベルを設定します。 | + +### 応答フォーマット + +成功した場合の応答例: + + + +*コマンドライン(ログレベルの設定)* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "status" : "success" + } +} +``` + +*コマンドライン(ログレベルの確認)* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "levels" : { + "AmendmentTable" : "Error", + "Application" : "Error", + "CancelOffer" : "Error", + "Collector" : "Error", + "CreateOffer" : "Error", + "DeferredCredits" : "Error", + "FeeVote" : "Error", + "InboundLedger" : "Error", + "JobQueue" : "Error", + "Ledger" : "Error", + "LedgerCleaner" : "Error", + "LedgerConsensus" : "Error", + "LedgerEntrySet" : "Error", + "LedgerMaster" : "Error", + "LedgerTiming" : "Error", + "LoadManager" : "Error", + "LoadMonitor" : "Error", + "NetworkOPs" : "Error", + "NodeObject" : "Error", + "OrderBookDB" : "Error", + "Overlay" : "Error", + "PathRequest" : "Debug", + "Payment" : "Error", + "Peer" : "Error", + "PeerFinder" : "Error", + "Protocol" : "Error", + "RPC" : "Error", + "RPCErr" : "Error", + "RPCHandler" : "Error", + "RPCManager" : "Error", + "Resolver" : "Error", + "Resource" : "Error", + "RippleCalc" : "Error", + "SHAMap" : "Error", + "SHAMapStore" : "Error", + "SNTPClient" : "Error", + "STAmount" : "Error", + "SerializedLedger" : "Error", + "Server" : "Error", + "SetAccount" : "Error", + "SetTrust" : "Error", + "TaggedCache" : "Error", + "TransactionAcquire" : "Error", + "TransactionEngine" : "Error", + "UVL" : "Error", + "UniqueNodeList" : "Error", + "Validations" : "Error", + "WALCheckpointer" : "Error", + "WebSocket" : "Trace", + "base" : "Error" + }, + "status" : "success" + } +} +``` + + + +応答は[標準フォーマット][]に従っています。応答フォーマットは、要求に`severity`が指定されているかどうかに応じて異なります。指定されていた場合はログレベルが変更され、成功した場合の結果には追加フィールドが含まれません。 + +それ以外の場合、要求には以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:--------|:-------|:----------------------------------------------------------| +| `level` | オブジェクト | 各カテゴリーの現在のログレベル。このカテゴリーリストは、今後のリリースで予告なく変更される場合があります。このコマンドに対する要求で、フィールド名を`partition`の値として使用できます。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/logrotate.ja.md b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/logrotate.ja.md new file mode 100644 index 0000000000..8b0d1d0515 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/logrotate.ja.md @@ -0,0 +1,80 @@ +# logrotate +[[ソース]
](https://github.com/ripple/rippled/blob/743bd6c9175c472814448ea889413be79dfd1c07/src/ripple/rpc/handlers/LogRotate.cpp "Source") + +`logrotate`コマンドは、ログファイルを閉じて再度開きます。これは、Linuxファイルシステムでのログローテーションを促進することを目的としています。 + +_`logrotate`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "lr1", + "command": "logrotate" +} +``` + +*コマンドライン* + +``` +rippled logrotate +``` + + + +要求にはパラメーターが含まれていません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +200 OK +{ + "result" : { + "message" : "The log file was closed and reopened.", + "status" : "success" + } +} + +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "message" : "The log file was closed and reopened.", + "status" : "success" + } +} + +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `message` | 文字列 | 正常に完了した場合、次のメッセージが含まれています。 `The log file was closed and reopened.` | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/server-control-methods/connect.ja.md b/content/references/rippled-api/admin-rippled-methods/server-control-methods/connect.ja.md new file mode 100644 index 0000000000..cadd2ed084 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/server-control-methods/connect.ja.md @@ -0,0 +1,101 @@ +# connect +[[ソース]
](https://github.com/ripple/rippled/blob/a61ffab3f9010d8accfaa98aa3cacc7d38e74121/src/ripple/rpc/handlers/Connect.cpp "Source") + +`connect`コマンドは、`rippled`サーバーを特定のピア`rippled`サーバーに強制的に接続します。 + +*`connect`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "command": "connect", + "ip": "192.170.145.88", + "port": 51235 +} +``` + +*JSON-RPC* + +``` +{ + "method": "connect", + "params": [ + { + "ip": "192.170.145.88", + "port": 51235 + } + ] +} +``` + + +*コマンドライン* + +``` +#Syntax: connect ip [port] +rippled connect 192.170.145.88 51235 +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:--------|:-------|:----------------------------------------------------------| +| `ip` | 文字列 | 接続するサーバーのIPアドレス。 | +| `port` | 数値 | _(省略可)_ 接続時に使用するポート番号。デフォルトでは6561です。 | + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +{ + "result" : { + "message" : "connecting", + "status" : "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "message" : "connecting", + "status" : "success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:-------------------------------------------------------| +| `message` | 文字列 | コマンドが成功した場合の値は`connecting`。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* スタンドアロンモードでは接続できません - スタンドアロンモードではネットワーク関連のコマンドが無効にされています。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/server-control-methods/ledger_accept.ja.md b/content/references/rippled-api/admin-rippled-methods/server-control-methods/ledger_accept.ja.md new file mode 100644 index 0000000000..27469b2dce --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/server-control-methods/ledger_accept.ja.md @@ -0,0 +1,64 @@ +# ledger_accept +[[ソース]
](https://github.com/ripple/rippled/blob/a61ffab3f9010d8accfaa98aa3cacc7d38e74121/src/ripple/rpc/handlers/LedgerAccept.cpp "Source") + +`ledger_accept`メソッドは、サーバーが現在処理中のレジャーを強制的に終了し、次のレジャー番号に進むようにします。このメソッドはテスト専用であり、`rippled`サーバーがスタンドアロンモードで実行されている場合にのみ使用できます。 + +*`ledger_accept`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "Accept my ledger!", + "command": "ledger_accept" +} +``` + +*コマンドライン* + +``` +#Syntax: ledger_accept +rippled ledger_accept +``` + + + +この要求はパラメーターを受け入れません。 + +### 応答フォーマット + +処理が成功した応答の例: +```js +{ + "id": "Accept my ledger!", + "status": "success", + "type": "response", + "result": { + "ledger_current_index": 6643240 + } +} +``` + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-----------------|:---------------------------------| +| `ledger_current_index` | 符号なし整数 | 新規に作成される「現行」レジャーのシーケンス番号 | + +**注記:** レジャーを閉鎖すると、`rippled`がそのレジャーのトランザクションの正規順序を決定してリプレイします。これにより、以前に現行レジャーに暫定的に適用されていたトランザクションの結果が変化することがあります。 + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `notStandAlone` - `rippled`サーバーが現在スタンドアロンモードで実行されていない場合。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/server-control-methods/stop.ja.md b/content/references/rippled-api/admin-rippled-methods/server-control-methods/stop.ja.md new file mode 100644 index 0000000000..5a579a58da --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/server-control-methods/stop.ja.md @@ -0,0 +1,88 @@ +# stop +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Stop.cpp "Source") + +サーバーのグレースフルシャットダウンを行います。 + +_`stop`要求は、権限のないユーザーは実行できない*[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 0, + "command": "stop" +} +``` + +*JSON-RPC* + +``` +{ + "method": "stop", + "params": [ + {} + ] +} +``` + +*コマンドライン* + +``` +rippled stop +``` + + + +要求にはパラメーターが含まれていません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +{ + "result" : { + "message" : "ripple server stopping", + "status" : "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "message" : "ripple server stopping", + "status" : "success" + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:-------------------------------------| +| `message` | 文字列 | `ripple server stopping` : 正常終了の場合。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/server-control-methods/validation_seed.ja.md b/content/references/rippled-api/admin-rippled-methods/server-control-methods/validation_seed.ja.md new file mode 100644 index 0000000000..7fa8646db8 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/server-control-methods/validation_seed.ja.md @@ -0,0 +1,91 @@ +# validation_seed +[[ソース]
](https://github.com/ripple/rippled/blob/a61ffab3f9010d8accfaa98aa3cacc7d38e74121/src/ripple/rpc/handlers/ValidationSeed.cpp "Source") + +`validation_seed`コマンドは、rippledが検証の署名に使用するシークレット値を一時的に設定します。サーバーを再起動すると、この値は構成ファイルに基づいてリセットされます。[rippled 0.29.1 以降では無効](https://github.com/ripple/rippled/releases/tag/0.29.1-rc1 "BADGE_RED") + +*`validation_seed`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "set_seed_1", + "command": "validation_seed", + "secret": "BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE" +} +``` + +*コマンドライン* + +``` +#Syntax: validation_seed [secret] +rippled validation_seed 'BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE' +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `secret` | 文字列 | _(省略可)_ 指定されている場合は、この値はキーペアの検証のためのシークレット値として使用されます。有効なフォーマットには、XRP Ledgerの[base58][]フォーマット、[RFC-1751](https://tools.ietf.org/html/rfc1751)、またはパスフレーズがあります。省略されている場合は、ネットワークへの検証の提案が無効になります。 | + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +200 OK +{ + "result" : { + "status" : "success", + "validation_key" : "BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE", + "validation_public_key" : "n9Jx6RS6zSgqsgnuWJifNA9EqgjTKAywqYNReK5NRd1yLBbfC3ng", + "validation_seed" : "snjJkyBGogTem5dFGbcRaThKq2Rt3" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "status" : "success", + "validation_key" : "BAWL MAN JADE MOON DOVE GEM SON NOW HAD ADEN GLOW TIRE", + "validation_public_key" : "n9Jx6RS6zSgqsgnuWJifNA9EqgjTKAywqYNReK5NRd1yLBbfC3ng", + "validation_seed" : "snjJkyBGogTem5dFGbcRaThKq2Rt3" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:------------------------|:-------|:------------------------------------------| +| `validation_key` | 文字列 | (提案が無効な場合には省略可)これらの検証クレデンシャルのシークレットキー([RFC-1751](https://tools.ietf.org/html/rfc1751)フォーマット)。 | +| `validation_public_key` | 文字列 | (提案が無効な場合には省略可)これらの検証クレデンシャルの公開鍵(XRP Ledgerの[base58][]エンコード文字列フォーマット) | +| `validation_seed` | 文字列 | (提案が無効な場合には省略可)これらの検証クレデンシャルのシークレットキー(XRP Ledgerの[base58][]エンコード文字列フォーマット) | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `badSeed` - 要求に無効なシークレット値が指定されていました。この場合は通常、シークレット値が異なるフォーマットの有効文字列(アカウントアドレス、検証の公開鍵など)である可能性があります。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/consensus_info.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/consensus_info.ja.md new file mode 100644 index 0000000000..7d647a18b2 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/consensus_info.ja.md @@ -0,0 +1,233 @@ +# consensus_info +[[ソース]
](https://github.com/ripple/rippled/blob/a61ffab3f9010d8accfaa98aa3cacc7d38e74121/src/ripple/rpc/handlers/ConsensusInfo.cpp "Source") + +`consensus_info`コマンドは、デバッグのためのコンセンサスプロセスに関する情報を返します。 + +_`consensus_info`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 99, + "command": "consensus_info" +} +``` + +*JSON-RPC* + +``` +{ + "method": "consensus_info", + "params": [ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: consensus_info +rippled consensus_info +``` + + + +この要求にはパラメーターはありません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +{ + "result" : { + "info" : { + "acquired" : { + "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" : "acquired" + }, + "close_granularity" : 10, + "close_percent" : 50, + "close_resolution" : 10, + "close_times" : { + "486082972" : 1, + "486082973" : 4 + }, + "current_ms" : 1003, + "have_time_consensus" : false, + "ledger_seq" : 13701086, + "our_position" : { + "close_time" : 486082973, + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "peer_positions" : { + "0A2EAF919033A036D363D4E5610A66209DDBE8EE" : { + "close_time" : 486082972, + "peer_id" : "n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "1567A8C953A86F8428C7B01641D79BBF2FD508F3" : { + "close_time" : 486082973, + "peer_id" : "n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "202397A81F20B44CF44EA99AF761295E5A8397D2" : { + "close_time" : 486082973, + "peer_id" : "n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "5C29005CF4FB479FC49EEFB4A5B075C86DD963CC" : { + "close_time" : 486082973, + "peer_id" : "n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "EFC49EB648E557CC50A72D715249B80E071F7705" : { + "close_time" : 486082973, + "peer_id" : "n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + } + }, + "previous_mseconds" : 2005, + "previous_proposers" : 5, + "proposers" : 5, + "proposing" : false, + "state" : "consensus", + "synched" : true, + "validating" : false + }, + "status" : "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "info" : { + "acquired" : { + "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" : "acquired" + }, + "close_granularity" : 10, + "close_percent" : 50, + "close_resolution" : 10, + "close_times" : { + "486082972" : 1, + "486082973" : 4 + }, + "current_ms" : 1003, + "have_time_consensus" : false, + "ledger_seq" : 13701086, + "our_position" : { + "close_time" : 486082973, + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "peer_positions" : { + "0A2EAF919033A036D363D4E5610A66209DDBE8EE" : { + "close_time" : 486082972, + "peer_id" : "n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "1567A8C953A86F8428C7B01641D79BBF2FD508F3" : { + "close_time" : 486082973, + "peer_id" : "n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "202397A81F20B44CF44EA99AF761295E5A8397D2" : { + "close_time" : 486082973, + "peer_id" : "n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "5C29005CF4FB479FC49EEFB4A5B075C86DD963CC" : { + "close_time" : 486082973, + "peer_id" : "n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + }, + "EFC49EB648E557CC50A72D715249B80E071F7705" : { + "close_time" : 486082973, + "peer_id" : "n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7", + "previous_ledger" : "0BB01379B51234BAAF501A71C7AB147F595460B689BB9E8252A0B87B5A483623", + "propose_seq" : 0, + "transaction_hash" : "4BC2CE596CBD1321775320E2067F9C06D3862826212C16EF42ABB6A2B0414306" + } + }, + "previous_mseconds" : 2005, + "previous_proposers" : 5, + "proposers" : 5, + "proposing" : false, + "state" : "consensus", + "synched" : true, + "validating" : false + }, + "status" : "success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:--------|:-------|:----------------------------------------------------------| +| `info` | オブジェクト | コンセンサスのデバッグで役立つ可能性のある情報。この出力は、予告なく変更される可能性があります。 | + +`info`オブジェクトに含まれる可能性のあるフィールドについて以下に簡単に説明します。 + +| `Field` | 型 | 説明 | +|:-----------------|:--------|:------------------------------------------------| +| `ledger_seq` | 数値 | 現在コンセンサスプロセスにあるレジャーのシーケンス番号。 | +| `our_position` | オブジェクト | コンセンサスプロセスにあるレジャーについてサーバーが予期する内容。 | +| `peer_positions` | オブジェクト | コンセンサスプロセスにあるピアと各ピアが提案するレジャーバージョンのマップ。 | +| `proposers` | 数値 | このコンセンサスプロセスに参加している信頼できるバリデータの数。信頼できるバリデータは、このサーバー構成に応じて異なります。 | +| `synched` | ブール値 | このサーバー自体が、自分がネットワークと同期中であるとみなしているかどうか。 | +| `state` | 文字列 | 現在進行中のコンセンサスプロセスの部分: `open`、`consensus`、`finished`、または`accepted`。 | + +`info`の唯一のフィールドが`"consensus": "none"`である最小限の結果となることもありますが、これは正常です。これは、サーバーがコンセンサスラウンドの合間にあることを示します。 + +`consensus_info`コマンドを短い間隔で連続して数回実行すると、このコマンドの結果が大きく変化することがあります。 + + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/feature.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/feature.ja.md new file mode 100644 index 0000000000..4426dc6513 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/feature.ja.md @@ -0,0 +1,193 @@ +# feature +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Feature1.cpp "Source") + +`feature`コマンドは、[Amendment](amendments.html)に関してこのサーバーが認識している情報(Amendmentが有効であるかどうか、サーバーが[Amendmentプロセス](amendments.html#amendmentプロセス)でこれらのAmendmentに賛成票を投じたかどうかなど)を返します。[新規: rippled 0.31.0][] + +`feature`コマンドを使用して、Amendmentへの賛成票または反対票を投じるようにサーバーを一時的に設定できます。この変更は、サーバーの再起動後までは持続しません。Amendment投票で持続する変更を行うには`rippled.cfg`ファイルを使用します。詳細は、[Amendment投票の設定](amendments.html#amendment投票の設定)を参照してください。 + +_`feature`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket - すべてリスト* + +``` +{ + "id": "list_all_features", + "command": "feature" +} +``` + +*WebSocket - 拒否* + +``` +{ + "id": "reject_multi_sign", + "command": "feature", + "feature": "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", + "vetoed": true +} +``` + +*JSON-RPC* + +``` +{ + "method": "feature", + "params": [ + { + "feature": "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", + "vetoed": false + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: feature [ [accept|reject]] +rippled feature 4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 accept +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:----------|:--------|:-------------------------------------------------------| +| `feature` | 文字列 | _(省略可)_ Amendmentの一意のID(16進数)またはAmendmentの短い名前。指定されている場合は、応答が1つのAmendmentに限定されます。それ以外の場合は応答にすべてのAmendmentのリストが表示されます。 | +| `vetoed` | ブール値 | (省略可、`feature`が指定されていない場合は無視されます)trueの場合、サーバーに対し`feature`で指定されたAmendmentに反対票を投じるように指示します。falseの場合、サーバーに対しAmendmentに賛成票を投じるように指示します。 | + +**注記:** サーバーが新しいAmendmentの適用方法を現在認識していない場合でも、`feature`フィールドにAmendment IDを指定すれば、新しいAmendmentに賛成票を投じるようにサーバーを設定できます。たとえば、Amendmentを _確かに_ サポートする新しい`rippled`バージョンに間もなくアップグレードする予定がある場合などにこのように設定できます。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket - すべてリスト* + +``` +{ + "id": "list_all_features", + "status": "success", + "type": "response", + "result": { + "features": { + "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE": { + "enabled": false, + "name": "FeeEscalation", + "supported": true, + "vetoed": false + }, + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": { + "enabled": false, + "name": "MultiSign", + "supported": true, + "vetoed": false + }, + "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC": { + "enabled": false, + "name": "TrustSetAuth", + "supported": true, + "vetoed": false + }, + "C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490": { + "enabled": false, + "name": "Tickets", + "supported": true, + "vetoed": false + }, + "DA1BD556B42D85EA9C84066D028D355B52416734D3283F85E216EA5DA6DB7E13": { + "enabled": false, + "name": "SusPay", + "supported": true, + "vetoed": false + } + } + } +} +``` + +*WebSocket - 拒否* + +``` +{ + "id": "reject_multi_sign", + "status": "success", + "type": "response", + "result": { + "features": { + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": { + "enabled": false, + "name": "MultiSign", + "supported": true, + "vetoed": true + } + } + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": { + "enabled": false, + "name": "MultiSign", + "supported": true, + "vetoed": false + }, + "status": "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result": { + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": { + "enabled": false, + "name": "MultiSign", + "supported": true, + "vetoed": false + }, + "status": "success" + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に**Amendmentのマップ**がJSONプロジェクトとして含まれています。オブジェクトのキーはAmendment IDです。各キーの値は、そのIDのAmendmentのステータスを記述した _Amendmentオブジェクト_ です。要求に`feature`が指定されいる場合、要求による変更の適用後には、要求されたAmendmentオブジェクトだけがマップに含まれます。各Amendmentオブジェクトのフィールドを次に示します。 + +| `Field` | 型 | 説明 | +|:------------|:--------|:-----------------------------------------------------| +| `enabled` | ブール値 | 最新レジャーでこのAmendmentが現在有効であるかどうか。 | +| `name` | 文字列 | (省略される場合があります)このAmendmentの人間が読める形式の名前(判明している場合)。 | +| `supported` | ブール値 | サーバーがこのAmendmentの適用方法を認識しているかどうか。このフィールドが`false`(サーバーがこのAmendmentの適用方法を認識していない)に設定されており、`enabled`が`true`(このAmendmentが最新レジャーで有効である)に設定されている場合、このAmendmentによりサーバーが[Amendment blocked](amendments.html#amendment-blocked)になる可能性があります。 | +| `vetoed` | ブール値 | サーバーがこのAmendmentに反対票を投じるように指示されているかどうか。 | + +**注意:** Amendmentの`name`は、Amendmentの内容を厳密に示すものではありません。サーバー間でこの名前が一意であることや整合性があることは保証されません。 + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `badFeature` - 指定されている`feature`のフォーマットが正しくないか、サーバーがその名前のAmendmentを認識していません。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/fetch_info.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/fetch_info.ja.md new file mode 100644 index 0000000000..8bed024f08 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/fetch_info.ja.md @@ -0,0 +1,161 @@ +# fetch_info +[[ソース]
](https://github.com/ripple/rippled/blob/315a8b6b602798a4cff4d8e1911936011e12abdb/src/ripple/rpc/handlers/FetchInfo.cpp "Source") + +`fetch_info`コマンドは、このサーバーが現在ネットワークからフェッチしているオブジェクトに関する情報と、その情報を所有しているピアの数を返します。これは現在の取得操作をリセットする場合にも使用できます。 + +_`fetch_info`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 91, + "command": "fetch_info", + "clear": false +} +``` + +*JSON-RPC* + +``` +{ + "method": "fetch_info", + "params": [ + { + "clear": false + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: fetch_info [clear] +rippled fetch_info +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:--------|:--------|:---------------------------------------------------------| +| `clear` | ブール値 | `true`の場合、現在のフェッチ操作がリセットされます。それ以外の場合、進行中のフェッチ操作のステータスのみが取得されます。 | + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +{ + "result" : { + "info" : { + "348928" : { + "hash" : "C26D432B06F84861BCACD7942EDC3FE0B2E1DEB966A9E516A0FD275A375C2010", + "have_header" : true, + "have_state" : false, + "have_transactions" : true, + "needed_state_hashes" : [ + "BF8DC6B1E10D1D3565BF0649075D22EBFD34F751AFCC0E53E81D74786BC88922", + "34E37A71CB51A12C73A435250E6A6349F7884C7EEBA6B88FA31F0244E967E88F", + "BFB7D3008A7D61FD6A0538D1C2E70CFB94CE8DC66606319C372F278A48629765", + "41C0C61D701FB1EA586F0EF1FC7A91FEC476D979589DA60507F05C13F7C21975", + "6DDE8840A2C3C7FF05E5FFEE4D06408694C16A8357338FE0C4581DC3D8A00BBA", + "6C69D833B582C849917806FA009518832BB50E900E43716FD7CC1966428DD0CF", + "1EDC020CFC4AF19B625C52E20B66D6AE672821CCC461E8A9C457A3B2955657F7", + "FC0616A66A2B0589CA513F3341D4EA51E782C4601E5072308478E3CC19264640", + "19FC607B5DE1B64681A676EC1ED5507B9555B0E098CD9D898320297DE1A64033", + "5E128D3FC990074E35687387A14AA12D9FD287E5AB57CB9B2FD83DE635DF5CA9", + "DE72820F3981770F2AA8770BC233B80661F1A452819D8529008875FF8DED87A9", + "3ACB84BEE2C45556351FF60FD787D235C9CF5623FB8A35B01446B773598E7CC0", + "0DD3A8DF69874148057F1F2BF305442FF2E89A76A08B4CC8C051E2ED69B874F3", + "4AE9A9C4F12A5BD0355037DA40A0B145420A2168A9FEDE43E643BD13062F8ECE", + "08CBF8CFFEC207F5AC4E4F24BC447011FD8C79D25B344281FBFB4732D7058ED4", + "779B2577C5C4BAED6657421448EA506BBF50F86BE363E0924127C4EA17A58BBE" + ], + "peers" : 2, + "timeouts" : 0 + } + }, + "status" : "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "info" : { + "348928" : { + "hash" : "C26D432B06F84861BCACD7942EDC3FE0B2E1DEB966A9E516A0FD275A375C2010", + "have_header" : true, + "have_state" : false, + "have_transactions" : true, + "needed_state_hashes" : [ + "BF8DC6B1E10D1D3565BF0649075D22EBFD34F751AFCC0E53E81D74786BC88922", + "34E37A71CB51A12C73A435250E6A6349F7884C7EEBA6B88FA31F0244E967E88F", + "BFB7D3008A7D61FD6A0538D1C2E70CFB94CE8DC66606319C372F278A48629765", + "41C0C61D701FB1EA586F0EF1FC7A91FEC476D979589DA60507F05C13F7C21975", + "6DDE8840A2C3C7FF05E5FFEE4D06408694C16A8357338FE0C4581DC3D8A00BBA", + "6C69D833B582C849917806FA009518832BB50E900E43716FD7CC1966428DD0CF", + "1EDC020CFC4AF19B625C52E20B66D6AE672821CCC461E8A9C457A3B2955657F7", + "FC0616A66A2B0589CA513F3341D4EA51E782C4601E5072308478E3CC19264640", + "19FC607B5DE1B64681A676EC1ED5507B9555B0E098CD9D898320297DE1A64033", + "5E128D3FC990074E35687387A14AA12D9FD287E5AB57CB9B2FD83DE635DF5CA9", + "DE72820F3981770F2AA8770BC233B80661F1A452819D8529008875FF8DED87A9", + "3ACB84BEE2C45556351FF60FD787D235C9CF5623FB8A35B01446B773598E7CC0", + "0DD3A8DF69874148057F1F2BF305442FF2E89A76A08B4CC8C051E2ED69B874F3", + "4AE9A9C4F12A5BD0355037DA40A0B145420A2168A9FEDE43E643BD13062F8ECE", + "08CBF8CFFEC207F5AC4E4F24BC447011FD8C79D25B344281FBFB4732D7058ED4", + "779B2577C5C4BAED6657421448EA506BBF50F86BE363E0924127C4EA17A58BBE" + ], + "peers" : 2, + "timeouts" : 0 + } + }, + "status" : "success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:--------|:-------|:----------------------------------------------------------| +| `info` | オブジェクト | フェッチ対象のオブジェクトと、そのフェッチ対象オブジェクトのステータスのマップ。フェッチ対象のレジャーはそのシーケンス番号によって識別されます。フェッチ対象のレジャーとその他のオブジェクトがハッシュによって識別されることもあります。 | + +進行中のフェッチ操作を記述するフィールドは、予告なく変更される可能性があります。以下のフィールドが含まれている可能性があります。 + +| `Field` | 型 | 説明 | +|:----------------------|:------------------------|:---------------------------| +| `hash` | 文字列 | フェッチ対象アイテムのハッシュ。 | +| `have_header` | ブール値 | レジャーの場合、このサーバーがすでにレジャーのヘッダーセクションを取得しているかどうか。 | +| `have_transactions` | ブール値 | レジャーの場合、このサーバーがすでにレジャーのトランザクションセクションを取得しているかどうか。 | +| `needed_state_hashes` | (ハッシュ)文字列の配列 | まだ必要とされる、このアイテムの状態オブジェクトのハッシュ値。必要なハッシュの数が16を超えている場合、応答には最初の16個のハッシュのみが含まれます。 | +| `peers` | 数値 | このアイテムが利用可能であるピアの数。 | +| `timeouts` | 数値 | このアイテムをフェッチしようとしてタイムアウトになった(2.5秒)回数。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/get_counts.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/get_counts.ja.md new file mode 100644 index 0000000000..e9c84f4001 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/get_counts.ja.md @@ -0,0 +1,153 @@ +# get_counts +[[ソース]
](https://github.com/ripple/rippled/blob/c7118a183a660648aa88a3546a6b2c5bce858440/src/ripple/rpc/handlers/GetCounts.cpp "Source") + +`get_counts`コマンドは、サーバーの健全性に関するさまざまな統計情報を提供します。そのほとんどは、現在メモリーに格納されている各種オブジェクトの数です。 + +_`get_counts`メソッドは、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。_ + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 90, + "command": "get_counts", + "min_count": 100 +} +``` + +*JSON-RPC* + +``` +{ + "method": "get_counts", + "params": [ + { + "min_count": 100 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: get_counts [min_count] +rippled get_counts 100 +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:------------|:--------------------------|:-----------------------------------| +| `min_count` | 数値(符号なし整数) | この値以上の値を含むフィールドのみを返します。 | + +### 応答フォーマット + +処理が成功した応答の例: + + + +*JSON-RPC* + +``` +{ + "result" : { + "AL_hit_rate" : 48.36725616455078, + "HashRouterEntry" : 3048, + "Ledger" : 46, + "NodeObject" : 10417, + "SLE_hit_rate" : 64.62035369873047, + "STArray" : 1299, + "STLedgerEntry" : 646, + "STObject" : 6987, + "STTx" : 4104, + "STValidation" : 610, + "Transaction" : 4069, + "dbKBLedger" : 10733, + "dbKBTotal" : 39069, + "dbKBTransaction" : 26982, + "fullbelow_size" : 0, + "historical_perminute" : 0, + "ledger_hit_rate" : 71.0565185546875, + "node_hit_rate" : 3.808214902877808, + "node_read_bytes" : 393611911, + "node_reads_hit" : 1283098, + "node_reads_total" : 679410, + "node_writes" : 1744285, + "node_written_bytes" : 794368909, + "status" : "success", + "treenode_cache_size" : 6650, + "treenode_track_size" : 598631, + "uptime" : "3 hours, 50 minutes, 27 seconds", + "write_load" : 0 + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "AL_hit_rate" : 48.36725616455078, + "HashRouterEntry" : 3048, + "Ledger" : 46, + "NodeObject" : 10417, + "SLE_hit_rate" : 64.62035369873047, + "STArray" : 1299, + "STLedgerEntry" : 646, + "STObject" : 6987, + "STTx" : 4104, + "STValidation" : 610, + "Transaction" : 4069, + "dbKBLedger" : 10733, + "dbKBTotal" : 39069, + "dbKBTransaction" : 26982, + "fullbelow_size" : 0, + "historical_perminute" : 0, + "ledger_hit_rate" : 71.0565185546875, + "node_hit_rate" : 3.808214902877808, + "node_read_bytes" : 393611911, + "node_reads_hit" : 1283098, + "node_reads_total" : 679410, + "node_writes" : 1744285, + "node_written_bytes" : 794368909, + "status" : "success", + "treenode_cache_size" : 6650, + "treenode_track_size" : 598631, + "uptime" : "3 hours, 50 minutes, 27 seconds", + "write_load" : 0 + } +} +``` + + + +応答は[標準フォーマット][]に従っています。結果に含まれるフィールドのリストは、予告なく変更される可能性がありますが、(特に)以下のいずれかが含まれます。 + +| `Field` | 型 | 説明 | +|:--------------|:-------|:----------------------------------------------------| +| `Transaction` | 数値 | メモリー内の`Transaction`オブジェクトの数 | +| `Ledger` | 数値 | メモリー内のレジャーの数 | +| `uptime` | 文字列 | このサーバーの連続稼働時間。 | + +その他のほとんどのエントリーでは、値はメモリー内に現在保持されている当該タイプのオブジェクトの数を示します。 + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/peers.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/peers.ja.md new file mode 100644 index 0000000000..74f25ec043 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/peers.ja.md @@ -0,0 +1,414 @@ +# peers +[[ソース]
](https://github.com/ripple/rippled/blob/52f298f150fc1530d201d3140c80d3eaf781cb5f/src/ripple/rpc/handlers/Peers.cpp "Source") + +`peers`コマンドは、[ピアプロトコル](peer-protocol.html)でこのサーバーに現在接続されているその他のすべての`rippled`サーバーのリスト(各サーバーの接続状況と同期状況を含む)を返します。 + +*`peers`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "peers" +} +``` + +*コマンドライン* + +``` +rippled peers +``` + + + +この要求には追加パラメーターはありません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "cluster": {}, + "peers": [ + { + "address": "184.172.237.226:51235", + "complete_ledgers": "14534883 - 18828973", + "latency": 117, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 54, + "public_key": "n9KNYm52mgcUQ7R2RA4kyw9Nk1yc6S35PaiuyqjYsy6UjhCXpw12", + "uptime": 55036, + "version": "rippled-0.30.0-hf1" + }, + { + "address": "54.186.248.91:51235", + "complete_ledgers": "18827949 - 18828973", + "latency": 91, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 62, + "public_key": "n9MT5EjnV912KGuBUqPs4tpdhzMPGcnDBrTuWkD9sWQHJ1kDcUcz", + "uptime": 83814, + "version": "rippled-0.30.1" + }, + { + "address": "54.84.21.230:51235", + "complete_ledgers": "18827949 - 18828973", + "latency": 202, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 60, + "public_key": "n9KJb7NMxGySRcjCqh69xEPMUhwJx22qntYYXsnUqYgjsJhNoW7g", + "uptime": 99625, + "version": "rippled-0.30.1" + }, + { + "address": "72.251.233.162:51235", + "complete_ledgers": "18827949 - 18828973", + "latency": 36, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 66, + "public_key": "n9M8RSk6hrvXZKFQ6CxPbJsjt73xW1xsnjn7G69VAMbE2j4sBQNQ", + "uptime": 99619, + "version": "rippled-0.30.1" + }, + { + "address": "162.217.98.136:51235", + "complete_ledgers": "32570 - 18828973", + "latency": 118, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 69, + "public_key": "n944PcXEoZaiEHnwFD92xA4bxsS7jjYb27WcdDQwkHYyk1MWTEsX", + "uptime": 99625, + "version": "rippled-0.30.1" + }, + { + "address": "72.251.233.163:51235", + "complete_ledgers": "18827949 - 18828973", + "latency": 51, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 61, + "public_key": "n94ne2Z5dX8qcJNa8cPtAbtn21gEaCoEduS8TwdGAhi1iLfCUMDm", + "uptime": 99625, + "version": "rippled-0.30.1" + }, + { + "address": "54.186.73.52:51235", + "complete_ledgers": "18827949 - 18828973", + "latency": 72, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 60, + "public_key": "n9JySgyBVcQKvyDoeRKg7s2Mm6ZcFHk22vUZb3o1HSosWxcj9xPt", + "uptime": 99625, + "version": "rippled-0.30.1" + }, + { + "address": "72.251.233.165:51235", + "complete_ledgers": "18827949 - 18828973", + "latency": 40, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 63, + "public_key": "n9M77Uc9CSaSFZqt5V7sxPR4kFwbha7hwUFBD5v5kZt2SQjBeoDs", + "uptime": 99625, + "version": "rippled-0.30.1" + }, + { + "address": "72.251.232.173:51235", + "complete_ledgers": "32570 - 18828973", + "latency": 40, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 71, + "public_key": "n9JveA1hHDGjZECaYC7KM4JP8NXXzNXAxixbzcLTGnrsFZsA9AD1", + "uptime": 99625, + "version": "rippled-0.31.0-b6" + }, + { + "address": "98.167.120.212:51235", + "complete_ledgers": "18828845 - 18828973", + "latency": 99, + "ledger": "50A2577CE6EB8A92847C443BDA45F5C5F0A22B9C6F4B47DBA0C12BDA75001D01", + "load": 60, + "public_key": "n9LDBRoqPYY7RdkNXbX1dqZXVtUKcSqzs2CZPhTH7ymA9X7Xzmpj", + "uptime": 99625, + "version": "rippled-0.30.1-rc4" + } + ] + } +} +``` + +*JSON-RPC* + +``` +{ + "result" : { + "cluster" : {}, + "peers" : [ + { + "address" : "184.172.237.226:51235", + "complete_ledgers" : "14535005 - 18828957", + "latency" : 114, + "ledger" : "80FCB89BC5B90D2B9C2CE33786738809796F04FB9CB1E5EEE768DD9A9C399FB0", + "load" : 47, + "public_key" : "n9KNYm52mgcUQ7R2RA4kyw9Nk1yc6S35PaiuyqjYsy6UjhCXpw12", + "uptime" : 54976, + "version" : "rippled-0.30.0-hf1" + }, + { + "address" : "54.186.248.91:51235", + "complete_ledgers" : "18827934 - 18828958", + "latency" : 68, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 56, + "public_key" : "n9MT5EjnV912KGuBUqPs4tpdhzMPGcnDBrTuWkD9sWQHJ1kDcUcz", + "uptime" : 83754, + "version" : "rippled-0.30.1" + }, + { + "address" : "54.84.21.230:51235", + "complete_ledgers" : "18827934 - 18828958", + "latency" : 135, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 54, + "public_key" : "n9KJb7NMxGySRcjCqh69xEPMUhwJx22qntYYXsnUqYgjsJhNoW7g", + "uptime" : 99565, + "version" : "rippled-0.30.1" + }, + { + "address" : "72.251.233.162:51235", + "complete_ledgers" : "18827934 - 18828958", + "latency" : 24, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 61, + "public_key" : "n9M8RSk6hrvXZKFQ6CxPbJsjt73xW1xsnjn7G69VAMbE2j4sBQNQ", + "uptime" : 99560, + "version" : "rippled-0.30.1" + }, + { + "address" : "162.217.98.136:51235", + "complete_ledgers" : "32570 - 18828958", + "latency" : 88, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 55, + "public_key" : "n944PcXEoZaiEHnwFD92xA4bxsS7jjYb27WcdDQwkHYyk1MWTEsX", + "uptime" : 99566, + "version" : "rippled-0.30.1" + }, + { + "address" : "72.251.233.163:51235", + "complete_ledgers" : "18827934 - 18828958", + "latency" : 24, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 56, + "public_key" : "n94ne2Z5dX8qcJNa8cPtAbtn21gEaCoEduS8TwdGAhi1iLfCUMDm", + "uptime" : 99566, + "version" : "rippled-0.30.1" + }, + { + "address" : "54.186.73.52:51235", + "complete_ledgers" : "18827934 - 18828958", + "latency" : 51, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 56, + "public_key" : "n9JySgyBVcQKvyDoeRKg7s2Mm6ZcFHk22vUZb3o1HSosWxcj9xPt", + "uptime" : 99566, + "version" : "rippled-0.30.1" + }, + { + "address" : "72.251.233.165:51235", + "complete_ledgers" : "18827934 - 18828958", + "latency" : 25, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 56, + "public_key" : "n9M77Uc9CSaSFZqt5V7sxPR4kFwbha7hwUFBD5v5kZt2SQjBeoDs", + "uptime" : 99566, + "version" : "rippled-0.30.1" + }, + { + "address" : "72.251.232.173:51235", + "complete_ledgers" : "32570 - 18828958", + "latency" : 24, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 81, + "public_key" : "n9JveA1hHDGjZECaYC7KM4JP8NXXzNXAxixbzcLTGnrsFZsA9AD1", + "uptime" : 99566, + "version" : "rippled-0.31.0-b6" + }, + { + "address" : "98.167.120.212:51235", + "complete_ledgers" : "18828830 - 18828957", + "latency" : 137, + "ledger" : "9447480E351221123B1A454356435A66C188D9794B0197A060637E19F074B421", + "load" : 54, + "public_key" : "n9LDBRoqPYY7RdkNXbX1dqZXVtUKcSqzs2CZPhTH7ymA9X7Xzmpj", + "uptime" : 99566, + "version" : "rippled-0.30.1-rc4" + } + ], + "status" : "success" + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "cluster" : {}, + "peers" : [ + { + "address" : "72.251.232.173:51235", + "complete_ledgers" : "32570 - 18851276", + "latency" : 22, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 20, + "public_key" : "n9JveA1hHDGjZECaYC7KM4JP8NXXzNXAxixbzcLTGnrsFZsA9AD1", + "uptime" : 26, + "version" : "rippled-0.31.0-b6" + }, + { + "address" : "169.53.155.36:51235", + "complete_ledgers" : "12920801 - 18851275", + "latency" : 127, + "load" : 16, + "public_key" : "n9L42gouyppsmsMXXUdByXnVDUZv1eu6KLZUWUkNHsukzv3pr7po", + "uptime" : 18, + "version" : "rippled-0.30.0-hf1" + }, + { + "address" : "169.53.155.44:51235", + "complete_ledgers" : "12920779 - 18851276", + "latency" : 20, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 49, + "public_key" : "n94BpoEqEf1PxpAv3Bmyy2WoKHyeMpHPH4tcj6P9NW98zdzEyRhi", + "uptime" : 50, + "version" : "rippled-0.30.0-hf1" + }, + { + "address" : "192.170.145.77:51235", + "complete_ledgers" : "32570 - 18851277", + "latency" : 145, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 29, + "public_key" : "n9LwcmtjDAJQz4u8DZCMGQ9GXHuMEV4Cf8KpPL9NgqAV2puxdYc2", + "uptime" : 51, + "version" : "rippled-0.30.1" + }, + { + "address" : "162.217.98.136:51235", + "complete_ledgers" : "32570 - 18851277", + "latency" : 83, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 30, + "public_key" : "n944PcXEoZaiEHnwFD92xA4bxsS7jjYb27WcdDQwkHYyk1MWTEsX", + "uptime" : 50, + "version" : "rippled-0.30.1" + }, + { + "address" : "184.172.237.241:51235", + "complete_ledgers" : "14153089 - 18851277", + "latency" : 104, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 29, + "public_key" : "n9L3LdCTVYUhCKtQtxiHrQ5ocNXVqZFiEJpF5pX9DXahYLrvi5R7", + "uptime" : 51, + "version" : "rippled-0.30.0-hf1" + }, + { + "address" : "99.110.49.91:51301", + "complete_ledgers" : "32570 - 18851277", + "latency" : 152, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 55, + "public_key" : "n9LGv3xKVqhxq6vcTfmJZhxyhjywsZbvJvpFbZRXzzz5uQ64xTLy", + "uptime" : 51, + "version" : "rippled-0.31.0-b6" + }, + { + "address" : "169.53.155.45:51235", + "complete_ledgers" : "12920779 - 18851277", + "latency" : 15, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 30, + "public_key" : "n9MRiHyMk43YpqATWeT8Zyu4HJq1btb5oNKmnHTkLJKQg9LQQq3v", + "uptime" : 51, + "version" : "rippled-0.30.0-hf1" + }, + { + "address" : "54.186.248.91:51235", + "complete_ledgers" : "18850253 - 18851277", + "latency" : 63, + "ledger" : "592C723DDBB1C5119F0D8288894060C83C8C2975A061D7C9971427D6798098F5", + "load" : 36, + "public_key" : "n9MT5EjnV912KGuBUqPs4tpdhzMPGcnDBrTuWkD9sWQHJ1kDcUcz", + "uptime" : 51, + "version" : "rippled-0.30.1" + } + ], + "status" : "success" + } +} + +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドからなるJSONオブジェクトが含まれます。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `cluster` | オブジェクト | [クラスターとして構成されている](clustering.html)場合は、同じクラスター内の他の`rippled`サーバーの概要。[新規: rippled 0.30.1][] | +| `peers` | 配列 | peerオブジェクトからなる配列。 | + +`cluster`オブジェクトの各フィールドは、該当する`rippled`サーバーの識別用キーペアの公開鍵です。(これは、[server_infoメソッド][]で当該サーバーから`pubkey_node`として返される値と同じです。)そのフィールドの内容は、以下のフィールドを持つオブジェクトです。 + +| `Field` | 型 | 説明 | +|:--------|:-------|:----------------------------------------------------------| +| `tag` | 文字列 | 構成ファイルで定義されているこのクラスターメンバーの表示名。 | +| `fee` | 数値 | (省略される場合があります)このクラスターメンバーが[トランザクションコスト](transaction-cost.html)に適用する負荷乗数。 | +| `age` | 数値 | このクラスターメンバーからの最終クラスターレポート以降の経過秒数。 | + +`peers`配列の各メンバーは、以下のフィールドを持つpeerオブジェクトです。 + +| `Field` | 型 | 説明 | +|:-------------------|:--------|:----------------------------------------------| +| `address` | 文字列 | このピアが接続しているIPアドレスとポート。 | +| `cluster` | ブール値 | (省略される場合があります)`true`の場合、現在のサーバーとピアサーバーは同じ`rippled`クラスターに含まれています。 | +| `name` | 文字列 | (省略される場合があります)ピアが同じクラスターに含まれている場合、この名前は構成ファイルで定義されているそのピアサーバーの表示名です。 | +| `complete_ledgers` | 文字列 | ピア`rippled`で利用可能なレジャーバージョンのシーケンス番号を示す範囲式 | +| `inbound` | ブール値 | (省略される場合があります)`true`の場合は、ピアはローカルサーバーに接続しています。 | +| `latency` | 数値 | ピアへのネットワーク遅延(ミリ秒単位) | +| `ledger` | 文字列 | 最後に閉鎖されたピアのレジャーのハッシュ。 | +| `load` | 数値 | ピアサーバーによるローカルサーバーへの負荷の測定値。この数値が大きいほど負荷が高くなります。(負荷の測定単位は正式には定義されていません。) | +| `protocol` | 文字列 | (省略される場合があります)ピアが使用しているプロトコルバージョン(ローカルサーバーのプロトコルバージョンと異なる場合)。 | +| `public_key` | 文字列 | (省略される場合があります)ピアのメッセージの整合性の検証に使用できる公開鍵。これは、検証に使用する公開鍵とは異なりますが、フォーマットは同じです。 | +| `sanity` | 文字列 | (省略される場合があります)このピアが現行サーバーと同じルールとレジャーシーケンスに従っているかどうか。値が`insane`の場合、ピアは並列ネットワークの一部である可能性があります。値が`unknown`の場合、現行サーバーはピアに互換性があるかどうかを把握していません。 | +| `status` | 文字列 | (省略される場合があります)ピアからの最新のステータスメッセージ。`connecting`、`connected`、`monitoring`、`validating`、`shutting`のいずれかです。 | +| `uptime` | 数値 | `rippled`サーバーがこのピアに継続して接続していた秒数。[新規: rippled 0.30.1][] | +| `version` | 文字列 | (省略される場合があります)ピアサーバーの`rippled`バージョン番号 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/print.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/print.ja.md new file mode 100644 index 0000000000..746f7f12b3 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/print.ja.md @@ -0,0 +1,236 @@ +# print +[[ソース]
](https://github.com/ripple/rippled/blob/315a8b6b602798a4cff4d8e1911936011e12abdb/src/ripple/rpc/handlers/Print.cpp "Source") + +`print`コマンドは、さまざまな内部サブシステム(ピア、レジャークリーナー、リソースマネージャーなど)の現在の状況を返します。 + +*`print`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "print_req_1", + "command": "print" +} +``` + +*コマンドライン* + +``` +rippled print +``` + + + +要求にはパラメーターが含まれていません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "app" : { + "ledgercleaner" : { + "status" : "idle" + }, + "peers" : { + "peerfinder" : { + "bootcache" : { + "entries" : 109 + }, + "config" : { + "auto_connect" : "true", + "features" : "", + "max_peers" : 21, + "out_peers" : 10, + "port" : 51235, + "want_incoming" : "true" + }, + "counts" : { + "accept" : 0, + "close" : 0, + "cluster" : "0", + "connect" : 0, + "fixed" : "0", + "in" : "0/11", + "out" : "10/10", + "total" : "10" + }, + "fixed" : 0, + "livecache" : { + "entries" : [ + { + "address" : "23.239.3.247:51235", + "expires" : "30000000000 nanoseconds", + "hops" : 2 + }, + { + "address" : "192.170.145.88:51235", + "expires" : "30000000000 nanoseconds", + "hops" : 1 + }, + { + "address" : "198.204.238.130:51235", + "expires" : "26000024558 nanoseconds", + "hops" : 1 + }, + { + "address" : "203.127.12.115:51235", + "expires" : "26000024558 nanoseconds", + "hops" : 2 + }, + { + "address" : "212.83.147.67:51235", + "expires" : "26000024558 nanoseconds", + "hops" : 2 + } + ], + "hist" : "0, 10, 74, 10, 0, 0, 0, 0", + "size" : "94" + }, + "peers" : [ + { + "local_address" : "10.1.10.78:48923", + "remote_address" : "52.24.43.83:51235", + "state" : "active" + }, + { + "local_address" : "10.1.10.78:50004", + "remote_address" : "52.26.205.197:51235", + "state" : "active" + }, + { + "local_address" : "10.1.10.78:37019", + "remote_address" : "168.1.60.132:51235", + "state" : "active" + }, + { + "local_address" : "10.1.10.78:38775", + "remote_address" : "192.170.145.88:51235", + "state" : "active" + }, + { + "local_address" : "10.1.10.78:34793", + "remote_address" : "198.204.238.130:51235", + "state" : "active" + } + ] + } + }, + "resource" : { + "admin" : [ + { + "balance" : 0, + "count" : 1, + "name" : "\"127.0.0.1\"" + } + ], + "inactive" : [], + "inbound" : [], + "outbound" : [ + { + "balance" : 23, + "count" : 1, + "name" : "93.190.138.234:51235" + }, + { + "balance" : 35, + "count" : 1, + "name" : "198.204.238.130:51235" + }, + { + "balance" : 31, + "count" : 1, + "name" : "52.26.205.197:51235" + }, + { + "balance" : 32, + "count" : 1, + "name" : "54.186.73.52:51235" + }, + { + "balance" : 15, + "count" : 1, + "name" : "72.251.233.164:51235" + } + ] + }, + "server" : { + "active" : "2", + "hist" : "16", + "history" : [ + { + "bytes_in" : "214", + "bytes_out" : "11688", + "elapsed" : "0 seconds", + "id" : "16", + "requests" : 1, + "when" : "2015-Jun-16 16:33:50" + }, + { + "bytes_in" : "214", + "bytes_out" : "11431", + "elapsed" : "0 seconds", + "id" : "15", + "requests" : 1, + "when" : "2015-Jun-16 16:11:59" + }, + { + "bytes_in" : "227", + "bytes_out" : "337", + "elapsed" : "0 seconds", + "id" : "3", + "requests" : 1, + "when" : "2015-Jun-16 14:57:23" + }, + { + "bytes_in" : "214", + "bytes_out" : "2917", + "elapsed" : "0 seconds", + "id" : "2", + "requests" : 1, + "when" : "2015-Jun-16 12:39:29" + }, + { + "bytes_in" : "220", + "bytes_out" : "1426", + "elapsed" : "0 seconds", + "id" : "1", + "requests" : 1, + "when" : "2015-Jun-16 12:39:13" + } + ] + }, + "validators" : {} + }, + "status" : "success" + } +} + +``` + + + +応答は[標準フォーマット][]に従っています。結果に含まれる追加フィールドは、`rippled`サーバーの内部状態に応じて異なります。このコマンドの実行結果は、予告なく変更されることがあります。 + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validator_list_sites.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validator_list_sites.ja.md new file mode 100644 index 0000000000..3b60a21a95 --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validator_list_sites.ja.md @@ -0,0 +1,134 @@ +# validator_list_sites +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/ValidatorListSites.cpp "Source") + +`validator_list_sites`コマンドは、バリデータリストを処理するサイトのステータス情報を返します。[新規: rippled 0.80.1][] + +*`validator_list_sites`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 1, + "command": "validator_list_sites" +} +``` + +*JSON-RPC* + +``` +{ + "method": "validator_list_sites", + "params": [ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: validator_list_sites +rippled validator_list_sites +``` + + + +要求にはパラメーターが含まれていません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":5, + "status":"success", + "type":"response", + "result": { + "validator_sites": [ + { + "last_refresh_status": "accepted", + "last_refresh_time": "2017-Oct-13 21:26:37", + "refresh_interval_min": 5, + "uri": "http://127.0.0.1:51447/validators" + } + ] + } +} +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "status": "success", + "validator_sites": [ + { + "last_refresh_status": "accepted", + "last_refresh_time": "2017-Oct-13 21:26:37", + "refresh_interval_min": 5, + "uri": "http://127.0.0.1:51447/validators" + } + ] + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result": { + "status": "success", + "validator_sites": [ + { + "last_refresh_status": "accepted", + "last_refresh_time": "2017-Oct-13 21:26:37", + "refresh_interval_min": 5, + "uri": "http://127.0.0.1:51447/validators" + } + ] + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:------------------|:------|----------------------------------| +| `validator_sites` | 配列 | バリデータサイトオブジェクトからなる配列。 | + +`validator_sites`フィールドの配列の各メンバーは、次のフィールドを有するオブジェクトです。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-----------------|:--------------------------------| +| `last_refresh_status` | 文字列 | 存在する場合は、サイトの最終更新の[`ListDisposition`](https://github.com/ripple/rippled/blob/master/src/ripple/app/misc/ValidatorList.h)です。存在しない場合は、サイトに対するクエリーがまだ成功していません。 | +| `last_refresh_time` | 文字列 | サイトの最終照会時刻を人間が読み取れる形式で表示します。存在しない場合は、サイトに対するクエリーがまだ成功していません。 | +| `refresh_interval_min` | 符号なし整数 | 更新試行間隔の分数。 | +| `uri` | 文字列 | サイトのURI。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validators.ja.md b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validators.ja.md new file mode 100644 index 0000000000..3874d33d2d --- /dev/null +++ b/content/references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validators.ja.md @@ -0,0 +1,182 @@ +# validators +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Validators.cpp "Source") + +`validators`コマンドは、サーバーが使用する公開済みの信頼できるバリデータの最新リストに関する情報を、人間が読み取れる形式で返します。[新規: rippled 0.80.1][] + +*`validators`要求は、権限のないユーザーは実行できない[管理メソッド](admin-rippled-methods.html)です。* + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 1, + "command": "validators" +} +``` + +*JSON-RPC* + +``` +{ + "method": "validators", + "params": [ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: validators +rippled validators +``` + + + +要求にはパラメーターが含まれていません。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":5, + "status":"success", + "type":"response", + "result":{ + "local_static_keys": [], + "publisher_lists":[ + { + "available":true, + "expiration":"2017-Oct-13 14:56:00", + "list":[ + "n9Ltz6ZxPRWTkqwBbpvgbaXPgm6GYCxCJRqFgNXhWVUebgezo28H", + "n94D73ZKSUaTDCnUqYW5ugJ9fHPNxda9GQVoWA6BGtcKuuhozrD1" + ], + "pubkey_publisher":"ED58ED4AA543B524F16771F6E1367BAA220D99DCF22CD8CF7A11309E9EAB1B647B", + "seq":1, + "version":1 + } + ], + "signing_keys":{}, + "status":"success", + "trusted_validator_keys":[ + "n94D73ZKSUaTDCnUqYW5ugJ9fHPNxda9GQVoWA6BGtcKuuhozrD1", + "n9Ltz6ZxPRWTkqwBbpvgbaXPgm6GYCxCJRqFgNXhWVUebgezo28H" + ], + "validation_quorum":2, + "validator_list_expires":"2017-Oct-13 14:56:00" + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "local_static_keys": [], + "publisher_lists":[ + { + "available":true, + "expiration":"2017-Oct-13 14:56:00", + "list":[ + "n9Ltz6ZxPRWTkqwBbpvgbaXPgm6GYCxCJRqFgNXhWVUebgezo28H", + "n94D73ZKSUaTDCnUqYW5ugJ9fHPNxda9GQVoWA6BGtcKuuhozrD1" + ], + "pubkey_publisher":"ED58ED4AA543B524F16771F6E1367BAA220D99DCF22CD8CF7A11309E9EAB1B647B", + "seq":1, + "version":1 + } + ], + "signing_keys":{}, + "status":"success", + "trusted_validator_keys":[ + "n94D73ZKSUaTDCnUqYW5ugJ9fHPNxda9GQVoWA6BGtcKuuhozrD1", + "n9Ltz6ZxPRWTkqwBbpvgbaXPgm6GYCxCJRqFgNXhWVUebgezo28H" + ], + "validation_quorum":2, + "validator_list_expires":"2017-Oct-13 14:56:00" + }, + "status":"success" +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result":{ + "local_static_keys": [], + "publisher_lists":[ + { + "available":true, + "expiration":"2017-Oct-13 14:56:00", + "list":[ + "n9Ltz6ZxPRWTkqwBbpvgbaXPgm6GYCxCJRqFgNXhWVUebgezo28H", + "n94D73ZKSUaTDCnUqYW5ugJ9fHPNxda9GQVoWA6BGtcKuuhozrD1" + ], + "pubkey_publisher":"ED58ED4AA543B524F16771F6E1367BAA220D99DCF22CD8CF7A11309E9EAB1B647B", + "seq":1, + "version":1 + } + ], + "signing_keys":{}, + "status":"success", + "trusted_validator_keys":[ + "n94D73ZKSUaTDCnUqYW5ugJ9fHPNxda9GQVoWA6BGtcKuuhozrD1", + "n9Ltz6ZxPRWTkqwBbpvgbaXPgm6GYCxCJRqFgNXhWVUebgezo28H" + ], + "validation_quorum":2, + "validator_list_expires":"2017-Oct-13 14:56:00" + }, + "status":"success" +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-------------------------|:-------|:-----------------------------------------| +| `listed_static_keys` | 配列 | 信頼リストに常に追加可能なバリデータの公開鍵の配列。 | +| `publisher_lists` | 配列 | パブリッシャーリストオブジェクトの配列。 | +| `signing_keys` | オブジェクト | バリデータマニフェストを使用している登録済みバリデータのマスター公開鍵から、現在の署名キーへのマッピング。 | +| `trusted_validator_keys` | 配列 | 現在信頼されているバリデータの公開鍵の配列。 | +| `validation_quorum` | 数値 | 1つのレジャーバージョンの検証に最低限必要となる信頼できる検証の数。状況によっては、サーバーがさらに検証を要求する場合があります。 | +| `validator_list_expires` | 文字列 | 人間が読み取れる形式での現在のバリデータリストの有効期限、文字列`unknown`(サーバーが公開済みバリデータリストを読み込む必要がある場合)、または文字列`never`(サーバーが静的なバリデータリストを使用している場合)のいずれか。 | + +`publisher_lists`配列の各メンバーは、以下のフィールドを有するオブジェクトです。 + +| `Field` | 型 | 説明 | +|:-------------------|:-----------------|:-------------------------------------| +| `available` | ブール値 | `false`の場合、`list`内のバリデータキーはこのパブリッシャーによりサポートされていない可能性があります。 | +| `expiration` | 文字列 | この公開済みリストの有効期限を人間が読み取れる形式で示します。 | +| `list` | 配列 | 公開済みバリデータキーからなる配列。 | +| `pubkey_publisher` | 文字列 | リストパブリッシャーのEd25519またはECDSA公開鍵(16進数)。 | +| `seq` | 符号なし整数 | 公開済みリストのシーケンス番号。 | +| `version` | 符号なし整数 | リストフォーマットのバージョン。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/api-conventions/api-conventions.ja.md b/content/references/rippled-api/api-conventions/api-conventions.ja.md new file mode 100644 index 0000000000..d4635259a5 --- /dev/null +++ b/content/references/rippled-api/api-conventions/api-conventions.ja.md @@ -0,0 +1,5 @@ +# APIの規則 + +このセクションでは、JSON-RPCおよびWebSocketインターフェイスを含む`rippled` APIのデータ型とフォーマットについて説明します。 + +これらのデータ型の一部は、[Data API](data-api.html)を含む、より高度なAPIにも使用されます。 \ No newline at end of file diff --git a/content/references/rippled-api/api-conventions/base58-encodings.ja.md b/content/references/rippled-api/api-conventions/base58-encodings.ja.md new file mode 100644 index 0000000000..29d5e38f07 --- /dev/null +++ b/content/references/rippled-api/api-conventions/base58-encodings.ja.md @@ -0,0 +1,31 @@ +# base58エンコード + +`rippled` APIでは、チェックサムを含む[base58](https://en.wikipedia.org/wiki/Base58)エンコード(「Base58Check」とも呼ばれます)を使用して[アカウントアドレス](accounts.html#アドレス)や暗号鍵に関連するその他のタイプの値が表現されることがよくあります。このエンコードは、Bitcoinのアドレスに使用されているエンコードと同じですが、XRP Ledgerでは以下のディクショナリが使用される点が異なります。`rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz`。 + +XRP Ledgerにより、さまざまなタイプの値をエンコードする前に、データタイプを区別する固有の8ビット数値が値の前に付加されます。XRP Ledgerのbase58ディクショナリの文字配列と組み合わされた、さまざまなタイプのエンコード値のbase58表現は、タイプごとに固有の文字で始まります。 + +以下の表に、XRP Ledgerで使用されるすべてのエンコードを示します。 + +| データタイプ | 開始文字 | タイププレフィクス | コンテンツのサイズ¹ | 最大文字数 | +|:-----------------------------|:------------|:---------------|:--------------|:--| +| [アカウント][]アドレス | r | `0x00` | 20バイト | 35 | +| アカウントの公開鍵 | a | `0x23` | 33バイト | 53 | +| シード値(シークレットキー) | s | `0x21` | 16バイト | 29 | +| 検証の公開鍵 | n | `0x1C` | 33バイト | 53 | + +¹ コンテンツのサイズでは1バイトのタイププレフィクスは除外されます。 + +[アカウント]: accounts.html + +## 関連項目 + +- [アドレスのエンコード](accounts.html#アドレスのエンコード) - アドレスのエンコードについての詳細な情報 +- [暗号鍵](cryptographic-keys.html) - XRP Ledgerの暗号鍵のタイプとその使用法 +- [wallet_proposeリファレンス][wallet_propose method] - アカウントキーを生成するためのAPIメソッド +- [validation_createリファレンス][validation_create method] - バリデータキーを生成するためのAPIメソッド + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/api-conventions/basic-data-types.ja.md b/content/references/rippled-api/api-conventions/basic-data-types.ja.md new file mode 100644 index 0000000000..997ad1730e --- /dev/null +++ b/content/references/rippled-api/api-conventions/basic-data-types.ja.md @@ -0,0 +1,165 @@ +# 基本的なデータ型 + +さまざまなタイプのオブジェクトがそれぞれ異なる方法で一意に識別されます。 + +[アカウント](accounts.html)は[アドレス][]で識別されます。例えば、`"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59"`など。アドレスは常に「r」で始まります。`rippled`メソッドの多くは、16進数表記に対応しています。 + +[トランザクション](transaction-formats.html)は、トランザクションのバイナリフォーマットの[ハッシュ][]で識別されます。また、トランザクションは送信アカウントと[シーケンス番号][]でも識別できます。 + +閉鎖された各[レジャー](ledger-data-formats.html)は、[レジャーインデックス][]と[ハッシュ][]値を保有します。[レジャーを指定する][]場合、いずれか1つを使用できます。 + +## アドレス +[アドレス]: #アドレス + +{% include '_snippets/data_types/address.md' %} + + + +## ハッシュ +[ハッシュ]: #ハッシュ + +{% include '_snippets/data_types/hash.md' %} + + +### ハッシュプレフィクス +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/HashPrefix.h "Source") + +多くの場合、XRP Ledgerではオブジェクトのバイナリデータに4バイトのプレフィクスを付けてからハッシュを計算するため、異なるタイプのオブジェクトが同じバイナリフォーマットである場合でも、異なるハッシュが設定されます。既存の4バイトコードは、ASCIIでエンコードされた英字3文字の後に0バイトが続く構成となっています。 + +ある種のハッシュは、APIの要求と応答に使用されます。またある種のデータに署名するときの最初のステップで計算されるだけのものや、より高度なハッシュを計算するためのものもあります。XRP Ledgerで使用されるすべての4バイトのハッシュプレフィクスは以下の表の通りです。 + +| オブジェクトタイプ | APIフィールド | ハッシュプレフィクス(16進数) | ハッシュプレフィクス(テキスト) | +|:--------------------------------------|:-------------------------------------|:------------------|:--| +| コンセンサスの提案 | なし | `0x50525000` | `PRP\0` | +| レジャーバージョン | `ledger_hash` | `0x4C575200` | `LWR\0` | +| レジャー状態データ | `account_state` ([レジャーヘッダー][]内) | `0x4D4C4E00` | `MLN\0` | +| レジャーデータ内部ノード | なし | `0x4D494E00` | `MIN\0` | +| レジャーデータ内部ノード([SHAMapv2][]) | なし | `0x494E5200` | `INR\0` | +| Payment Channelのクレーム | なし | `0x434C4D00` | `CLM\0` | +| 署名済みのトランザクション | トランザクションの`hash` | `0x54584E00` | `TXN\0` | +| メタデータを持つトランザクション | なし | `0x534E4400` | `SND\0` | +| 未署名のトランザクション(シングル署名) | なし | `0x53545800` | `STX\0` | +| 未署名のトランザクション(マルチ署名) | なし | `0x534D5400` | `SMT\0` | +| 検証の投票 | なし | `0x56414C00` | `VAL\0` | +| バリデータサブキー認証(「バリデータマニフェスト」) | なし | `0x4D414E00` | `MAN\0` | + +[レジャーヘッダー]: ledger-header.html +[SHAMapv2]: known-amendments.html#shamapv2 + +[レジャーオブジェクトID](ledger-object-ids.html)も似た方法で計算されますが、ここで説明したプレフィクスの代わりに「スペースキー」という2バイトのプレフィクスを使用します。 + + +## アカウントシーケンス +[シーケンス番号]: #アカウントシーケンス + +{% include '_snippets/data_types/account_sequence.md' %} + + + +## レジャーインデックス +[レジャーインデックス]: #レジャーインデックス + +{% include '_snippets/data_types/ledger_index.md' %} + + + +### レジャーの指定 + +APIメソッドの多くは、レジャーのインスタンスを指定する必要があります。その場合、共有されたレジャーの特定バージョンで最新と見なされるデータで指定する必要があります。レジャーバージョンを受け入れるコマンドは、すべて同様に機能します。使用するレジャーを指定するには、以下の3つの方法があります。 + +1. `ledger_index`パラメーターにレジャーの[レジャーインデックス][]を指定します。閉鎖された各レジャーには識別用のシーケンス番号が付いていて、その前に検証されたレジャーより1つ大きい番号になります。(ジェネシスレジャーのシーケンス番号は0です。) +2. `ledger_hash`パラメーターにレジャーの[ハッシュ][]値を指定します。 +3. `ledger_index`パラメーターに以下のいずれかのショートカットを指定します。 + * `validated`: ネットワーク全体で検証された最新のレジャー + * `closed`: 変更できないように閉鎖され、検証を提案されている最新のレジャー + * `current`: サーバーで現在処理中のレジャーバージョン + +上記3つのフォーマットすべてを受け入れる、廃止予定の`ledger`パラメーターもあります。このパラメーターは使用*しないでください*。今後予告なしに廃止される可能性があります。 + +レジャーを指定しない場合、デフォルトで`current`(処理中)レジャーが選択されます。レジャーを指定するフィールドを複数指定した場合、廃止予定の`ledger`フィールドが最初に使用され(存在する場合)、`ledger_hash`に戻ります。`ledger_index`フィールドは、他の2つのフィールドがいずれも存在しない場合を除いて無視されます。 + +**注記:** レジャーを指定する際に上記のデフォルトの動作に頼らないでください。変更される場合があります。可能であれば、常に要求にてレジャーバージョンを指定してください。 + + +## 通貨 + +XRP Ledgerには2種類の通貨があります。XRPとその他のあらゆる通貨です。この2つには多くの相違点があります。 + +| `XRP` | 発行済み通貨 | +|:----------------------------------------------------------------|:-----------| +| 発行者なし | 必ずXRP Ledgerアカウントが発行 | +| 文字列として指定 | オブジェクトとして指定 | +| [アカウント](accountroot.html)内で追跡 | [トラストライン](ripplestate.html)内で追跡 | +| 作成は一切不可、消却のみ可能 | 自由に発行または清算可能 | +| 最大値: `100000000000`(`1e11`) | 最大値: `9999999999999999e80` | +| [「drop」](#xrp)(0.000001 XRP)に近い精度 | 10進15桁の精度で非ゼロの最少絶対値は `1000000000000000e-96` | + +**注意:** XRP Ledgerでは、通常の浮動小数点数とは異なる精度の小数点計算を使用するため、通貨額は常に文字列として表されます。 + +### 通貨額の指定 + +一部のAPIメソッドでは、通貨額を指定する必要があります。取扱通貨がネットワーク固有のXRP通貨であるかその他の通貨単位(_イシュアンス_)であるかによって、指定方法が大きく異なります。 + +#### XRP +[XRPのdrop数]: #xrp +[XRP、drop単位]: #xrp + +XRPの額は文字列で表します。(XRPの精度は64ビット整数と同等ですが、JSON 整数は32ビットに制限されるため、JSON整数で表す場合はXRPがオーバーフローする恐れがあります。)XRPは正式には「drop」で指定します。これは0.000001(百万分の1)のXRPと等価です。したがって、JSON文書で1.0 XRPを表示するには、次のように書きます。 + +``` +"1000000" +``` + +**XRPをオブジェクトに指定しないでください。** + +単体テストでは、XRPの値(dropではありません)を小数点を使用して指定できます。例えば、「1.23」は1.23 XRPを意味します。それ以外のすべての場合では、XRPは常にdrop単位で指定し、小数点は使用しません。例えば、「1230000」は1.23 XRPを意味します。 + +#### 非XRP + +XRP以外の通貨(法定通貨としてのドル、貴金属、暗号資産、その他のカスタム通貨を含む)を指定する場合、通貨指定オブジェクトを使用して指定する必要があります。以下は、3つのフィールドを持つJSONオブジェクトです。 + +| `Field` | 型 | 説明 | +|:-----------|:---------------------------|:-----------------------------------| +| `currency` | 文字列 - [通貨コード][] | 通貨を発行するための任意コード。`XRP`は使用できません。 | +| `value` | 文字列 | 通貨の金額を表す引用符付き10進数表記。これには科学的記数法が含まれ、例えば`1.23e11`は123,000,000,000を意味します。`e`と`E`のどちらも使用できます。 | +| `issuer` | 文字列 | 通貨を発行する組織の一意のアカウントアドレス。つまり、通貨を清算できる個人または企業です。 | + +**注意:** これらのフィールド名は大文字小文字の区別があります。 + +例えば、アカウント`r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59`によって発行された$153.75 USドルは、以下のように指定します。 + +``` +{ + "currency": "USD", + "value": "153.75", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59" +} +``` + +単体テストでは、非XRP通貨の金額値をスラッシュで区切られた文字列で指定できます。例えば、`"amount/currency/issuer"`のフォーマットになります。その他すべての場合では、前述のJSONオブジェクトのフォーマットを使用する必要があります。 + +#### 金額なしでの通貨の指定 + +XRP以外の通貨を金額なしで指定する場合は(主に、通貨取引オファーのオーダーブックを定義する場合など)、上記のように指定しますが、`value`フィールドは省略します。 + +XRPを金額なしで指定する場合は(主に、オーダーブックを定義する場合など)、JSONオブジェクトとして指定しますが、使用するフィールドは`currency`フィールド _のみ_ です。XRPの場合は`issuer`フィールドを指定してはいけません。 + +最後に、支払いの受取人アカウントが複数のイシュアー(通貨発行者)を信頼している場合は、受取人が受け入れているイシュアーがどのように組み合わされても支払いが行われるように指定できます。これを行うには、受取人アカウントのアドレスをJSONオブジェクトに`issuer`値として指定します。 + +### 通貨コード +[通貨コード]: #通貨コードs + +{% include '_snippets/data_types/currency_code.md' %} + + + +## 時間の指定 + +`rippled`サーバーとそのAPIでは、時間を符号なし整数で表します。この数値は、「Rippleエポック」である2000年1月1日(00:00 UTC)から経過した秒数を表しています。これは[UNIXエポック](http://en.wikipedia.org/wiki/Unix_time)と同様に機能しますが、RippleエポックはUNIXエポックより946684800秒遅れています。 + +Rippleエポック時間を32ビット変数でUNIXエポック時間に変換しないでください。整数のオーバーフローが発生する恐れがあります。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/api-conventions/currency-formats.ja.md b/content/references/rippled-api/api-conventions/currency-formats.ja.md new file mode 100644 index 0000000000..efb3980ef7 --- /dev/null +++ b/content/references/rippled-api/api-conventions/currency-formats.ja.md @@ -0,0 +1,66 @@ +# 通貨フォーマット + +XRP Ledgerには2種類の通貨([XRP](xrp.html)と[発行済み通貨](issued-currencies.html))があります。XRP Ledgerでは、これらの通貨のフォーマットは異なりますが、いずれの通貨も高精度です。 + +## 文字列フォーマット + +{% include '_snippets/string-number-formatting.md' %} + + +## XRPの精度 + +XRPの精度は、64ビット符号なし整数と同等であり、各単位は0.000001 XRPと同等です。プロパティは次の通りです。 + +* 最小値: `0` +* 最大値: `100000000000`(1011)XRP + - `"100000000000000000"`(1017) dropのXRP +* `0.000001`(10-6)XRPに近い精度 + - `"1"` dropのXRP + +## 発行済み通貨の精度 + +XRP Ledgerの発行済み通貨は、以下の精度のカスタムフォーマットで表現されます。 + +* 非ゼロの最小絶対値: `1000000000000000e-96` +* 最大値: `9999999999999999e80` +* 最小値: `-9999999999999999e80` +* 10進15桁の精度 + +## 発行済み通貨の計算 +[[ソース]
](https://github.com/ripple/rippled/blob/35fa20a110e3d43ffc1e9e664fc9017b6f2747ae/src/ripple/protocol/impl/STAmount.cpp "Source") + +![発行済み通貨額フォーマットの図](img/currency-number-format.png) + +`rippled`内部では発行済み通貨の数値はカスタムの数値フォーマットで表現されます。このフォーマットではさまざまな資産(一般的にごく小さな単位または極めて大きな単位で測定される資産を含む)を保管できます。このフォーマットでは、有効数字と10のべき乗の指数を科学的記数法と同様の方法で使用します。このフォーマットは、指定された範囲内のプラスまたはマイナスの有効桁数と指数に対応しています。非整数値の一般的な浮動小数点表記とは異なり、このフォーマットでは整数を用いて計算します。このため、常に15桁の精度が維持されます。乗算と除算には、最下位の有効数字の丸め過ぎを補う調整機能があります。 + +「任意精度」の数値フォーマットとは異なり、カスタムフォーマットは64ビットの固定サイズで格納できます。このようにシリアル化される場合、このフォーマットは「非XRP」ビット、符号ビット、有効桁数、指数で構成されます。これらは次の順で表示されます。 + +1. 発行済み通貨額の1番目のビット(最上位ビット)は、XRPの額ではないことを示す`1`です。(XRPの額である場合、最上位ビットは常に`0`に設定され、このフォーマットからXRPの額が区別されます。) +2. 符号ビットは、金額のプラスマイナスを示します。標準的な[2の補数で表される](https://en.wikipedia.org/wiki/Two%27s_complement)整数とは異なり、`1` はXRP Ledgerフォーマットでは**プラス**を示し`0`はマイナスを示します。 +3. 次の8ビットは、指数を符号なし整数で表しています。指数は、小数点以下桁数(有効桁数に乗算する10のべき乗)を-96以上+80以下の範囲で示します。ただしシリアル化では、この指数に97を加算して符号なし整数としてシリアル化できるようにします。したがってシリアル化された値が`1`の場合は指数`-96`、シリアル化された値が`177`の場合は指数80を示します。 +4. 残りの54ビットは、有効数字を符号なし整数で表します。シリアル化では、値0の特殊なケースを除き、この値は1015(`1000000000000000`)以上1016-1(`9999999999999999`)以下の範囲で正規化されます。値0の特殊なケースがあります。この場合符号ビット、指数、および仮数はすべてゼロであるため、64ビット値は`0x8000000000000000000000000000000000000000`としてシリアル化されます。 + + +## 通貨コード + +XRP LedgerのXRP以外の通貨には160ビットの通貨コードがあります。[`rippled`API](rippled-api.html)では、標準マッピングを使用して3文字のASCII文字列(大文字と小文字の区別あり)が160ビットの通貨コードにマッピングされます。通貨コード`XRP`は発行済み通貨には使用できません。同一コードの通貨は接続トラストラインを通じて[ripple](rippling.html)できます。通貨コードには、XRP Ledgerに組み込まれるその他の動作はありません。 + +### 標準通貨コード + +標準通貨マッピングによりビットが次のように割り当てられます。 + +![標準通貨コードのフォーマット](img/currency-code-format.png) + +1. 最初の8ビットは`0x00`でなければなりません。 +2. 次の88ビットは予約済みであり、すべて`0`です。 +3. 次の24ビットは3つのASCII文字を表します。 + [ISO 4217](http://www.xe.com/iso4217.php)コードまたはよく利用されている疑似ISO 4217コード(BTCなど)の使用が推奨されます。ただし、すべての大文字と小文字、桁数、および記号`?`、`!`、`@`、`#`、`$`、`%`、`^`、`&`、`*`、`<`、`>`、`(`、`)`、`{`、`}`、`[`、`]`、および|の組み合わせを使用できます。通貨コード`XRP`(すべて大文字)はXRP用に予約されており、発行済み通貨には使用できません。 +4. 次の40ビットは予約済みであり、すべて`0`です。 + +通常、XRP額の指定時には通貨コードは使用しません。フィールドにXRPの通貨コードが指定されている稀なケースでは、通貨コードのバイナリ形式はすべてゼロになります。 + +### 非標準通貨コード + +通貨コードとして160ビット(40文字)16進文字列(例: `015841551A748AD2C1F76FF6ECB0CCCD00000000`)を使用して、その他のタイプの通貨を発行することもできます。異なる通貨コードタイプとして扱われないようにするには、先頭8ビットが`0x00`であってはなりません。 + +**廃止予定:** 一部の旧バージョンの[ripple-lib](https://github.com/ripple/ripple-lib)では通貨コードタイプとして「有利子」または「マイナス利子」がサポートされていました。これらの通貨の先頭8ビットは`0x01`です。マイナス利子/有利子通貨はサポートされなくなりましたが、レジャーデータにこのような通貨が現れることがあります。詳しくは、[マイナス利子](demurrage.html)を参照してください。 diff --git a/content/references/rippled-api/api-conventions/error-formatting.ja.md b/content/references/rippled-api/api-conventions/error-formatting.ja.md new file mode 100644 index 0000000000..7ca5539cca --- /dev/null +++ b/content/references/rippled-api/api-conventions/error-formatting.ja.md @@ -0,0 +1,111 @@ +# エラーのフォーマット + +エラーが発生する可能性のある状況をすべて挙げることは不可能です。トランスポートレイヤーで発生する場合(ネットワーク接続が失われる場合など)には、使用しているクライアントとトランスポートに応じてその結果は異なります。ただし、`rippled`サーバーが要求を正常に受信した場合、サーバーは標準のエラー形式での応答を試みます。 + +**注意:** 要求の結果がエラーになった場合、応答の一部として要求全体がコピーされます。このため、エラーのデバッグに取り組むことができます。ただし、これには要求で渡した機密情報がすべて含まれます。エラーメッセージを共有するときには、アカウントの重要な機密情報を他のユーザーに誤って公開することがないように、十分に注意してください。 + + +エラーの例: + + + +*WebSocket* + +``` +{ + "id": 3, + "status": "error", + "type": "response", + "error": "ledgerIndexMalformed", + "request": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "command": "account_info", + "id": 3, + "ledger_index": "-", + "strict": true + } +} +``` + +*JSON-RPC* + +``` +HTTP Status: 200 OK +{ + "result": { + "error": "ledgerIndexMalformed", + "request": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "command": "account_info", + "ledger_index": "-", + "strict": true + }, + "status": "error" + } +} +``` + +*コマンドライン* + +``` +{ + "result": { + "error": "ledgerIndexMalformed", + "request": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "command": "account_info", + "ledger_index": "-", + "strict": true + }, + "status": "error" + } +} +``` + + + + +## WebSocketフォーマット + +| `Field` | 型 | 説明 | +|:----------|:---------|:------------------------------------------------------| +| `id` | (場合により異なる) | この応答の要求元となったWeb Socket要求に指定されていたID | +| `status` | 文字列 | `"error"` : 要求が原因でエラーが発生した場合 | +| `type` | 文字列 | 通常は`"response"`。これは、コマンドに対し正常に応答したことを示します。 | +| `error` | 文字列 | 発生したエラータイプの一意のコード。 | +| `request` | オブジェクト | このエラーが発生した要求のコピー(JSONフォーマット)。**注意:** 要求にアカウントの機密情報が含まれている場合、ここにコピーされます。 | + + +## JSON-RPCフォーマット + +一部のJSON-RPC要求は、HTTPレイヤーでエラーコードで応答します。この場合、応答は応答本文にプレーンテキストで記述されます。たとえば`method`パラメーターでコマンドを指定し忘れた場合、応答は次のようになります。 + +``` +HTTP Status: 400 Bad Request +Null method +``` + +HTTPステータスコード200 OKが返されるその他のエラーの場合、応答はJSONフォーマットで、以下のフィールドが使用されます。 + +| `Field` | 型 | 説明 | +|:-----------------|:-------|:-------------------------------------------------| +| `result` | オブジェクト | クエリーに対する応答が含まれているオブジェクト | +| `result.error` | 文字列 | 発生したエラータイプの一意のコード。 | +| `result.status` | 文字列 | `"error"` : 要求が原因でエラーが発生した場合 | +| `result.request` | オブジェクト | このエラーが発生した要求のコピー(JSONフォーマット)。**注意:** 要求にアカウントの機密情報が含まれている場合、ここにコピーされます。**注記:** 発行される要求にかかわらず、要求はWebSocketフォーマットに再設定されます。 | + + +## 汎用エラー + +すべてのメソッドは、以下のいずれかの値の`error`コードを返す可能性があります。 + +* `unknownCmd` - 要求に、`rippled`サーバーが認識する[コマンド](rippled-api.html)が含まれていません。 +* `jsonInvalid` -(WebSocketのみ)要求は適切なJSONオブジェクトではありません。 + * この場合JSON-RPCは、代わりに400 Bad Request HTTPエラーを返します。 +* `missingCommand` -(WebSocketのみ)要求に`command`フィールドが指定されていませんでした。 + * この場合JSON-RPCは、代わりに400 Bad Request HTTPエラーを返します。 +* `tooBusy` -サーバーの負荷が高すぎるため、現在このコマンドを実行できません。管理者として接続している場合は、通常このエラーが返されることはありません。 +* `noNetwork` - サーバーとXRP Ledgerピアツーピアネットワークのその他の部分との接続で問題が発生しています(サーバーがスタンドアロンモードで実行されていません)。 +* `noCurrent` - 高い負荷、ネットワークの問題、バリデータ障害、誤った構成、またはその他の問題が原因で、サーバーが現行のレジャーを認識できません。 +* `noClosed` - サーバーに閉鎖済みレジャーがありません。通常、このエラーは起動が完了していないことが原因で発生します。 +* `wsTextRequired` -(WebSocketのみ)要求の[opcode](https://tools.ietf.org/html/rfc6455#section-5.2)がテキストではありません。 diff --git a/content/references/rippled-api/api-conventions/markers-and-pagination.ja.md b/content/references/rippled-api/api-conventions/markers-and-pagination.ja.md new file mode 100644 index 0000000000..09dae8e9ab --- /dev/null +++ b/content/references/rippled-api/api-conventions/markers-and-pagination.ja.md @@ -0,0 +1,5 @@ +# マーカーとページネーション + +一部のメソッドから返されるデータは、1つの応答に実質的に収まらないことがあります。結果全体が収まらない場合、応答には`marker`フィールドが含まれます。このフィールドを使用することで、複数回の呼出しを通じてデータのページをさらに取得できます。各要求で直前の応答の`marker`値を渡して、終わったところから再開します。応答に`marker`が含まれていなければ、データセットの終わりに達しています。 + +`marker`フィールドのフォーマットは意図的に未定義になっています。各サーバーで`marker`をそれぞれに合わせて定義できるので、このフィールドの形式は文字列、ネストオブジェクトなどさまざまです。異なるサーバー、または同じサーバーの異なるメソッドでは、異なる`marker`定義を使用できます。各`marker`は一時的であり、10分以上経過すると予期されているとおりに機能しなくなることがあります。 \ No newline at end of file diff --git a/content/references/rippled-api/api-conventions/modifying-the-ledger.ja.md b/content/references/rippled-api/api-conventions/modifying-the-ledger.ja.md new file mode 100644 index 0000000000..6921a84af0 --- /dev/null +++ b/content/references/rippled-api/api-conventions/modifying-the-ledger.ja.md @@ -0,0 +1,15 @@ +# レジャーの変更 + +XRP Ledgerに対する変更はすべて、トランザクションの結果として行われます。XRP Ledgerの内容を変更できるAPIメソッドは、トランザクションを送信するコマンドだけです。Ledgerの内容が変更されても、その変更が永続的に適用されるのは、トランザクションが[コンセンサスプロセス](consensus.html)により承認されている場合に限られます。その他のほとんどのパブリックメソッドでは、異なる方法でXRP Ledgerに表示されるデータを閲覧し、サーバーの状態に関する情報を要求します。 + +トランザクション送信コマンド: + +- [submitメソッド][] +- [submit_multisignedメソッド][] + +送信可能なさまざまなトランザクションについての詳細は、[トランザクションフォーマット](transaction-formats.html)を参照してください。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/api-conventions/request-formatting.ja.md b/content/references/rippled-api/api-conventions/request-formatting.ja.md new file mode 100644 index 0000000000..12b23f0554 --- /dev/null +++ b/content/references/rippled-api/api-conventions/request-formatting.ja.md @@ -0,0 +1,70 @@ +# 要求フォーマット + +## WebSocketフォーマット + +`rippled`サーバーへのWebSocketを開いた後、以下の属性を使用して、コマンドを[JSON](https://en.wikipedia.org/wiki/JSON)オブジェクトとして送信できます。 + +* コマンド名を最上位の`"command"`フィールドに指定します。 +* このコマンドのすべての関連パラメーターも最上位に指定します。 +* オプションで、任意の値を指定した`"id"`フィールドを指定します。この要求への応答では、同一の`"id"`フィールドを使用します。そうすることで、応答が順不同で到達した場合も、どの要求によってどの応答を得られたのかがわかります。 + +応答はJSONオブジェクトとして返されます。 + +## JSON-RPCフォーマット + +JSON-RPC要求を実行するには、`rippled`サーバーがJSON-RPC接続をリッスンしているポートおよびIPで、HTTP **POST**要求をルートパス(`/`)に送信します。HTTP/1.0またはHTTP/1.1を使用できます。HTTPSを使用する場合は、TLS v1.2を使用してください。セキュリティ上の理由から、`rippled`ではSSL v3以前を _サポートしていません_ 。 + +常に`Content-Type`ヘッダー(値`application/json`)を指定してください。 + +複数の要求を実行する予定の場合は、要求間で接続を閉じてから開く操作を行わずに済むように、[Keep-Alives](http://tools.ietf.org/html/rfc7230#section-6.3)を使用してください。 + +以下の属性を指定した要求本文を[JSON](https://en.wikipedia.org/wiki/JSON)オブジェクトとして送信します。 + +* コマンドを最上位の`"method"` フィールドに指定します。 +* 最上位の`"params"`フィールドを指定します。このフィールドの内容は、コマンドのすべてのパラメーターが指定された1つの入れ子JSONオブジェクトのみを保持している**1要素配列**です。 + +応答もJSONオブジェクトです。 + +## コマンドライン形式 + +コマンドラインでは、通常の(ダッシュが先頭に付いた)コマンドラインオプションの後にコマンドを指定し、その後に一連の限定的なパラメーターをスペースで区切って指定します。スペースやその他の特殊文字が含まれている可能性のあるパラメーター値は、一重引用符で囲みます。 + +### 要求の例 + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "account_info", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "validated" +} +``` + +*JSON-RPC* + +``` +POST http://s1.ripple.com:51234/ +{ + "method": "account_info", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "validated" + } + ] +} +``` + +*コマンドライン* + +``` +rippled account_info r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 validated true +``` + + diff --git a/content/references/rippled-api/api-conventions/response-formatting.ja.md b/content/references/rippled-api/api-conventions/response-formatting.ja.md new file mode 100644 index 0000000000..43650f5a65 --- /dev/null +++ b/content/references/rippled-api/api-conventions/response-formatting.ja.md @@ -0,0 +1,88 @@ +# 応答フォーマット + +`rippled` APIからの応答のフォーマットは、メソッドが呼び出されたインターフェイス(WebSocket、JSON-RPC、コマンドライン)に応じて多少異なります。コマンドラインインターフェイスがJSON-RPCを呼び出すため、コマンドラインインターフェイスとJSON-RPCインターフェイスは同じフォーマットを使用します。 + +成功した場合の応答に含まれるフィールドは、以下の通りです。 + +| `Field` | 型 | 説明 | +|:----------------|:---------|:------------------------------------------------| +| `id` | (場合により異なる) | (WebSocketのみ)この応答の要求元となった要求で指定されているID。 | +| `status` | 文字列 | (WebSocketのみ)値が`success`である場合、要求がサーバーによって正常に受信され、理解されたことを示します。 | +| `result.status` | 文字列 | (JSON-RPCおよびコマンドライン)値が`success`である場合、要求がサーバーによって正常に受信され、理解されたことを示します。 | +| `type` | 文字列 | (WebSocketのみ)値が`response`の場合、コマンドに対する正常な応答であることを示します。[非同期の通知](subscribe.html)では、`ledgerClosed`や`transaction`など異なる値が使用されます。 | +| `result` | オブジェクト | クエリーの結果。内容はコマンドによって異なります。 | + + +## 成功した場合の応答の例 + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "account_data": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "27389517749", + "Flags": 0, + "LedgerEntryType": "AccountRoot", + "OwnerCount": 18, + "PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932", + "PreviousTxnLgrSeq": 6592159, + "Sequence": 1400, + "index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" + }, + "ledger_index": 6760970 + } +} +``` + +*JSON-RPC* + +``` +HTTP Status: 200 OK +{ + "result": { + "account_data": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "27389517749", + "Flags": 0, + "LedgerEntryType": "AccountRoot", + "OwnerCount": 18, + "PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932", + "PreviousTxnLgrSeq": 6592159, + "Sequence": 1400, + "index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" + }, + "ledger_index": 6761012, + "status": "success" + } +} +``` +*コマンドライン* + +``` +{ + "result": { + "account_data": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "27389517749", + "Flags": 0, + "LedgerEntryType": "AccountRoot", + "OwnerCount": 18, + "PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932", + "PreviousTxnLgrSeq": 6592159, + "Sequence": 1400, + "index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" + }, + "ledger_index": 6761012, + "status": "success" + } +} +``` + + \ No newline at end of file diff --git a/content/references/rippled-api/api-conventions/rippled-server-states.ja.md b/content/references/rippled-api/api-conventions/rippled-server-states.ja.md new file mode 100644 index 0000000000..d342d05dbf --- /dev/null +++ b/content/references/rippled-api/api-conventions/rippled-server-states.ja.md @@ -0,0 +1,20 @@ +# rippledサーバーの状態 + +`rippled`サーバーの設定、稼働時間、その他の要素により、サーバーがグローバルなXRP Ledgerピアツーピアネットワークに参加する度合いは異なります。これは、[server_infoメソッド][]と[server_stateメソッド][]への応答内の`server_state`フィールドに示されます。応答は昇順のやり取りに従い、後の値は前の値より優先されます。これらの応答の定義を以下に示します(優先順位の高い順)。 + +| `Value` | 説明 | +|:---------------|:------------------------------------------------------------| +| `disconnected` | サーバーはXRP Ledgerピアツーピアネットワークにまったく接続されていません。オフラインモードで稼働しているか、何らかの理由でネットワークにアクセスできない可能性があります。 | +| `connected` | サーバーはネットワークに接続されていると考えられます。 | +| `syncing` | サーバーは現在、レジャーバージョンの状態に追いついていません。(通常、サーバーが始動後に最新状態になるまで数分かかります。) | +| `tracking` | サーバーはネットワークに接続しています。 | +| `full` | サーバーはネットワークに完全に組み込まれ、検証にも参加できますが、参加していません(検証者として設定されていないことが原因と考えられます)。 | +| `validating` | サーバーは現在、レジャーの検証に参加しています。 | +| `proposing` | サーバーはレジャーの検証に参加しており、現在、自身のバージョンを提案中です。 | + +**注記:** `full`、`validating`、`proposing`の区別は、グローバルネットワークの他者との同期の状況に基づいていますが、通常サーバーの上記の状態は一般的なオペレーションの中で変動します。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/api-conventions/serialization.ja.md b/content/references/rippled-api/api-conventions/serialization.ja.md new file mode 100644 index 0000000000..48653485c9 --- /dev/null +++ b/content/references/rippled-api/api-conventions/serialization.ja.md @@ -0,0 +1,315 @@ +# シリアル化フォーマット +[[ソース]
](https://github.com/ripple/rippled/blob/develop/src/ripple/protocol/impl/STObject.cpp#L696-L718 "Source") + +このページでは、XRP Ledgerのトランザクションとその他のデータの正規バイナリフォーマットについて説明します。このバイナリフォーマットは、トランザクションの内容のデジタル署名を作成および検証するために必要であり、また他の用途にも使用されます。通常、[rippled API](rippled-api.html)はJSONを使用してクライアントアプリケーションと通信します。ただしJSONは、同じデータをさまざまな同等の方法で表現できるため、デジタル署名を付与するトランザクションをシリアル化するのに適したフォーマットではありません。 + +トランザクションをJSONまたはその他の表現から正規バイナリフォーマットへシリアル化するプロセスのステップを、以下にまとめます。 + +1. すべての必須フィールドが指定されていること(必須の[「自動入力可能」フィールド](transaction-common-fields.html#自動入力可能なフィールド)を含む)を確認します。 + + [トランザクションフォーマットリファレンス](transaction-formats.html)に、XRP Ledgerトランザクションの必須フィールドと省略可能なフィールドが定義されています。 + + **注記:**`SigningPubKey`もこのステップで指定する必要があります。署名の際に、署名用に指定されたシークレットキーからこのキーを生成できます。 + +2. 各フィールドのデータを[「内部」バイナリフォーマット](#内部フォーマット)に変換します。 + +3. フィールドを[正規順序](#フィールドの正規順序)でソートします。 + +4. 各フィールドの前に[フィールドID](#フィールドid)を付加します。 + +5. フィールド(プレフィクスを含む)をソート順に連結します。 + +その結果、ECDSA(secp256k1楕円曲線を使用)やEd25519などの既知の署名アルゴリズムを使用して署名できるバイナリブロブが1つ作成されます。XRP Ledgerのために、適切なプレフィクス(シングル署名の場合は`0x53545800`、マルチ署名の場合は`0x534D5400`)を使用してデータを[ハッシュ化][Hash]する必要があります。署名後に、指定されている`TxnSignature`フィールドを使用してトランザクションを再度シリアル化する必要があります。 + +**注記:** XRP Ledgerでは、[レジャーオブジェクト](ledger-object-types.html)や処理済みのトランザクションなど他のタイプのデータを表す場合にも同じシリアル化フォーマットが使用されます。ただし、署名されるトランザクションに追加するのに適切なフィールドは限られています。(たとえば署名自体が指定されている`TxnSignature`フィールドは、署名するバイナリブロブに含まれていてはなりません。)このように、「署名」フィールドとされてオブジェクトに署名するときにオブジェクトに含まれるフィールドもあれば、「非署名」とされてオブジェクトに含まれないフィールドもあります。 + +### 例 + +署名済みトランザクションと未署名のトランザクションはいずれも、JSONフォーマットとバイナリフォーマットの両方で表すことができます。同じ署名済みトランザクションのJSONフォーマットとバイナリフォーマットの例を以下に示します。 + +**JSON:** + +```json +{% include '_code-samples/tx-serialization/test-cases/tx1.json' %} +``` + +**バイナリ(16進数として表現):** + +```text +{% include '_code-samples/tx-serialization/test-cases/tx1-binary.txt' %} +``` + +## サンプルコード + +ここで説明するシリアル化プロセスは複数の場所にさまざまなプログラミング言語で実装されています。 + +- C++: [`rippled` コードベース](https://github.com/ripple/rippled/blob/develop/src/ripple/protocol/impl/STObject.cpp) +- JavaScript: [`ripple-binary-codec`](https://github.com/ripple/ripple-binary-codec/) パッケージ +- Python 3: [このリポジトリのコードサンプルセクション]({{target.github_forkurl}}/blob/{{target.github_branch}}/content/_code-samples/tx-serialization/serialize.py) + +これらのすべての実装には、一般利用が可能なオープンソースライセンスが提供されているので、学習のためにドキュメントと合わせて使用するだけでなく、必要に応じてコードをインポート、使用、または変更することができます。 + + + +## 内部フォーマット + +各フィールドには「内部」バイナリフォーマットがあります。このフォーマットは、`rippled`ソースコードで署名時に(およびその他のほとんどの場合に)そのフィールドを表示するのに使用されます。すべてのフィールドの内部フォーマットは、[`SField.cpp`](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/SField.cpp)のソースコードに定義されています。(このフィールドには、トランザクションフィールド以外のフィールドも含まれています。)[トランザクションフォーマットリファレンス](transaction-formats.html)にも、すべてのトランザクションフィールドの内部フォーマットが記載されています。 + +たとえば`Flags` [共通トランザクションフィールド](transaction-common-fields.html)はUInt32(32ビット符号なし整数)になります。 + +### 定義ファイル + +以下のJSONファイルには、XRP Ledgerデータをそのバイナリフォーマットにシリアル化し、バイナリからシリアル化解除するのに必要な重要な定数が定義されています。 + +**** + +この定義ファイルの最上位フィールドの定義を以下の表に示します。 + +| フィールド | 内容 | +|:----------------------|:-----------------------------------------------------| +| `TYPES` | フィールドIDの作成と正規順序でのフィールドのソートのためのデータタイプからその[「タイプコード」](#タイプコード)へのマップ。1未満のコードは実際のデータには含まれません。10000を超えるコードは、他のオブジェクト内部ではシリアル化できない「トランザクション」などの特殊な「上位」オブジェクトタイプを表します。各タイプのシリアル化方法についての詳細は、[タイプリスト](#タイプリスト)を参照してください。 | +| `LEDGER_ENTRY_TYPES` | [レジャーオブジェクト](ledger-object-types.html)から対応するデータタイプへのマップ。これはレジャー状態データと、処理されたトランザクションの[メタデータ](transaction-metadata.html)の「affected nodes」セクションに含まれます。 | +| `FIELDS` | トランザクション、レジャーオブジェクト、あるいはその他のデータに含まれる可能性があるすべてのフィールドを表すタプルからなるソート済み配列。各タプルの1番目のメンバーはフィールドの文字列名であり、2番目のメンバーはそのフィールドのプロパティーが含まれているオブジェクトです。(これらのフィールドの定義については、以下の「フィールドプロパティー」の表を参照してください。) | +| `TRANSACTION_RESULTS` | [トランザクション結果コード](transaction-results.html)から対応する数値へのマップ。レジャーに含まれない結果タイプにはマイナスの値が含まれています。`tesSUCCESS`に数値0が含まれています。[`tec`クラスコード](tec-codes.html)は、レジャーに含まれている失敗を示しています。 | +| `TRANSACTION_TYPES` | [トランザクションのタイプ](transaction-types.html)から対応する数値へのマップ。 | + +署名と送信のためにトランザクションをシリアル化するという目的から、`FIELDS`、`TYPES`、および`TRANSACTION_TYPES`フィールドが必要です。 + +`FIELDS`配列のフィールド定義オブジェクトには以下のフィールドが含まれています。 + +| フィールド | 型 | 内容 | +|:-----------------|:--------|:------------------------------------------------| +| `nth` | 数値 | このフィールドの[フィールドコード](#フィールドコード)。このコードは、[フィールドID](#フィールドid)の作成時と、同一データタイプの他のフィールドとのソート時に使用されます。 | +| `isVLEncoded` | ブール値 | `true`の場合、このフィールドには[長さプレフィクスが付加されています](#長さプレフィクスを付加する)。 | +| `isSerialized` | ブール値 | `true`の場合、このフィールドはシリアル化バイナリデータにエンコードされる必要があります。このフィールドが`false`の場合、一般にフィールドは保管されず、オンデマンドで再作成されます。 | +| `isSigningField` | ブール値 | `true`の場合、署名のためにトランザクションを準備する際にこのフィールドをシリアル化する必要があります。`false`の場合、このフィールドは署名対象データから省略する必要があります。(これはトランザクションに含まれていない可能性があります。) | +| `type` | 文字列 | このフィールドの内部データタイプ。これは、このフィールドの[タイプコード](#タイプコード)を示す`TYPES`マップのキーにマップします。 | + +### フィールドID + +[[ソース - エンコード]](https://github.com/seelabs/rippled/blob/cecc0ad75849a1d50cc573188ad301ca65519a5b/src/ripple/protocol/impl/Serializer.cpp#L117-L148 "Source") +[[ソース - デコード]](https://github.com/seelabs/rippled/blob/cecc0ad75849a1d50cc573188ad301ca65519a5b/src/ripple/protocol/impl/Serializer.cpp#L484-L509 "Source") + +フィールドのタイプコードとフィールドコードを結合すると、フィールドの一意のIDになります。このIDは、最終的なシリアル化ブロブでこのフィールドの前に付加されます。フィールドIDのサイズは、タイプコードとその結合対象のフィールドコードに応じて1~3バイトとなります。以下の表を参照してください。 + +| | タイプコード < 16 | タイプコード >= 16 | +|:-----------------|:------------------------------------------------------------------------------|:--| +| **フィールドコード < 16** | ![1バイト: 上位4ビットがタイプを定義し、下位4ビットがフィールドを定義します。](img/field-id-common-type-common-field.png) | ![2バイト: 1番目のバイトの下位4ビットがフィールドを定義し、次のバイトがタイプを定義します。](img/field-id-uncommon-type-common-field.png) | +| **フィールドコード >= 16** | ![2バイト: 1番目のバイトの上位4ビットがタイプを定義し、1番目のバイトの下位4ビットは0になります。次のバイトがフィールドを定義します。](img/field-id-common-type-uncommon-field.png) | ![3バイト: 1番目のバイトは0x00、2番目のバイトはタイプを定義します。3番目のバイトはフィールドを定義します。](img/field-id-uncommon-type-uncommon-field.png) | + +デコードの際には、**1番目のバイト**のどのビットがゼロであるかによって、フィールドIDのバイト数を把握できます。これは、上記の表の例に対応しています。 + +| | 上位4ビットがゼロ以外である | 上位4ビットがゼロである | +|:-----------------|:------------------------------------------------------------------------------|:--| +| **下位4ビットがゼロ以外である** | 1バイト: 上位4ビットがタイプを定義し、下位4ビットがフィールドを定義します。 | 2バイト: 1番目のバイトの下位4ビットがフィールドを定義し、次のバイトがタイプを定義します。 | +| **下位4ビットがゼロである** | 2バイト: 1番目のバイトの上位4ビットがタイプを定義し、1番目のバイトの下位4ビットは0になります。次のバイトがフィールドを定義します。 | 3バイト: 1番目のバイトは0x00、2番目のバイトはタイプを定義します。3番目のバイトはフィールドを定義します。 | + +**注意:** フィールドIDは、フィールドのソートに使用される2つの要素で構成されますが、シリアル化されたフィールドID自体に基づいてソートを実行しないでください。これは、フィールドIDのバイト構造によってソート順序が変わるためです。 + +### 長さプレフィクスを付加する + +一部の可変長フィールドの前には、長さインディケーターが付加されています。`Blob`フィールド(任意のバイナリデータを含む)がこれに該当します。長さプレフィクスが付加されているタイプのリストについては、[タイプリスト](#タイプリスト)の表を参照してください。 + +**注記:** 一部のタイプの可変長フィールドには、長さプレフィクスが付加されません。このようなタイプでは、他の方法で内容の終わりが示されます。 + +長さプレフィクスはフィールドの長さを示す1~3バイトで構成され、タイププレフィクスと内容の間に挿入されます。 + +- フィールドに0~192バイトのデータが含まれている場合、1番目のバイトは内容の長さを示し、長さバイトの直後にそのバイト数のデータが続きます。 + +- フィールドに193~12480バイトのデータが含まれている場合、最初の2バイトは以下の式で算出されるフィールドの長さを示します。 + + 193 + ((byte1 - 193) * 256) + byte2 + +- フィールドに12481~918744バイトのデータが含まれている場合、最初の3バイトは以下の式で算出されるフィールドの長さを示します。 + + 12481 + ((byte1 - 241) * 65536) + (byte2 * 256) + byte3 + +- 長さプレフィクスが付加されているフィールドに格納できる最大データは918744バイトです。 + +デコード時に、1番目の長さバイトの値から、追加の長さバイト(0、1、または2)が存在するかどうかを把握できます。 + +- 1番目の長さバイトの値が192以下の場合、これは唯一の長さバイトであり、フィールドの内容の長さはこのバイトが示すバイト数です。 +- 1番目の長さバイトの値が193~240の場合、2つの長さバイトがあります。 +- 1番目の長さバイトの値が241~254の場合、3つの長さバイトがあります。 + + +## フィールドの正規順序 + +トランザクションのすべてのフィールドは、まずフィールドのタイプ(特に各タイプに割り当てられている数値の「タイプコード」)に基づいて特定の順序でソートされ、次にフィールド自体(「フィールドコード」)に基づいてソートされます。(たとえば、姓がフィールドのタイプ、名前がフィールド自体とすると、姓で最初にソートし、次に名でソートすることになります。) + +### タイプコード + +各フィールドタイプには任意のタイプコードが含まれており、番号が小さいコードから最初にソートされます。これらのコードは[`SField.h`](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/SField.h#L57-L74)で定義されています。 + +たとえば [UInt32のタイプコードが2である](https://github.com/ripple/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/SField.h#L59)ので、すべてのUInt32フィールドは、すべての[Amountフィールド(タイプコード6)](https://github.com/ripple/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/SField.h#L63)よりも前に位置します。 + +[定義ファイル](#定義ファイル)には、`TYPES`マップの各タイプのタイプコードがリストされています。 + +### フィールドコード + +各フィールドにはフィールドコードが含まれています。フィールドコードは、同じタイプのフィールドをソートするときに使用され、番号が小さいコードが最初になるようにソートされます。これらのフィールドは[`SField.cpp`](https://github.com/ripple/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L72-L266)で定義されています。 + +たとえば[Paymentトランザクション][]の`Account`フィールドの[ソートコードが1である](https://github.com/ripple/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L219)場合、このフィールドは`Destination`フィールド([ソートコードが3である](https://github.com/ripple/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L221)フィールド)よりも前に位置します。 + +フィールドコードは異なるフィールドタイプのフィールドで再利用されますが、同じタイプのフィールドに同じフィールドコードが含まれることはありません。タイプコードとフィールドコードを組み合わせると、フィールドの一意の[フィールドID](#フィールドid)になります。 + + + +## タイプリスト + +トランザクションの指示には、以下のタイプのフィールドを指定できます。 + +| タイプ名 | タイプコード | ビット長 | [長さプレフィクスが付加されるか]? | 説明 | +|:--------------|:----------|:-----------|:-------------------|----------------| +| [AccountID][] | 8 | 160 | はい | [アカウント](accounts.html)の一意のID。 | +| [Amount][] | 6 | 64または384 | いいえ | XRPまたは発行済み通貨の額。フィールドの長さは、XRPの場合は64ビット、発行済み通貨の場合は384ビット(64+160+160)です。 | +| [Blob][] | 7 | 可変 | はい | 任意のバイナリデータ。このようなフィールドの中で重要なフィールドとして、`TxnSignature`(トランザクションを承認する署名)があります。 | +| [Hash128][] | 4 | 128 | いいえ | 128ビットの任意のバイナリ値。該当する唯一のフィールドは`EmailHash`です。これは、[Gravatar](https://www.gravatar.com/)を取得する目的でアカウント所有者のメールのMD-5ハッシュを保管するフィールドです。 | +| [Hash160][] | 17 | 160 | いいえ | 160ビットの任意のバイナリ値。これにより通貨コードまたはイシュアーが定義されます。 | +| [Hash256][] | 5 | 256 | いいえ | 256ビットの任意のバイナリ値。これは通常、トランザクション、レジャーバージョン、またはレジャーデータオブジェクトの「SHA-512Half」ハッシュを表します。 | +| [PathSet][] | 18 | 可変 | いいえ | [複数通貨間ペイメント](cross-currency-payments.html)の有効な[ペイメントパス](paths.html)のセット。 | +| [STArray][] | 15 | 可変 | いいえ | 可変数のメンバーからなる配列。フィールドによってタイプが異なる場合があります。この例として、[memos](transaction-common-fields.html#memosフィールド)や[マルチ署名](multi-signing.html)で使用される署名者のリストがあります。 | +| [STObject][] | 14 | 可変 | いいえ | 1つ以上のネストされたフィールドを含むオブジェクト。 | +| [UInt8][] | 16 | 8 | いいえ | 8ビットの符号なし整数。 | +| [UInt16][] | 1 | 16 | いいえ | 16ビットの符号なし整数。`TransactionType`は、このタイプの特殊なフィールドで、特定の文字列から整数値へのマッピングを含みます。 | +| [UInt32][] | 2 | 32 | いいえ | 32ビットの符号なし整数。このタイプの例として、すべてのトランザクションの`Flags`フィールドと`Sequence`フィールドがあります。 | + +[長さプレフィクスを付加する]: #長さプレフィクスを付加する + +上記のフィールドタイプの他に、[レジャーオブジェクト](ledger-object-types.html)や[トランザクションメタデータ](transaction-metadata.html)などのコンテキストでは以下のタイプが含まれることがあります。 + +| タイプ名 | タイプコード | [長さプレフィクスを付加する]? | 説明 | +|:------------|:----------|:-------------------|:------------------------------| +| Transaction | 10001 | いいえ | [トランザクション](transaction-formats.html)全体を含む「上位」タイプ。 | +| LedgerEntry | 10002 | いいえ | [レジャーオブジェクト](ledger-object-types.html)全体を含む「上位」タイプ。 | +| Validation | 10003 | いいえ | ピアツーピア通信で[コンセンサスプロセス](consensus.html)の検証投票を表すために使用される「上位」タイプ。 | +| Metadata | 10004 | いいえ | [1つのトランザクションのメタデータ](transaction-metadata.html)を含む「上位」タイプ。 | +| [UInt64][] | 3 | いいえ | 64ビットの符号なし整数。このタイプはトランザクションの指示には含まれませんが、さまざまなレジャーオブジェクトでこのタイプのフィールドが使用されます。 | +| Vector256 | 19 | はい | このタイプはトランザクションの指示には含まれませんが、[Amendmentsレジャーオブジェクト](amendments-object.html)の`Amendments`フィールドでは、現在有効な[Amendment](amendments.html)を示すためにこのタイプが使用されます。 | + + +### AccountIDフィールド +[AccountID]: #accountidフィールド + +このタイプのフィールドには、XRP Ledger[アカウント](accounts.html)の160ビットのIDが含まれています。JSONではこれらのフィールドは[base58][] XRP Ledger「アドレス」および追加のチェックサムデータとして表示されます。このため、スペルミスが有効なアドレスとなることがありません。(このエンコードは「Base58Check」とも呼ばれ、誤ったアドレスへの送金を防止します。)これらのフィールドのバイナリフォーマットにはチェックサムデータは含まれておらず、また[アドレスのbase58エンコード](accounts.html#アドレスのエンコード)で使用される`0x00`「タイププレフィクス」も含まれていません。(ただし、バイナリフォーマットは主に署名済みトランザクションに使用されるため、署名済みトランザクションを転記する際にスペルミスなどのエラーが発生すると署名が無効となり、送金できなくなります。) + +スタンドアロンフィールドとして表示されるAccountID(`Account`や`Destination`など)の長さは固定長の160ビットですが、[長さプレフィクスが付加](#長さプレフィクスを付加する)されます。その結果、これらのフィールドの長さインディケーターは常に`0x14`バイトになります。特殊フィールドの子として示されるAccountID([Amount `issuer`][Amount]、[PathSet `account`][PathSet]など)では長さプレフィクスは付加 _されません_ 。 + + +### Amountフィールド +[Amount]: #amountフィールド + +「Amount」タイプは、通貨(XRPまたは発行済み通貨)の額を表す特殊なフィールドタイプです。このタイプは2つのサブタイプで構成されます。 + +- **XRP** + + XRPは64ビット符号なし整数(ビッグエンディアンオーダー)としてシリアル化されます。ただし、XRPであることを示すため最上位ビットが常に0であり、プラスの値であることを示す最上位から2番目のビットは1となります。XRPの最大額(1017 drop)には57ビットが必要であるため、XRPのシリアル化フォーマットを計算するには、標準の64ビット符号なし整数をとり、`0x4000000000000000`のビットOR演算を行います。 + +- **発行済み通貨** + + 発行済み通貨は以下の3つのセグメントで構成され、セグメントの順序は以下のとおりです。 + + 1. [内部通貨フォーマット](currency-formats.html#発行済み通貨の計算)の額を示す64ビット。1番目のビットは、これがXRPではないことを示す`1`です。 + 2. [通貨コード](currency-formats.html#通貨コードs)を示す160ビット。標準APIでは、[標準通貨コードフォーマット](currency-formats.html#標準通貨コード)を使用して「USD」などの3文字のコードが160ビットのコードに変換されますが、160ビットのカスタムコードも使用できます。 + 3. イシュアーのアカウントIDを示す160ビット。(関連項目: [アカウントアドレスエンコード](accounts.html#アドレスのエンコード)) + +1番目のビットに基づいて2つのサブタイプのいずれに該当するかを確認できます。`0`の場合はXRP、`1`の場合は発行済み通貨です。 + +以下の図に、XRPの額と発行済み通貨の額のシリアル化フォーマットを示します。 + +![「非XRP」ビット、符号ビット、および62ビットの精度で構成されるXRPの額。「非XRP」ビット、符号ビット、指数(8ビット)、仮数(54ビット)、通貨コード(160ビット)、イシュアー(160ビット)で構成される発行済み通貨の額。](img/serialization-amount.png) + + +### 配列フィールド +[STArray]: #配列フィールド + +一部のトランザクションフィールド([SignerListSetトランザクション][]の`SignerEntries`や[`Memos`](transaction-common-fields.html#memosフィールド)など)はオブジェクトの配列です(「STArray」タイプと呼ばれます)。 + +配列には、さまざまな[オブジェクトフィールド](#オブジェクトフィールド)がそのネイティブバイナリフォーマットで特定の順序で含まれています。JSONでは、各配列メンバーが1つのフィールド(メンバーオブジェクトフィールドの名前)を含むJSON「ラッパー」オブジェクトです。そのフィールドの値は(「内部」)オブジェクト自体です。 + +バイナリフォーマットでは、配列の各メンバーにはフィールドIDプレフィクス(ラッパーオブジェクトの単一キーに基づく)と内容([オブジェクトとしてシリアル化された](#オブジェクトフィールド)内部オブジェクトからなる)が含まれています。配列の終わりをマークするため、アイテムにフィールドID `0xf1`(配列のタイプコードとフィールドコード1)を付加し、内容は指定しません。 + +以下の例は、配列のシリアル化フォーマットを示します(`SignerEntries`フィールド)。 + +![配列フィールドID、各配列要素のフィールドIDと内容、および「配列の終わり」を示すフィールドID](img/serialization-array.png) + + +### ブロブフィールド +[Blob]: #ブロブフィールド + +ブロブタイプは、任意のデータを持つ[長さプレフィクスが付加されている](#長さプレフィクスを付加する)フィールドです。このタイプを使用する2種類の一般的なフィールドとして、`SigningPubKey`と`TxnSignature`があります。これらのフィールドにはそれぞれ、トランザクションの実行を承認する公開鍵と署名が含まれています。 + +両方のフィールドにはこれ以上の内容構造がないため、フィールドIDと長さプレフィクスの後に可変長エンコードで示される正確なバイト数で構成されます。 + + +### ハッシュフィールド +[Hash128]: #ハッシュフィールド +[Hash160]: #ハッシュフィールド +[Hash256]: #ハッシュフィールド + +XRP LedgerのハッシュタイプにはHash128、Hash160、Hash256があります。これらのフィールドには特定のビット数のバイナリデータが含まれており、それらのデータはハッシュ演算の結果を表す場合とそうでない場合があります。 + +これらのフィールドは、長さインディケーターを使用せずに、ビッグエンディアンバイトオーダーで特定数のビットとしてシリアル化されます。 + + +### オブジェクトフィールド +[STObject]: #オブジェクトフィールド + +トランザクションフィールドの一部([SignerListSetトランザクション][]の`SignerEntry`や`Memos`配列の`Memo`など)はオブジェクトです(「STObject」タイプと呼ばれます)。オブジェクトのシリアル化は配列のシリアル化に似ていますが、唯一異なる点としてオブジェクトフィールド内では**オブジェクトのメンバーを正規順序に従って配置する必要がある**点があげられます。配列フィールドではすでに順序が明示的に設定されています。 + +オブジェクトフィールドの[正規フィールド順序](#フィールドの正規順序)は、すべての最上位フィールドの正規フィールド順序と同じですが、オブジェクトのメンバーはオブジェクト内でソートする必要があります。最終メンバーの後には、「オブジェクトの終わり」を示すフィールドID(`0xe1`)があり、このフィールドには内容がありません。 + +以下の例は、オブジェクトのシリアル化フォーマットを示します(`Memos`配列内の1つの`Memo`オブジェクト)。 + +![オブジェクトフィールドID、各オブジェクトメンバーのオブジェクトIDと内容(正規順序)、および「オブジェクトの終わり」を示すフィールドID](img/serialization-object.png) + + +### PathSetフィールド +[PathSet]: #pathsetフィールド + +複数通貨間[Paymentトランザクション][]の`Paths`フィールドは、JSONで配列からなる配列として表される「PathSet」です。使用されるパスについての詳細は、[パス](paths.html)を参照してください。 + +PathSetは、**1~6**の個別パスとして順序どおりにシリアル化されます[[ソース]](https://github.com/ripple/rippled/blob/4cff94f7a4a05302bdf1a248515379da99c5bcd4/src/ripple/app/tx/impl/Payment.h#L35-L36 "Source")。それぞれの完全なパスの後には、パスの後に続く内容を示すバイトが配置されます。 + +- `0xff` は別のパスが続くことを示します。 +- `0x00` はPathSetの終わりを示します。 + +各パスには**1~8**のパスステップがこの順序で含まれています[[ソース]](https://github.com/ripple/rippled/blob/4cff94f7a4a05302bdf1a248515379da99c5bcd4/src/ripple/app/tx/impl/Payment.h#L38-L39 "Source")。各ステップは**タイプ**を示すバイトで始まり、その後にパスステップを記述する1つ以上のフィールドが続きます。タイプは、ビット単位のフラグを使用してそのパスステップに含まれるフィールドを示します。(たとえば値が`0x30`の場合、通貨とイシュアーの両方が変更されます。)複数のフィールドが含まれている場合、フィールドは常に特定の順序で配置されます。 + +以下の表に、有効なフィールドと、タイプバイトでフィールドを示すために設定されるビット単位のフラグを示します。 + +| タイプフラグ | 含まれるフィールド | フィールドタイプ | ビットサイズ | 順序 | +|:----------|:--------------|:------------------|:---------|:------| +| `0x01` | `account` | [AccountID][] | 160ビット | 1番目 | +| `0x10` | `currency` | [通貨コード][] | 160ビット | 2番目 | +| `0x20` | `issuer` | [AccountID][] | 160ビット | 3番目 | + +[通貨コード]: currency-formats.html#標準通貨コード + +いくつかの組み合わせは無効です。詳細は、[パスの仕様](paths.html#パスの仕様)を参照してください。 + +`account`フィールドと`issuer`フィールドのAccountIDには、長さプレフィクスは付加 _されていません_ 。`currency`がXRPの場合、通貨コードは160ビットのゼロとして表されます。 + +各ステップの直後にはパス上の次のステップが続きます。前述したように、パスの最終ステップの後には`0xff`(別のパスが続く場合)または`0x00`(これが最終パスの終わりの場合)が続きます。 + +以下の例は、PathSetのシリアル化フォーマットを示します。 + +![PathSetは複数のパスからなり、各パスの後に継続または終了を示すバイトが続きます。各パスは複数のパスステップからなり、各パスステップはタイプバイトと、タイプバイトに基づく1つ以上の160ビットフィールドで構成されます。](img/serialization-pathset.png) + + +### UIntフィールド +[UInt8]: #uintフィールド +[UInt16]: #uintフィールド +[UInt32]: #uintフィールド +[UInt64]: #uintフィールド + +XRP Ledgerには符号なし整数タイプUInt8、UInt16、UInt32、UInt64があります。これらのタイプはすべて、指定されたビット数の標準ビッグエンディアンバイナリー符号なし整数です。 + +JSONオブジェクトにこれらのフィールドが含まれている場合、ほとんどはデフォルトでJSONの数値として表されます。例外として、UInt64は文字列として表されます。これは、一部のJSONデコーダーがこれらの整数を64ビットの「倍精度」浮動小数点数として表現しようとするためです。64ビットの「倍精度」浮動小数点数では、すべてのUInt64値を完全な精度で表現することができません。 + +もう1つの特殊なケースとして`TransactionType`フィールドがあります。JSONではこのフィールドは便宜上、トランザクションタイプの名前の文字列として表現されますが、バイナリではこのフィールドはUInt16です。[定義ファイル](#定義ファイル)内の`TRANSACTION_TYPES`オブジェクトにより、これらの文字列が特定の数値にマップされます。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/commandline-usage.ja.md b/content/references/rippled-api/commandline-usage.ja.md new file mode 100644 index 0000000000..159b61f14a --- /dev/null +++ b/content/references/rippled-api/commandline-usage.ja.md @@ -0,0 +1,167 @@ +# rippledコマンドライン使用リファレンス + +`rippled`実行可能ファイルは、通常はXRP Ledgerを処理するデーモンとして実行されますが、他のモードでも実行できます。このページでは、コマンドラインから実行する場合に`rippled`に渡すことができるすべてのオプションを説明します。 + +## 使用できるモード + +- **デーモンモード** - デフォルトです。XRP Ledgerに接続して、トランザクションを処理し、レジャーデータベースを構築します。 +- **スタンドアロンモード** - `-a`または`--standalone`オプションを使用します。他のサーバーには接続できない以外は、デーモンモードと同様です。このモードは、トランザクション処理やその他の機能のテストに使用できます。 +- **クライアントモード** - APIメソッドの名前を指定して、別の`rippled`サーバーにJSON-RPCクライアントとして接続し、その後終了します。実行可能ファイルがすでに別のプロセスで実行中である場合に、このモードを使用してサーバーのステータスとレジャーデータを確認できます。 +- **その他の使用法** - 以下の各コマンドを実行すると、`rippled`実行可能ファイルが何らかの情報を出力し、その後終了します。 + - **ヘルプ** - 使用法の説明を出力するには、`-h`または`--help`を使用します。 + - **単体テスト** - 単体テストを実行し、結果の概要を出力するには、`-u`または`--unittest`を使用します。rippledが正しくコンパイルされていることを確認する場合に便利です。 + - **バージョンステートメント** - `rippled`のバージョン番号を出力し、その後終了するには、`--version`を使用します。 + +## 汎用オプション + +ほとんどのモードに適用されるオプションは、以下の通りです。 + +| オプション | 説明 | +|:----------------|:-----------------------------------------------------------| +| `--conf {FILE}` | デフォルトのロケーションで構成ファイルを検索する代わりに、構成ファイルとして`{FILE}`を使用します。指定されていない場合、`rippled`は最初にローカル作業ディレクトリで`rippled.cfg`ファイルがあるかどうかを調べます。Linuxでは、このファイルが見つからない場合`rippled`は次に`$XDG_CONFIG_HOME/ripple/ripple.cfg`を確認します。(一般的に`$XDG_CONFIG_HOME`の場所は`$HOME/.config`です。) | + +### 詳細レベルのオプション + +次の汎用オプションは、標準出力とログファイルに書き込まれる情報の量を制御します。 + +| オプション | 短縮形 | 説明 | +|:------------|:--------------|:-----------------------------------------------| +| `--debug` | | **廃止予定** トレースレベルのデバッグを有効にします(`--verbose`のエイリアス)。代わりに[log_levelメソッド][]を使用してください。 | +| `--silent` | | 起動中にログを標準出力と標準エラー出力に書き込みません。冗長なログを削減するために`rippled`をsystemdユニットとして開始する場合に推奨されます。 | +| `--verbose` | `-v` | **廃止予定** トレースレベルデバッグを有効にします。代わりに[log_levelメソッド][]を使用してください。 | + + + +## デーモンモードのオプション + +```bash +rippled [OPTIONS] +``` + +デーモンモードは、`rippled`のデフォルトの運用モードです。[汎用オプション](#汎用オプション)の他に、以下のいずれかのオプションを指定できます。 + +| オプション | 説明 | +|:--------------------|:-------------------------------------------------------| +| `--fg` | デーモンをフォアグラウンドでシングルプロセスとして実行します。このオプションを指定しない場合、`rippled`は1番目のプロセスがモニターとして実行されている間に、デーモンの2番目のプロセスをフォークします。 | +| `--import` | 完全に起動する前に、別の`rippled`サーバーのレジャーストアーからレジャーデータをインポートしてください。構成ファイルに有効な`[import_db]`スタンザが指定されている必要があります。 | +| `--net` | **廃止予定** デバッグのためのオプションです。ネットワークからレジャーを取得できるようになるまで、ローカルレジャーを作成しません。 | +| `--nodetoshard` | 完全に起動する前に、すべての完全な[履歴シャード](history-sharding.html)をレジャーストアーからシャードストアーにコピーしてください(シャードストアーに設定されている最大ディスク容量まで)。CPUとI/Oを大量に使用します。注意: このコマンドは、データを(移動するのではなく)コピーするため、シャードストアーとレジャーストアーの両方にデータを保存するのに十分なディスク容量が必要です。 | +| `--quorum {QUORUM}` | これは[テストネットワーク](parallel-networks.html)のブートストラップ用のオプションです。検証のための最小定数をオーバーライドするには、`{QUORUM}`の信頼できるバリデータの同意を必要とします。デフォルトでは、検証のための定数は、信頼できるバリデータの実際の数に基づき、安全な数に自動的に設定されます。一部のバリデータがオンラインではない場合、このオプションにより、標準定数よりも少ない数のバリデータで続行できるようになります。**警告:** 定数を手動で設定すると、設定した値が小さすぎるためにサーバーがネットワークの他の部分から分岐することを防ぐことができない可能性があります。このオプションは、コンセンサスを十分に理解し、標準以外の設定を使用する必要がある場合にのみ使用してください。 | +| `--validateShards` | シャードストアーのデータが有効であり、ネットワーク履歴と整合性があることを確認してください。シャードストアーの詳細は、[履歴シャーディング](history-sharding.html)を参照してください。 | + +## スタンドアロンモードのオプション + +```bash +rippled --standalone [OPTIONS] +rippled -a [OPTIONS] +``` +スタンドアロンモードで実行します。このモードでは、`rippled`はネットワークに接続しないか、またはコンセンサスを実行しません。(それ以外の場合、`rippled`はデーモンモードで実行されます。) + +### 初期レジャーオプション + +以下のオプションにより、起動時に最初に読み込むレジャーが判断されます。これらはのオプションは、履歴レジャーのリプレイまたはテストネットワークのブートストラップのためのものです。 + +| オプション | 説明 | +|:----------------------|:-----------------------------------------------------| +| `--ledger {LEDGER}` | `{LEDGER}`(レジャーハッシュまたはレジャーインデックス)により初期レジャーと識別されているレジャーバージョンを読み込みます。指定されたレジャーバージョンは、サーバーのレジャーストアーに格納される必要があります。 | +| `--ledgerfile {FILE}` | 指定された`{FILE}`からレジャーバージョンを読み込みます(このファイルには完全なレジャーがJSONフォーマットで格納されている必要があります)。このようなファイルの例については、付属の[`ledger-file.json`]({{target.github_forkurl}}/blob/{{target.github_branch}}/content/_code-samples/rippled-cli/ledger-file.json)を参照してください。 | +| `--load` | **廃止予定** デバッグのためのオプションです。ディスク上のレジャーストアーから初期レジャーを読み込むだけです。 | +| `--replay` | デバッグのためのオプションです。`--ledger`と組み合わせて使用し、レジャーの閉鎖をリプレイします。サーバーのレジャーストアーには、当該レジャーとその直前のバージョンのレジャーがすでに格納されている必要があります。サーバーでは、前のレジャーをベースとして使用して、指定されたレジャーのすべてのトランザクションが処理されます。その結果、指定されたレジャーが再作成されます。デバッガーを使用して、特定のトランザクションの処理ロジックを分析するためのブレークポイントを追加できます。 | +| `--start` | デバッグのためのオプションです。既知のすべてのAmendment(反対票を投じるようにサーバーに設定されているAmendmentを除く)が適用されている新しいジェネシスレジャーを使用して開始します。したがってこれらのAmendmentの機能は、2週間の[Amendmentプロセス](amendments.html)期間ではなく、2番目のレジャーの開始時から使用可能になります。 | +| `--valid` | **廃止予定** デバッグのためのオプションです。ネットワークとの完全同期の前であっても、初期レジャーを有効なネットワークレジャーと見なします。 | + +## クライアントモードのオプション + +```bash +rippled [OPTIONS] -- {COMMAND} {COMMAND_PARAMETERS} +``` + +クライアントモードでは、`rippled`実行可能ファイルが別の`rippled`サービスのクライアントとして動作します。(サービスは別のプロセスでローカルに実行されている同じ実行可能ファイルである場合や、別のサーバー上の`rippled`サーバーである場合があります。) + +クライアントモードで実行するには、いずれかの[`rippled` API](rippled-api.html)メソッドの[コマンドライン構文](request-formatting.html#コマンドライン形式)を指定します。 + +クライアントモードは、個別のコマンド構文の他に、[汎用オプション](#汎用オプション)と以下のオプションに対応します。 + +| オプション | 説明 | +|:------------------------|:---------------------------------------------------| +| `--rpc` | サーバーをクライアントモードで実行することを明示的に指定します。必須ではありません。 | +| `--rpc_ip {IP_ADDRESS}` | 指定されたIPアドレスの`rippled`サーバーに接続します。オプションでポート番号も指定します。 | +| `--rpc_port {PORT}` | **廃止予定** 指定されたポートで`rippled`サーバーに接続します。代わりに、`--rpc_ip`を使用してIPアドレスとともにポートを指定します。 | + +**ヒント:** 一部の引数では、マイナスの値を指定できます。APIコマンドの引数がオプションとして解釈されないようにするには、コマンド名の前に`--`引数を渡します。 + +使用例(使用可能な最も古いレジャーバージョンから最新のレジャーバージョンまでのアカウントトランザクション履歴を取得): + +```bash +rippled -- account_tx r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 -1 -1 +``` + + +## 単体テスト + +```bash +rippled --unittest [OPTIONS] +rippled -u [OPTIONS] +``` + +単体テストでは、`rippled`ソースコードに組み込まれているテストを実行し、実行可能ファイルが予期されているとおりに動作することを確認します。単体テストの実行が完了すると、結果の概要が表示され、終了します。単体テストでは、組み込みのデータ型やトランザクション処理ルーチンなどの機能がカバーされます。 + +単体テストから失敗が報告される場合、一般的に次のいずれかの状況が発生しています。 + +- `rippled`のコンパイル時に問題が発生し、意図したとおりに機能していない +- `rippled`のソースコードにバグがある +- 単体テストにバグがあるか、単体テストが新しい動作に対応して更新されていない + +単体テストの実行時には、[汎用オプション](#汎用オプション)と以下のいずれかのオプションを指定できます。 + +| オプション | 短縮形 | 説明 | +|:-----------------------------------|:--------------|:------------------------| +| `--unittest-ipv6` | | 単体テストの実行時に[IPv6](https://en.wikipedia.org/wiki/IPv6)を使用してローカルサーバーに接続します。このオプションが指定されていない場合、単体テストではIPv4が代わりに使用されます。[新規: rippled 1.1.0][] | +| `--unittest-jobs {NUMBER_OF_JOBS}` | | 指定された数のプロセスを使用して単体テストを実行します。これにより、マルチコアシステムの単体テストをより短時間で終了できます。`{NUMBER_OF_JOBS}`には、使用するプロセスの数を示すプラスの整数値を指定します。 | +| `--unittest-log` | | `--quiet`が指定されている場合でも、単体テストにてログへの書き込みができるようにします。(それ以外の影響はありません。) | +| `--quiet` | `-q` | 単体テストの実行時に出力される診断メッセージの数が減少します。 | + + +### 特定の単体テスト + +```bash +rippled --unittest={TEST_OR_PACKAGE_NAME} +``` + +デフォルトでは、`rippled`は「手動」に分類されている単体テスト以外のすべての単体テストを実行します。テストの名前を指定してテストを個別に実行するか、またはパッケージ名を指定してテストのサブセットを実行することができます。 + +テストはパッケージの階層にまとめられます。パッケージは`.`文字で区切られ、テストケース名で終わります。 + +#### 単体テストの出力 + +```bash +rippled --unittest=print +``` + +`print`は、使用可能なテストとそのパッケージのリストを出力する特殊な単体テストです。 + +#### 手動単体テスト + +完了に時間を要する一部の単体テストは、「手動」に分類されています。このようなテストについては、`print`単体テストの出力に`|M|`と表示されます。すべての単体テストまたは単体テストのパッケージを実行するときには、手動テストはデフォルトで実行されません。手動テストを個別に実行するには、テスト名を指定します。例: + +```bash +$ ./rippled --unittest=ripple.tx.OversizeMeta +ripple.tx.OversizeMeta +Longest suite times: + 60.9s ripple.tx.OversizeMeta +60.9s, 1 suite, 1 case, 9016 tests total, 0 failures +``` + +#### 単体テストの引数の指定 + +特定の手動単体テストでは引数を指定できます。以下のオプションを使用して引数を指定します。 + +| オプション | 説明 | +|:------------------------|:---------------------------------------------------| +| `--unittest-arg {ARG}` | 実行される単体テストに引数`{ARG}`を指定します。引数を受け入れる単体テストはそれぞれ、固有の引数形式を定義しています。 | + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-header.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-header.ja.md new file mode 100644 index 0000000000..90f244bb94 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-header.ja.md @@ -0,0 +1,40 @@ +# レジャーヘッダー +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/ledger/ReadView.h#L71 "Source") + +すべてのレジャーバージョンには、その内容を記述する一意のヘッダーが含まれています。[ledgerメソッド][]を使用してレジャーのヘッダー情報を検索できます。レジャーヘッダーの内容を以下に示します。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-------------------------------|:----------|:------------------|:------------| +| [`ledger_index`][レジャーインデックス] | 文字列 | UInt32 | このレジャーのシーケンス番号。APIメソッドの中には、この番号を引用符で囲んだ整数として表示するメソッドと、ネイティブJSON数値として表示するメソッドがあります。 | +| `ledger_hash` | 文字列 | Hash256 | このレジャーバージョンの[SHA-512Half][]。これは、このレジャーとそのすべての内容の一意のIDとして機能します。 | +| `account_hash` | 文字列 | Hash256 | このレジャーの状態ツリー情報の[SHA-512Half][]。 | +| `close_time` | 数値 | UInt32 | このレジャーが閉鎖されたおおよその時刻。Rippleエポック(2000-01-01 00:00:00)以降の経過秒数として示されます。この値は`close_time_resolution`に基づいて丸められるので、これ以降のレジャーに同じ値が含まれることがあります。 | +| `closed` | ブール値 | bool | trueの場合、このレジャーバージョンはこれ以上新しいトランザクションを受け入れません。(ただし、このレジャーバージョンが未検証の場合は、一連の異なるトランザクションが記録されている別のレジャーバージョンに置き換えられることがあります。) | +| `parent_hash` | 文字列 | Hash256 | このレジャーを作成するために使用された直前のレジャーの`ledger_hash`値。直前のレジャーインデックスの異なるバージョンが存在している場合、これはレジャーの生成元を示します。 | +| `total_coins` | 文字列 | UInt64 | レジャーのアカウントが保有する[XRPのdrop数][XRP、drop単位]の合計。トランザクション手数料により消却されたXRPは除外されます。一部のアカウントは、そのキーを知っている人がいない「ブラックホール」アカウントであるため、流通している実際のXRPの量はこれよりも少なくなります。 | +| `transaction_hash` | 文字列 | Hash256 | このレジャーに記録されているトランザクションの[SHA-512Half][]。 | +| `close_time_resolution` | 数値 | Uint8 | `close_time`を丸めるときの最大秒数を示す範囲 \[2,120\] 内の整数。 | +| [`closeFlags`](#closeフラグ) | (省略) | UInt8 | このレジャーの閉鎖に関連するフラグのビットマップ。 | + + +## レジャーインデックス +{% include '_snippets/data_types/ledger_index.md' %} + + + +## closeフラグ + +レジャーでは1つのフラグだけがcloseFlagsとして設定されています(**sLCF_NoConsensusTime**(値`1`))。このフラグが有効な場合、バリデータによってレジャーの閉鎖時刻が異なります。ただし、作成しているレジャーは同一のものであるため、バリデータは閉鎖時刻について「合意をしないことに合意する」とした上でコンセンサスを宣言しました。この場合、コンセンサスレジャーバージョンの`close_time`の値は直前のバージョンの1秒後です。(この場合、正式な閉鎖時刻がありませんが、実際の閉鎖時刻はおそらく指定されている`close_time`の3~6秒後です。) + +`closeFlags`フィールドはレジャーのJSON表現には含まれていませんが、レジャーのバイナリ表現には含まれており、レジャーのハッシュを判別するフィールドの1つです。 + + +## 関連項目 + +レジャーの基本的な説明については、[レジャー](ledgers.html)を参照してください。 + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-ids.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-ids.ja.md new file mode 100644 index 0000000000..84ae109a28 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-ids.ja.md @@ -0,0 +1,18 @@ +# レジャーオブジェクトID + + +レジャーの状態ツリーのすべてのオブジェクトには一意のIDがあります。このフィールドは、オブジェクトの内容と同じレベルでJSONの`index`フィールドとして返されます。IDは、オブジェクトの重要な内容をハッシュし、[名前空間ID](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/LedgerFormats.h#L99)を使用して生成されます。[レジャーオブジェクトタイプ](ledger-object-types.html)により、使用する名前空間IDとハッシュに含める内容が決定します。これにより、すべてのIDが一意になります。ハッシュを計算するため、`rippled`はSHA-512を使用し、その結果を最初の256バイトで切り捨てます。**SHA-512Half**と呼ばれるこのアルゴリズム出力は、SHA-256と同等のセキュリティで、64ビットプロセッサーでは実行にかかる時間が短くなります。 + +![図: rippledによる、SHA-512Halfを使用したレジャーオブジェクトIDの生成。スペースキーは、異なるオブジェクトタイプIDの競合を防止します。](img/ledger-indexes.png) + + +## 関連項目 + +- XRP Ledgerでは、ハッシュがどのように生成、使用されているかについての詳細は、[ハッシュ](basic-data-types.html#ハッシュ)を参照してください。 +- レジャーの基本的な説明については、[レジャー](ledgers.html)を参照してください。 + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/accountroot.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/accountroot.ja.md new file mode 100644 index 0000000000..1e22d5c91f --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/accountroot.ja.md @@ -0,0 +1,79 @@ +# AccountRoot +[[ソース]
](https://github.com/ripple/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L27 "Source") + +`AccountRoot`オブジェクトタイプは、1つの[アカウント](accounts.html)、そのアカウントの設定、XRP残高を記述します。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "AccountTxnID": "0D5FB50FA65C9FE1538FD7E398FFFE9D1908DFA4576D8D7A020040686F93C77D", + "Balance": "148446663", + "Domain": "6D64756F31332E636F6D", + "EmailHash": "98B4375E1D753E5B91627516F6D70977", + "Flags": 8388608, + "LedgerEntryType": "AccountRoot", + "MessageKey": "0000000000000000000000070000000300", + "OwnerCount": 3, + "PreviousTxnID": "0D5FB50FA65C9FE1538FD7E398FFFE9D1908DFA4576D8D7A020040686F93C77D", + "PreviousTxnLgrSeq": 14091160, + "Sequence": 336, + "TransferRate": 1004999999, + "index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8" +} +``` + +## {{currentpage.name}}フィールド + +`AccountRoot`オブジェクトのフィールドは次のとおりです。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:------------------------------|:----------|:------------------|:-------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0061`が文字列`AccountRoot`にマッピングされている場合は、これがAccountRootオブジェクトであることを示します。 | +| `Account` | 文字列 | AccountID | このアカウントの識別用アドレス(rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpnなど)。 | +| `Balance` | 文字列 | Amount | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 | +| [`Flags`](#accountrootフラグ) | 数値 | UInt32 | このアカウントに対して有効になっているブールフラグのビットマップ。 | +| `OwnerCount` | 数値 | UInt32 | レジャーでこのアカウントが所有しており、アカウント所有者の準備金に資金を付与するオブジェクトの数。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | +| `Sequence` | 数値 | UInt32 | このアカウントの次に有効なトランザクションのシーケンス番号。(各アカウントはSequence = 1で開始し、トランザクションが作られるたびにこの値が増加します。) | +| `AccountTxnID` | 文字列 | Hash256 | _(省略可)_ このアカウントが最後に送信したトランザクションの識別用ハッシュ。 | +| `Domain` | 文字列 | VariableLength | _(省略可)_ このアカウントに関連付けられているドメイン。JSONではこれはドメインのASCII表現の16進数値です。 | +| `EmailHash` | 文字列 | Hash128 | _(省略可)_ メールアドレスのmd5ハッシュ。クライアントはこれを使用してサービス内で[Gravatar](https://en.gravatar.com/)などのアバターを検索できます。 | +| `MessageKey` | 文字列 | VariableLength | _(省略可)_ 暗号化メッセージをこのアカウントに送信するときに使用できる公開鍵。JSONでは16進数値を使用します。33バイト以下です。 | +| `RegularKey` | 文字列 | AccountID | _(省略可)_ このアカウントのトランザクションに署名するときにマスターキーの代わりに使用できるキーペアのアドレス。この値を変更するには[SetRegularKeyトランザクション][]を使用してください。 | +| `TickSize` | 数値 | UInt8 | _(省略可)_ このアドレスが発行した通貨が関わるオファーの為替レートに使用する有効桁数。有効な値は`3`以上`15`以下です。_([TickSize Amendment][]が必要です。)_ | +| `TransferRate` | 数値 | UInt32 | _(省略可)_ このアカウントが発行した通貨を他のユーザーが相互に送金する際に、これらのユーザーに請求する[送金手数料](https://ripple.com/knowledge_center/transfer-fees/)。 | +| `WalletLocator` | 文字列 | Hash256 | _(省略可)_ **廃止予定**。使用しないでください。 | +| `WalletSize` | 数値 | UInt32 | _(省略可)_ **廃止予定**。使用しないでください。 | + +## AccountRootフラグ + +このアカウントに対して有効化または無効化できる各種オプションがあります。これらのオプションを変更するには、[AccountSetトランザクション][]を使用します。レジャーではフラグはバイナリ値として表され、これらのバイナリ値はビットOR演算と組み合わせることができます。レジャーでのフラグのビット値は、トランザクションでこれらのフラグを有効または無効にするために使用する値とは異なります。レジャーのフラグには、 _lsf_ で始まる名前が付いています。 + +AccountRootオブジェクトには以下のフラグ値を指定できます。 + +| フラグ名 | 16進数値 | 10進数値 | 説明 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | +|-----------|-----------|---------------|-------------|-------------------------------| +| lsfDefaultRipple | 0x00800000 | 8388608 | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)を有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 | asfDefaultRipple | +| lsfDepositAuth | 0x01000000 | 16777216 | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)が有効になっています。) | asfDepositAuth | +| lsfDisableMaster | 0x00100000 | 1048576 | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 | asfDisableMaster | +| lsfDisallowXRP | 0x00080000 | 524288 | クライアントアプリケーションはこのアカウントにXRPを送金しないでください。`rippled`により強制されるものではありません。 | asfDisallowXRP | +| lsfGlobalFreeze | 0x00400000 | 4194304 | このアドレスが発行するすべての資産が凍結されます。 | asfGlobalFreeze | +| lsfNoFreeze | 0x00200000 | 2097152 | このアドレスは、このアドレスに接続しているトラストラインを凍結できません。一度有効にすると、無効にできません。 | asfNoFreeze | +| lsfPasswordSpent | 0x00010000 | 65536 | このアカウントは無料のSetRegularKeyトランザクションを使用しています。 | (なし) | +| lsfRequireAuth | 0x00040000 | 262144 | このアカウントは、他のユーザーがこのアカウントのイシュアンスを保有することを個別に承認する必要があります。 | asfRequireAuth | +| lsfRequireDestTag | 0x00020000 | 131072 | 受信ペイメントには宛先タグの指定が必要です。 | asfRequireDest | + +## AccountRoot IDのフォーマット + +AccountRootオブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* Accountスペースキー(`0x0061`) +* アカウントのAccountID + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/amendments.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/amendments.ja.md new file mode 100644 index 0000000000..f82ea08e85 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/amendments.ja.md @@ -0,0 +1,63 @@ +# Amendments +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L110-L113 "Source") + +`Amendments`オブジェクトタイプには、現在アクティブな[Amendment](amendments.html)のリストが含まれています。各レジャーバージョンには**最大で1つの** `Amendments`オブジェクトが含まれています。 + +## {{currentpage.name}}のJSONの例 + +```json +{ + "Majorities": [ + { + "Majority": { + "Amendment": "1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146", + "CloseTime": 535589001 + } + } + ], + "Amendments": [ + "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE", + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", + "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC", + "740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11" + ], + "Flags": 0, + "LedgerEntryType": "Amendments", + "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4" +} +``` + +## {{currentpage.name}}のフィールド + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|-------------------|-----------|-------------------|-------------| +| `Amendments` | 配列 | STI_VECTOR256 | _(省略可)_ 現在有効なすべてのAmendmentの256ビット[Amendment ID](amendments.html#amendmentについて)からなる配列。省略されている場合は、有効なAmendmentがありません。 | +| `Majorities` | 配列 | STI_ARRAY | _(省略可)_ 過半数の支持を得ているがまだ有効になっていないAmendmentのステータスを記述するオブジェクトの配列。省略されている場合は、過半数の支持を得ている保留中のAmendmentがありません。 | +| `Flags` | 数値 | UInt32 | ブール値フラグのビットマップ。Amendmentオブジェクトタイプにはフラグが定義されていないため、この値は常に`0`です。 | +| `LedgerEntryType` | 文字列 | UInt16 | 値が `0x0066`(文字列`Amendments`にマッピング)の場合は、このオブジェクトがXRP Ledgerに対するAmendmentのステータスを記述していることを示します。 | + +`Majorities`フィールドにメンバーが含まれている場合、各メンバーは`Majority`フィールドのみが含まれているオブジェクトです。このフィールドの内容は、以下のフィールドからなるネストオブジェクトです。 + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|-------------------|-----------|-------------------|-------------| +| `Amendment` | 文字列 | Hash256 | 保留中のAmendmentのAmendment ID。 | +| `CloseTime` | 数値 | UInt32 | このAmendmentが最後に過半数の支持を得たレジャーバージョンの[`close_time`フィールド](ledger-header.html)。 | + +[Amendmentプロセス](amendments.html#amendmentプロセス)では、80%以上のバリデータが新しいAmendmentを支持してバリデータのコンセンサスが得られると、`tfGotMajority`フラグを指定した[EnableAmendment][]疑似トランザクションを使用してこの新しいAmendmentが`Majorities`フィールドに追加されます。保留中のAmendmentの支持が80%を下回ると、`tfLostMajority`フラグが指定された[EnableAmendment][]疑似トランザクションによりそのAmendmentが`Majorities`配列から削除されます。Amendmentが`Majorities`フィールドに含まれている状態が2週間以上継続している場合、フラグが指定されていない[EnableAmendment][]疑似トランザクションによってそのAmendmentは`Majorities`から削除され、`Amendments`フィールドに恒久的に追加されます。 + +**注記:** 実際には、レジャー内のすべてのトランザクションは、その直前のレジャーバージョンで有効になっているAmendmentに基づいて処理されます。Amendmentが有効になったレジャーバージョンにトランザクションを適用する場合、このルールでは中間レジャーは変更されません。レジャーの閉鎖後、適用された新しいAmendmentにより定義される新しいルールが次のレジャーで使用されます。 + +## Amendment IDのフォーマット + +`Amendments`オブジェクトIDは、`Amendments`スペースキー(`0x0066`)のハッシュのみです。つまり、レジャーの`Amendments`オブジェクトのIDは常に次の値になります: + +``` +7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4 +``` + +(`Amendments`レジャーオブジェクトタイプのIDと、個々のAmendmentのAmendment IDを混同しないでください。) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/check.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/check.ja.md new file mode 100644 index 0000000000..ac0af3a884 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/check.ja.md @@ -0,0 +1,63 @@ +# Check +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L157-L170 "Source") + +_([Checks Amendment][]が必要です :not_enabled:)_ + +`Check`オブジェクトはCheckを表します。Checkは紙の個人小切手に似ており、送金先はCheckを換金して送金元からの資金を獲得できます。(予定されている支払いは送金元によりすでに承認されていますが、換金されるまでは資金の移動は発生しません。[Escrow](escrow.html)とは異なり、Checkの資金は預託されず、資金不足が原因でCheckの換金が失敗することがあります。) + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo", + "Destination": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy", + "DestinationNode": "0000000000000000", + "DestinationTag": 1, + "Expiration": 570113521, + "Flags": 0, + "InvoiceID": "46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291", + "LedgerEntryType": "Check", + "OwnerNode": "0000000000000000", + "PreviousTxnID": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924", + "PreviousTxnLgrSeq": 6, + "SendMax": "100000000", + "Sequence": 2, + "index": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0" +} +``` + +## {{currentpage.name}}フィールド + +`Check`オブジェクトのフィールドは次のとおりです。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:--------------------|:-----------------|:------------------|:----------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0043`が文字列`Check`にマッピングされている場合は、このオブジェクトがCheckオブジェクトであることを示します。 | +| `Account` | 文字列 | Account | Checkの送金元。Checkを換金するとこのアドレスの残高から引き落とされます。 | +| `Destination` | 文字列 | Account | Checkの指定受取人。このアドレスだけが[CheckCashトランザクション][]を使用してCheckを換金できます。 | +| `Flags` | 数値 | UInt32 | ブール値フラグのビットマップ。Checkにはフラグが定義されていないため、この値は常に`0`です。 | +| `OwnerNode` | 文字列 | UInt64 | 送金元の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションを含む[レジャーのインデックス][Ledger Index]。 | +| `SendMax` | 文字列またはオブジェクト | Amount | このCheckで送金元から引き落とすことができる最大通貨額。Checkの換金が成功すると、送金先に同じ通貨で最大この額までの資金が入金されます。 | +| `Sequence` | 数値 | UInt32 | このCheckを作成した[CheckCreateトランザクション][]のシーケンス番号。 | +| `DestinationNode` | 文字列 | UInt64 | _(省略可)_ 送金先の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ このCheckの送金先(送金先アドレスのホスティングされている受取人など)を詳しく指定するための任意のタグ。 | +| `Expiration` | 数値 | UInt32 | _(省略可)_ 経過後にこのCheckが有効期限切れとみなされる時刻を示します。詳細は[時間の指定][]を参照してください。 | +| `InvoiceID` | 文字列 | Hash256 | _(省略可)_ このCheckの具体的な理由または識別子として送金元が指定する任意の256ビットハッシュ。 | +| `SourceTag` | 数値 | UInt32 | _(省略可)_ このCheckの送金元(送金元アドレスのホスティングされている返金時の受取人など)を詳しく指定するための任意のタグ。 | + + +## Check IDのフォーマット +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/Indexes.cpp#L193-L200 "Source") + +`Check`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* Checkスペースキー(`0x0043`) +* `Check`オブジェクトを作成した[CheckCreateトランザクション][]の送信者のAccountID。 +* `Check`オブジェクトを作成した[CheckCreateトランザクション][]のシーケンス番号。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/depositpreauth.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/depositpreauth.ja.md new file mode 100644 index 0000000000..26b5fd784e --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/depositpreauth.ja.md @@ -0,0 +1,49 @@ +# DepositPreauth +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L172-L178 "Source") + +`DepositPreauth`オブジェクトはアカウント間の事前承認を追跡します。[DepositPreauthトランザクション][]によりこれらのオブジェクトが作成されます。 + +これは、事前承認を付与したアカウントに[Deposit Authorization](depositauth.html)が不要な場合は、トランザクションの処理に影響しません。その場合、事前承認されたアカウントから、事前承認を付与したアカウントに対して、支払やその他のトランザクションを直接送信できます。事前認証は一方向であり、反対方向の支払には影響しません。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "LedgerEntryType" : "DepositPreauth", + "Account" : "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "Authorize" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "Flags" : 0, + "OwnerNode" : "0000000000000000", + "PreviousTxnID" : "3E8964D5A86B3CD6B9ECB33310D4E073D64C865A5B866200AD2B7E29F8326702", + "PreviousTxnLgrSeq" : 7, + "index" : "4A255038CC3ADCC1A9C91509279B59908251728D0DAADB248FFE297D0F7E068C" +} +``` + +## {{currentpage.name}}フィールド + +`DepositPreauth`オブジェクトのフィールドは次のとおりです。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:--------------------|:-----------------|:------------------|:----------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0070`が文字列`DepositPreauth`にマッピングされている場合は、これがDepositPreauthオブジェクトであることを示します。 | +| `Account` | 文字列 | Account | 事前承認を付与したアカウント。(事前認証支払の宛先。) | +| `Authorize` | 文字列 | Account | 事前承認を受けたアカウント。(事前認証支払の送金元。) | +| `Flags` | 数値 | UInt32 | ブールフラグのビットマップ。DepositPreauthオブジェクトにはフラグが定義されていないため、この値は常に`0`です。 | +| `OwnerNode` | 文字列 | UInt64 | 送金元アドレスの所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | + + +## DepositPreauth IDのフォーマット + +`DepositPreauth`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* DepositPreauthスペースキー(`0x0070`) +* このオブジェクトの所有者(このオブジェクトを作成した[DepositPreauthトランザクション][]の送信者、つまり事前承認を付与したユーザー)のAccountID。 +* 事前承認されたアカウント(このオブジェクトを作成した[DepositPreauthトランザクション][]の`Authorized`フィールド、つまり事前承認を受けたユーザー)のAccountID。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/directorynode.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/directorynode.ja.md new file mode 100644 index 0000000000..89c4105957 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/directorynode.ja.md @@ -0,0 +1,101 @@ +# DirectoryNode +[[ソース]
](https://github.com/ripple/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L44 "Source") + +`DirectoryNode`オブジェクトタイプは、レジャーの状態ツリー内の他オブジェクトへのリンクのリストを提供します。概念上の1つの _ディレクトリー_ は、1つ以上の各DirectoryNodeオブジェクトが含まれる二重リンクリストの形式になっています。各DirectoryNodeオブジェクトには、他オブジェクトの[ID](ledgers.html#ツリーの形式)が最大32個まで含まれています。1番目のオブジェクトはディレクトリーのルートと呼ばれ、ルートオブジェクト以外のオブジェクトはすべて必要に応じて自由に追加または削除できます。 + +2種類のディレクトリーがあります。 + +* **所有者ディレクトリー**は、アカウントが所有するその他のオブジェクト(`RippleState`オブジェクトや`Offer`オブジェクトなど)をリストします。 +* **オファーディレクトリー**は、分散型取引所で利用可能なオファーをリストします。1つのオファーディレクトリーには、同一イシュアンスに同一為替レートが設定されているすべてのオファーが含まれます。 + +## {{currentpage.name}}のJSONの例 + + + +*オファーディレクトリー* + +```json +{ + "ExchangeRate": "4F069BA8FF484000", + "Flags": 0, + "Indexes": [ + "AD7EAE148287EF12D213A251015F86E6D4BD34B3C4A0A1ED9A17198373F908AD" + ], + "LedgerEntryType": "DirectoryNode", + "RootIndex": "1BBEF97EDE88D40CEE2ADE6FEF121166AFE80D99EBADB01A4F069BA8FF484000", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000004A50590000000000", + "TakerPaysIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098", + "index": "1BBEF97EDE88D40CEE2ADE6FEF121166AFE80D99EBADB01A4F069BA8FF484000" +} +``` + +*所有者ディレクトリー* + +```json +{ + "Flags": 0, + "Indexes": [ + "AD7EAE148287EF12D213A251015F86E6D4BD34B3C4A0A1ED9A17198373F908AD", + "E83BBB58949A8303DF07172B16FB8EFBA66B9191F3836EC27A4568ED5997BAC5" + ], + "LedgerEntryType": "DirectoryNode", + "Owner": "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ", + "RootIndex": "193C591BF62482468422313F9D3274B5927CA80B4DD3707E42015DD609E39C94", + "index": "193C591BF62482468422313F9D3274B5927CA80B4DD3707E42015DD609E39C94" +} +``` + + + +## {{currentpage.name}}のフィールド + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|-------------------|-----------|---------------|-------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値が`0x0064`(文字列`DirectoryNode`にマッピング)の場合は、このオブジェクトがディレクトリーの一部であることを示します。 | +| `Flags` | 数値 | UInt32 | このディレクトリーに対して有効になっているブール値フラグのビットマップ。現在、プロトコルではDirectoryNodeオブジェクトのフラグは定義されていません。 | +| `RootIndex` | 文字列 | Hash256 | このディレクトリーのルートオブジェクトのID。 | +| `Indexes` | 配列 | Vector256 | このディレクトリーの内容: 他のオブジェクトのIDの配列。 | +| `IndexNext` | 数値 | UInt64 | (省略可)このディレクトリーに複数のページが含まれている場合、このIDはチェーン内の次のオブジェクトにリンクし、末尾でラップアラウンドします。 | +| `IndexPrevious` | 数値 | UInt64 | (省略可)このディレクトリーに複数のページが含まれている場合、このIDはチェーン内の前のオブジェクトにリンクし、先頭でラップアラウンドします。 | +| `Owner` | 文字列 | AccountID | (所有者ディレクトリーのみ)このディレクトリー内のオブジェクトを所有するアカウントのアドレス。 | +| `ExchangeRate` | 数値 | UInt64 | (オファーディレクトリーのみ)**廃止予定**。使用しないでください。 | +| `TakerPaysCurrency` | 文字列 | Hash160 | (オファーディレクトリーのみ)このディレクトリーのオファーのTakerPaysの額の通貨コード。 | +| `TakerPaysIssuer` | 文字列 | Hash160 | (オファーディレクトリーのみ)このディレクトリーのオファーのTakerPaysの額のイシュアー。 | +| `TakerGetsCurrency` | 文字列 | Hash160 | (オファーディレクトリーのみ)このディレクトリーのオファーのTakerGetsの額の通貨コード。 | +| `TakerGetsIssuer` | 文字列 | Hash160 | (オファーディレクトリーのみ)このディレクトリーのオファーのTakerGetsの額のイシュアー。 | + +## ディレクトリー IDのフォーマット + +DirectoryNodeのIDを作成するときには、DirectoryNodeが以下のどのページを表しているかに応じて3種類の方式があります。 + +* 所有者ディレクトリーの1番目のページ(ルートとも呼ばれます) +* オファーディレクトリーの1番目のページ +* いずれかのディレクトリーの以降のページ + +**所有者ディレクトリーの1番目のページ**のIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* 所有者ディレクトリーのスペースキー(`0x004F`) +* `Owner`フィールドのAccountID。 + +**オファーディレクトリーの1番目のページ**には特殊なIDがあります。このIDの上位192ビットはオーダーブックを定義し、それ以降の64ビットはこのディレクトリー内のオファーの為替レートを定義します。(IDはビッグエンディアンであるため、最初に位置する上位ビットにブックが含まれ、後に位置する下位ビットにクオリティが含まれます。)これにより、最適なオファーから最低のオファーへの順にオーダーブックを反復できます。具体的には、先頭192ビットとは、以下の値がこの順序で連結されている[SHA-512Half][]の先頭192ビットです。 + +* ブックディレクトリーのスペースキー(`0x0042`) +* `TakerPaysCurrency`の160ビットの通貨コード +* `TakerGetsCurrency`の160ビットの通貨コード +* `TakerPaysIssuer`のAccountID +* `TakerGetsIssuer`のAccountID + +オファーディレクトリーのIDの下位64ビットは、そのディレクトリー内のオファーのTakerPaysの額をTakerGetsの額で割った結果を、XRP Ledgerの内部金額フォーマットの64ビット数値で表したものです。 + +**DirectoryNodeがディレクトリーの1番目のページではない場合**(所有者ディレクトリー、オファーディレクトリーのいずれの場合でも)、DirectoryNodeのIDは、以下の値をこの順序で連結した[SHA-512Half][]です。 + +* DirectoryNodeスペースキー(`0x0064`) +* ルートDirectoryNodeのID +* このオブジェクトのページ番号(ルートDirectoryNodeは0であるため、この値は1以上の整数値です。) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/escrow.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/escrow.ja.md new file mode 100644 index 0000000000..71d310d7b7 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/escrow.ja.md @@ -0,0 +1,68 @@ +# Escrow +[[ソース]
](https://github.com/ripple/rippled/blob/c6b6d82a754fe449cc533e18659df483c10a5c98/src/ripple/protocol/impl/LedgerFormats.cpp#L90-L101 "Source") + +_([Escrow Amendment][]が必要です。)_ + +`Escrow`オブジェクトタイプは、実行または取り消しを待機している保留中のXRP支払を表します。[EscrowCreateトランザクション][]はレジャーに`Escrow`オブジェクトを作成します。[EscrowFinish][]トランザクションまたは[EscrowCancel][]トランザクションが正常に完了すると、オブジェクトが削除されます。``Escrow``オブジェクトに [_Crypto-condition_](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02)が指定されている場合、支払が成功するのは、EscrowFinishトランザクションに指定された対応する _フルフィルメント_ がその条件を満たす場合だけです。(サポートされている唯一のCrypto-conditionタイプは[PREIMAGE-SHA-256](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1)です。)`Escrow`オブジェクトに`FinishAfter`時刻が指定されている場合、保留中の支払はその時刻の経過後にのみ実行されます。 + +`Escrow`オブジェクトには次の2つのアドレスが関連付けられています。 + +- `Escrow`オブジェクトの作成時にXRPを供給する所有者。保留中の支払が取り消されると、XRPは所有者に返金されます。 +- 保留中の支払が成功するとXRPが支払われる宛先。宛先は所有者と同じにできます。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": "10000", + "CancelAfter": 545440232, + "Condition": "A0258020A82A88B2DF843A54F58772E4A3861866ECDB4157645DD9AE528C1D3AEEDABAB6810120", + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "DestinationTag": 23480, + "FinishAfter": 545354132, + "Flags": 0, + "LedgerEntryType": "Escrow", + "OwnerNode": "0000000000000000", + "DestinationNode": "0000000000000000", + "PreviousTxnID": "C44F2EB84196B9AD820313DBEBA6316A15C9A2D35787579ED172B87A30131DA7", + "PreviousTxnLgrSeq": 28991004, + "SourceTag": 11747, + "index": "DC5F3851D8A1AB622F957761E5963BC5BD439D5C24AC6AD7AC4523F0640244AC" +} +``` + +## {{currentpage.name}}フィールド + +`Escrow`オブジェクトのフィールドは次のとおりです。 + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|-------------------|-----------|---------------|-------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0075`が文字列`Escrow`にマッピングされている場合は、このオブジェクトが`Escrow`オブジェクトであることを示します。 | +| `Account` | 文字列 | AccountID | この保留中の支払の所有者(送金元)のアドレス。これはXRPを供給し、保留中の支払が取り消された場合にXRPが返金されるアカウントです。 | +| `Destination` | 文字列 | AccountID | 保留中の支払が成功するとXRPが支払われる宛先アドレス。 | +| `Amount` | 文字列 | Amount | 保留中の支払から送金されるXRPの額(drop単位)。 | +| `Condition` | 文字列 | VariableLength | _(省略可)_ [PREIMAGE-SHA-256 Crypto-condition](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1)(16進数)。指定されている場合、[EscrowFinishトランザクション][]にこの条件を満たすフルフィルメントが含まれている必要があります。 | +| `CancelAfter` | 数値 | UInt32 | _(省略可)_ このフィールドがあり、 _かつ_ 指定されている時刻を経過している場合にのみ、保留中の支払を取り消すことができます。具体的には、これは[Rippleエポック以降の経過秒数][]として指定され、前の検証済みレジャーの閉鎖時刻よりも早い場合に「経過した」ことになります。 | +| `FinishAfter` | 数値 | UInt32 | _(省略可)_ [Rippleエポック以降の経過秒数][]で示される時刻が経過した後、保留中の支払を完了できます。この時刻より前の[EscrowFinishトランザクション][]はすべて失敗します。(特にこれは、前の検証済みレジャーの閉鎖時刻と比較されます。) | +| `Flags` | 数値 | UInt32 | ブールフラグのビットマップ。Escrowタイプにはフラグが定義されていないため、この値は常に`0`です。 | +| `SourceTag` | 数値 | UInt32 | _(省略可)_ この保留中の支払の支払元(所有者のアドレスにホスティングされている受取人など)を詳しく指定するための任意のタグ。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ この保留中の支払の宛先(宛先アドレスにホスティングされている受取人など)を詳しく指定するための任意のタグ。 | +| `OwnerNode` | 文字列 | UInt64 | 所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | +| `DestinationNode` | 文字列 | UInt64 | _(省略可)_ 宛先の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。[fix1523 Amendment][]を有効にする前に作成されたEscrowでは省略されています。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | + + +## Escrow IDのフォーマット + +`Escrow`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* Escrowスペースキー(`0x0075`) +* `Escrow`オブジェクトを作成した[EscrowCreateトランザクション][]の送信者のAccountID。 +* `Escrow`オブジェクトを作成した[EscrowCreateトランザクション][]のシーケンス番号。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/feesettings.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/feesettings.ja.md new file mode 100644 index 0000000000..ba77ec7a91 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/feesettings.ja.md @@ -0,0 +1,49 @@ +# FeeSettings +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L115-L120 "Source") + +`FeeSettings`オブジェク +トタイプには、現在の基本[トランザクションコスト](transaction-cost.html)と、[手数料投票](fee-voting.html)により決定する[準備金の額](reserves.html)が含まれています。各レジャーバージョンには**最大で1つの** `FeeSettings`オブジェクトが含まれています。 + +## {{currentpage.name}} JSONの例 + +`FeeSettings`オブジェクトの例。 + +```json +{ + "BaseFee": "000000000000000A", + "Flags": 0, + "LedgerEntryType": "FeeSettings", + "ReferenceFeeUnits": 10, + "ReserveBase": 20000000, + "ReserveIncrement": 5000000, + "index": "4BC50C9B0D8515D3EAAE1E74B29A95804346C491EE1A95BF25E4AAB854A6A651" +} +``` + +## {{currentpage.name}}フィールド + +`FeeSettings`オブジェクトのフィールドは次のとおりです。 + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|:--------------------|:----------|:------------------|:-----------------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0073`が文字列`FeeSettings`にマッピングされている場合は、このオブジェクトにレジャーの手数料設定が含まれていることを示します。 | +| `BaseFee` | 文字列 | UInt64 | 「リファレンストランザクション」の[トランザクションコスト](transaction-cost.html)(XRPのdrop数、16進数) | +| `ReferenceFeeUnits` | 数値 | UInt32 | 「手数料単位」に変換された`BaseFee` | +| `ReserveBase` | 数値 | UInt32 | XRP Ledgerのアカウントの[基本準備金](reserves.html#基本準備金と所有者準備金)(XRPのdrop数)。 | +| `ReserveIncrement` | 数値 | UInt32 | 所有するオブジェクトごとに増加する[所有者準備金](reserves.html#基本準備金と所有者準備金)(XRPのdrop数)。 | +| `Flags` | 数値 | UInt32 | このオブジェクトのブールフラグのビットマップ。このタイプではフラグは定義されていません。 | + +**警告:** このレジャーオブジェクトのJSONフォーマットは一般的ではありません。`BaseFee`、`ReserveBase`、および`ReserveIncrement`はXRPのdrop数を示しますが、通常の[XRP指定][Currency Amount]フォーマットでは***ありません*** 。 + +## FeeSettings IDのフォーマット + +`FeeSettings`オブジェクトIDは、`FeeSettings`スペースキー(`0x0065`)のハッシュのみです。つまり、レジャーの`FeeSettings`オブジェクトのIDは常に次の値になります。 + +``` +4BC50C9B0D8515D3EAAE1E74B29A95804346C491EE1A95BF25E4AAB854A6A651 +``` + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/ledgerhashes.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/ledgerhashes.ja.md new file mode 100644 index 0000000000..e4fa15231f --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/ledgerhashes.ja.md @@ -0,0 +1,76 @@ +# LedgerHashes +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L104-L108 "Source") + +(レジャーバージョンを一意に示す[「ledger hash」文字列データ型][Hash]と混同しないでください。このセクションでは、`LedgerHashes`レジャーオブジェクトタイプについて説明します。) + +`LedgerHashes`オブジェクトタイプには、このレジャーバージョン以前のレジャーの履歴がハッシュの形式で含まれています。このレジャータイプのオブジェクトは、レジャーの閉鎖処理の過程で自動的に変更されます。(このときに限り、レジャーの「状態」ツリーはトランザクションまたは疑似トランザクションなしで変更されます。)`LedgerHashes`オブジェクトの目的は、現行レジャーバージョンのみを指定して過去のレジャーのハッシュを検索できるようにすることです。過去のレジャーバージョンを最大で1回検索できます。 + +2種類の`LedgerHashes`オブジェクトがあります。2種類のオブジェクトのフィールドは同一です。各レジャーバージョンの内容は以下のとおりです。 + +- 「最近の履歴」の`LedgerHashes`オブジェクト(1つのみ) +- 現在のレジャーインデックス(レジャー履歴の長さ)に基づく正確な数の「過去の履歴」の`LedgerHashes`オブジェクト。具体的には、XRP Ledgerでは65536個のレジャーバージョンごとに新しい「過去の履歴」オブジェクトが1つ追加されます。 + +**注記:** 例外として、新しいジェネシスレジャーにはレジャー履歴がないため、`LedgerHashes`オブジェクトが含まれていません。 + +`LedgerHashes`オブジェクトの例(一部省略しています): + +```json +{ + "LedgerEntryType": "LedgerHashes", + "Flags": 0, + "FirstLedgerSequence": 2, + "LastLedgerSequence": 33872029, + "Hashes": [ + "D638208ADBD04CBB10DE7B645D3AB4BA31489379411A3A347151702B6401AA78", + "254D690864E418DDD9BCAC93F41B1F53B1AE693FC5FE667CE40205C322D1BE3B", + "A2B31D28905E2DEF926362822BC412B12ABF6942B73B72A32D46ED2ABB7ACCFA", + "AB4014846DF818A4B43D6B1686D0DE0644FE711577C5AB6F0B2A21CCEE280140", + "3383784E82A8BA45F4DD5EF4EE90A1B2D3B4571317DBAC37B859836ADDE644C1", + ... (up to 256 ledger hashes) ... + ], + "index": "B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B" +} +``` + +`LedgerHashes`オブジェクトのフィールドは次のとおりです。 + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|-------------------|-----------|-------------------|-------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0068`が文字列`LedgerHashes`にマッピングされている場合は、このオブジェクトがレジャーハッシュのリストであることを示します。 | +| `FirstLedgerSequence` | 数値 | UInt32 | **廃止予定** 使用しないでください。(本番環境のXRP Ledgerの「最近のハッシュ」オブジェクトでは、このフィールドの値は`2`です。これは、以前の`rippled`ソフトウェアによるものです。この値は「最近のハッシュ」オブジェクトの更新に伴い持ち越されます。このフィールドは新しい「過去の履歴」オブジェクトには含まれていません。また、新しいバージョンの`rippled`で導入された[並列ネットワーク](parallel-networks.html)の「最近のハッシュ」オブジェクトにも含まれていません。) | +| `LastLedgerSequence` | 数値 | UInt32 | このオブジェクトの`Hashes`配列の最後の要素の[レジャーインデックス][]。 | +| `Hashes` | 文字列の配列 | STI_VECTOR256 | 最大256個のレジャーハッシュからなる配列。その内容は、これが`LedgerHashes`オブジェクトのどのサブタイプであるかに応じて異なります。 | +| `Flags` | 数値 | UInt32 | このオブジェクトのブールフラグのビットマップ。このタイプではフラグは定義されていません。 | + +## 最近の履歴のLedgerHashes + +ジェネシスレジャー以降、各レジャーには「最近の履歴」サブタイプの`LedgerHashes`オブジェクトが1つだけ存在します。このオブジェクトでは、最近の256個のレジャーバージョン(または、レジャー履歴に記録されたレジャーの数が256未満の場合は256未満)を識別するハッシュが`Hashes`配列に含まれています。新しいレジャーを閉鎖するたびに、閉鎖処理の過程の一部で「最近の履歴」オブジェクトが、このレジャーバージョンの生成元である前のレジャーバージョン(このレジャーバージョンの _親レジャー_ )のハッシュで更新されます。ハッシュ数が256を超えると、最も古いハッシュが削除されます。 + +特定のレジャーの「最近の履歴」`LedgerHashes`オブジェクトを使用して、その特定のレジャーバージョンより古い256個のレジャーバージョンから、任意のレジャーインデックスのハッシュを取得できます。 + +## 過去の履歴のLedgerHashes + +「過去の履歴」の`LedgerHashes`のエントリーには、レジャー履歴全体の256個ごとのレジャーバージョン(フラッグレジャー)のハッシュがまとめて含まれています。フラッグレジャーの子が閉鎖すると、最も新しい「過去の履歴」`LedgerHashes`オブジェクトの`Hashes`配列にフラッグレジャーのハッシュが追加されます。65536個のレジャーごとに、`rippled`は新しい`LedgerHashes`オブジェクトを作成します。これにより、各「過去の履歴」オブジェクトには256個のフラッグレジャーのハッシュが含まれます。 + +**注記:** 最も古い「過去の履歴」`LedgerHashes`オブジェクトのエントリー数は255です。これは、ジェネシスレジャーのレジャーインデックスが0ではなく1であるためです。 + +「過去の履歴」`LedgerHashes`オブジェクトは[スキップリスト](https://en.wikipedia.org/wiki/Skip_list)として機能するので、任意の履歴フラッグレジャーのハッシュをそのインデックスから取得できます。さらに、フラッグレジャーの「最近の履歴」オブジェクトを使用してその他のレジャーのハッシュを取得できます。 + +## LedgerHashes IDのフォーマット +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/Indexes.cpp#L26-L42) + +`LedgerHashes`オブジェクトIDには2種類のフォーマットがあります。これは、オブジェクトのサブタイプが「最近の履歴」と「過去の履歴」のいずれであるかに応じて決まります。 + +**「最近の履歴」** `LedgerHashes`オブジェクトのIDは、`LedgerHashes`スペースキー(`0x0073`)の[SHA-512Half][]です。つまり「最近の履歴」のIDは常に`B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B`です。 + +**「過去の履歴」**`LedgerHashes`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +- `LedgerHashes`スペースキー(`0x0073`) +- オブジェクトの`Hashes`配列のフラッグレジャーの32ビット[レジャーインデックス][]を65536で割った値。 + + **ヒント:** 65536で割ることで最上位16ビットが維持されます。これは、「過去の履歴」オブジェクトに含まれているすべてのフラッグレジャーでのみ同一です。この点を踏まえて、フラッグレジャーのハッシュが含まれている`LedgerHashes`オブジェクトを検索できます。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/offer.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/offer.ja.md new file mode 100644 index 0000000000..48625635b6 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/offer.ja.md @@ -0,0 +1,74 @@ +# Offer +[[ソース]
](https://github.com/ripple/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L57 "Source") + +`Offer`オブジェクトタイプは、XRP Ledgerの分散型取引所での(従来は _オーダー_ と呼ばれていた)通貨取引オファーを記述します。[OfferCreateトランザクション][]は、レジャーにすでに含まれている他のオファーを消費することでは完全にオファーを実行できない場合に、レジャーに`Offer`オブジェクトを作成します。 + +オファーがレジャーに存在している間に、ネットワークの他のアクティビティによってオファーが資金化されないことがあります。ただし`rippled`ではトランザクション処理において資金化されないオファーはすべて自動的に取り除かれます(レジャー状態を変更できるのはトランザクションだけであることから、これはトランザクション処理で _のみ_ 行われます)。 + +詳細は、[オファー](offers.html)を参照してください。 + +## {{currentpage.name}}のJSONの例 + +```json +{ + "Account": "rBqb89MRQJnMPq8wTwEbtz4kvxrEDfcYvt", + "BookDirectory": "ACC27DE91DBA86FC509069EAF4BC511D73128B780F2E54BF5E07A369E2446000", + "BookNode": "0000000000000000", + "Flags": 131072, + "LedgerEntryType": "Offer", + "OwnerNode": "0000000000000000", + "PreviousTxnID": "F0AB71E777B2DA54B86231E19B82554EF1F8211F92ECA473121C655BFC5329BF", + "PreviousTxnLgrSeq": 14524914, + "Sequence": 866, + "TakerGets": { + "currency": "XAG", + "issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH", + "value": "37" + }, + "TakerPays": "79550000000", + "index": "96F76F27D8A327FC48753167EC04A46AA0E382E6F57F32FD12274144D00F1797" +} +``` + +## {{currentpage.name}}のフィールド + +`Offer`オブジェクトのフィールドを次に示します。 + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|-------------------|-----------|---------------|-------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値が`0x006F`(文字列`Offer`にマッピング)の場合は、このオブジェクトが通貨取引オーダーを記述することを示します。 | +| `Flags` | 数値 | UInt32 | このオファーに対して有効になっているブール値フラグのビットマップ。 | +| `Account` | 文字列 | AccountID | このオファーを所有するアカウントのアドレス。 | +| `Sequence` | 数値 | UInt32 | `Offer`オブジェクトを作成した[OfferCreate][]トランザクションの`Sequence` 値。`Account`とこのフィールドの組み合わせによってこのオファーが識別されます。 | +| `TakerPays` | 文字列またはオブジェクト | Amount | オファー作成者が要求する残額と通貨の種類。 | +| `TakerGets` | 文字列またはオブジェクト | Amount | オファー作成者が提供する残額と通貨の種類。 | +| `BookDirectory` | 文字列 | UInt256 | このオファーにリンクしている[オファーディレクトリー](directorynode.html)のID。 | +| `BookNode` | 文字列 | UInt64 | オファーディレクトリーが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | +| `OwnerNode` | 文字列 | UInt64 | 所有者ディレクトリーが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオファーには、オファーを含む所有者ディレクトリーへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | +| `Expiration` | 数値 | UInt32 | (省略可)このオファーが資金化されなかったとみなされる時刻を示します。詳細は、[時間の指定][]を参照してください。 | + +## Offerフラグ + +[OfferCreateトランザクション][]でOfferオブジェクトを作成するときに有効化または無効化できる各種オプションがあります。レジャーではフラグはバイナリ値として表され、これらのバイナリ値はビットOR演算と組み合わせることができます。レジャーでのフラグのビット値は、トランザクションでこれらのフラグを有効または無効にするために使用する値とは異なります。レジャーのフラグには、 _lsf_ で始まる名前が付いています。 + +`Offer` オブジェクトには以下のフラグ値を指定できます。 + +| フラグ名 | 16進値 | 10進値 | 説明 | 対応する[OfferCreateフラグ](offercreate.html#offercreateフラグ) | +|-----------|-----------|---------------|-------------|------------------------| +| lsfPassive | 0x00010000 | 65536 | オブジェクトはパッシブオファーとして配置されました。レジャー内のオブジェクトには影響しません。 | tfPassive | +| lsfSell | 0x00020000 | 131072 | オブジェクトはセルオファーとして配置されました。レジャー内のオブジェクトへの影響はありません。これは、要求したレートよりも良いレートを得た場合にのみtfSellが関連するためです。この状況はオブジェクトがレジャーに記録された後では発生することはありません。 | tfSell | + +## オファーIDのフォーマット + +`Offer`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* Offerスペースキー(`0x006F`) +* オファーを行うアカウントのAccountID +* オファーを作成した[OfferCreateトランザクション][]のシーケンス番号。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/paychannel.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/paychannel.ja.md new file mode 100644 index 0000000000..3e6506f5d5 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/paychannel.ja.md @@ -0,0 +1,101 @@ +# PayChannel +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L141-L155 "Source") + +_([PayChan Amendment][]が必要です。)_ + +`PayChannel`オブジェクトタイプは、Payment Channelを表します。Payment Channelにより、レジャー外で少額のXRPを迅速に支払うことができます。このような支払は、コンセンサスレジャーにより後日調整できます。Payment Channelは、このChannelが閉鎖されるまでは、特定の宛先アドレスに対してのみ支払可能なXRPの残高を保有します。Channelの閉鎖時に、未使用のXRPはChannelの所有者(Channelを作成し、資金を供給した支払元アドレス)に返金されます。 + +[PaymentChannelCreateトランザクション][]タイプは、`PayChannel`オブジェクトを作成します。[PaymentChannelFundトランザクション][]タイプと[PaymentChannelClaimトランザクション][]タイプは、既存の`PayChannel`オブジェクトを変更します。 + +有効期限切れになったPayment Channelは、まずレジャーに残ります。これは、レジャーの内容を変更できるのは新しいトランザクションだけであるためです。有効期限の経過後にトランザクションがPayment Channelにアクセスすると、トランザクション処理によりそのPayment Channelは自動的に閉鎖されます。有効期限切れのChannelを閉鎖して未使用のXRPを所有者に返金するには、一部のアドレスがそのChannelにアクセスする新しいPaymentChannelClaimトランザクションまたはPaymentChannelFundトランザクションを送信する必要があります。 + +Payment Channelの使用例については、[Payment Channelのチュートリアル](use-payment-channels.html)を参照してください。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rBqb89MRQJnMPq8wTwEbtz4kvxrEDfcYvt", + "Destination": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": "4325800", + "Balance": "2323423", + "PublicKey": "32D2471DB72B27E3310F355BB33E339BF26F8392D5A93D3BC0FC3B566612DA0F0A", + "SettleDelay": 3600, + "Expiration": 536027313, + "CancelAfter": 536891313, + "SourceTag": 0, + "DestinationTag": 1002341, + "Flags": 0, + "LedgerEntryType": "PayChannel", + "OwnerNode": "0000000000000000", + "PreviousTxnID": "F0AB71E777B2DA54B86231E19B82554EF1F8211F92ECA473121C655BFC5329BF", + "PreviousTxnLgrSeq": 14524914, + "index": "96F76F27D8A327FC48753167EC04A46AA0E382E6F57F32FD12274144D00F1797" +} +``` + +## {{currentpage.name}}フィールド + +`PayChannel`オブジェクトのフィールドは次のとおりです。 + +| 名前 | JSONの型 | [内部の型][] | 説明 | +|:--------------------|:----------|:------------------|:-----------------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0078`が文字列`PayChannel`にマッピングされている場合は、このオブジェクトがPayment Channelオブジェクトであることを示します。 | +| `Account` | 文字列 | AccountID | このPayment Channelを所有する支払元アドレス。これは、Channelを作成したトランザクションの送信側アドレスから取得されます。 | +| `Destination` | 文字列 | AccountID | このPayment Channelの宛先アドレス。Payment Channelが開いている場合、このアドレスは、このChannelからXRPを受領できる唯一のアドレスです。これは、Channelを作成したトランザクションの`Destination`フィールドから取得されます。 | +| `Amount` | 文字列 | Amount | このChannelに割り当てられている [XRP、drop単位][]の合計です。これには宛先アドレスに支払われたXRPも含まれます。最初にChannelを作成したトランザクションにより設定され、支払元アドレスがPaymentChannelFundトランザクションを送信する場合に増加できます。 | +| `Balance` | 文字列 | Amount | このChannelがすでに支払った[XRP、drop単位][]の合計。この値と`Amount`フィールドの差異は、PaymentChannelClaimトランザクションの宛先アドレスに対して支払うことができるXRPの量を示します。Channelが閉鎖すると、残りの差額は支払元アドレスに返されます。 | +| `PublicKey` | 文字列 | PubKey | このChannelに対するクレームの署名に使用できるキーペアの公開鍵(16進数)。有効なsecp256k1公開鍵またはEd25519公開鍵を指定できます。Channelを作成したトランザクションによって設定されます。Channelに対するクレームに使用される公開鍵と一致している必要があります。Channelの支払元アドレスは、署名付きクレームなしでこのChannelから宛先にXRPを送金することもできます。 | +| `SettleDelay` | 数値 | UInt32 | ChannelにXRPがまだある場合に、支払元アドレスがそのChannelを閉鎖するまでに待機する秒数。値が小さい場合、支払元アドレスがChannelの閉鎖を要求した後で、宛先アドレスが未処理のクレームを精算できる時間が短くなります。32ビットの符号なし整数に収まる値(0~2^32-1)であれば任意の値を指定できます。これは、Channelを作成するトランザクションにより設定されます。 | +| `OwnerNode` | 文字列 | UInt64 | 支払元アドレスの所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | +| `Flags` | 数値 | UInt32 | このPayment Channelに対して有効になっているブールフラグのビットマップ。現在、プロトコルでは`PayChannel` オブジェクトのフラグは定義されていません。 | +| `Expiration` | 数値 | UInt32 | _(省略可)_ このPayment Channelの変更可能な有効期限([Rippleエポックからの経過秒数][])。この値が指定されており、前のレジャーの[`close_time`フィールド](ledger-header.html)よりも小さい場合、Channelは有効期限切れです。詳細は、[Channel有効期限の設定](#channel有効期限の設定)を参照してください。 | +| `CancelAfter` | 数値 | UInt32 | _(省略可)_ このPayment Channelの不変の有効期限([Rippleエポックからの経過秒数][])。この値が指定されており、前のレジャーの[`close_time`フィールド](ledger-header.html)よりも小さい場合、Channelは有効期限切れです。これは、Channelを作成するトランザクションによりオプションで設定され、変更できません。 | +| `SourceTag` | 数値 | UInt32 | _(省略可)_ このPayment Channelの支払元(所有者のアドレスのホスティングされている受取人など) を詳しく指定するための任意のタグ。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ このPayment Channelの宛先(宛先アドレスのホスティングされている受取人など) を詳しく指定するための任意のタグ。 | + + +## Channel有効期限の設定 + +Payment Channelの`Expiration`フィールドは、`CancelAfter`フィールドが表す不変の有効期限とは対照的な変更可能な有効期限です。Channelの有効期限は常に、前のレジャーの[`close_time`フィールド](ledger-header.html)を基準にしているものとみなされます。`PayChannel`オブジェクトの作成時には、`Expiration`フィールドが省略されます。`PayChannel`オブジェクトの`Expiration`フィールドはさまざまな方法で更新できます。要約すると、Channelが最初の閉鎖試行操作の後、`SettleDelay`秒以上常に開いたままであれば、Channelの支払元アドレスはChannelの`Expiration`を自由に設定できます。 + +### 支払元アドレス + +支払元アドレスは、PaymentChannelFundトランザクションタイプを使用して直接`Expiration`を設定できます。新しい値は、以下の早い方の値よりも前であってはなりません。 + +- 現在の`Expiration`値(設定されている場合) +- 前のレジャーの閉鎖時刻にChannelの`SettleDelay`を加算した値 + +つまり、有効期限がすでに設定されている場合、支払元アドレスは常に`Expiration`を遅らせることができます。支払元は、設定する新しい値が`SettleDelay`の秒数以上の値である限り、`Expiration`を早い値にするか、または`Expiration`がまだ設定されていない場合にこれを設定することができます。支払元アドレスが無効な`Expiration`の日付を設定しようとすると、トランザクションはエラーコード`temBAD_EXPIRATION`で失敗します。 + +支払元アドレスはPaymentChannelClaimトランザクションタイプの`tfClose`フラグを使用して`Expiration`を設定することもできます。このフラグが有効な場合、レジャーは自動的に`Expiration`を以下のいずれかの早い方の値に設定します。 + +- 現在の`Expiration`値(設定されている場合) +- 前のレジャーの閉鎖時刻にChannelの`SettleDelay`を加算した値 + +支払元アドレスはPaymentChannelClaimトランザクションタイプの`tfRenew`フラグを使用して`Expiration`を削除できます。 + +### 宛先アドレス + +宛先アドレスは `Expiration`フィールドを設定できません。ただし、宛先アドレスはPaymentChannelClaimの`tfClose`フラグを使用してChannelを即時に閉鎖できます。 + +### その他のアドレス + +その他のアドレスが`Expiration`フィールドを設定しようとすると、トランザクションはエラーコード`tecNO_PERMISSION`で失敗します。ただし、Channelがすでに有効期限切れになっている場合、このトランザクションでChannelが閉鎖し、その結果は`tesSUCCESS`になります。 + + +## PayChannel IDのフォーマット + +`PayChannel`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* PayChannelスペースキー(`0x0078`) +* 支払元アカウントのAccountID +* 宛先アカウントのAccountID +* Channelを作成したトランザクションのシーケンス番号 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/ripplestate.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/ripplestate.ja.md new file mode 100644 index 0000000000..a14c26b9ee --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/ripplestate.ja.md @@ -0,0 +1,109 @@ +# RippleState +[[ソース]
](https://github.com/ripple/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L70 "Source") + +`RippleState`オブジェクトタイプは、1つの通貨で2つのアカウントを接続します。概念的には`RippleState`オブジェクトは、アカウント間の2つの _トラストライン_ を表し、各アカウント側から1つずつ確立されます。各アカウントの`RippleState`オブジェクト設定は、各アカウント側で変更できますが、残高については単一の値を両アカウント間で共有します。完全にデフォルト状態のトラストラインは、存在しないトラストラインと同様に見なされます。このため`rippled` は、プロパティがすべてデフォルトである`RippleState`オブジェクトを削除します。 + +XRP Ledgerではどのアカウントにも権限がないため、`RippleState`オブジェクトはアカウントアドレスを数値順にソートし、正規の形式になるようにします。数値順の低いアドレスは「低位アカウント」と見なされ、数値順の高いアドレスは「高位アカウント」と見なされます。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "-10" + }, + "Flags": 393216, + "HighLimit": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "110" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "USD", + "issuer": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "value": "0" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "E3FE6EA3D48F0C2B639448020EA4F03D4F4F8FFDB243A852A0F59177921B4879", + "PreviousTxnLgrSeq": 14090896, + "index": "9CA88CDEDFF9252B3DE183CE35B038F57282BC9503CDFA1923EF9A95DF0D6F7B" +} +``` + +## {{currentpage.name}}フィールド + +`RippleState`オブジェクトのフィールドは次のとおりです。 + +| 名前 | JSONの型 | 内部の型 | 説明 | +|-----------------|-----------|---------------|-------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0072`が文字列`RippleState`にマッピングされている場合は、このオブジェクトがRippleStateオブジェクトであることを示します。 | +| `Flags` | 数値 | UInt32 | このオブジェクトに対して有効になっているブールオプションのビットマップ。 | +| `Balance` | オブジェクト | Amount | 低位アカウントからみたトラストラインの残高。残高がマイナスの場合、低位アカウントから高位アカウントに対して通貨が発行されています。この場合のイシュアーは常に中立値[ACCOUNT_ONE](accounts.html#特別なアドレス)に設定されます。 | +| `LowLimit` | オブジェクト | Amount | 低位アカウントがトラストラインに設定した限度額。`issuer`は、この限度額を設定した低位アカウントのアドレスです。 | +| `HighLimit` | オブジェクト | Amount | 高位アカウントがトラストラインに設定した限度額。`issuer`は、この限度額を設定した高位アカウントのアドレスです。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | +| `LowNode` | 文字列 | UInt64 | (一部の履歴レジャーでは省略されます)低位アカウントの所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | +| `HighNode` | 文字列 | UInt64 | (一部の履歴レジャーでは省略されます)高位アカウントの所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | +| `LowQualityIn` | 数値 | UInt32 | (省略可)暗黙の比率(LowQualityIn:1,000,000,000)で整数として低位アカウントにより設定された着信品質。値が0の場合は10億または額面価格と同等です。 | +| `LowQualityOut` | 数値 | UInt32 | (省略可)暗黙の比率(LowQualityOut:1,000,000,000)で整数として低位アカウントにより設定された発信品質。値が0の場合は10億または額面価格と同等です。 | +| `HighQualityIn` | 数値 | UInt32 | (省略可)暗黙の比率(HighQualityIn:1,000,000,000)で整数として高位アカウントにより設定された着信品質。値が0の場合は10億または額面価格と同等です。 | +| `HighQualityOut` | 数値 | UInt32 | (省略可)暗黙の比率(HighQualityOut:1,000,000,000)で整数として高位アカウントにより設定された発信品質。値が0の場合は10億または額面価格と同等です。 | + +## RippleStateのフラグ + +トラストラインに対して有効化または無効化できる各種オプションがあります。これらのオプションを変更するには、[TrustSetトランザクション][]を使用します。レジャーではフラグはバイナリ値として表され、これらのバイナリ値はビットOR演算と組み合わせることができます。レジャーでのフラグのビット値は、トランザクションでこれらのフラグを有効または無効にするために使用する値とは異なります。レジャーのフラグには、 _lsf_ で始まる名前が付いています。 + +RippleStateオブジェクトには以下のフラグ値を指定できます。 + +| フラグ名 | 16進数値 | 10進数値 | 説明 | 対応する[TrustSetフラグ](trustset.html#trustsetのフラグ) | +|-----------|-----------|---------------|-------------|------------------------| +| lsfLowReserve | 0x00010000 | 65536 | このRippleStateオブジェクトは[低位アカウント所有者の準備金に資金を供給します](#所有者の準備金への資金供給)。 | (なし) | +| lsfHighReserve | 0x00020000 |131072 | このRippleStateオブジェクトは[高位アカウント所有者の準備金に資金を供給します](#所有者の準備金への資金供給)。 | (なし) | +| lsfLowAuth | 0x00040000 | 262144 | 低位アカウントにより、高位アカウントが低位アカウントのイシュアンスを保有することが承認されています。 | tfSetAuth | +| lsfHighAuth | 0x00080000 | 524288 | 高位アカウントにより、低位アカウントが高位アカウントのイシュアンスを保有することが承認されています。 | tfSetAuth | +| lsfLowNoRipple | 0x00100000 | 1048576 | 低位アカウントで、このトラストラインから、同じアカウントのNoRippleフラグが設定されている他のトラストラインへの[Ripplingが無効化されています](rippling.html)。 | tfSetNoRipple | +| lsfHighNoRipple | 0x00200000 | 2097152 | 高位アカウントで、このトラストラインから、同じアカウントのNoRippleフラグが設定されている他のトラストラインへの[Ripplingが無効化されています](rippling.html)。 | tfSetNoRipple | +| lsfLowFreeze | 0x00400000 | 4194304 | 低位アカウントがトラストラインを凍結しており、高位アカウントから資産を移動できません。 | tfSetFreeze | +| lsfHighFreeze | 0x00800000 | 8388608 | 高位アカウントがトラストラインを凍結しており、低位アカウントから資産を移動できません。 | tfSetFreeze | + +## 所有者の準備金への資金供給 + +アカウントがトラストラインをデフォルト以外の状態に変更した場合、そのトラストラインはアカウントの[所有者準備金](reserves.html#所有者準備金)に反映されます。RippleStateオブジェクトの`lsfLowReserve`フラグと`lsfHighReserve`フラグは、いずれのアカウントが所有者準備金に責任があるかを示します。`rippled`サーバーは、トラストラインの変更時にこれらのフラグを自動的に設定します。 + +トラストラインのデフォルト以外の状態に反映される値は以下の通りです。 + +| 高位アカウントに責任がある場合の条件 | 低位アカウントに責任がある場合の条件 | +|-----------------------|----------------------| +| `Balance` がマイナスである(高位アカウントが通貨を保有している) | `Balance` がプラスである(低位アカウントが通貨を保有している) | +| `HighLimit` が `0` ではない | `LowLimit` が `0` ではない | +| `LowQualityIn` が`0`でも `1000000000` でもない | `HighQualityIn` が`0`でも `1000000000` でもない | +| `LowQualityOut` が`0`でも `1000000000` でもない | `HighQualityOut` が`0`でも `1000000000` でもない | +| **lsfHighNoRipple**フラグがデフォルト状態ではない | **lsfLowNoRipple**フラグがデフォルト状態ではない | +| **lsfHighFreeze**フラグが有効である | **lsfLowFreeze**フラグが有効である | + +**lsfLowAuth**フラグと**lsfHighAuth**フラグは無効にできないため、デフォルト状態に不利に作用することはありません。 + +2つのNoRippleフラグのデフォルト状態は、対応するAccountRootオブジェクトの[lsfDefaultRippleフラグ](accountroot.html#accountrootフラグ)の状態によって異なります。DefaultRippleが無効の場合(デフォルト)、アカウントのすべてのトラストラインのlsfNoRippleフラグはデフォルトで _有効_ となります。アカウントがDefaultRippleを有効にすると、アカウントのトラストラインのlsfNoRippleフラグはデフォルトで _無効_ となります(Ripplingが有効になります)。 + +**注記:** `rippled`バージョン0.27.3(2015年3月10日)にてDefaultRippleフラグが導入される前は、すべてのトラストラインはデフォルトで両方のNoRippleフラグが無効になっていました(Ripplingは有効)。 + +`rippled`は遅延評価を使用して所有者準備金を計算しています。つまり、アカウントがDefaultRippleフラグを変更してそのすべてのトラストラインのデフォルト状態を変更しても、変更後しばらくの間はアカウントの準備金が同じ状態で維持されます。アカウントがトラストラインを変更すると、`rippled`は個々のトラストラインがデフォルト状態にあるか否かや、所有者準備金への資金供給の必要性を再評価します。 + +## RippleState IDのフォーマット + +RippleStateオブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。 + +* RippleStateスペースキー(`0x0072`) +* 低位アカウントのAccountID +* 高位アカウントのAccountID +* トラストラインの160ビットの通貨コード + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/ledger-data-formats/ledger-object-types/signerlist.ja.md b/content/references/rippled-api/ledger-data-formats/ledger-object-types/signerlist.ja.md new file mode 100644 index 0000000000..e831fff548 --- /dev/null +++ b/content/references/rippled-api/ledger-data-formats/ledger-object-types/signerlist.ja.md @@ -0,0 +1,103 @@ +# SignerList +[[ソース]
](https://github.com/ripple/rippled/blob/6d2e3da30696bd10e3bb11a5ff6d45d2c4dae90f/src/ripple/protocol/impl/LedgerFormats.cpp#L127 "Source") + +_([MultiSign Amendment][]が必要です。)_ + +`SignerList`オブジェクトタイプは、個別アカウントの代わりにグループとしてトランザクション署名をすることが承認されている署名者のリストです。[SignerListSetトランザクション][]を使用して、SignerListを作成、置き換え、または削除できます。 + + +## {{currentpage.name}}のJSONの例 + +```json +{ + "Flags": 0, + "LedgerEntryType": "SignerList", + "OwnerNode": "0000000000000000", + "PreviousTxnID": "5904C0DC72C58A83AEFED2FFC5386356AA83FCA6A88C89D00646E51E687CDBE4", + "PreviousTxnLgrSeq": 16061435, + "SignerEntries": [ + { + "SignerEntry": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SignerWeight": 2 + } + }, + { + "SignerEntry": { + "Account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "SignerWeight": 1 + } + }, + { + "SignerEntry": { + "Account": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SignerWeight": 1 + } + } + ], + "SignerListID": 0, + "SignerQuorum": 3, + "index": "A9C28A28B85CD533217F5C0A0C7767666B093FA58A0F2D80026FCC4CD932DDC7" +} +``` + +## {{currentpage.name}}のフィールド + +`SignerList`オブジェクトのフィールドを次に示します。 + +| 名前 | JSONの型 | 内部の型 | 説明 | +|:--------------------|:----------|:--------------|:---------------------------| +| `LedgerEntryType` | 文字列 | UInt16 | 値が`0x0053`(文字列`SignerList`にマッピング)の場合は、これがSignerListオブジェクトであることを示します。 | +| `Flags` | 数値 | UInt32 | このSignerListに対して有効になっているブール値フラグのビットマップ。詳細は、[SignerListのフラグ](#signerlistフラグ)を参照してください。 | +| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーのインデックス][Ledger Index]。 | +| `OwnerNode` | 文字列 | UInt64 | 所有者ディレクトリーが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | +| `SignerEntries` | 配列 | 配列 | この署名者リストに記載されている署名者を表すSignerEntryオブジェクトの配列。 | +| `SignerListID` | 数値 | UInt32 | この署名者リストのID。現時点では常に`0`に設定されます。今後の[Amendment](amendments.html)によってアカウントに複数の署名者リストを使用できるようになる場合は、変更される可能性があります。 | +| `SignerQuorum` | 数値 | UInt32 | 署名者の重みのターゲット数。署名者がこのSignerListの所有者に代わって有効な署名を生成するには、重みの合計がこの数値以上である有効な署名を提出する必要があります。 | + +`SignerEntries`は、secp256k1キーまたはed25519キーを使用する資金供給のあるアドレスと資金供給のないアドレスの自由な組み合わせです。 + +### SignerEntryオブジェクト + +`SignerEntries`フィールドの各メンバーは、リストの署名者を記述するオブジェクトです。SignerEntryのフィールドは次のとおりです。 + +| 名前 | JSONの型 | 内部の型 | 説明 | +|:---------------|:----------|:--------------|:--------------------------------| +| `Account` | 文字列 | AccountID | 署名がマルチ署名に提供されるXRP Ledgerアドレス。レジャーの資金供給のあるアドレスである必要はありません。 | +| `SignerWeight` | 数値 | UInt16 | この署名者による署名の重み。マルチ署名は、付与された署名の重みの合計がSignerListの`SignerQuorum`値を超えている場合にのみ有効となります。 | + +マルチ署名済みトランザクションを処理する際に、サーバーはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.html)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチ署名を別のマルチ署名の一部として使用することはできません。 + +## {{currentpage.name}}のフラグ + +_([MultiSignReserve Amendment][]が必要です:not_enabled:.)_ + +SignerListオブジェクトには以下のフラグ値を指定できます。 + +| フラグ名 | 16進値 | 10進値 | 説明 | +|:-----------------|:-----------|:--------------|:-------------------------------| +| lsfOneOwnerCount | 0x00010000 | 65536 | このフラグが有効な場合、SignerListは[所有者準備金](reserves.html#所有者準備金)の1アイテムとしてカウントされます。このフラグが無効な場合、このリストはN+2アイテムとしてカウントされます。このNは、リストに含まれている署名者の数です。[MultiSignReserve Amendment][]が有効になった後で署名者リストを追加または更新すると、このフラグが自動的に有効となります。 | + +## SignerListと準備金 + +SignerListは、所有者の[必要準備金](reserves.html)の対象となります。 + +[MultiSignReserve Amendment][]:not_enabled:が有効ではない場合、SignerList自体が2つのオブジェクトとしてカウントされ、リストの各メンバーが1つのオブジェクトとしてカウントされます。その結果、SignerListに関連付けられている所有者準備金の合計は、1つのトラストライン([RippleState](ripplestate.html))またはレジャーの[Offer](offer.html)オブジェクトで必要な準備金の3~10倍になります。 + +[MultiSignReserve Amendment][]:not_enabled:が有効となれば、SignerListはそのメンバーの数に関わらず、1つのオブジェクトとしてカウントされます。その結果、SignerListに関連付けられている所有者準備金は、メンバーの数に関わらず5 XRPになります。 + +MultiSignReserve Amendmentよりも前に作成されたSignerListの必要準備金は変わりません。新しい準備金を利用するには、[SignerListSetトランザクション][]を送信してSignerListを更新してください。 + +## SignerList IDのフォーマット + +SignerListオブジェクトのIDは、以下の値がこの順序で連結されているSHA-512Halfです。 + +* RippleStateスペースキー(`0x0053`) +* SignerListの所有者のAccountID +* SignerListID(現時点では常に`0`) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_channels.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_channels.ja.md new file mode 100644 index 0000000000..41201f8dbc --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_channels.ja.md @@ -0,0 +1,188 @@ +# account_channels +[[ソース]
](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/AccountChannels.cpp "Source") + +_([PayChan Amendment][]が有効になっている必要があります。[新規: rippled 0.33.0][])_ + +`account_channels`メソッドは、アカウントのPayment Channelに関する情報を返します。指定されたアカウントがChannelの送金元であり、送金先ではないChannelのみが含まれます。(Channelの「送金元」と「所有者」は同一です。)取得された情報はすべて、特定バージョンのレジャーに関連付けられています。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +```json +{ + "id": 1, + "command": "account_channels", + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ledger_index": "validated" +} +``` + +*JSON-RPC* + +```json +{ + "method": "account_channels", + "params": [{ + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ledger_index": "validated" + }] +} +``` + +*コマンドライン* + +```bash +#Syntax: account_channels [] [] +rippled account_channels rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn validated +``` + + + +要求には以下のパラメーターが含まれます。 + +| フィールド | 型 | 説明 | +|:----------------------|:-------------------------------------------|:--------| +| `account` | 文字列 | アカウントの一意のID。通常はアカウントの[アドレス][]です。要求は、このアカウントがChannelの所有者/送金元であるChannelを返します。 | +| `destination_account` | 文字列 | _(省略可)_ アカウントの一意のID。通常はアカウントの[アドレス][]です。指定されている場合、フィルタリングによりこのアカウントを送金先とするPayment Channelに絞り込まれます。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | +| `limit` | 整数 | _(省略可)_ 取得するトランザクション数を制限します。サーバーはこの値に従う必要はありません。10以上400以下の範囲で値を指定する必要があります。デフォルトでは200です。 | +| `marker` | [マーカー][] | _(省略可)_ 以前にページネーションされた応答の値。その応答を停止した箇所からデータの取得を再開します。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +```json +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "channels": [ + { + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "amount": "100000000", + "balance": "1000000", + "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "destination_tag": 20170428, + "expiration": 547073182, + "public_key": "aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "public_key_hex": "023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6", + "settle_delay": 86400 + } + ], + "ledger_hash": "F168208EECDAA57DDAC32780CDD8330FA3E89F0E84D27A9052AA2F88681EBD08", + "ledger_index": 37230642, + "validated": true + } +} +``` + +*JSON-RPC* + +```json +200 OK + +{ + "result": { + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "channels": [{ + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "amount": "100000000", + "balance": "0", + "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "destination_tag": 20170428, + "public_key": "aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "public_key_hex": "023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6", + "settle_delay": 86400 + }], + "ledger_hash": "B9D3D80EDF4083A06B2D51202E0BFB63C46FC0985E015D06767C21A62853BF6D", + "ledger_index": 37230600, + "status": "success", + "validated": true + } +} +``` + +*コマンドライン* + +```json +200 OK + +{ + "result": { + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "channels": [{ + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "amount": "100000000", + "balance": "0", + "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "destination_tag": 20170428, + "public_key": "aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "public_key_hex": "023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6", + "settle_delay": 86400 + }], + "ledger_hash": "B9D3D80EDF4083A06B2D51202E0BFB63C46FC0985E015D06767C21A62853BF6D", + "ledger_index": 37230600, + "status": "success", + "validated": true + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| フィールド | 型 | 説明 | +|:-----------|:-------------------------------------------|:-------------------| +| `account` | 文字列 | Payment Channelの送金元/所有者のアドレス。これは要求の`account`フィールドに対応しています。 | +| `channels` | channelオブジェクトの配列 | この`account`が所有するPayment Channel。 | +| `ledger_hash` | 文字列 | この応答の生成に使用されたレジャーバージョンの識別用[ハッシュ][]。[新規: rippled 0.90.0][] | +| `ledger_index` | 数値 | この応答の生成に使用されたレジャーバージョンの[レジャーインデックス][]。[新規: rippled 0.90.0][] | +| `validated` | ブール値 | _(省略される場合があります)_`true`の場合、この応答の情報は検証済みレジャーバージョンから取り込まれます。trueでない場合、情報は変更されることがあります。[新規: rippled 0.90.0][] | +| `limit` | 数値 | _(省略される場合があります)_ この要求から実際に返されるchannelオブジェクトの数の制限。 | +| `marker` | [マーカー][] | _(省略される場合があります)_ ページネーションのサーバー定義の値。この値を次のコールに渡して、このコールで終わった箇所から結果の取得を再開します。この後に追加のページがない場合は省略されます。 | + +各Channelオブジェクトのフィールドは次のとおりです。 + +| フィールド | 型 | 説明 | +|-------|------|-------------| +| `account` | 文字列 | Channelの所有者([アドレス][]として)。 | +| `amount` | 文字列 | このChannelに割り当てられる[XRP、drop単位][]の合計額。 | +| `balance` | 文字列 | 使用されているレジャーバージョンにおいて、このChannelから支払われた[XRP、drop単位][]の合計額。(Channelに残っているXRPの額を計算するには、`balance`を`amount`から差し引きます。) | +| `channel_id` | 文字列 | このChannelの一意のID(64文字の16進数文字列)。レジャーの状態データの[channelオブジェクトのID](paychannel.html#paychannel-idのフォーマット)でもあります。 | +| `destination_account` | 文字列 | Channelの送金先アカウント([アドレス][]として)。このアカウントだけが、Channelがオープンしている間にXRPを受領できます。 | +| `public_key` | 文字列 | _(省略される場合があります)_ XRP Ledgerの[base58][]フォーマットのPayment Channelの公開鍵。このChannelに対する署名付きクレームは、一致するキーペアを使用して清算する必要があります。 | +| `public_key_hex` | 文字列 | _(省略される場合があります)_ Payment Channel作成時にChannelの公開鍵を指定している場合はその公開鍵(16進数フォーマット)。このChannelに対する署名付きクレームは、一致するキーペアを使用して清算する必要があります。 | +| `settle_delay` | 符号なし整数 | Payment Channelの所有者がChannel閉鎖を依頼した後に、そのChannelが開いている必要がある秒数。 | +| `expiration` | 符号なし整数 | _(省略される場合があります)_ このChannelに設定された有効期限([Rippleエポック以降の経過秒数][])。この有効期限の日付は変更可能です。これが最新の検証済みレジャーの閉鎖時刻よりも前の場合、Channelは有効期限切れです。 | +| `cancel_after` | 符号なし整数 | _(省略される場合があります)_ このChannelの変更不可能な有効期限がChannel作成時に指定されている場合はその有効期限([Rippleエポック以降の経過秒数][])。これが最新の検証済みレジャーの閉鎖時刻よりも前の場合、Channelは有効期限切れです。 | +| `source_tag` | 符号なし整数 | _(省略される場合があります)_ このPayment Channelを通じた支払いの[送金元タグ](become-an-xrp-ledger-gateway.html#source-and-destination-tags)として使用される32ビット符号なし整数(Channel作成時に指定されている場合)。送金元アカウントでのPayment Channelの送金人またはその他の目的を示します。通常、このChannelからの支払いを差し戻す場合、返金の`DestinationTag`にこの値を指定する必要があります。 | +| `destination_tag` | 符号なし整数 | _(省略される場合があります)_ このChannelを通じた支払いの[送金先タグ](become-an-xrp-ledger-gateway.html#source-and-destination-tags)として使用される32ビット符号なし整数(Channel作成時に指定されている場合)。送金先アカウントでのPayment Channelの受取人またはその他の目的を示します。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actNotFound` - 要求の`account`フィールドに指定されているアドレスが、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_currencies.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_currencies.ja.md new file mode 100644 index 0000000000..2192b6b888 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_currencies.ja.md @@ -0,0 +1,151 @@ +# account_currencies +[[ソース]
](https://github.com/ripple/rippled/blob/df966a9ac6dd986585ecccb206aff24452e41a30/src/ripple/rpc/handlers/AccountCurrencies.cpp "Source") + +`account_currencies`コマンドは、アカウントのトラストラインに基づいてそのアカウントが送金または受領できる通貨のリストを返します。(このリストは完全に確認されたリストではありませんが、ユーザーインターフェイスへの入力に使用できます。) + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "command": "account_currencies", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "validated" +} +``` + +*JSON-RPC* + +``` +{ + "method": "account_currencies", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "account_index": 0, + "ledger_index": "validated", + "strict": true + } + ] +} +``` + + + +[試してみる>](websocket-api-tool.html#account_currencies) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `account` | 文字列 | アカウントの一意のIDであり、通常はアカウントの[アドレス][]です。 | +| `strict` | ブール値 | _(省略可)_ trueの場合は、アカウントパラメーターにアドレスまたは公開鍵だけを受け入れます。デフォルトではfalseです。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | + +以下のフィールドは廃止予定であるため、指定しないでください。`account_index`. + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "result": { + "ledger_index": 11775844, + "receive_currencies": [ + "BTC", + "CNY", + "DYM", + "EUR", + "JOE", + "MXN", + "USD", + "015841551A748AD2C1F76FF6ECB0CCCD00000000" + ], + "send_currencies": [ + "ASP", + "BTC", + "CHF", + "CNY", + "DYM", + "EUR", + "JOE", + "JPY", + "MXN", + "USD" + ], + "validated": true + }, + "status": "success", + "type": "response" +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "ledger_index": 11775823, + "receive_currencies": [ + "BTC", + "CNY", + "DYM", + "EUR", + "JOE", + "MXN", + "USD", + "015841551A748AD2C1F76FF6ECB0CCCD00000000" + ], + "send_currencies": [ + "ASP", + "BTC", + "CHF", + "CNY", + "DYM", + "EUR", + "JOE", + "JPY", + "MXN", + "USD" + ], + "status": "success", + "validated": true + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:---------------------|:---------------------------|:-------------------------| +| `ledger_hash` | 文字列 - [Hash][] | (省略される場合があります)このデータの取得に使用するレジャーバージョンの識別用ハッシュ(16進数)。 | +| `ledger_index` | 整数 - [レジャーインデックス][] | このデータの取得に使用するレジャーバージョンのシーケンス番号。 | +| `receive_currencies` | 文字列の配列 | このアカウントが受領できる通貨の[通貨コード][]の配列。 | +| `send_currencies` | 文字列の配列 | このアカウントが送金できる通貨の[通貨コード][]の配列。 | +| `validated` | ブール値 | `true`の場合、このデータは検証済みレジャーから取得されます。 | + +**注記:** アカウントが送金または受領できる通貨は、アカウントのトラストラインのチェックに基づいて定義されます。アカウントに通貨のトラストラインがあり、残高を増額できる余裕がある場合、その通貨を受領できます。トラストラインの残高を減らせる場合、アカウントはその通貨を送金できます。このメソッドでは、トラストラインが[凍結](freezes.html)または承認されているかどうかは確認 _されません_ 。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actNotFound` - 要求の`account`フィールドに指定されているアドレスが、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + + +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_info.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_info.ja.md new file mode 100644 index 0000000000..0ee348b655 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_info.ja.md @@ -0,0 +1,212 @@ +# account_info +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/AccountInfo.cpp "Source") + +`account_info`コマンドは、アカウントとそのアクティビティおよびXRP残高についての情報を取得します。取得されたすべての情報は、特定バージョンのレジャーに関連付けられています。 + +## 要求フォーマット + +account_info要求の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "account_info", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "current", + "queue": true +} +``` + +*JSON-RPC* + +``` +{ + "method": "account_info", + "params": [ + { + "account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", + "strict": true, + "ledger_index": "current", + "queue": true + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: account_info account [ledger_index|ledger_hash] [strict] +rippled account_info r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 true +``` + + + +[試してみる>](websocket-api-tool.html#account_info) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `account` | 文字列 | アカウントの一意のIDであり、最もよく使用されるのはアカウントの[アドレス][]です。 | +| `strict` | ブール値 | (省略可能、デフォルトはFalse)Trueに設定すると、`account`フィールドに指定できる項目は公開鍵またはXRP Ledgerアドレスのみになります。 | +| `ledger_hash` | 文字列 | _(省略可能)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください。) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可能)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください。) | +| `queue` | ブール値 | _(省略可能)_ `true`にして[FeeEscalation Amendment][]を有効にすると、このアカウントに関連するキューに入れられたトランザクションについてのステータスも返されます。これを使用できるのは、現在開いているレジャーのデータを問い合わせる場合のみです。[新規: rippled 0.33.0][] | +| `signer_lists` | ブール値 | _(省略可能)_`true`にして[MultiSign Amendment][]を有効にすると、このアカウントに関連するすべての[SignerListオブジェクト](signerlist.html)も返されます。[新規: rippled 0.31.0][] | + +次のフィールドは廃止予定のため、指定しないでください。`ident`、`ledger`。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 5, + "status": "success", + "type": "response", + "result": { + "account_data": { + "Account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", + "Balance": "999999999960", + "Flags": 8388608, + "LedgerEntryType": "AccountRoot", + "OwnerCount": 0, + "PreviousTxnID": "4294BEBE5B569A18C0A2702387C9B1E7146DC3A5850C1E87204951C6FDAA4C42", + "PreviousTxnLgrSeq": 3, + "Sequence": 6, + "index": "92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F" + }, + "ledger_current_index": 4, + "queue_data": { + "auth_change_queued": true, + "highest_sequence": 10, + "lowest_sequence": 6, + "max_spend_drops_total": "500", + "transactions": [ + { + "auth_change": false, + "fee": "100", + "fee_level": "2560", + "max_spend_drops": "100", + "seq": 6 + }, + ...(trimmed for length) ... + { + "LastLedgerSequence": 10, + "auth_change": true, + "fee": "100", + "fee_level": "2560", + "max_spend_drops": "100", + "seq": 10 + } + ], + "txn_count": 5 + }, + "validated": false + } +} +``` + +*JSON-RPC* + +``` +{ + "result": { + "account_data": { + "Account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", + "Balance": "999999999960", + "Flags": 8388608, + "LedgerEntryType": "AccountRoot", + "OwnerCount": 0, + "PreviousTxnID": "4294BEBE5B569A18C0A2702387C9B1E7146DC3A5850C1E87204951C6FDAA4C42", + "PreviousTxnLgrSeq": 3, + "Sequence": 6, + "index": "92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F" + }, + "ledger_current_index": 4, + "queue_data": { + "auth_change_queued": true, + "highest_sequence": 10, + "lowest_sequence": 6, + "max_spend_drops_total": "500", + "transactions": [ + { + "auth_change": false, + "fee": "100", + "fee_level": "2560", + "max_spend_drops": "100", + "seq": 6 + }, + ...(trimmed for length) ... + { + "LastLedgerSequence": 10, + "auth_change": true, + "fee": "100", + "fee_level": "2560", + "max_spend_drops": "100", + "seq": 10 + } + ], + "txn_count": 5 + }, + "status": "success", + "validated": false + } +} +``` + + + +応答は[標準フォーマット][]に従い、要求されたアカウントとそのデータ、アカウントの適用先レジャーが結果として表示されます。以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:-----------------------|:--------|:------------------------------------------| +| `account_data` | オブジェクト | このアカウントの情報を含む[AccountRootレジャーオブジェクト](accountroot.html)がレジャーに保管されているとおりに表示されます。 | +| `signer_lists` | 配列 | (要求に`signer_lists`が指定されていて、少なくとも1つのSignerListがアカウントに関連する場合を除いて省略されます。)[マルチ署名](multi-signing.html)用にアカウントに関連付けられた[SignerListレジャーオブジェクト](signerlist.html)の配列。アカウントが所有できるSignerListは最大1つであるため、この配列のメンバーは存在するとすれば、1メンバーのみです。[新規: rippled 0.31.0][] | +| `ledger_current_index` | 整数 | (`ledger_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていた最新のレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 | +| `ledger_index` | 整数 | (`ledger_current_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていたレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 | +| `queue_data` | オブジェクト | (`queue`が`true`と指定され、現在開いているレジャーを問い合わせている場合を除いて省略されます。)このアカウントによって送信された[キューに入れられたトランザクション](transaction-cost.html#キューに入れられたトランザクション)についての情報。この情報にはローカル`rippled`サーバーの状態が示されますが、コンセンサスネットワーク内の他のサーバーとは異なる場合があります。示される値はキューイングメカニズムによって「大まかに」計算されるため、一部のフィールドは省略される場合があります。 | +| `validated` | ブール値 | このデータが検証済みのレジャーバージョンのものである場合はTrueです。省略されているかFalseが設定されている場合、このデータは最終のものではありません。[新規: rippled 0.26.0][] | + +`queue_data`パラメーターが存在する場合、以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:------------------------|:--------|:-----------------------------------------| +| `txn_count` | 整数 | このアドレスからキューに入れられたトランザクションの数。 | +| `auth_change_queued` | ブール値 | (省略される場合があります)キュー内のトランザクションがこのアドレスの[トランザクションの承認方法](transaction-basics.html#取引の承認)を変更するかどうかを示します。`true`の場合、トランザクションが実行されているかキューから除外されるまで、このアドレスはトランザクションをこれ以上キューに入れることができません。 | +| `lowest_sequence` | 整数 | (省略される場合があります)このアドレスによってキューに入れられたトランザクションのうち最も低い[シーケンス番号][]。 | +| `highest_sequence` | 整数 | (省略される場合があります)このアドレスによってキューに入れられたトランザクションのうち最も高い[シーケンス番号][]。 | +| `max_spend_drops_total` | 文字列 | (省略される場合があります)キュー内のすべてのトランザクションが利用可能なXRPを最大限消費する場合に、このアドレスから差し引くことができる[XRPのdrop数][]を示す整数の金額。 | +| `transactions` | 配列 | (省略される場合があります)このアドレスからキューに入れられた各トランザクションについての情報。 | + +`transactions`配列内の各オブジェクト(存在する場合)には、以下のフィールドのいずれかまたはすべてが含まれます。 + +| `Field` | 型 | 説明 | +|:------------------|:--------|:-----------------------------------------------| +| `auth_change` | ブール値 | このトランザクションがこのアドレスの[トランザクション承認の方法](transaction-basics.html#取引の承認)を変更するかどうかを示します。 | +| `fee` | 文字列 | このトランザクションの[トランザクションコスト](transaction-cost.html)([XRPのdrop数][])。 | +| `fee_level` | 文字列 | このタイプのトランザクションの最少コストと比較した、このトランザクションのトランザクションコスト([手数料レベル][])。 | +| `max_spend_drops` | 文字列 | このトランザクションで送信または消却できる[XRP(drop)][]の最高額。 | +| `seq` | 整数 | このトランザクションの[シーケンス番号][]。 | + +## 考えられるエラー + +* いずれかの[ユニバーサルエラータイプ][]。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。例えば、要求で`queue`を`true`と指定したが、現在開いているレジャーではない`ledger_index`を指定した場合です。 +* `actNotFound` - 要求の`account`フィールドに指定したアドレスが、レジャー内のアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + +[手数料レベル]: transaction-cost.html#手数料レベル +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_lines.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_lines.ja.md new file mode 100644 index 0000000000..7345b78c92 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_lines.ja.md @@ -0,0 +1,188 @@ +# account_lines +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/AccountLines.cpp "Source") + +`account_lines`メソッドは、アカウントのトラストラインに関する情報(XRP以外のあらゆる通貨の残高と資産など)を返します。取得された情報はすべて、特定バージョンのレジャーに関連付けられています。 + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 1, + "command": "account_lines", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59" +} +``` + +*JSON-RPC* + +``` +{ + "method": "account_lines", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59" + } + ] +} +``` + + + +[試してみる>](websocket-api-tool.html#account_lines) + +要求には以下のパラメーターを指定できます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------------------------------------------|:---------------| +| `account` | 文字列 | アカウントの一意のIDであり、通常はアカウントの[アドレス][]です。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | +| `peer` | 文字列 | _(省略可)_ 2番目のアカウントの[アドレス][]。指定されている場合は、2つのアカウントを結ぶトラストラインだけが出力されます。 | +| `limit` | 整数 | (省略可、デフォルト値は可変)取得するトランザクションの数を制限します。サーバーはこの値に従う必要はありません。10以上400以下の範囲で値を指定する必要があります。[新規: rippled 0.26.4][] | +| `marker` | [マーカー][] | _(省略可)_ 以前にページネーションされた応答の値。その応答を停止した箇所からデータの取得を再開します。[新規: rippled 0.26.4][] | + +以下のパラメーターは廃止予定であり、今後予告なしに削除される可能性があります。`ledger`および`peer_index`。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 1, + "status": "success", + "type": "response", + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "lines": [ + { + "account": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "balance": "0", + "currency": "ASP", + "limit": "0", + "limit_peer": "10", + "quality_in": 0, + "quality_out": 0 + }, + { + "account": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "balance": "0", + "currency": "XAU", + "limit": "0", + "limit_peer": "0", + "no_ripple": true, + "no_ripple_peer": true, + "quality_in": 0, + "quality_out": 0 + }, + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "balance": "3.497605752725159", + "currency": "USD", + "limit": "5", + "limit_peer": "0", + "no_ripple": true, + "quality_in": 0, + "quality_out": 0 + } + ] + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "lines": [ + { + "account": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "balance": "0", + "currency": "ASP", + "limit": "0", + "limit_peer": "10", + "quality_in": 0, + "quality_out": 0 + }, + { + "account": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "balance": "0", + "currency": "XAU", + "limit": "0", + "limit_peer": "0", + "no_ripple": true, + "no_ripple_peer": true, + "quality_in": 0, + "quality_out": 0 + }, + { + "account": "rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx", + "balance": "0", + "currency": "015841551A748AD2C1F76FF6ECB0CCCD00000000", + "limit": "10.01037626125837", + "limit_peer": "0", + "no_ripple": true, + "quality_in": 0, + "quality_out": 0 + } + ], + "status": "success" + } +} +``` + + + +この応答は[標準のフォーマット][]に従っており、正常に完了した場合には、アカウントのアドレスとトラストラインオブジェクトの配列が含まれています。具体的には、結果オブジェクトには以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-------------------------------------------|:-------| +| `account` | 文字列 | この要求に対応するアカウントの一意の[アドレス][]。トラストラインのための「パースペクティブアカウント」です。 | +| `lines` | 配列 | トラストラインオブジェクトからなる配列。以下で説明します。トラストラインの数が多い場合は、一度に`limit`の数までのトラストラインが返されます。 | +| `ledger_current_index` | 整数 | (`ledger_hash`または`ledger_index`が指定されている場合は省略)このデータの取得時に使用したレジャーバージョンのシーケンス番号。[新規: rippled 0.26.4-sp1][] | +| `ledger_index` | 整数 | (`ledger_current_index`が代わりに指定されている場合は省略)要求に指定され、このデータの取得時に使用されたレジャーバージョンのシーケンス番号。[新規: rippled 0.26.4-sp1][] | +| `ledger_hash` | 文字列 | (省略される場合があります)要求に指定され、このデータの取得時に使用されたレジャーバージョンの16進数ハッシュ。[新規: rippled 0.26.4-sp1][] | +| `marker` | [マーカー][] | 応答がページネーションされていることを示す、サーバーが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。この後に追加のページがない場合は省略されます。[新規: rippled 0.26.4][] | + +各トラストラインオブジェクトには以下のフィールドの組み合わせが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------|:-----------------|:---------------------------------------| +| `account` | 文字列 | このトラストラインの相手側の一意の[アドレス][]。 | +| `balance` | 文字列 | 現在このラインに対して保留されている残高(数値)の表示。残高がプラスの場合はパースペクティブアカウントがその額を保有しており、マイナスの場合はパースペクティブアカウントがその額を借用しています。 | +| `currency` | 文字列 | このトラストラインが保有できる通貨を示す[通貨コード][]。 | +| `limit` | 文字列 | このアカウントがピアアカウントからの借用を希望する特定の通貨の上限額。 | +| `limit_peer` | 文字列 | 相手側アカウントがパースペクティブアカウントからの借用を希望する特定の通貨の上限額。 | +| `quality_in` | 符号なし整数 | このアカウントが、このトラストラインの入金時残高を評価する際のレート(この数値対10億単位の比率)。(たとえば5億の場合は0.5:1の比率を表します。)特殊なケースとして、0は1:1の比率として扱われます。 | +| `quality_out` | 符号なし整数 | このアカウントが、このトラストラインの出金時残高を評価する際のレート(この数値対10億単位の比率)。(たとえば5億の場合は0.5:1の比率を表します。)特殊なケースとして、0は1:1の比率として扱われます。 | +| `no_ripple` | ブール値 | (省略される場合があります)このアカウントでこのラインに対し[NoRippleフラグ](rippling.html)が有効な場合は、`true`。省略されている場合は、`false`と同じです。 | +| `no_ripple_peer` | ブール値 | (省略される場合があります)ピアアカウントでこのラインに対し[NoRippleフラグ](rippling.html)が有効な場合は`true`。省略されている場合は、`false`と同じです。 | +| `authorized` | ブール値 | (省略される場合があります)このアカウントが[このトラストラインを承認した](authorized-trust-lines.html)場合は、`true`。省略されている場合は、`false`と同じです。 | +| `peer_authorized`| ブール値 | (省略される場合があります)ピアアカウントが[このトラストラインを承認した](authorized-trust-lines.html)場合は`true`。省略されている場合は、`false`と同じです。 | +| `freeze` | ブール値 | (省略される場合があります)このアカウントがこのトラストラインを[凍結](freezes.html)した場合は`true`。省略されている場合は、`false`と同じです。 | +| `freeze_peer` | ブール値 | (省略される場合があります)ピアアカウントがこのトラストラインを[凍結](freezes.html)した場合は、`true`。省略されている場合は、`false`と同じです。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actNotFound` - 要求の`account`フィールドに指定されている[アドレス][]が、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 +* `actMalformed` - 指定されている`marker`フィールドが受け入れられない場合。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_objects.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_objects.ja.md new file mode 100644 index 0000000000..93b1f9c335 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_objects.ja.md @@ -0,0 +1,623 @@ +# account_objects +[[ソース]
](https://github.com/ripple/rippled/blob/399c43cae6e90a428e9ce6a988123972b0f03c99/src/ripple/rpc/handlers/AccountObjects.cpp "Source") + +`account_objects`コマンドは、アカウントが所有するすべてのオブジェクトの生[レジャーフォーマット][]を返します。アカウントのトラストラインと残高の概要については、[account_linesメソッド][]を参照してください。 + +[レジャーフォーマット]: ledger-data-formats.html + +アカウントの`account_objects`応答に含まれる可能性のあるオブジェクトのタイプには以下のものがあります。 + +- 現在処理中、資金化されていない、または有効期限切れで削除されていないオーダーの[Offerオブジェクト](offer.html)。(詳細は、[オファーのライフサイクル](offers.html#オファーのライフサイクル)を参照してください。) +- このアカウント側がデフォルト状態にないトラストラインの[RippleStateオブジェクト](ripplestate.html)。 +- アカウントの[SignerList](signerlist.html)(アカウントで[マルチ署名](multi-signing.html)が有効な場合)。 +- 実行されていないかまたは取り消されていない保留中の支払いの[Escrowオブジェクト](escrow.html)。 +- オープンPayment Channelの[PayChannelオブジェクト](paychannel.html)。 +- 保留中のCheckの[Checkオブジェクト](check.html)。 +- Deposit Preauthorizationの[DepositPreauthオブジェクト](depositpreauth-object.html)。[新規: rippled 1.1.0][] + + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 1, + "command": "account_objects", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "validated", + "type": "state", + "limit": 10 +} +``` + +*JSON-RPC* + +``` +{ + "method": "account_objects", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "validated", + "limit": 10, + "type": "state" + } + ] +} +``` + + +*コマンドライン* + +``` +#Syntax: account_objects [] +rippled account_objects r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 validated +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------------------------------------------|:---------------| +| `account` | 文字列 | アカウントの一意のIDであり、通常はアカウントのアドレスです。 | +| `type` | 文字列 | _(省略可)_ 指定されている場合、結果をフィルタリングしてこのタイプのレジャーオブジェクトのみが含まれるようにします。有効なタイプは`check`、`deposit_preauth`、`escrow`、`offer`、`payment_channel`、`signer_list`、および`state`(トラストライン)です。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | +| `limit` | 符号なし整数 | _(省略可)_ 結果に含めることができるオブジェクトの最大数。非管理者接続では10以上400以下の範囲で値を指定する必要があります。デフォルトでは200です。 | +| `marker` | [マーカー][] | _(省略可)_ 以前にページネーションされた応答の値。その応答を停止した箇所からデータの取得を再開します。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 8, + "status": "success", + "type": "response", + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "account_objects": [ + { + "Balance": { + "currency": "ASP", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 65536, + "HighLimit": { + "currency": "ASP", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "ASP", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "10" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "BF7555B0F018E3C5E2A3FF9437A1A5092F32903BE246202F988181B9CED0D862", + "PreviousTxnLgrSeq": 1438879, + "index": "2243B0B630EA6F7330B654EFA53E27A7609D9484E535AB11B7F946DF3D247CE9" + }, + { + "Balance": { + "currency": "XAU", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 3342336, + "HighLimit": { + "currency": "XAU", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "XAU", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "0" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "79B26D7D34B950AC2C2F91A299A6888FABB376DD76CFF79D56E805BF439F6942", + "PreviousTxnLgrSeq": 5982530, + "index": "9ED4406351B7A511A012A9B5E7FE4059FA2F7650621379C0013492C315E25B97" + }, + { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 1114112, + "HighLimit": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "5" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "6FE8C824364FB1195BCFEDCB368DFEE3980F7F78D3BF4DC4174BB4C86CF8C5CE", + "PreviousTxnLgrSeq": 10555014, + "index": "2DECFAC23B77D5AEA6116C15F5C6D4669EBAEE9E7EE050A40FE2B1E47B6A9419" + }, + { + "Balance": { + "currency": "MXN", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "481.992867407479" + }, + "Flags": 65536, + "HighLimit": { + "currency": "MXN", + "issuer": "rHpXfibHgSb64n8kK9QWDpdbfqSpYbM9a4", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "MXN", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "1000" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "A467BACE5F183CDE1F075F72435FE86BAD8626ED1048EDEFF7562A4CC76FD1C5", + "PreviousTxnLgrSeq": 3316170, + "index": "EC8B9B6B364AF6CB6393A423FDD2DDBA96375EC772E6B50A3581E53BFBDFDD9A" + }, + { + "Balance": { + "currency": "EUR", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0.793598266778297" + }, + "Flags": 1114112, + "HighLimit": { + "currency": "EUR", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "EUR", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "1" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "E9345D44433EA368CFE1E00D84809C8E695C87FED18859248E13662D46A0EC46", + "PreviousTxnLgrSeq": 5447146, + "index": "4513749B30F4AF8DA11F077C448128D6486BF12854B760E4E5808714588AA915" + }, + { + "Balance": { + "currency": "CNY", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 2228224, + "HighLimit": { + "currency": "CNY", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "3" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "CNY", + "issuer": "rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", + "value": "0" + }, + "LowNode": "0000000000000008", + "PreviousTxnID": "2FDDC81F4394695B01A47913BEC4281AC9A283CC8F903C14ADEA970F60E57FCF", + "PreviousTxnLgrSeq": 5949673, + "index": "578C327DA8944BDE2E10C9BA36AFA2F43E06C8D1E8819FB225D266CBBCFDE5CE" + }, + { + "Balance": { + "currency": "DYM", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "1.336889190631542" + }, + "Flags": 65536, + "HighLimit": { + "currency": "DYM", + "issuer": "rGwUWgN5BEg3QGNY3RX2HfYowjUTZdid3E", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "DYM", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "3" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "6DA2BD02DFB83FA4DAFC2651860B60071156171E9C021D9E0372A61A477FFBB1", + "PreviousTxnLgrSeq": 8818732, + "index": "5A2A5FF12E71AEE57564E624117BBA68DEF78CD564EF6259F92A011693E027C7" + }, + { + "Balance": { + "currency": "CHF", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "-0.3488146605801446" + }, + "Flags": 131072, + "HighLimit": { + "currency": "CHF", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "CHF", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0" + }, + "LowNode": "000000000000008C", + "PreviousTxnID": "722394372525A13D1EAAB005642F50F05A93CF63F7F472E0F91CDD6D38EB5869", + "PreviousTxnLgrSeq": 2687590, + "index": "F2DBAD20072527F6AD02CE7F5A450DBC72BE2ABB91741A8A3ADD30D5AD7A99FB" + }, + { + "Balance": { + "currency": "BTC", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 131072, + "HighLimit": { + "currency": "BTC", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "3" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0" + }, + "LowNode": "0000000000000043", + "PreviousTxnID": "03EDF724397D2DEE70E49D512AECD619E9EA536BE6CFD48ED167AE2596055C9A", + "PreviousTxnLgrSeq": 8317037, + "index": "767C12AF647CDF5FEB9019B37018748A79C50EDAF87E8D4C7F39F78AA7CA9765" + }, + { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "-16.00534471983042" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "5000" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0" + }, + "LowNode": "000000000000004A", + "PreviousTxnID": "CFFF5CFE623C9543308C6529782B6A6532207D819795AAFE85555DB8BF390FE7", + "PreviousTxnLgrSeq": 14365854, + "index": "826CF5BFD28F3934B518D0BDF3231259CBD3FD0946E3C3CA0C97D2C75D2D1A09" + } + ], + "ledger_hash": "053DF17D2289D1C4971C22F235BC1FCA7D4B3AE966F842E5819D0749E0B8ECD3", + "ledger_index": 14378733, + "limit": 10, + "marker": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93,94A9F05FEF9A153229E2E997E64919FD75AAE2028C8153E8EBDB4440BD3ECBB5", + "validated": true + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "account_objects": [ + { + "Balance": { + "currency": "ASP", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 65536, + "HighLimit": { + "currency": "ASP", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "ASP", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "10" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "BF7555B0F018E3C5E2A3FF9437A1A5092F32903BE246202F988181B9CED0D862", + "PreviousTxnLgrSeq": 1438879, + "index": "2243B0B630EA6F7330B654EFA53E27A7609D9484E535AB11B7F946DF3D247CE9" + }, + { + "Balance": { + "currency": "XAU", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 3342336, + "HighLimit": { + "currency": "XAU", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "XAU", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "0" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "79B26D7D34B950AC2C2F91A299A6888FABB376DD76CFF79D56E805BF439F6942", + "PreviousTxnLgrSeq": 5982530, + "index": "9ED4406351B7A511A012A9B5E7FE4059FA2F7650621379C0013492C315E25B97" + }, + { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 1114112, + "HighLimit": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "5" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "6FE8C824364FB1195BCFEDCB368DFEE3980F7F78D3BF4DC4174BB4C86CF8C5CE", + "PreviousTxnLgrSeq": 10555014, + "index": "2DECFAC23B77D5AEA6116C15F5C6D4669EBAEE9E7EE050A40FE2B1E47B6A9419" + }, + { + "Balance": { + "currency": "MXN", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "481.992867407479" + }, + "Flags": 65536, + "HighLimit": { + "currency": "MXN", + "issuer": "rHpXfibHgSb64n8kK9QWDpdbfqSpYbM9a4", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "MXN", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "1000" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "A467BACE5F183CDE1F075F72435FE86BAD8626ED1048EDEFF7562A4CC76FD1C5", + "PreviousTxnLgrSeq": 3316170, + "index": "EC8B9B6B364AF6CB6393A423FDD2DDBA96375EC772E6B50A3581E53BFBDFDD9A" + }, + { + "Balance": { + "currency": "EUR", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0.793598266778297" + }, + "Flags": 1114112, + "HighLimit": { + "currency": "EUR", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "EUR", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "1" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "E9345D44433EA368CFE1E00D84809C8E695C87FED18859248E13662D46A0EC46", + "PreviousTxnLgrSeq": 5447146, + "index": "4513749B30F4AF8DA11F077C448128D6486BF12854B760E4E5808714588AA915" + }, + { + "Balance": { + "currency": "CNY", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 2228224, + "HighLimit": { + "currency": "CNY", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "3" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "CNY", + "issuer": "rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", + "value": "0" + }, + "LowNode": "0000000000000008", + "PreviousTxnID": "2FDDC81F4394695B01A47913BEC4281AC9A283CC8F903C14ADEA970F60E57FCF", + "PreviousTxnLgrSeq": 5949673, + "index": "578C327DA8944BDE2E10C9BA36AFA2F43E06C8D1E8819FB225D266CBBCFDE5CE" + }, + { + "Balance": { + "currency": "DYM", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "1.336889190631542" + }, + "Flags": 65536, + "HighLimit": { + "currency": "DYM", + "issuer": "rGwUWgN5BEg3QGNY3RX2HfYowjUTZdid3E", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "DYM", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "3" + }, + "LowNode": "0000000000000000", + "PreviousTxnID": "6DA2BD02DFB83FA4DAFC2651860B60071156171E9C021D9E0372A61A477FFBB1", + "PreviousTxnLgrSeq": 8818732, + "index": "5A2A5FF12E71AEE57564E624117BBA68DEF78CD564EF6259F92A011693E027C7" + }, + { + "Balance": { + "currency": "CHF", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "-0.3488146605801446" + }, + "Flags": 131072, + "HighLimit": { + "currency": "CHF", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "0" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "CHF", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0" + }, + "LowNode": "000000000000008C", + "PreviousTxnID": "722394372525A13D1EAAB005642F50F05A93CF63F7F472E0F91CDD6D38EB5869", + "PreviousTxnLgrSeq": 2687590, + "index": "F2DBAD20072527F6AD02CE7F5A450DBC72BE2ABB91741A8A3ADD30D5AD7A99FB" + }, + { + "Balance": { + "currency": "BTC", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 131072, + "HighLimit": { + "currency": "BTC", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "3" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0" + }, + "LowNode": "0000000000000043", + "PreviousTxnID": "03EDF724397D2DEE70E49D512AECD619E9EA536BE6CFD48ED167AE2596055C9A", + "PreviousTxnLgrSeq": 8317037, + "index": "767C12AF647CDF5FEB9019B37018748A79C50EDAF87E8D4C7F39F78AA7CA9765" + }, + { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "-16.00534471983042" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "5000" + }, + "HighNode": "0000000000000000", + "LedgerEntryType": "RippleState", + "LowLimit": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0" + }, + "LowNode": "000000000000004A", + "PreviousTxnID": "CFFF5CFE623C9543308C6529782B6A6532207D819795AAFE85555DB8BF390FE7", + "PreviousTxnLgrSeq": 14365854, + "index": "826CF5BFD28F3934B518D0BDF3231259CBD3FD0946E3C3CA0C97D2C75D2D1A09" + } + ], + "ledger_hash": "4C99E5F63C0D0B1C2283B4F5DCE2239F80CE92E8B1A6AED1E110C198FC96E659", + "ledger_index": 14380380, + "limit": 10, + "marker": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93,94A9F05FEF9A153229E2E997E64919FD75AAE2028C8153E8EBDB4440BD3ECBB5", + "status": "success", + "validated": true + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-------------------------------------------|:-------| +| `account` | 文字列 | この要求に対応するアカウントの一意の[アドレス][]。 | +| `account_objects` | 配列 | このアカウントが所有するオブジェクトの配列。生[レジャーフォーマット][]の各オブジェクト。 | +| `ledger_hash` | 文字列 | (省略される場合があります)この応答の生成に使用されたレジャーの識別用ハッシュ。 | +| `ledger_index` | 数値 | (省略される場合があります)この応答の生成に使用されたレジャーバージョンのシーケンス番号。 | +| `ledger_current_index` | 数値 | (省略される場合があります)この応答の生成に使用された現在処理中のレジャーバージョンのシーケンス番号。 | +| `limit` | 数値 | (省略される場合があります)この要求で使用されていた制限(制限の使用がある場合)。 | +| `marker` | [マーカー][] | 応答がページネーションされていることを示す、サーバーが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。この後に追加のページがない場合は省略されます。 | +| `validated` | ブール値 | このフィールドが含まれていて`true`に設定されている場合、この応答内の情報は検証済みのレジャーバージョンから取得されています。trueでない場合、情報は変更されることがあります。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actNotFound` - 要求の`account`フィールドに指定されている[アドレス][]が、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_offers.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_offers.ja.md new file mode 100644 index 0000000000..c234091846 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_offers.ja.md @@ -0,0 +1,189 @@ +# account_offers +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/AccountOffers.cpp "Source") + +`account_offers`メソッドは、特定のアカウントから出されたオファーのうち、特定のレジャーバージョンで未処理であったオファーのリストを取得します。 + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "account_offers", + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM" +} +``` + +*JSON-RPC* + +``` +{ + "method": "account_offers", + "params": [ + { + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM" + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: account_offers account [ledger_index] +rippled account_offers r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 current +``` + + + +[試してみる>](websocket-api-tool.html#account_offers) + +要求には以下のパラメーターを指定できます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------------------------------------------|:---------------| +| `account` | 文字列 | アカウントの一意のIDであり、通常はアカウントの[アドレス][]です。 | +| `ledger` | 符号なし整数または文字列 | (廃止予定、省略可)使用するレジャーバージョンの一意のID(レジャーのシーケンス番号、ハッシュ、「validated」などのショートカットなど)。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンを識別する20バイトの16進文字列。 | +| `ledger_index` | [レジャーインデックス][] | (省略可、デフォルトでは`current`)使用するレジャーのシーケンス番号、またはレジャーを動的に選択するための「current」、「closed」、「validated」のいずれか。([レジャーの指定][]を参照してください) | +| `limit` | 整数 | (省略可、デフォルト値は可変)取得するトランザクションの数を制限します。サーバーはこの値に従う必要はありません。10以上400以下の範囲で値を指定する必要があります。[新規: rippled 0.26.4][] | +| `marker` | [マーカー][] | _(省略可)_ 以前にページネーションされた応答の値。その応答を停止した箇所からデータの取得を再開します。[新規: rippled 0.26.4][] | + +以下のパラメーターは廃止予定であり、今後予告なしに削除される可能性があります。`ledger`。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 9, + "status": "success", + "type": "response", + "result": { + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "ledger_current_index": 18539550, + "offers": [ + { + "flags": 0, + "quality": "0.00000000574666765650638", + "seq": 6577664, + "taker_gets": "33687728098", + "taker_pays": { + "currency": "EUR", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "193.5921774819578" + } + }, + { + "flags": 0, + "quality": "7989247009094510e-27", + "seq": 6572128, + "taker_gets": "2361918758", + "taker_pays": { + "currency": "XAU", + "issuer": "rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67", + "value": "0.01886995237307572" + } + }, + ... trimmed for length ... + ], + "validated": false + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM", + "ledger_current_index": 18539596, + "offers": [{ + "flags": 0, + "quality": "0.000000007599140009999998", + "seq": 6578020, + "taker_gets": "29740867287", + "taker_pays": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "226.0050145327418" + } + }, { + "flags": 0, + "quality": "7989247009094510e-27", + "seq": 6572128, + "taker_gets": "2361918758", + "taker_pays": { + "currency": "XAU", + "issuer": "rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67", + "value": "0.01886995237307572" + } + }, { + "flags": 0, + "quality": "0.00000004059594001318974", + "seq": 6576905, + "taker_gets": "3892952574", + "taker_pays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "158.0380691682966" + } + }, + + ... + + ], + "status": "success", + "validated": false + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-------------------------------------------|:-------| +| `account` | 文字列 | オファーを出したアカウントを識別する一意の[アドレス][] | +| `offers` | 配列 | オブジェクトの配列。各オブジェクトは、このアカウントが出したオファーの中で、レジャーバージョンが要求された時点で未処理のオファーを表します。オファーの数が多い場合は、一度に`limit`の数までのオファーが返されます。 | +| `ledger_current_index` | 整数 | (`ledger_hash`または`ledger_index`が指定されている場合は省略)このデータの取得時に使用したレジャーバージョンのシーケンス番号。[新規: rippled 0.26.4-sp1][] | +| `ledger_index` | 整数 | (`ledger_current_index`が代わりに指定されている場合は省略)要求に指定され、このデータの取得時に使用されたレジャーバージョンのシーケンス番号。[新規: rippled 0.26.4-sp1][] | +| `ledger_hash` | 文字列 | _(省略される場合があります)_ 要求に指定され、このデータの取得時に使用されたレジャーバージョンの16進数ハッシュ。[新規: rippled 0.26.4-sp1][] | +| `marker` | [マーカー][] | _(省略される場合があります)_ 応答がページネーションされていることを示す、サーバーが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。この後に情報ページがない場合は省略されます。[新規: rippled 0.26.4][] | + + +各Offerオブジェクトのフィールドを次に示します。 + +| `Field` | 型 | 説明 | +|:-------------|:-----------------|:-------------------------------------------| +| `flags` | 符号なし整数 | このオファーエントリに対してビットフラグとして設定されているオプション。 | +| `seq` | 符号なし整数 | このエントリを作成したトランザクションのシーケンス番号。(トランザクションの[シーケンス番号](basic-data-types.html#アカウントシーケンス)はアカウントに関連付けられています。) | +| `taker_gets` | 文字列またはオブジェクト | オファーを受け入れるアカウントが受領する額。XRPまたは通貨指定オブジェクトの額を表す文字列として示されます。([通貨額の指定][Currency Amount]を参照してください。) | +| `taker_pays` | 文字列またはオブジェクト | オファーを受け入れるアカウントが提供する額。XRPまたは通貨指定オブジェクトの額を表す文字列として示されます。([通貨額の指定][Currency Amount]を参照してください。) | +| `quality` | 文字列 | オファーの為替レート。元の`taker_pays`を元の`taker_gets`で割った比率です。オファーの実行時には、最も好ましい(最も低い)クオリティのオファーが最初に消費されます。同じクオリティのオファーは古いものから新しいものの順で実行されます。[新規: rippled 0.29.0][] | +| `expiration` | 符号なし整数 | (省略される場合があります)この時刻の経過後は、資金化されなかったオファーとみなされます([Rippleエポック以降の経過秒数][])。関連項目: [オファーの有効期限](offers.html#オファーの有効期限)。[新規: rippled 0.30.1][] | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actNotFound` - 要求の`account`フィールドに指定されている[アドレス][]が、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 +* `actMalformed` - 指定されている`marker`フィールドが受け入れられない場合。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/account_tx.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/account_tx.ja.md new file mode 100644 index 0000000000..79432c5697 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/account_tx.ja.md @@ -0,0 +1,595 @@ +# account_tx +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/AccountTx.cpp "Source") + +`account_tx`メソッドは、指定したアカウントに関連するトランザクションのリストを取得します。 + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "account_tx", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index_min": -1, + "ledger_index_max": -1, + "binary": false, + "limit": 2, + "forward": false +} +``` + +*JSON-RPC* + +``` +{ + "method": "account_tx", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "binary": false, + "forward": false, + "ledger_index_max": -1, + "ledger_index_min": -1, + "limit": 2 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax account_tx account ledger_index_min ledger_index_max [offset] [limit] [binary] [count] [forward] +rippled -- account_tx r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 -1 -1 2 5 1 0 1 +``` + + + +[試してみる>](websocket-api-tool.html#account_tx) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:-------------------|:-------------------------------------------|:-----------| +| `account` | 文字列 | アカウントの一意のIDであり、最もよく使用されるのはアカウントのアドレスです。 | +| `ledger_index_min` | 整数 | _(省略可能)_ 含めるトランザクションのレジャーのうち最古のものを指定するのに使用します。`-1`の値は、使用可能な検証済みレジャーのうち最古のバージョンを使用するよう、サーバーに指示します。 | +| `ledger_index_max` | 整数 | _(省略可能)_ 含めるトランザクションのレジャーのうち最新のものを指定するのに使用します。`-1`の値は、使用可能な検証済みレジャーのうち最新のバージョンを使用するよう、サーバーに指示します。 | +| `ledger_hash` | 文字列 | _(省略可能)_ 単一のレジャーからのみトランザクションを検索するのに使用します。([レジャーの指定][]を参照してください。) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可能)_ 単一のレジャーからのみトランザクションを検索するのに使用します。([レジャーの指定][]を参照してください。) | +| `binary` | ブール値 | _(省略可能)_ デフォルトは`false`です。`true`に設定すると、JSONの代わりに16進文字列でトランザクションが返されます。 | +| `forward` | ブール値 | _(省略可能)_ デフォルトは`false`です。`true`に設定すると、最も古いレジャーを先頭としてインデックスが付けられた値が返されます。そうしない場合、最新のレジャーを先頭として結果にインデックスが付けられます。(結果を示した各ページの中身は順序よく整理されていない場合がありますが、ページ全体としては順序付けされています。) | +| `limit` | 整数 | _(省略可能)_ デフォルトは変化します。取得するトランザクションの数を制限します。サーバーがこの値を守る必要はありません。 | +| `marker` | [マーカー][] | 以前にページネーションされた応答の値。その応答を停止した箇所からデータの取得を再開します。サーバーが使用できるレジャーの範囲に変更があっても、この値は変わりません。 | + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/AccountTxSwitch.cpp "Source")
+ +次の各フィールドは省略可能とされていますが、要求内で**1つ以上は使用する必要があります**: `ledger_index`、`ledger_hash`、`ledger_index_min`、または`ledger_index_max`。 + +**注記:** WebSocketとJSON-RPCについては、廃止予定の`account_tx`メソッドにの従来版もあります。このため、*次のすべてのフィールドの使用を控える*ことをお勧めします: `offset``count`、`descending`、`ledger_max`、`ledger_min`。これらの廃止予定のフィールドを使用した場合、メソッドでページネーションはサポートされません。 + +### 照会されたデータの繰り返し + +他のページネーションメソッドと同様に、`marker`フィールドを使用すると複数ページのデータが返されます。 + +複数の要求の合間に、`"ledger_index_min": -1`と`"ledger_index_max": -1`が変更されて、以前とは異なるレジャーバージョンを参照する場合があります。`marker`フィールドを使用すると、要求からのレジャー範囲に変更がある場合でも、マーカーが示すポイントが要求で指定されたレジャーの範囲外でない限り、安全にページネーションできます。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index_max": 6542489, + "ledger_index_min": 32570, + "limit": 2, + "transactions": [ + { + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "9999999980", + "Flags": 0, + "OwnerCount": 2, + "Sequence": 3 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05", + "PreviousFields": { + "Balance": "9999999990", + "OwnerCount": 1, + "Sequence": 2 + }, + "PreviousTxnID": "389720F6FD8A144F171708F9ECB334D704CBCFEFBCDA152D931AC34FB5F9E32B", + "PreviousTxnLgrSeq": 95405 + } + }, + { + "CreatedNode": { + "LedgerEntryType": "RippleState", + "LedgerIndex": "718C6D58DD3BBAAAEBFE48B8FBE3C32C9F6F2EBC395233BA95D0057078EE07DB", + "NewFields": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "100" + }, + "LowLimit": { + "currency": "USD", + "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "value": "0" + } + } + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "Owner": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "RootIndex": "77F65EFF930ED7E93C6CC839C421E394D6B1B6A47CEA8A140D63EC9C712F46F5" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "77F65EFF930ED7E93C6CC839C421E394D6B1B6A47CEA8A140D63EC9C712F46F5" + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "Balance": "78991384535796", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 188 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "B33FDD5CF3445E1A7F2BE9B06336BEBD73A5E3EE885D3EF93F7E3E2992E46F1A", + "PreviousTxnID": "E9E1988A0F061679E5D14DE77DB0163CE0BBDC00F29E396FFD1DA0366E7D8904", + "PreviousTxnLgrSeq": 195455 + } + }, + { + "ModifiedNode": { + "FinalFields": { + "ExchangeRate": "4E11C37937E08000", + "Flags": 0, + "RootIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000004254430000000000", + "TakerPaysIssuer": "5E7B112523F68D2F5E879DB4EAC51C6698A69304" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93" + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "tx": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": "10", + "Flags": 0, + "LimitAmount": { + "currency": "USD", + "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "value": "100" + }, + "Sequence": 2, + "SigningPubKey": "02BC8C02199949B15C005B997E7C8594574E9B02BA2D0628902E0532989976CF9D", + "TransactionType": "TrustSet", + "TxnSignature": "304402200EF81EC32E0DFA9BE376B20AFCA11765ED9FEA04CA8B77C7178DAA699F7F5AFF02202DA484DBD66521AC317D84F7717EC4614E2F5DB743E313E8B48440499CC0DBA4", + "date": 413620090, + "hash": "002AA492496A1543DBD3680BF8CF21B6D6A078CE4A01D2C1A4B63778033792CE", + "inLedger": 195480, + "ledger_index": 195480 + }, + "validated": true + }, + { + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "9999999970", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 4 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05", + "PreviousFields": { + "Balance": "9999999980", + "OwnerCount": 2, + "Sequence": 3 + }, + "PreviousTxnID": "002AA492496A1543DBD3680BF8CF21B6D6A078CE4A01D2C1A4B63778033792CE", + "PreviousTxnLgrSeq": 195480 + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "Owner": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "RootIndex": "A39F044D860C5B5846AA7E0FAAD44DC8897F0A62B2F628AA073B21B3EC146010" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "A39F044D860C5B5846AA7E0FAAD44DC8897F0A62B2F628AA073B21B3EC146010" + } + }, + { + "ModifiedNode": { + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "E0D7BDE68B468FF0B8D948FD865576517DA987569833A05374ADB9A72E870A06", + "PreviousTxnID": "0222B59280D165D40C464EA75AAD08A4D152C46A38C0625DEECF6EE87FC5B9E1", + "PreviousTxnLgrSeq": 343555 + } + }, + { + "CreatedNode": { + "LedgerEntryType": "RippleState", + "LedgerIndex": "EA4BF03B4700123CDFFB6EB09DC1D6E28D5CEB7F680FB00FC24BC1C3BB2DB959", + "NewFields": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "100" + }, + "LowLimit": { + "currency": "USD", + "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value": "0" + } + } + } + }, + { + "ModifiedNode": { + "FinalFields": { + "ExchangeRate": "4E11C37937E08000", + "Flags": 0, + "RootIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000004254430000000000", + "TakerPaysIssuer": "5E7B112523F68D2F5E879DB4EAC51C6698A69304" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93" + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "tx": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": "10", + "Flags": 0, + "LimitAmount": { + "currency": "USD", + "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value": "100" + }, + "Sequence": 3, + "SigningPubKey": "02BC8C02199949B15C005B997E7C8594574E9B02BA2D0628902E0532989976CF9D", + "TransactionType": "TrustSet", + "TxnSignature": "3044022058A89552068D1A274EE72BA71363E33E54E6608BC28A84DEC6EE530FC2B5C979022029F4D1EA1237A1F717C5F5EC526E6CFB6DF54C30BADD25EDDE7D2FDBC8F17E34", + "date": 416347560, + "hash": "53354D84BAE8FDFC3F4DA879D984D24B929E7FEB9100D2AD9EFCD2E126BCCDC8", + "inLedger": 343570, + "ledger_index": 343570 + }, + "validated": true + } + ], + "validated": true + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index_max": 8696227, + "ledger_index_min": 32570, + "limit": 2, + "status": "success", + "transactions": [ + { + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "9999999980", + "Flags": 0, + "OwnerCount": 2, + "Sequence": 3 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05", + "PreviousFields": { + "Balance": "9999999990", + "OwnerCount": 1, + "Sequence": 2 + }, + "PreviousTxnID": "389720F6FD8A144F171708F9ECB334D704CBCFEFBCDA152D931AC34FB5F9E32B", + "PreviousTxnLgrSeq": 95405 + } + }, + { + "CreatedNode": { + "LedgerEntryType": "RippleState", + "LedgerIndex": "718C6D58DD3BBAAAEBFE48B8FBE3C32C9F6F2EBC395233BA95D0057078EE07DB", + "NewFields": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "100" + }, + "LowLimit": { + "currency": "USD", + "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "value": "0" + } + } + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "Owner": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "RootIndex": "77F65EFF930ED7E93C6CC839C421E394D6B1B6A47CEA8A140D63EC9C712F46F5" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "77F65EFF930ED7E93C6CC839C421E394D6B1B6A47CEA8A140D63EC9C712F46F5" + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "Balance": "78991384535796", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 188 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "B33FDD5CF3445E1A7F2BE9B06336BEBD73A5E3EE885D3EF93F7E3E2992E46F1A", + "PreviousTxnID": "E9E1988A0F061679E5D14DE77DB0163CE0BBDC00F29E396FFD1DA0366E7D8904", + "PreviousTxnLgrSeq": 195455 + } + }, + { + "ModifiedNode": { + "FinalFields": { + "ExchangeRate": "4E11C37937E08000", + "Flags": 0, + "RootIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000004254430000000000", + "TakerPaysIssuer": "5E7B112523F68D2F5E879DB4EAC51C6698A69304" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93" + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "tx": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": "10", + "Flags": 0, + "LimitAmount": { + "currency": "USD", + "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "value": "100" + }, + "Sequence": 2, + "SigningPubKey": "02BC8C02199949B15C005B997E7C8594574E9B02BA2D0628902E0532989976CF9D", + "TransactionType": "TrustSet", + "TxnSignature": "304402200EF81EC32E0DFA9BE376B20AFCA11765ED9FEA04CA8B77C7178DAA699F7F5AFF02202DA484DBD66521AC317D84F7717EC4614E2F5DB743E313E8B48440499CC0DBA4", + "date": 413620090, + "hash": "002AA492496A1543DBD3680BF8CF21B6D6A078CE4A01D2C1A4B63778033792CE", + "inLedger": 195480, + "ledger_index": 195480 + }, + "validated": true + }, + { + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "9999999970", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 4 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05", + "PreviousFields": { + "Balance": "9999999980", + "OwnerCount": 2, + "Sequence": 3 + }, + "PreviousTxnID": "002AA492496A1543DBD3680BF8CF21B6D6A078CE4A01D2C1A4B63778033792CE", + "PreviousTxnLgrSeq": 195480 + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "Owner": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "RootIndex": "A39F044D860C5B5846AA7E0FAAD44DC8897F0A62B2F628AA073B21B3EC146010" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "A39F044D860C5B5846AA7E0FAAD44DC8897F0A62B2F628AA073B21B3EC146010" + } + }, + { + "ModifiedNode": { + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "E0D7BDE68B468FF0B8D948FD865576517DA987569833A05374ADB9A72E870A06", + "PreviousTxnID": "0222B59280D165D40C464EA75AAD08A4D152C46A38C0625DEECF6EE87FC5B9E1", + "PreviousTxnLgrSeq": 343555 + } + }, + { + "CreatedNode": { + "LedgerEntryType": "RippleState", + "LedgerIndex": "EA4BF03B4700123CDFFB6EB09DC1D6E28D5CEB7F680FB00FC24BC1C3BB2DB959", + "NewFields": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "100" + }, + "LowLimit": { + "currency": "USD", + "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value": "0" + } + } + } + }, + { + "ModifiedNode": { + "FinalFields": { + "ExchangeRate": "4E11C37937E08000", + "Flags": 0, + "RootIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000004254430000000000", + "TakerPaysIssuer": "5E7B112523F68D2F5E879DB4EAC51C6698A69304" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "F60ADF645E78B69857D2E4AEC8B7742FEABC8431BD8611D099B428C3E816DF93" + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "tx": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": "10", + "Flags": 0, + "LimitAmount": { + "currency": "USD", + "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value": "100" + }, + "Sequence": 3, + "SigningPubKey": "02BC8C02199949B15C005B997E7C8594574E9B02BA2D0628902E0532989976CF9D", + "TransactionType": "TrustSet", + "TxnSignature": "3044022058A89552068D1A274EE72BA71363E33E54E6608BC28A84DEC6EE530FC2B5C979022029F4D1EA1237A1F717C5F5EC526E6CFB6DF54C30BADD25EDDE7D2FDBC8F17E34", + "date": 416347560, + "hash": "53354D84BAE8FDFC3F4DA879D984D24B929E7FEB9100D2AD9EFCD2E126BCCDC8", + "inLedger": 343570, + "ledger_index": 343570 + }, + "validated": true + } + ], + "validated": true + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、結果が正しい場合、以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:-------------------|:-------------------------------------------|:-----------| +| `account` | 文字列 | 関連するアカウントを識別する一意の[アドレス][]。 | +| `ledger_index_min` | 整数 | トランザクションで実際に検索された最古のレジャーのシーケンス番号。 | +| `ledger_index_max` | 整数 | トランザクションで実際に検索された最新のレジャーのシーケンス番号。 | +| `limit` | 整数 | 要求で使用される`limit`値。(サーバーによって強制される実際の制限値とは異なる場合があります。) | +| `marker` | [マーカー][] | 応答がページネーションされていることを示す、サーバーが定義した値。この値を次のコールに渡して、このコールで終わったところから再開されます。 | +| `transactions` | 配列 | 以降で説明する、要求の基準を満たすトランザクションの配列。 | +| `validated` | ブール値 | このフィールドが含まれていて`true`に設定されている場合、この応答内の情報は検証済みのレジャーバージョンから取得されています。そうでない場合、情報は変更されることがあります。 | + +**注記:** サーバーから返される`ledger_index_min`および`ledger_index_max`の値が要求で指定したものとは異なる場合があります。例えば、サーバーに手元の指定したバージョンがない場合など。 + +各トランザクションのオブジェクトには以下のフィールドが含まれます。含まれるフィールドは、JSONまたは16進文字列(`"binary":true`)フォーマットのどちらで要求されたかによって異なります。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------------|:-------------------------| +| `ledger_index` | 整数 | このトランザクションを含むレジャーバージョンのシーケンス番号。 | +| `meta` | オブジェクト(JSON)または文字列(バイナリ) | `binary`がTrueの場合、これは16進文字列のトランザクションメタデータです。そうでない場合、トランザクションメタデータはJSONフォーマットになります。 | +| `tx` | オブジェクト | (JSONモードのみ)トランザクションを定義するJSONオブジェクト。 | +| `tx_blob` | 文字列 | (バイナリモードのみ)トランザクションを表す一意のハッシュ化された文字列。 | +| `validated` | ブール値 | トランザクションが検証済みのレジャーに含まれるかどうか。検証済みのレジャーに含まれていないトランザクションはすべて、変更される場合があります。 | + +## 考えられるエラー + +* いずれかの[ユニバーサルエラータイプ][]。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actMalformed` - 要求の`account`フィールドに指定した[アドレス][]が、正しいフォーマットではありません。 +* `actBitcoin` - `account`フィールドに指定された[アドレス][]が、XRP LedgerアドレスではなくBitcoinアドレスのようなフォーマットになっています。 +* `lgrIdxsInvalid` - `ledger_index_min`または`ledger_index_max`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/gateway_balances.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/gateway_balances.ja.md new file mode 100644 index 0000000000..09dd959d61 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/gateway_balances.ja.md @@ -0,0 +1,222 @@ +# gateway_balances +[[ソース]
](https://github.com/ripple/rippled/blob/9111ad1a9dc37d49d085aa317712625e635197c0/src/ripple/rpc/handlers/GatewayBalances.cpp "Source") + +`gateway_balances`コマンドは、特定のアカウントから発行された残高の合計を計算します。オプションで、[運用アドレス](issuing-and-operational-addresses.html)が保有する額を除外できます。[新規: rippled 0.28.2][] + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "example_gateway_balances_1", + "command": "gateway_balances", + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "strict": true, + "hotwallet": ["rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ","ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt"], + "ledger_index": "validated" +} +``` + +*JSON-RPC* + +``` +{ + "method": "gateway_balances", + "params": [ + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "hotwallet": [ + "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ", + "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt" + ], + "ledger_index": "validated", + "strict": true + } + ] +} +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `account` | 文字列 | チェックする[アドレス][]。[発行アドレス](issuing-and-operational-addresses.html)である必要があります。 | +| `strict` | ブール値 | _(省略可)_ trueの場合は、アカウントパラメーターにアドレスまたは公開鍵だけを受け入れます。デフォルトではfalseです。 | +| `hotwallet` | 文字列または配列 | _(省略可)_ 発行済み残高から除外する[運用アドレス](issuing-and-operational-addresses.html)、またはそのようなアドレスの配列。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーバージョンのシーケンス番号、またはレジャーを自動的に選択するショートカット文字列。([レジャーの指定][]を参照してください) | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 3, + "status": "success", + "type": "response", + "result": { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "assets": { + "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH": [ + { + "currency": "BTC", + "value": "5444166510000000e-26" + } + ], + "rPFLkxQk6xUGdGYEykqe7PR25Gr7mLHDc8": [ + { + "currency": "EUR", + "value": "4000000000000000e-27" + } + ], + "rPU6VbckqCLW4kb51CWqZdxvYyQrQVsnSj": [ + { + "currency": "BTC", + "value": "1029900000000000e-26" + } + ], + "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ": [ + { + "currency": "BTC", + "value": "4000000000000000e-30" + } + ], + "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6": [ + { + "currency": "BTC", + "value": "8700000000000000e-30" + } + ] + }, + "balances": { + "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ": [ + { + "currency": "EUR", + "value": "29826.1965999999" + } + ], + "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt": [ + { + "currency": "USD", + "value": "13857.70416" + } + ] + }, + "ledger_hash": "61DDBF304AF6E8101576BF161D447CA8E4F0170DDFBEAFFD993DC9383D443388", + "ledger_index": 14483195, + "obligations": { + "BTC": "5908.324927635318", + "EUR": "992471.7419793958", + "GBP": "4991.38706013193", + "USD": "1997134.20229482" + }, + "validated": true + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "assets": { + "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH": [ + { + "currency": "BTC", + "value": "5444166510000000e-26" + } + ], + "rPFLkxQk6xUGdGYEykqe7PR25Gr7mLHDc8": [ + { + "currency": "EUR", + "value": "4000000000000000e-27" + } + ], + "rPU6VbckqCLW4kb51CWqZdxvYyQrQVsnSj": [ + { + "currency": "BTC", + "value": "1029900000000000e-26" + } + ], + "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ": [ + { + "currency": "BTC", + "value": "4000000000000000e-30" + } + ], + "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6": [ + { + "currency": "BTC", + "value": "8700000000000000e-30" + } + ] + }, + "balances": { + "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ": [ + { + "currency": "EUR", + "value": "29826.1965999999" + } + ], + "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt": [ + { + "currency": "USD", + "value": "13857.70416" + } + ] + }, + "ledger_hash": "980FECF48CA4BFDEC896692C31A50D484BDFE865EC101B00259C413AA3DBD672", + "ledger_index": 14483212, + "obligations": { + "BTC": "5908.324927635318", + "EUR": "992471.7419793958", + "GBP": "4991.38706013193", + "USD": "1997134.20229482" + }, + "status": "success", + "validated": true + } +} +``` + + + +**注記:** このメソッドのコマンドライン構文はありません。コマンドラインからアクセスするには[jsonメソッド][]を使用してください。 + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-------|:-------------------------------------------| +| `account` | 文字列 | 残高を発行したアカウントを識別する一意の[アドレス][]。 | +| `obligations` | オブジェクト | (空の場合は省略)除外されていないアドレスに発行された額の合計。発行された価値の合計に対する通貨のマップとして示されます。 | +| `balances` | オブジェクト | (空の場合は省略)要求から`hotwallet`アドレスに発行された額。キーはアドレスであり、値はアドレスが保有する通貨額の配列です。 | +| `assets` | オブジェクト | (空の場合は省略)他から発行された保有額の合計。推奨される構成では、[発行アドレス](issuing-and-operational-addresses.html)の保有額はありません。 | +| `ledger_hash` | 文字列 | (省略される場合があります)この応答の生成に使用されたレジャーの識別用ハッシュ。 | +| `ledger_index` | 数値 | (省略される場合があります)この応答の生成に使用されたレジャーバージョンのシーケンス番号。 | +| `ledger_current_index` | 数値 | (省略される場合があります)この応答の生成に使用された現在処理中のレジャーバージョンのシーケンス番号。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `invalidHotWallet` - `hotwallet`フィールドに指定されている1つ以上のアドレスが、要求に指定されているアカウントが発行した通貨を保有しているアカウントの[アドレス][]ではありません。 +* `actNotFound` - 要求の`account`フィールドに指定されている[アドレス][]が、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/account-methods/noripple_check.ja.md b/content/references/rippled-api/public-rippled-methods/account-methods/noripple_check.ja.md new file mode 100644 index 0000000000..6ea46819ba --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/account-methods/noripple_check.ja.md @@ -0,0 +1,185 @@ +# noripple_check +[[ソース]
](https://github.com/ripple/rippled/blob/9111ad1a9dc37d49d085aa317712625e635197c0/src/ripple/rpc/handlers/NoRippleCheck.cpp "Source") + +`noripple_check`コマンドを使用すると、[アカウントのDefaultRippleフィールドとそのトラストラインのNoRippleフラグ](rippling.html)の状態を、推奨される設定と比較して迅速にチェックできます。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 0, + "command": "noripple_check", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "role": "gateway", + "ledger_index": "current", + "limit": 2, + "transactions": true +} +``` + +*JSON-RPC* + +``` +{ + "method": "noripple_check", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "current", + "limit": 2, + "role": "gateway", + "transactions": true + } + ] +} +``` + + + +**注記:** このメソッドのコマンドライン構文はありません。コマンドラインからアクセスするには[jsonメソッド][]を使用してください。 + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `account` | 文字列 | アカウントの一意のIDであり、通常はアカウントのアドレスです。 | +| `role` | 文字列 | アドレスが`gateway`と`user`のいずれを指しているか。推奨事項はアカウントの役割に応じて異なります。イシュアーのDefaultRippleを有効にし、すべてのトラストラインでNoRippleを無効にする必要があります。ユーザーのDefaultRippleを無効にし、すべてのトラストラインでNoRippleを有効にする必要があります。 | +| `transactions` | ブール値 | _(省略可)_ `true`の場合、提案される[トランザクション](transaction-formats.html)(JSONオブジェクト)の配列を指定します。問題を修正するために、これらのトランザクションに署名して送信することができます。デフォルトではfalseです。 | +| `limit` | 符号なし整数 | _(省略可)_ 結果に含めることができるトラストライン問題の最大数。デフォルトでは300です。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進数文字列。([レジャーの指定][]を参照してください。) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください。) | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 0, + "status": "success", + "type": "response", + "result": { + "ledger_current_index": 14342939, + "problems": [ + "You should immediately set your default ripple flag", + "You should clear the no ripple flag on your XAU line to r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "You should clear the no ripple flag on your USD line to rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" + ], + "transactions": [ + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10000, + "Sequence": 1406, + "SetFlag": 8, + "TransactionType": "AccountSet" + }, + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10000, + "Flags": 262144, + "LimitAmount": { + "currency": "XAU", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "0" + }, + "Sequence": 1407, + "TransactionType": "TrustSet" + }, + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10000, + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "5" + }, + "Sequence": 1408, + "TransactionType": "TrustSet" + } + ], + "validated": false + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "ledger_current_index": 14380381, + "problems": [ + "You should immediately set your default ripple flag", + "You should clear the no ripple flag on your XAU line to r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "You should clear the no ripple flag on your USD line to rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" + ], + "status": "success", + "transactions": [ + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10000, + "Sequence": 1406, + "SetFlag": 8, + "TransactionType": "AccountSet" + }, + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10000, + "Flags": 262144, + "LimitAmount": { + "currency": "XAU", + "issuer": "r3vi7mWxru9rJCxETCyA1CHvzL96eZWx5z", + "value": "0" + }, + "Sequence": 1407, + "TransactionType": "TrustSet" + }, + { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": 10000, + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "5" + }, + "Sequence": 1408, + "TransactionType": "TrustSet" + } + ], + "validated": false + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-------|:-------------------------------------------| +| `ledger_current_index` | 数値 | これらの結果の計算に使用するレジャーのシーケンス番号。 | +| `problems` | 配列 | 人間が読み取ることができる形式の問題の記述が含まれている文字列の配列。アカウントのDefaultRipple設定が推奨に従っていない場合は、最大1つのエントリーが含まれます。加えて、NoRipple設定が推奨に従っていないトラストラインのエントリー(最大で`limit`に指定されている数)も含まれます。 | +| `transactions` | 配列 | (省略される場合があります)要求で`transactions`が`true`に指定されている場合、これはJSONオブジェクトの配列です。各JSONオブジェクトは、JSON形式の[トランザクション](transaction-formats.html)で、記述されている問題の1つを修正します。この配列の長さは`problems`配列と同じであり、各エントリーは、その配列の同じインデックスで記述されている問題の修正を目的としています。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actNotFound` - 要求の`account`フィールドに指定されている[アドレス][]が、レジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`に指定されているレジャーが存在しないか、存在しているがサーバーにはありません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger.ja.md b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger.ja.md new file mode 100644 index 0000000000..ebe33e0cd4 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger.ja.md @@ -0,0 +1,204 @@ +# ledger +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/LedgerHandler.cpp "Source") + +公開レジャーに関する情報を取得します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":14, + "command":"ledger", + "ledger_index":"validated", + "full": false, + "accounts": false, + "transactions": false, + "expand": false, + "owner_funds": false +} +``` + +*JSON-RPC* + +``` +{ + "method":"ledger", + "params":[ + { + "ledger_index":"validated", + "accounts": false, + "full": false, + "transactions": false, + "expand": false, + "owner_funds": false + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: ledger ledger_index|ledger_hash [full|tx] +# "full" is equivalent to "full": true +# "tx" is equivalent to "transactions": true +rippled ledger current +``` + + + +[試してみる >](websocket-api-tool.html#ledger) + +要求には以下のパラメーターを含めることができます。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | +| `full` | ブール値 | _(省略可)_ **管理者が必要。** `true`の場合、レジャー全体に関するすべての情報が返されます。レジャーバージョンを指定しない場合は無視されます。デフォルトでは`false`です。(これは`transactions`、`accounts`、および`expand`を有効にする操作と同等です。) **注意:** 数百メガバイトのオーダーについて、非常に大量のデータが返されます。 | +| `accounts` | ブール値 | _(省略可)_ **管理者が必要。** `true`の場合、レジャーのアカウントに関する情報が返されます。レジャーバージョンを指定しない場合は無視されます。デフォルトでは`false`です。**注意:** 非常に大量のデータが返されます。 | +| `transactions` | ブール値 | _(省略可)_ `true`の場合、指定されたレジャーバージョンのトランザクションに関する情報が返されます。デフォルトでは`false`です。レジャーバージョンを指定しない場合は無視されます。 | +| `expand` | ブール値 | _(省略可)_ ハッシュのみではなく、トランザクション/アカウントの完全な情報がJSONフォーマットで提供されます。デフォルトでは`false`です。トランザクション、アカウント、またはその両方を要求しない場合は無視されます。 | +| `owner_funds` | ブール値 | _(省略可)_ `true`の場合、応答のOfferCreateトランザクションのメタデータに`owner_funds`フィールドが含まれます。デフォルトでは`false`です。トランザクションが含まれておらず、`expand`がtrueではない場合には無視されます。 | +| `binary` | ブール値 | _(省略可)_ `true`で、かつ`transactions`と`expand`が両方とも`true`の場合、JSONフォーマットではなくバイナリフォーマット(16進文字列)でトランザクション情報が返されます。[新規: rippled 0.28.0][] | +| `queue` | ブール値 | _(省略可)_ `true`で、かつコマンドが`current`レジャーを要求している場合、[キューに入れらているトランザクション](transaction-cost.html#キューに入れられたトランザクション)の配列が結果に含まれます。 + +`ledger`フィールドは廃止予定であり、今後予告なしに削除される可能性があります。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":4, + "status":"success", + "type":"response", + "result":{ + "ledger":{ + "accepted": true, + "account_hash":"FD2709F6C07284C3EE85EDE32AC452D9013A89D9B9E781D67D9784457E86A9BB", + "close_flags":0, + "close_time":508541181, + "close_time_human":"2016-Feb-11 21:26:21", + "close_time_resolution":10, + "closed": true, + "hash":"F1433E9D15F33E746B8820DEEE4879F48181704364E459332561DF8E52E4EB7E", + "ledger_hash":"F1433E9D15F33E746B8820DEEE4879F48181704364E459332561DF8E52E4EB7E", + "ledger_index":"18851530", + "parent_close_time":508541180, + "parent_hash":"8300B70AA5A865961DED7DAC5B88047028762D5946ECA887D09D32DE442E2305", + "seqNum":"18851530", + "totalCoins":"99998102799411646", + "total_coins":"99998102799411646", + "transaction_hash":"E0DB0471A1D198611E1C050ADA4AE74EEB38CEC26E0550663E0FCB1364212A3B" + }, + "ledger_hash":"F1433E9D15F33E746B8820DEEE4879F48181704364E459332561DF8E52E4EB7E", + "ledger_index":18851530, + "validated": true + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "ledger":{ + "accepted": true, + "account_hash":"B089E7CD4F5167249951611AAEC863D4BF84FF098500E9CB50561F1A89EED825", + "close_flags":0, + "close_time":508541222, + "close_time_human":"2016-Feb-11 21:27:02", + "close_time_resolution":10, + "closed": true, + "hash":"85E6D422F1A3AE0BEA315C4F09CD0B45022312A4BBF0D308246E901536B61157", + "ledger_hash":"85E6D422F1A3AE0BEA315C4F09CD0B45022312A4BBF0D308246E901536B61157", + "ledger_index":"18851543", + "parent_close_time":508541221, + "parent_hash":"C382DB117F2D5AAECFBFB43EA509F8E56D6E1D1297CE00C0D02A3EE695ABB78F", + "seqNum":"18851543", + "totalCoins":"99998102795090646", + "total_coins":"99998102795090646", + "transaction_hash":"BEC71A3CAD11BFC4E4013CD109F220E0850E9A3808B15FAA6DAE4D898970EFAF" + }, + "ledger_hash":"85E6D422F1A3AE0BEA315C4F09CD0B45022312A4BBF0D308246E901536B61157", + "ledger_index":18851543, + "status":"success", + "validated": true + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果にレジャーに関する情報を表す次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-------------------------------|:--------|:----------------------------------| +| `ledger` | オブジェクト | このレジャーの完全なヘッダーデータ。 | +| `ledger.account_hash` | 文字列 | このレジャーのすべてのアカウント状態情報のハッシュ(16進数) | +| `ledger.accountState` | 配列 | (要求されていない場合は省略)このレジャーのすべての[アカウント状態情報](ledger-data-formats.html)。 | +| `ledger.close_flags` | 整数 | このレジャーの閉鎖に関連するフラグのビットマップ。現在、レジャーでは1つのフラグだけが`close_flags`として定義されています(**sLCF_NoConsensusTime**(値1))。このフラグが有効な場合、レジャーの正確な閉鎖時刻についてバリデータの間で意見が対立しましたが、作成しているレジャーは同一のものであるため、バリデータは閉鎖時刻について「合意をしないことに合意する」とした上でコンセンサスを宣言しました。この場合、コンセンサスレジャーの`close_time`の値は直前のバージョンの閉鎖時刻の1秒後です。(この場合、正式な閉鎖時刻がありませんが、実際の閉鎖時刻はおそらく指定されている`close_time`の3~6秒後です。) | +| `ledger.close_time` | 整数 | レジャーが閉鎖された時刻([Rippleエポック以降の経過秒数][]) | +| `ledger.close_time_human` | 文字列 | 人間が読めるフォーマットでのこのレジャーが閉鎖された時刻 | +| `ledger.close_time_resolution` | 整数 | レジャー閉鎖時刻はこの秒数の範囲内で丸めらます。 | +| `ledger.closed` | ブール値 | このレジャーが閉鎖されているかどうか。 | +| `ledger.ledger_hash` | 文字列 | レジャー全体の一意の識別用ハッシュ。 | +| `ledger.ledger_index` | 文字列 | このレジャーの[レジャーインデックス][]。整数を引用符で囲んだ形式で示されます。 | +| `ledger.parent_close_time` | 整数 | 前のレジャーが閉鎖された時刻。 | +| `ledger.parent_hash` | 文字列 | このレジャーの直前のレジャーの一意の識別用ハッシュ。 | +| `ledger.total_coins` | 文字列 | ネットワークのXRPの合計(drop数)。整数を引用符で囲んだ形式で示されます。(トランザクションコストによりXRPが消却されると、この値は減少します。) | +| `ledger.transaction_hash` | 文字列 | このレジャーに記録されているトランザクション情報のハッシュ(16進数) | +| `ledger.transactions` | 配列 | (要求されていない場合は省略)このレジャーバージョンで適用されたトランザクション。デフォルトでは、メンバーはトランザクションの識別用[ハッシュ][]文字列です。要求で`expand`がtrueとして指定されている場合は、メンバーはJSONフォーマットまたはバイナリフォーマットでのトランザクションの完全な表現です。フォーマットは、要求で`binary`がtrueとして指定されていたかどうかに応じて決まります。 | +| `ledger_hash` | 文字列 | レジャー全体の一意の識別用ハッシュ。 | +| `ledger_index` | 数値 | このレジャーの[レジャーインデックス][]。 | +| `queue_data` | 配列 | (`queue`パラメーターで要求されている場合を除いて省略)キューに入れられたトランザクションをキューと同じ順序で記述するオブジェクトの配列。要求で`expand`がtrueに指定されている場合は、メンバーにはJSONフォーマットまたはバイナリフォーマットでのトランザクションの完全な表現が含まれています。フォーマットは、要求で`binary`がtrueとして指定されていたかどうかによって決まります。[FeeEscalation Amendment][]が必要です。[新規: rippled 0.70.0][] | + +以下のフィールドは廃止予定であり、今後予告なしに削除される可能性があります。`accepted`、`hash`(代わりに`ledger_hash`を使用)、`seqNum`(代わりに`ledger_index`を使用)、`totalCoins`(代わりに`total_coins`を使用)。 + +`queue_data`配列の各メンバーは、キュー内の1つのトランザクションを表します。このオブジェクトの一部フィールドは、まだ計算されていないために省略されることがあります。このオブジェクトのフィールドを次に示します。 + +| フィールド | 値 | 説明 | +|:--------------------|:-----------------|:------------------------------------| +| `account` | 文字列 | このキューに入れられたトランザクションの送信者の[アドレス][]。 | +| `tx` | 文字列またはオブジェクト | デフォルトでは、これはトランザクションの[識別用ハッシュ](basic-data-types.html#ハッシュ)を含む文字列です。トランザクションがバイナリフォーマットで展開されている場合、これは`tx_blob`が唯一のフィールドであるオブジェクトであり、バイナリー形式のトランザクションが10進文字列として含まれています。トランザクションがJSONフォーマットで展開されている場合、これは`hash`フィールドにトランザクションの識別用ハッシュが指定されている[トランザクションオブジェクト](transaction-formats.html)を含むオブジェクトです。 | +| `retries_remaining` | 数値 | このトランザクションの再試行可能回数。この回数を超えるとトランザクションが除外されます。 | +| `preflight_result` | 文字列 | 初期トランザクションチェックの一時的な結果。これは常に`tesSUCCESS`です。 | +| `last_result` | 文字列 | _(省略される場合があります)_[再試行可能な (`ter`) の結果](ter-codes.html)を取得した後でこのトランザクションがキューに残っている場合、これは取得した正確な`ter`結果コードです。 | +| `auth_change` | ブール値 | _(省略される場合があります)_ このトランザクションがこのアドレスの[トランザクション承認方法](transaction-basics.html#取引の承認)を変更するかどうかを示します。 | +| `fee` | 文字列 | _(省略される場合があります)_ このトランザクションの[トランザクションコスト](transaction-cost.html)([XRPのdrop数][])。 | +| `fee_level` | 文字列 | _(省略される場合があります)_ このタイプのトランザクションの最少コストと比較した、このトランザクションのトランザクションコスト([手数料レベル][])。 | +| `max_spend_drops` | 文字列 | _(省略される場合があります)_ このトランザクションで送信または消却できる[XRP、drop単位][]の最高額。 | + +要求に`"owner_funds": true`が指定されておりトランザクションが展開されている場合、応答には、各[OfferCreateトランザクション][]の`metaData`オブジェクトの`owner_funds`フィールドが含まれています。このフィールドの目的は、新しい検証済みレジャーごとに[オファーの資金化ステータス](offers.html#オファーのライフサイクル)を容易に追跡できるようにすることです。このフィールドの定義は、[オーダーブックサブスクリプションストリーム](subscribe.html#オーダーブックストリーム)でのこのフィールドのバージョンとはわずかに異なります。 + +| `Field` | 値 | 説明 | +|:--------------|:-------|:----------------------------------------------------| +| `owner_funds` | 文字列 | このレジャーのすべてのトランザクションの実行後に、このOfferCreateトランザクションを送信する`Account`が保有する`TakerGets`通貨の額。この通貨額が[凍結](freezes.html)されているかどうかはチェックされません。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 +* `noPermission` - `full`または`accounts`をtrueとして指定したが、管理者としてサーバーに接続していない場合(通常、管理者はローカルポートで接続する必要があります)。 + + + +[手数料レベル]: transaction-cost.html#手数料レベル + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_closed.ja.md b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_closed.ja.md new file mode 100644 index 0000000000..a30dea44ca --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_closed.ja.md @@ -0,0 +1,91 @@ +# ledger_closed +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/LedgerClosed.cpp "Source") + +`ledger_closed`メソッドは、最新の閉鎖済みレジャーの一意のIDを返します。(このレジャーは必ずしも検証済みで変更不可能ではありません。) + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":2, + "command":"ledger_closed" +} +``` + +*JSON-RPC* + +``` +{ + "method":"ledger_closed", + "params":[ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: ledger_closed +rippled ledger_closed +``` + + + +[試してみる >](websocket-api-tool.html#ledger_closed) + +このメソッドはパラメーターを受け入れません。 + +## 応答フォーマット +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":1, + "status":"success", + "type":"response", + "result":{ + "ledger_hash":"17ACB57A0F73B5160713E81FE72B2AC9F6064541004E272BD09F257D57C30C02", + "ledger_index":6643099 + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "ledger_hash":"8B5A0C5F6B198254A6E411AF55C29EE40AA86251D2E78DD0BB17647047FA9C24", + "ledger_index":8696231, + "status":"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-----------------|:-----------------------------------------| +| `ledger_hash` | 文字列 | レジャーの一意のハッシュを示す20バイトの16進文字列。 | +| `ledger_index` | 符号なし整数 | このレジャーのシーケンス番号 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_current.ja.md b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_current.ja.md new file mode 100644 index 0000000000..93583376a0 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_current.ja.md @@ -0,0 +1,92 @@ +# ledger_current +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/LedgerCurrent.cpp "Source") + +`ledger_current`メソッドは、現在進行中のレジャーの一意のIDを返します。このコマンドで返されるレジャーは確定されたものではないため、このコマンドは主にテストに有用です。 + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":2, + "command":"ledger_current" +} +``` + +*JSON-RPC* + +``` +{ + "method":"ledger_current", + "params":[ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: ledger_current +rippled ledger_current +``` + + + +[試してみる >](websocket-api-tool.html#ledger_current) + +この要求にはパラメーターは含まれていません。 + + +## 応答フォーマット +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":2, + "status":"success", + "type":"response", + "result":{ + "ledger_current_index":6643240 + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "ledger_current_index":8696233, + "status":"success" + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-----------------|:-------------------------------| +| `ledger_current_index` | 符号なし整数 | このレジャーのシーケンス番号 | + +現行レジャーのハッシュは、レジャーの内容とともに常に変化するため、`ledger_hash`フィールドはありません。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_data.ja.md b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_data.ja.md new file mode 100644 index 0000000000..887f73772c --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_data.ja.md @@ -0,0 +1,261 @@ +# ledger_data +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/LedgerData.cpp "Source") + +`ledger_data`メソッドは指定されたレジャーの内容を取得します。1つのレジャーバージョンの内容全体を取得するため、複数のコールを繰り返し実行できます。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":2, + "ledger_hash":"842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "command":"ledger_data", + "limit":5, + "binary": true +} +``` + +*JSON-RPC* + +``` +{ + "method":"ledger_data", + "params":[ + { + "binary": true, + "ledger_hash":"842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "limit":5 + } + ] +} +``` + + + +**注記:**`ledger_data`のコマンドライン構文はありません。代わりに[jsonメソッド][]を使用してコマンドラインからこのメソッドにアクセスできます。 + +要求には以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------------------------------------------|:---------------| +| `id` | (任意) | (WebSocketのみ)応答が遅延して順不同になる場合にこの要求を他の要求と区別するためのID。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | +| `binary` | ブール値 | (省略可、デフォルトではfalseです)trueに設定すると、レジャーオブジェクトがJSONではなくハッシュされた16進文字列として返されます。 | +| `limit` | 整数 | (省略可、デフォルト値は可変)取得するレジャーオブジェクトの数を制限します。サーバーはこの値に従う必要はありません。 | +| `marker` | [マーカー][] | 以前にページネーションされた応答の値。その応答を停止した箇所からデータの取得を再開します。 | + +`ledger`フィールドは廃止予定であり、今後予告なしに削除される可能性があります。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket (binary:true)* + +``` +{ + "id":2, + "result":{ + "ledger_hash":"842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "ledger_index":"6885842", + "marker":"0002A590029B53BE7857EFF9985F770EC792CE483720EB5E963C4D6A607D43DF", + "state":[ + { + "data":"11006122000000002400000001250062FEA42D0000000055C204A65CF2542946289A3358C67D991B5E135FABFA89F271DBA7A150C08CA0466240000000354540208114C909F42250CFE8F12A7A1A0DFBD3CBD20F32CD79", + "index":"00001A2969BE1FC85F1D7A55282FA2E6D95C71D2E4B9C0FDD3D9994F3C00FF8F" + }, + { + "data":"11006F22000000002400000003250035788533000000000000000034000000000000000055555B93628BF3EC318892BB7C7CDCB6732FF53D12B6EEC4FAF60DD1AEE1C6101F501071633D7DE1B6AEB32F87F1A73258B13FC8CC32942D53A66D4F038D7EA4C6800064D4838D7EA4C68000000000000000000000000000425443000000000035DD7DF146893456296BF4061FBE68735D28F3286540000000000F42408114A4B8F5F7B644AEDC3447F9459C132EEB016A133B", + "index":"000037C6659BB98F8D09F2F4CFEB27DE8EFEAFE54DD9E1C13AECDF5794B0C0F5" + }, + { + "data":"11006F2200020000240000000A250067395C33000000000000000034000000000000000055A160BC41A45B6BB118DF23D77E4FF23C723431B917F50DCB41319ECC2821F34C5010DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4C1AA535D3D0C00064D554C88B43EFA00000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D165400000B59B9F780081148366FB9ACD2A0FD822E31112D2EB6F98C317C2C1", + "index":"0000A8791F78CC9B39200E12A9BDAACCF40A72A512FA815525CFC9BA772990F7" + }, + { + "data":"1100612200000000240000000125003E742F2D0000000055286498B513710CFEB2D723A554C7557983D1952DF4DEE342C40DCB43067C9A21624000000306DC42008114225BAB89C4A4B94624BB069D6DB3C819F934991C", + "index":"0000B717320558E2DE1A3B9FDB24E9A695BF05D1A44E4A4683212BB1DD0FBA23" + }, + { + "data":"110072220002000025000B65783700000000000000003800000000000000005587591A63051645F37B85D1FBA55EE69B1C96BFF16904F5C99F03FB93D42D03756280000000000000000000000000000000000000004254430000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D167D4C38D7EA4C680000000000000000000000000004254430000000000C795FDF8A637BCAAEDAD1C434033506236C82A2D", + "index":"000103996A3BAD918657F86E12A67D693E8FC8A814DA4B958A244B5F14D93E58" + } + ] + }, + "status":"success", + "type":"response" +} +``` + +*WebSocket (binary:false)* + +``` +{ + "id":2, + "result":{ + "ledger_hash":"842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "ledger_index":"6885842", + "marker":"0002A590029B53BE7857EFF9985F770EC792CE483720EB5E963C4D6A607D43DF", + "state":[ + { + "Account":"rKKzk9ghA2iuy3imqMXUHJqdRPMtNDGf4c", + "Balance":"893730848", + "Flags":0, + "LedgerEntryType":"AccountRoot", + "OwnerCount":0, + "PreviousTxnID":"C204A65CF2542946289A3358C67D991B5E135FABFA89F271DBA7A150C08CA046", + "PreviousTxnLgrSeq":6487716, + "Sequence":1, + "index":"00001A2969BE1FC85F1D7A55282FA2E6D95C71D2E4B9C0FDD3D9994F3C00FF8F" + }, + { + "Account":"rGryPmNWFognBgMtr9k4quqPbbEcCrhNmD", + "BookDirectory":"71633D7DE1B6AEB32F87F1A73258B13FC8CC32942D53A66D4F038D7EA4C68000", + "BookNode":"0000000000000000", + "Flags":0, + "LedgerEntryType":"Offer", + "OwnerNode":"0000000000000000", + "PreviousTxnID":"555B93628BF3EC318892BB7C7CDCB6732FF53D12B6EEC4FAF60DD1AEE1C6101F", + "PreviousTxnLgrSeq":3504261, + "Sequence":3, + "TakerGets":"1000000", + "TakerPays":{ + "currency":"BTC", + "issuer":"rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", + "value":"1" + }, + "index":"000037C6659BB98F8D09F2F4CFEB27DE8EFEAFE54DD9E1C13AECDF5794B0C0F5" + }, + { + "Account":"rUy8tW38MW9ma7kSjRgB2GHtTkQAFRyrN8", + "BookDirectory":"DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4C1AA535D3D0C000", + "BookNode":"0000000000000000", + "Flags":131072, + "LedgerEntryType":"Offer", + "OwnerNode":"0000000000000000", + "PreviousTxnID":"A160BC41A45B6BB118DF23D77E4FF23C723431B917F50DCB41319ECC2821F34C", + "PreviousTxnLgrSeq":6764892, + "Sequence":10, + "TakerGets":"780000000000", + "TakerPays":{ + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value":"5850" + }, + "index":"0000A8791F78CC9B39200E12A9BDAACCF40A72A512FA815525CFC9BA772990F7" + }, + { + "Account":"rh3C81VfNDhhWPQWCU8ZGgknvdgNUvRtM9", + "Balance":"13000000000", + "Flags":0, + "LedgerEntryType":"AccountRoot", + "OwnerCount":0, + "PreviousTxnID":"286498B513710CFEB2D723A554C7557983D1952DF4DEE342C40DCB43067C9A21", + "PreviousTxnLgrSeq":4092975, + "Sequence":1, + "index":"0000B717320558E2DE1A3B9FDB24E9A695BF05D1A44E4A4683212BB1DD0FBA23" + }, + { + "Balance":{ + "currency":"BTC", + "issuer":"rrrrrrrrrrrrrrrrrrrrBZbvji", + "value":"0" + }, + "Flags":131072, + "HighLimit":{ + "currency":"BTC", + "issuer":"rKUK9omZqVEnraCipKNFb5q4tuNTeqEDZS", + "value":"10" + }, + "HighNode":"0000000000000000", + "LedgerEntryType":"RippleState", + "LowLimit":{ + "currency":"BTC", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value":"0" + }, + "LowNode":"0000000000000000", + "PreviousTxnID":"87591A63051645F37B85D1FBA55EE69B1C96BFF16904F5C99F03FB93D42D0375", + "PreviousTxnLgrSeq":746872, + "index":"000103996A3BAD918657F86E12A67D693E8FC8A814DA4B958A244B5F14D93E58" + } + ] + }, + "status":"success", + "type":"response" +} +``` + +*JSON-RPC (binary:true)* + +``` +200 OK +{ + "result":{ + "ledger_hash":"842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "ledger_index":"6885842", + "marker":"0002A590029B53BE7857EFF9985F770EC792CE483720EB5E963C4D6A607D43DF", + "state":[ + { + "data":"11006122000000002400000001250062FEA42D0000000055C204A65CF2542946289A3358C67D991B5E135FABFA89F271DBA7A150C08CA0466240000000354540208114C909F42250CFE8F12A7A1A0DFBD3CBD20F32CD79", + "index":"00001A2969BE1FC85F1D7A55282FA2E6D95C71D2E4B9C0FDD3D9994F3C00FF8F" + }, + { + "data":"11006F22000000002400000003250035788533000000000000000034000000000000000055555B93628BF3EC318892BB7C7CDCB6732FF53D12B6EEC4FAF60DD1AEE1C6101F501071633D7DE1B6AEB32F87F1A73258B13FC8CC32942D53A66D4F038D7EA4C6800064D4838D7EA4C68000000000000000000000000000425443000000000035DD7DF146893456296BF4061FBE68735D28F3286540000000000F42408114A4B8F5F7B644AEDC3447F9459C132EEB016A133B", + "index":"000037C6659BB98F8D09F2F4CFEB27DE8EFEAFE54DD9E1C13AECDF5794B0C0F5" + }, + { + "data":"11006F2200020000240000000A250067395C33000000000000000034000000000000000055A160BC41A45B6BB118DF23D77E4FF23C723431B917F50DCB41319ECC2821F34C5010DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4C1AA535D3D0C00064D554C88B43EFA00000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D165400000B59B9F780081148366FB9ACD2A0FD822E31112D2EB6F98C317C2C1", + "index":"0000A8791F78CC9B39200E12A9BDAACCF40A72A512FA815525CFC9BA772990F7" + }, + { + "data":"1100612200000000240000000125003E742F2D0000000055286498B513710CFEB2D723A554C7557983D1952DF4DEE342C40DCB43067C9A21624000000306DC42008114225BAB89C4A4B94624BB069D6DB3C819F934991C", + "index":"0000B717320558E2DE1A3B9FDB24E9A695BF05D1A44E4A4683212BB1DD0FBA23" + }, + { + "data":"110072220002000025000B65783700000000000000003800000000000000005587591A63051645F37B85D1FBA55EE69B1C96BFF16904F5C99F03FB93D42D03756280000000000000000000000000000000000000004254430000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D167D4C38D7EA4C680000000000000000000000000004254430000000000C795FDF8A637BCAAEDAD1C434033506236C82A2D", + "index":"000103996A3BAD918657F86E12A67D693E8FC8A814DA4B958A244B5F14D93E58" + } + ], + "status":"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------------------------------------------|:---------------| +| `ledger_index` | 符号なし整数 | このレジャーのシーケンス番号 | +| `ledger_hash` | 文字列 | レジャー全体の一意の識別用ハッシュ。 | +| `state` | 配列 | ツリーのデータが含まれているJSONオブジェクトの配列。以下のように定義されています。 | +| `marker` | [マーカー][] | 応答がページネーションされていることを示す、サーバーが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。 | + +`state`配列の各オブジェクトのフォーマットは、要求で`binary`がtrueに設定されているかどうかによって異なります。各`state`オブジェクトには以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:--------------------|:----------|:-------------------------------------------| +| `data` | 文字列 | (`"binary":true`の場合にのみ含まれる)要求されたデータの16進表現。 | +| `LedgerEntryType` | 文字列 | (`"binary":false`の場合にのみ含まれる)このオブジェクトが表すレジャーオブジェクトの型を示す文字列。詳細なリストについては[レジャーデータフォーマット](ledger-data-formats.html)を参照してください。 | +| (追加のフィールド) | (各種) | (`"binary":false`の場合にのみ含まれる)このオブジェクトを記述する追加フィールド。オブジェクトのLedgerEntryTypeに応じて異なります。 | +| `index` | 文字列 | このレジャーエントリの一意のID(16進数) | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_entry.ja.md b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_entry.ja.md new file mode 100644 index 0000000000..8915ad07e2 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/ledger-methods/ledger_entry.ja.md @@ -0,0 +1,171 @@ +# ledger_entry +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/LedgerEntry.cpp "Source") + +`ledger_entry`メソッドは、XRP Ledgerの1つのレジャーオブジェクトを生フォーマットで返します。取得可能な各種オブジェクトについては、[レジャーフォーマット][]を参照してください。 + +**注記:** このメソッドのコマンドラインバージョンはありません。代わりに[jsonメソッド][]を使用してコマンドラインからこのメソッドにアクセスできます。 + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":3, + "command":"ledger_entry", + "type":"account_root", + "account_root":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index":"validated" +} +``` + +*JSON-RPC* + +``` +{ + "method":"ledger_entry", + "params":[ + { + "account_root":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index":"validated", + "type":"account_root" + } + ] +} +``` + + + +[試してみる >](websocket-api-tool.html#ledger_entry) + +このメソッドでは各種データを取得できます。取得するアイテムのタイプを選択するには、当該のパラメーターを渡します。具体的には、以下のフィールドのいずれか1つを指定します。 + +1. `index` - 一意のIDを指定して任意のタイプのレジャーオブジェクトを取得します。 +2. `account_root` - [AccountRootオブジェクト](accountroot.html)を取得します。これは[account_infoメソッド][]とほぼ同等です。 +3. `directory` - 他のレジャーオブジェクトのリストが含まれている[DirectoryNode](directorynode.html)を取得します。 +4. `offer` - 通貨取引オファーを定義する[Offerオブジェクト](offer.html)を取得します。 +5. `ripple_state` - 2つのアカウント間の(XRP以外の)通貨の残高を追跡する[RippleStateオブジェクト](ripplestate.html)を取得します。 +6. `check` - 受取人が現金化できる支払いである[Checkオブジェクト](check.html)を取得します。[新規: rippled 1.0.0][] +7. `escrow` - 特定の時刻または条件に一致するまでXRPを保有する[Escrowオブジェクト](escrow-object.html)を取得します。[新規: rippled 1.0.0][] +8. `payment_channel` - 非同期支払いのためにXRPを保有する[PayChannelオブジェクト](paychannel.html)を取得します。[新規: rippled 1.0.0][] +9. `deposit_preauth` - [Deposit Authorization](depositauth.html)を必要とするアカウントへの支払いの事前承認を追跡する[DepositPreauthオブジェクト](depositpreauth-object.html)を取得します。[新規: rippled 1.1.0][] + +上記のアイテムを複数指定すると、サーバーはそのうちの1つのみを取得します。どのアイテムが取得されるかは未定義です。 + +このメソッドで認識されるすべてのパラメーターのリストを次に示します。 + +| `Field` | 型 | 説明 | +|:------------------------|:---------------------------|:----------------------| +| `index` | 文字列 | _(省略可)_ レジャーから取得する1つのオブジェクトの[オブジェクトID](ledger-object-ids.html)を指定します。 | +| `account_root` | 文字列 - [アドレス][] | _(省略可)_ 取得する[AccountRootオブジェクト](accountroot.html)を指定します。 | +| `check` | 文字列 | _(省略可)_ レジャーから取得する[Checkオブジェクト](check.html)の[オブジェクトID](ledger-object-ids.html)を指定します。 | +| `deposit_preauth` | オブジェクトまたは文字列 | _(省略可)_ 取得する[DepositPreAuthオブジェクト](depositpreauth-object.html)を指定します。文字列の場合はDepositPreAuthオブジェクトの[オブジェクトID](ledger-object-ids.html)(16進数)である必要があります。オブジェクトの場合は`owner`および`authorized`サブフィールドが必要です。 | +| `deposit_preauth.owner` | 文字列 - [アドレス][] | _(`deposit_preauth`がオブジェクトとして指定されている場合に必須)_ 事前承認を提供したアカウント。 | +| `deposit_preauth.authorized` | 文字列 - [アドレス][] | _(`deposit_preauth`がオブジェクトとして指定されている場合に必須)_ 事前承認を受けたアカウント。 | +| `directory` | オブジェクトまたは文字列 | _(省略可)_ 取得する[DirectoryNode](directorynode.html)を指定します。文字列の場合はディレクトリーの[オブジェクトID](ledger-object-ids.html)(16進数)である必要があります。オブジェクトの場合はサブフィールドとして`dir_root`または`owner`のいずれかが必要です。また必要に応じて`sub_index`サブフィールドを指定できます。 | +| `directory.sub_index` | 符号なし整数 | _(省略可)_ 指定されている場合は、[DirectoryNode](directorynode.html)の後のページにジャンプします。 | +| `directory.dir_root` | 文字列 | _(`directory`がオブジェクトとして指定されており、`directory.owner`が指定されていない場合に必須)_ 取得するディレクトリーを識別する一意のインデックス(16進数)。 | +| `directory.owner` | 文字列 | _(`directory`がオブジェクトとして指定されており、`directory.dir_root`が指定されていない場合に必須)_ このディレクトリーに関連付けられているアカウントの一意のアドレス。 | +| `escrow` | オブジェクトまたは文字列 | _(省略可)_ 取得する[Escrowオブジェクト](escrow-object.html)を指定します。文字列の場合はEscrowの[オブジェクトID](ledger-object-ids.html)(16進数)である必要があります。オブジェクトの場合は`owner`および`seq`サブフィールドが必要です。 | +| `escrow.owner` | 文字列 - [アドレス][] | _(`escrow`がオブジェクトとして指定されている場合に必須)_ Escrowオブジェクトの所有者(送金元)。 | +| `escrow.seq` | 符号なし整数 | _(`escrow`がオブジェクトとして指定されている場合に必須)_ Escrowオブジェクトを作成したトランザクションのシーケンス番号。 | +| `offer` | オブジェクトまたは文字列 | _(省略可)_ 取得する[Offer オブジェクト](offer.html)を指定します。文字列の場合はOfferの[一意のインデックス](ledgers.html#ツリーの形式)として解釈されます。オブジェクトの場合は、オファーを一意に識別するためサブフィールド`account`と`seq`が必要です。 | +| `offer.account` | 文字列 - [アドレス][] | _(`offer`が指定されている場合に必須)_ オファーを出したアカウント。 | +| `offer.seq` | 符号なし整数 | _(`offer`が指定されている場合に必須)_ Offerオブジェクトを作成したトランザクションのシーケンス番号。 | +| `payment_channel` | 文字列 | _(省略可)_ 取得する[PayChannel オブジェクト](paychannel.html)の[オブジェクトID](ledger-object-ids.html)を指定します。 | +| `ripple_state` | オブジェクト | _(省略可)_ 取得するRippleState(トラストライン)オブジェクトを指定するオブジェクト。取得するRippleStateエントリを一意に指定するため、`accounts`および`currency`サブフィールドが必要です。 | +| `ripple_state.accounts` | 配列 | _(`ripple_state`が指定されている場合に必須)_ アカウントの[アドレス][]からなる長さ2の配列。この[RippleStateオブジェクト](ripplestate.html)によりリンクされる2つのアカウントを定義します。 | +| `ripple_state.currency` | 文字列 | _(`ripple_state`が指定されている場合に必須)_ 取得する[RippleStateオブジェクト](ripplestate.html)の[通貨コード][]。 | +| `binary` | ブール値 | _(省略可)_ trueの場合、要求したレジャーオブジェクトの内容が16進文字列として返されます。それ以外の場合はデータがJSONフォーマットで返されます。デフォルトは`false`です。[更新: rippled 1.2.0][新規: rippled 1.2.0] | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | + +`generator`パラメーターと`ledger`パラメーターは廃止予定であり、今後予告なしに削除される可能性があります。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +```{ + "id":3, + "result":{ + "index":"4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05", + "ledger_index":6889347, + "node":{ + "Account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance":"27389517749", + "Flags":0, + "LedgerEntryType":"AccountRoot", + "OwnerCount":18, + "PreviousTxnID":"B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932", + "PreviousTxnLgrSeq":6592159, + "Sequence":1400, + "index":"4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" + } + }, + "status":"success", + "type":"response" +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "index":"4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05", + "ledger_index":8696234, + "node":{ + "Account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance":"13176802787", + "Flags":0, + "LedgerEntryType":"AccountRoot", + "OwnerCount":17, + "PreviousTxnID":"E5D0235A236F7CD162C1AB87A0325056AE61CFC63D92D1494AB5D826AAD0CDCA", + "PreviousTxnLgrSeq":8554742, + "Sequence":1406, + "index":"4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" + }, + "status":"success", + "validated": true + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-----------------|:-----------------------------------------| +| `index` | 文字列 | このledger_entryの一意の識別用キー | +| `ledger_index` | 符号なし整数 | このデータの取得元レジャーの一意のシーケンス番号 | +| `node` | オブジェクト | (`"binary": true`が指定されている場合は省略)[レジャーフォーマット][]に基づく、このレジャーオブジェクトのデータが含まれているオブジェクト。 | +| `node_binary` | 文字列 | (`"binary":true`が指定されていない場合は省略)レジャーオブジェクトのバイナリデータ(16進数)。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `deprecatedFeature` - 削除されたフィールド(`generator`など)が要求に指定されていました。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 +* `malformedAddress` - 要求の[アドレス][]フィールドが誤って指定されています。 +* `malformedCurrency` - 要求の[通貨コード][]フィールドが誤って指定されています。 +* `malformedOwner` - 要求の`escrow.owner`サブフィールドが誤って指定されています。 +* `malformedRequest` - 要求にフィールドが無効な組み合わせで指定されているか、1つ以上のフィールドの型が誤っています。 +* `unknownOption` - 要求に指定されたフィールドが、予期される要求フォーマットのいずれにも一致していません。 + + + +[レジャーフォーマット]: ledger-data-formats.html +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/book_offers.ja.md b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/book_offers.ja.md new file mode 100644 index 0000000000..e4e4e51efe --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/book_offers.ja.md @@ -0,0 +1,190 @@ +# book_offers +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/BookOffers.cpp "Source") + +`book_offers`メソッドは、[オーダーブック](http://www.investopedia.com/terms/o/order-book.asp)と呼ばれる、2つの通貨間のオファーのリストを取得します。結果が非常に大きい場合、結果の一部がマーカー付きで返されます。これにより、その後の要求は前回の要求で終わった箇所から再開できます。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 4, + "command": "book_offers", + "taker": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "taker_gets": { + "currency": "XRP" + }, + "taker_pays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "limit": 10 +} +``` + +*JSON-RPC* + +``` +{ + "method": "book_offers", + "params": [ + { + "taker": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "taker_gets": { + "currency": "XRP" + }, + "taker_pays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + }, + "limit": 10 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: book_offers taker_pays taker_gets [taker [ledger [limit] ] ] +rippled book_offers 'USD/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' 'EUR/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' +``` + + + +[試してみる>](websocket-api-tool.html#book_offers) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-------------------------------------------|:-------------------------------| +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進数文字列。([レジャーの指定][]を参照してください。) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください。) | +| `limit` | 符号なし整数 | _(省略可)_ 指定されている場合、サーバーはこの制限を超える数のオファーを結果に含めません。資金供給のないオファーはサーバーにより省略されるため、返される結果の総数はこの制限よりも少ないことがあります。 | +| `marker` | [マーカー][] | _(省略可)_ 以前にページネーションされた応答の値。その応答で終わった箇所からデータの取得を再開します。 | +| `taker` | 文字列 | _(省略可)_ パースペクティブとして使用するアカウントの[アドレス][]。このアカウントが発行した[資金供給のないオファー](offers.html#オファーのライフサイクル)は常に応答に含まれます。(これを使用して、キャンセルしたい各自のオーダーを検索できます。) | +| `taker_gets` | オブジェクト | オファーを受諾するアカウントが受け取る通貨を、[通貨額][Currency Amount]と同様に、`currency`フィールドと`issuer`フィールドを持つオブジェクトとして指定します(XRPの場合はissuerを省略)。 | +| `taker_pays` | オブジェクト | オファーを受諾するアカウントが支払う通貨を、[通貨額][Currency Amount]と同様に、`currency`フィールドと`issuer`フィールドを持つオブジェクトとして指定します(XRPの場合はissuerを省略)。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 11, + "status": "success", + "type": "response", + "result": { + "ledger_current_index": 7035305, + "offers": [ + { + "Account": "rM3X3QSr8icjTGpaF52dozhbT2BZSXJQYM", + "BookDirectory": "7E5F614417C2D0A7CEFEB73C4AA773ED5B078DE2B5771F6D55055E4C405218EB", + "BookNode": "0000000000000000", + "Flags": 0, + "LedgerEntryType": "Offer", + "OwnerNode": "0000000000000AE0", + "PreviousTxnID": "6956221794397C25A53647182E5C78A439766D600724074C99D78982E37599F1", + "PreviousTxnLgrSeq": 7022646, + "Sequence": 264542, + "TakerGets": { + "currency": "EUR", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "17.90363633316433" + }, + "TakerPays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "27.05340557506234" + }, + "index": "96A9104BF3137131FF8310B9174F3B37170E2144C813CA2A1695DF2C5677E811", + "quality": "1.511056473200875" + }, + { + "Account": "rhsxKNyN99q6vyYCTHNTC1TqWCeHr7PNgp", + "BookDirectory": "7E5F614417C2D0A7CEFEB73C4AA773ED5B078DE2B5771F6D5505DCAA8FE12000", + "BookNode": "0000000000000000", + "Flags": 131072, + "LedgerEntryType": "Offer", + "OwnerNode": "0000000000000001", + "PreviousTxnID": "8AD748CD489F7FF34FCD4FB73F77F1901E27A6EFA52CCBB0CCDAAB934E5E754D", + "PreviousTxnLgrSeq": 7007546, + "Sequence": 265, + "TakerGets": { + "currency": "EUR", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "2.542743233917848" + }, + "TakerPays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "4.19552633596446" + }, + "index": "7001797678E886E22D6DE11AF90DF1E08F4ADC21D763FAFB36AF66894D695235", + "quality": "1.65" + } + ] + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "ledger_current_index": 8696243, + "offers": [], + "status": "success", + "validated": false + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:-------------------------------------------|:------------------------------------------| +| `ledger_current_index` | 整数 | (レジャーバージョンが指定されている場合は省略)このデータの取得時に使用したレジャーバージョンのシーケンス番号。 | +| `ledger_index` | 整数 | (ledger\_current\_indexが代わりに指定されている場合は省略)要求で指定される、このデータの取得時に使用されたレジャーバージョンのシーケンス番号。 | +| `ledger_hash` | 文字列 | (省略される場合があります)要求で指定される、このデータの取得時に使用されたレジャーバージョンの16進数ハッシュ。 | +| `marker` | [マーカー][] | (省略される場合があります)応答がページネーションされていることを示す、サーバーが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。この後に情報ページがない場合は省略されます。 | +| `offers` | 配列 | Offerオブジェクトの配列。各オブジェクトには[Offer オブジェクト](offer.html)のフィールドが含まれています。 | + +`offers`配列の要素には、Offerの標準フィールドの他に以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:--------------------|:---------------------------------|:--------------------| +| `owner_funds` | 文字列 | オファーの発行元が保有する取引可能なTakerGets通貨の金額。(XRPはdrop単位で表されます。その他のすべての通貨は10進数値として表されます。)1人のトレーダーの複数のオファーが同一のブックに含まれている場合、このフィールドは最高順位のオファーにのみ含まれます。 | +| `taker_gets_funded` | 文字列(XRP)またはオブジェクト(XRP以外) | (部分的に資金供給されているオファーのみに含まれます)オファーの資金供給ステータスが指定されている場合に、受取人が受領できる最大通貨額。 | +| `taker_pays_funded` | 文字列(XRP)またはオブジェクト(XRP以外) | (部分的に資金供給されているオファーのみに含まれます)オファーの資金供給ステータスが指定されている場合に、受取人が支払う最大通貨額。 | +| `quality` | 文字列 | 為替レート(`taker_pays`を`taker_gets`で割った比率)。公正を期すため、同じクオリティのオファーは先入れ先出しで自動的に受諾されます。(つまり、複数の人々が通貨を同じレートで取引するオファーを出した場合、最も古いオファーが最初に受諾されます。) | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`に指定されているレジャーが存在しないか、存在しているがサーバーにはありません。 +* `srcCurMalformed` - 要求の`taker_pays`フィールドのフォーマットが適切ではありません。 +* `dstAmtMalformed` - 要求の`taker_gets`フィールドのフォーマットが適切ではありません。 +* `srcIsrMalformed` - 要求の`taker_pays`フィールドの`issuer`フィールドが無効です。 +* `dstIsrMalformed` - 要求の`taker_gets`フィールドの`issuer`フィールドが無効です。 +* `badMarket` - 必要なオーダーブックが存在していません(ある通貨をその通貨自体と交換するオファーなど)。 + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/deposit_authorized.ja.md b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/deposit_authorized.ja.md new file mode 100644 index 0000000000..81b0329ccb --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/deposit_authorized.ja.md @@ -0,0 +1,143 @@ +# deposit_authorized +[[ソース]
](https://github.com/ripple/rippled/blob/817d2339b8632cb2f97d3edd6f7af33aa7631744/src/ripple/rpc/handlers/DepositAuthorized.cpp "Source") + +`deposit_authorized`コマンドは、あるアカウントに別のアカウントへ支払を直接送金する権限があるかどうかを示します。アカウントへの送金に承認を義務付ける方法については、[Deposit Authorization](depositauth.html)を参照してください。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +```json +{ + "id": 1, + "command": "deposit_authorized", + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_index": "validated" +} +``` + +*JSON-RPC* + +```json +{ + "method": "deposit_authorized", + "params": [ + { + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_index": "validated" + } + ] +} +``` + +*コマンドライン* + +```bash +#Syntax: deposit_authorized [] +rippled deposit_authorized rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8 validated +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:----------------------|:---------------------------|:------------------------| +| `source_account` | 文字列 - [アドレス][] | 発生し得る支払の送金元。 | +| `destination_account` | 文字列 - [アドレス][] | 発生し得る支払の送金先。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進数文字列。([レジャーの指定][]を参照してください。) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください。) | + + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +```json +{ + "id": 1, + "result": { + "deposit_authorized": true, + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_hash": "BD03A10653ED9D77DCA859B7A735BF0580088A8F287FA2C5403E0A19C58EF322", + "ledger_index": 8, + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "validated": true + }, + "status": "success", + "type": "response" +} +``` + +*JSON-RPC* + +```json +{ + "result": { + "deposit_authorized": true, + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_hash": "BD03A10653ED9D77DCA859B7A735BF0580088A8F287FA2C5403E0A19C58EF322", + "ledger_index": 8, + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "status": "success", + "validated": true + } +} +``` + +*コマンドライン* + +```json +Loading: "/etc/rippled.cfg" +2018-Jul-30 20:07:38.771658157 HTTPClient:NFO Connecting to 127.0.0.1:5005 + +{ + "result" : { + "deposit_authorized" : true, + "destination_account" : "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_hash" : "BD03A10653ED9D77DCA859B7A735BF0580088A8F287FA2C5403E0A19C58EF322", + "ledger_index" : 8, + "source_account" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "status" : "success", + "validated" : true + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:-----------------------|:---------------------|:-----------------------------| +| `deposit_authorized` | ブール値 | 指定の支払元アカウントから支払先アカウントへの直接送金が承認されているかどうか。`true`の場合、支払先アカウントで[Deposit Authorization](depositauth.html)を必要としていないか、または支払元アカウントが事前承認されています。 | +| `destination_account` | 文字列 - [アドレス][] | 要求に指定されている宛先アカウント。 | +| `ledger_hash` | 文字列 | _(省略される場合があります)_ この応答の生成に使用されたレジャーの識別用ハッシュ。 | +| `ledger_index` | 数値 | _(省略される場合があります)_ この応答の生成に使用されたレジャーバージョンのシーケンス番号。 | +| `ledger_current_index` | 数値 | _(省略される場合があります)_ この応答の生成に使用された現在処理中のレジャーバージョンのシーケンス番号。 | +| `source_account` | 文字列 - [アドレス][] | 要求に指定されている支払元アカウント。 | +| `validated` | ブール値 | _(省略される場合があります)_ `true`の場合、検証済みレジャーバージョンからの情報が取り込まれます。 | + +**注記:** `deposit_authorized`ステータスが`true`でも、指定の支払元から指定の支払先への送金が可能であるとは保証されません。たとえば、支払先アカウントに指定通貨の[トラストライン](trust-lines-and-issuing.html)がない場合や、送金に十分な流動性がない場合があります。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `actMalformed` - 要求の`source_account`フィールドまたは`destination_account`フィールドに指定されている[アドレス][]のフォーマットが適切ではありません。(入力ミスが含まれていたり、長さが正しくない場合は、チェックサムは失敗します。) +* `dstActNotFound` - 要求の`destination_account`フィールドがレジャーのアカウントに対応していません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`に指定されているレジャーが存在しないか、存在しているがサーバーにはありません。 +* `srcActNotFound` - 要求の`source_account`フィールドがレジャーのアカウントに対応していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/path_find.ja.md b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/path_find.ja.md new file mode 100644 index 0000000000..3f8736efaa --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/path_find.ja.md @@ -0,0 +1,583 @@ +# path_find +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/PathFind.cpp "Source") + +*WebSocket APIのみ。*`path_find`メソッドは、トランザクションが実行される可能性のある[パス](paths.html)を探索し、時間の経過とともにパスが変化する場合に更新を定期的に送信します。JSON-RPCでサポートされているシンプルなバージョンについては、[ripple_path_findメソッド][]を参照してください。完全にXRPで行われる支払いの場合、XRPはどのアカウントにも直接送金できるためパスを探索する必要はありません。 + +path_findコマンドには3種類のモード(サブコマンド)があります。使用するモードを`subcommand`パラメーターに指定します。 + +* `create` - Pathfinding情報の送信を開始します +* `close` - Pathfinding情報の送信を停止します +* `status` - 現在処理中のPathfinding要求に関する情報を取得します + +`rippled`サーバーは支払いを行うにあたり最も安価なパスまたはパスの組み合わせを探索しますが、このメソッドで返されるパスが最良のパスであることは保証されません。サーバーの負荷が原因で、Pathfindingで最良のパスを検出できないことがあります。また、信頼できないサーバーからのPathfindingの結果には注意する必要があります。オペレーターの収益となるように、最良ではないパスを返すようにサーバーが改ざんされる可能性があります。Pathfindingについて信頼できる独自サーバーがない場合は、1つのサーバーから不適切な結果が返されるリスクを最小限に抑えるため、異なる当事者が実行する複数のサーバーからのPathfindingの結果を比較してください。(**注記:** サーバーから最良ではない結果が返されても、必ずしも悪意のある振る舞いの証拠とはなりません。サーバーの負荷が高い場合の症状である可能性もあります。) + +## path_find create +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/PathFind.cpp#L50-L56 "Source") + +`path_find`の`create`サブコマンドは、指定された特定アカウントから支払トランザクションを実行できるパスを探索する継続的な要求を作成し、別のアカウントが何らかの通貨で希望する額を受領できるようにします。初期応答には2つのアドレス間で提案されるパスが含まれています。このパスにより、希望する額を受領できます。その後サーバーは、`"type": "path_find"`で有効なパスの更新を含む追加メッセージを送信します。更新の頻度はサーバーにより決定されますが、新しいレジャーバージョンがある場合には通常、数秒間に1回です。 + +クライアントは一度に1つのPathfinding要求のみ実行できます。同じ接続ですでに他のPathfinding要求が実行されている場合、古い要求が自動的にクローズされ、新しい要求に置き換えられます。 + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":8, + "command":"path_find", + "subcommand":"create", + "source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount":{ + "value":"0.001", + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } +} +``` + + + +[試してみる >](websocket-api-tool.html#path_find) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:----------------------|:-----------------|:----------------------------------| +| `subcommand` | 文字列 | `"create"`を使用してcreateサブコマンドを送信します。 | +| `source_account` | 文字列 | 探索するパスの送金元アカウントの一意のアドレス。(つまり、支払いを送金するアカウントです。) | +| `destination_account` | 文字列 | 探索するパスの送金先アカウントの一意のアドレス。(つまり、支払いを受領するアカウントです。) | +| `destination_amount` | 文字列またはオブジェクト | 送金先アカウントがトランザクションで受領する[通貨額][]。**特殊なケース:**[新規: rippled 0.30.0][]`value`フィールドには`"-1"`(XRPの場合)または-1(XRP以外の通貨の場合)を指定できます。これにより、最大限の額を送金できるパスが要求されます。ただし`send_max`が指定されている場合は、指定額を上回る額が支払われることはありません。 | +| `send_max` | 文字列またはオブジェクト | _(省略可)_ トランザクションに使用する[通貨額][]。`source_currencies`と同時に指定することはできません。[新規: rippled 0.30.0][] | +| `paths` | 配列 | _(省略可)_ チェックする[ペイメントパス](paths.html)を表すオブジェクトの配列。すでに判明している特定パスの変更内容を常に把握する場合や、特定パスに沿った支払いにかかる総コストを確認する場合にこのフィールドを使用できます。 | + +サーバーは`source_currencies`および`bridges`フィールドも認識しますが、これらのフィールドを使用した場合の結果は保証されません。これらのフィールドは将来のために予約されているものと考えてください。 + +### 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":1, + "status":"success", + "type":"response", + "result":{ + "alternatives":[ + { + "paths_computed":[ + [ + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"r9vbV3EHvXWjSkeQ6CAcYVPGeq7TuiXY2X", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"r9vbV3EHvXWjSkeQ6CAcYVPGeq7TuiXY2X", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":"251686" + }, + { + "paths_computed":[ + [ + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":{ + "currency":"BTC", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"0.000001541291269274307" + } + }, + { + "paths_computed":[ + [ + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":{ + "currency":"CHF", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"0.0009211546262510451" + } + }, + { + "paths_computed":[ + [ + { + "account":"razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":{ + "currency":"CNY", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"0.006293562" + } + }, + { + "paths_computed":[ + [ + { + "account":"rGwUWgN5BEg3QGNY3RX2HfYowjUTZdid3E", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"rGwUWgN5BEg3QGNY3RX2HfYowjUTZdid3E", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"rGwUWgN5BEg3QGNY3RX2HfYowjUTZdid3E", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":{ + "currency":"DYM", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"0.0007157142857142858" + } + }, + { + "paths_computed":[ + [ + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":{ + "currency":"EUR", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"0.0007409623616236163" + } + }, + { + "paths_computed":[ + [ + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + }, + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":{ + "currency":"JPY", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"0.103412412" + } + } + ], + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount":{ + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value":"0.001" + }, + "id":1, + "source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "full_reply": false + } +} +``` + + + +この初期応答は[標準フォーマット](response-formatting.html)に従っており、正常に完了した場合は次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:----------------------|:-----------------|:----------------------------------| +| `alternatives` | 配列 | 以下に説明する、提案される[パス](paths.html)のオブジェクトの配列。空の場合、送金元アカウントと送金先アカウントを結ぶパスが見つかりませんでした。 | +| `destination_account` | 文字列 | トランザクションを受信するアカウントの一意のアドレス。 | +| `destination_amount` | 文字列またはオブジェクト | 送金先がトランザクションで受領する[通貨額][]。 | +| `id` | (各種) | (WebSocketのみ)WebSocket要求に指定されているIDが再びこのレベルで含まれます。 | +| `source_account` | 文字列 | トランザクションを送信するアカウントの一意のアドレス。 | +| `full_reply` | ブール値 | `false`の場合、これは不完全な検索の結果です。これ以降の応答に、より適切なパスが含まれている可能性があります。`true`の場合、これは検出された最良のパスです。(理論上、これよりも優れたパスが存在している可能性がありますが`rippled`では検出されません。)Pathfinding要求をクローズするまで、`rippled`は引き続き、新しいレジャーが閉鎖されるたびに更新を送信します。[新規: rippled 0.29.0][] | + +`alternatives`配列の各要素は、1つの送金元通貨(開始アカウントが保有)から送金先アカウントへのパスと通貨を表すオブジェクトです。このオブジェクトのフィールドを次に示します。 + +| `Field` | 型 | 説明 | +|:-----------------|:-----------------|:---------------------------------------| +| `paths_computed` | 配列 | [ペイメントパス](paths.html)を定義するオブジェクトの配列。 | +| `source_amount` | 文字列またはオブジェクト | 送金先が必要な額を受領するために、送金元がこのパスで送金する必要がある[通貨額][]。 | + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `noEvents` - 非同期コールバックをサポートしていないプロトコル(JSON-RPCなど)を使用しています。(JSON-RPCと互換性が_ある_Pathfindingメソッドについては、[ripple_path_findメソッド][]を参照してください。) + +### 非同期フォローアップ + +サーバーからは初期応答の他に、時間の経過にともなう[ペイメントパス](paths.html)のステータスを更新するため類似したフォーマットでさらにメッセージが送信されます。これらのメッセージには、元のWebSocket要求の`id`が含まれているので、どの要求からメッセージが送信されたかを確認できます。また、最上位レベルの`"type": "path_find"`フィールドは、追加応答であることを示します。その他のフィールドは、初期応答と同じ方法で定義されます。 + +フォローアップに`"full_reply": true`が含まれている場合、これは現行レジャーの時点でrippledが検出できる最良のパスです。 + +path_find create要求からの非同期フォローアップの例を次に示します。 + + + +*WebSocket* + +``` +{ + "id":1, + "type":"path_find", + "alternatives":[ + /* paths omitted from this example; same format as the initial response */ + ], + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount":{ + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value":"0.001" + }, + "source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59" +} +``` + + + +## path_find close +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/PathFind.cpp#L58-L67 "Source") + +`path_find`の`close`サブコマンドは、サーバーに対して現在実行中のPathfinding要求に関する情報の送信を停止するように指示します。 + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":57, + "command":"path_find", + "subcommand":"close" +} +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:-------------|:-------|:-------------------------------------------| +| `subcommand` | 文字列 | closeサブコマンドを送信するため`"close"`を使用します。 | + +### 応答フォーマット + +Pathfinding要求が正常にクローズされた場合、応答は[`path_find create`](#path_find-create)に対する初期応答と同じフォーマットであり、されに以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `closed` | ブール値 | 値が`true`の場合、これは`path_find close`コマンドに対する応答です。 | + +未処理のPathfinding要求がない場合はエラーが返されます。 + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - フィールドの指定が正しくないか、必須フィールドが指定されていません。 +* `noEvents` - 非同期コールバックをサポートしていないプロトコル(JSON-RPCなど)でこのメソッドを使用しようとしました。(JSON-RPCと互換性が_ある_Pathfindingメソッドについては、[ripple_path_findメソッド][]を参照してください。) +* `noPathRequest` - Pathfinding要求をクローズしようとしましたが、実行中の要求がありませんでした。 + +## path_find status +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/PathFind.cpp#L69-L77 "Source") + +`path_find`の`status`サブコマンドは、現在実行中のクライアントのPathfinding要求の即時更新を要求します。 + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":58, + "command":"path_find", + "subcommand":"status" +} +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:-------------|:-------|:---------------------------------------------| +| `subcommand` | 文字列 | `"status"`を使用して、statusサブコマンドを送信します。 | + +### 応答フォーマット + +Pathfinding要求が実行中の場合、応答は[`path_find create`](#path_find-create)に対する初期応答と同じフォーマットであるのに加えて、以下のフィールドがあります。 + +| `Field` | 型 | 説明 | +|:---------|:--------|:--------------------------------------------------------| +| `status` | ブール値 | 値が`true`の場合、これは`path_find status`コマンドに対する応答です。 | + +未処理のPathfinding要求がない場合はエラーが返されます。 + +### 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `noEvents` - 非同期コールバックをサポートしていないプロトコル(JSON-RPCなど)を使用しています。(JSON-RPCと互換性が_ある_Pathfindingメソッドについては、[ripple_path_findメソッド][]を参照してください。) +* `noPathRequest` - Pathfinding要求のステータスを確認しようとしましたが、処理中の要求がありませんでした。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/ripple_path_find.ja.md b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/ripple_path_find.ja.md new file mode 100644 index 0000000000..f090e40c34 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/path-and-order-book-methods/ripple_path_find.ja.md @@ -0,0 +1,345 @@ +# ripple_path_find +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/RipplePathFind.cpp "Source") + +`ripple_path_find`メソッドは、[path_findメソッド][]のシンプルなバージョンであり、すぐに利用できる[ペイメントパス](paths.html)を含む1つの応答を返します。WebSocket APIとJSON-RPC APIの両方で使用できます。ただし、結果は時間の経過とともに古くなる傾向にあります。最新の状態を維持するために複数のコールを実行する代わりに、可能な場合には[path_findメソッド][]を使用して、継続的な更新をサブスクライブします。 + +`rippled`サーバーは支払いを行うため最も安価なパスまたはパスの組み合わせを探索しますが、このメソッドで返されるパスが最良のパスであることは保証されません。 + +**注意:** 信頼できないサーバーからのPathfindingの結果には注意してください。オペレーターの収益となるように、最良ではないパスを返すようにサーバーが改ざんされる可能性があります。サーバーの負荷が非常に高い場合にも不適切な結果が返される可能性があります。Pathfindingについて信頼できる独自サーバーがない場合は、1つのサーバーから不適切な結果が返されるリスクを最小限に抑えるため、異なる当事者が実行する複数のサーバーからのPathfindingの結果を比較してください。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":8, + "command":"ripple_path_find", + "source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "source_currencies":[ + { + "currency":"XRP" + }, + { + "currency":"USD" + } + ], + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount":{ + "value":"0.001", + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } +} +``` + +*JSON-RPC* + +``` +{ + "method":"ripple_path_find", + "params":[ + { + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount":{ + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value":"0.001" + }, + "source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "source_currencies":[ + { + "currency":"XRP" + }, + { + "currency":"USD" + } + ] + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax ripple_path_find json ledger_index|ledger_hash +rippled ripple_path_find '{"source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", "source_currencies":[ { "currency":"XRP" }, { "currency":"USD" } ], "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", "destination_amount":{ "value":"0.001", "currency":"USD", "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" } }' +``` + + + +[試してみる >](websocket-api-tool.html#ripple_path_find) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:----------------------|:---------------------------|:------------------------| +| `source_account` | 文字列 | トランザクションで資金を送金するアカウントの一意のアドレス。 | +| `destination_account` | 文字列 | トランザクションで資金を受領するアカウントの一意のアドレス。 | +| `destination_amount` | 文字列またはオブジェクト | 送金先アカウントがトランザクションで受領する[通貨額][]。**特殊なケース:** [新規: rippled 0.30.0][]`value`フィールドには`"-1"`(XRPの場合)または-1(XRP以外の通貨の場合)を指定できます。これにより、最大限の額を送金できるパスが要求されます。ただし`send_max`が指定されている場合は、指定されている額を上回る額が支払われることはありません。 | +| `send_max` | 文字列またはオブジェクト | _(省略可)_ トランザクションで使用する[通貨額][]。`source_currencies`と同時に使用することはできません。[新規: rippled 0.30.0][] | +| `source_currencies` | 配列 | _(省略可)_ 送信元アカウントが使用する通貨の配列。この配列の各エントリーは、必須の`currency`フィールドとオプションの`issuer`フィールドを有するJSONオブジェクトです([通貨額][Currency Amount]の指定方法と同様)。指定できる送金元通貨は**18**種類以下です。デフォルトでは、あらゆる送金元通貨を使用し、最大で**88**の異なる通貨/イシュアーペアに使用できます。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":8, + "status":"success", + "type":"response", + "result":{ + "alternatives":[ + { + "paths_canonical":[], + "paths_computed":[ + [ + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rLpq4LgabRfm1xEX5dpWfJovYBH6g7z99q", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rPuBoajMjFoDjweJBrtZEBwUMkyruxpwwV", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":"256987" + } + ], + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_currencies":[ + "015841551A748AD2C1F76FF6ECB0CCCD00000000", + "JOE", + "DYM", + "EUR", + "CNY", + "MXN", + "BTC", + "USD", + "XRP" + ] + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "alternatives":[ + { + "paths_canonical":[], + "paths_computed":[ + [ + { + "currency":"USD", + "issuer":"rpDMez6pm6dBve2TJsmDpv7Yae6V5Pyvy2", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rpDMez6pm6dBve2TJsmDpv7Yae6V5Pyvy2", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rfDeu7TPUmyvUrffexjMjq3mMcSQHZSYyA", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"raspZSGNiTKi5jmvFxUYCuYXPv1V8WhL5g", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ], + [ + { + "currency":"USD", + "issuer":"rpHgehzdpfWRXKvSv6duKvVuo1aZVimdaT", + "type":48, + "type_hex":"0000000000000030" + }, + { + "account":"rpHgehzdpfWRXKvSv6duKvVuo1aZVimdaT", + "type":1, + "type_hex":"0000000000000001" + }, + { + "account":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type":1, + "type_hex":"0000000000000001" + } + ] + ], + "source_amount":"207414" + } + ], + "destination_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_currencies":[ + "USD", + "JOE", + "BTC", + "DYM", + "CNY", + "EUR", + "015841551A748AD2C1F76FF6ECB0CCCD00000000", + "MXN", + "XRP" + ], + "status":"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:-------------------------|:-------|:-----------------------------------------| +| `alternatives` | 配列 | 使用可能なパスを持つオブジェクトの配列。以下に説明します。空の場合、送金元アカウントと送金先アカウントを結ぶパスがありません。 | +| `destination_account` | 文字列 | 支払トランザクションを受信するアカウントの一意のアドレス。 | +| `destination_currencies` | 配列 | 送金先が受領する通貨を表す文字列の配列。この文字列は、3文字コード(`"USD"`など)または40文字の16進文字列(`"015841551A748AD2C1F76FF6ECB0CCCD00000000"`など)です。 | + +`alternatives`配列の各要素は、1つの送金元通貨(開始アカウントが保有)から送金先アカウントへのパスと通貨を表すオブジェクトです。このオブジェクトのフィールドを次に示します。 + +| `Field` | 型 | 説明 | +|:-----------------|:-----------------|:---------------------------------------| +| `paths_computed` | 配列 | (省略可)[ペイメントパス](paths.html)を定義するオブジェクトの配列。 | +| `source_amount` | 文字列またはオブジェクト | 送金先が希望額を受領できるよう、送金元がこのパスで送金する必要のある[通貨額][]。 | + +次のフィールドは廃止予定のため、省略される可能性があります。`paths_canonical`および`paths_expanded`。出力される場合は無視してください。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `tooBusy` - サーバーの負荷が高すぎるため、パスを計算できません。管理者として接続している場合は、このエラーが返されることはありません。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `srcActMissing` - `source_account`フィールドが要求で省略されています。 +* `srcActMalformed` - 要求の`source_account`フィールドのフォーマットが適切ではありません。 +* `dstActMissing` - `destination_account`フィールドが要求で省略されています。 +* `dstActMalformed` - 要求の`destination_account`フィールドのフォーマットが適切ではありません。 +* `srcCurMalformed` - `source_currencies`フィールドのフォーマットが適切ではありません。 +* `srcIsrMalformed` - 要求の1つ以上の通貨オブジェクトの`issuer`フィールドが有効ではありません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/payment-channel-methods/channel_authorize.ja.md b/content/references/rippled-api/public-rippled-methods/payment-channel-methods/channel_authorize.ja.md new file mode 100644 index 0000000000..14d518d9f9 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/payment-channel-methods/channel_authorize.ja.md @@ -0,0 +1,120 @@ +# channel_authorize +[[ソース]
](https://github.com/ripple/rippled/blob/d4a56f223a3b80f64ff70b4e90ab6792806929ca/src/ripple/rpc/handlers/PayChanClaim.cpp#L41 "Source") + +_([PayChan Amendment][]が有効になっている必要があります。[新規: rippled 0.33.0][])_ + +`channel_authorize`メソッドは、特定額のXRPをPayment Channelから清算するときに使用できる署名を作成します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":"channel_authorize_example_id1", + "command":"channel_authorize", + "channel_id":"5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "secret":"s████████████████████████████", + "amount":"1000000" +} +``` + +*JSON-RPC* + +```json +POST http://localhost:5005/ +Content-Type: application/json + +{ + "method":"channel_authorize", + "params":[{ + "channel_id":"5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "secret":"s████████████████████████████", + "amount":"1000000" + }] +} +``` + +*コマンドライン* + +``` +#Syntax: channel_authorize +rippled channel_authorize s████████████████████████████ 5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3 1000000 +``` + + + +要求には以下のパラメーターが含まれます。 + +| フィールド | 型 | 説明 | +|-------|------|-------------| +| `channel_id` | 文字列 | Payment Channelが使用する一意のID。 +| `secret` | 文字列 | クレームへの署名に使用するシークレットキー。これは、Channelに指定されている公開鍵と同じキーペアである必要があります。 | +| `amount` | 文字列 | 承認するXRPの累積額(drop数)送金先がこのChannelからすでに受領しているXRPの額がこのフィールドの額よりも少ない場合、このメソッドで作成される署名を使用して差額を清算できます。 | + +**注記:** このメソッドでクレームに署名するときにはEd25519キーは使用できません。これは既知のバグです(RIPD-1474)。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":"channel_authorize_example_id1", + "status":"success" + "result":{ + "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + } +} +``` + +*JSON-RPC* + +```json +200 OK + +{ + "result":{ + "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + "status":"success" + } +} +``` + +*コマンドライン* + +``` +{ + "result":{ + "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + "status":"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| フィールド | 型 | 説明 | +|-------|------|-------------| +| `signature` | 文字列 | このクレームの署名(16進値)。このクレームを処理するには、Payment Channelの送金先アカウントがこの署名、正確なChannel ID、XRPの額、およびChannelの公開鍵が指定された[PaymentChannelClaimトランザクション][]を送信する必要があります。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `badSeed` - 要求の`secret`が有効なシークレットキーではありません。 +* `channelAmtMalformed` - 要求の`amount`が有効な[XRPの額][XRP、drop単位]ではありません。 +* `channelMalformed` - 要求の`channel_id`が有効なChannel IDではありません。Channel IDは256ビット(64文字)の16進文字列です。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/payment-channel-methods/channel_verify.ja.md b/content/references/rippled-api/public-rippled-methods/payment-channel-methods/channel_verify.ja.md new file mode 100644 index 0000000000..cf89f1d42e --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/payment-channel-methods/channel_verify.ja.md @@ -0,0 +1,124 @@ +# channel_verify +[[ソース]
](https://github.com/ripple/rippled/blob/d4a56f223a3b80f64ff70b4e90ab6792806929ca/src/ripple/rpc/handlers/PayChanClaim.cpp#L89 "Source") + +_([PayChan Amendment][]が有効になっている必要があります。[新規: rippled 0.33.0][])_ + +`channel_verify`メソッドは、特定額のXRPをPayment Channelから清算するときに使用できる署名の有効性を検証します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":1, + "command":"channel_verify", + "channel_id":"5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + "public_key":"aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "amount":"1000000" +} +``` + +*JSON-RPC* + +``` +POST http://localhost:5005/ +Content-Type: application/json + +{ + "method":"channel_verify", + "params":[{ + "channel_id":"5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + "public_key":"aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "amount":"1000000" + }] +} +``` + +*コマンドライン* + +``` +#Syntax: channel_verify +rippled channel_verify aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3 5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3 1000000 304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064 +``` + + + +要求には以下のパラメーターが含まれます。 + +| フィールド | 型 | 説明 | +|-------|------|-------------| +| `amount` | 文字列 | 指定された`signature`で承認する[XRP、drop単位][]の額。 | +| `channel_id` | 文字列 | XRPを供給するChannelのChannel ID。これは64文字の16進文字列です。 | +| `public_key` | 文字列 | Channelの公開鍵と、署名の作成に使用されたキーペア(16進数またはXRP Ledgerの[base58][]形式)。[更新: rippled 0.90.0][新規: rippled 0.90.0] | +| `signature` | 文字列 | 検証する署名(16進数)。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":1, + "status":"success", + "type":"response", + "result":{ + "signature_verified":true + } +} +``` + +*JSON-RPC* + +``` +200 OK + +{ + "result":{ + "signature_verified":true, + "status":"success" + } +} +``` + +*コマンドライン* + +``` +{ + "result":{ + "signature_verified":true, + "status":"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| フィールド | 型 | 説明 | +|-------|------|-------------| +| `signature_verified` | ブール値 | `true`の場合、示されている額、Channel、公開鍵で署名が有効です。 | + +**注意:** これは、Channelに十分なXRPが割り当てられていることを確認するものではありません。クレームが有効であると判断する前に、最新の検証済みレジャーでこのChannelを調べ、このChannelがオープンでありその`amount`の値がクレームの`amount`以上であることを確認してください。このためには[account_channelsメソッド][]を使用します。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `publicMalformed` - 要求の`public_key`フィールドが、正しいフォーマットの有効な公開鍵ではありません。公開鍵は33バイトであり、base58または16進数で表記されている必要があります。[アカウントの公開鍵のbase58表現は文字`a`から始まります](base58-encodings.html)。16進表現は66文字です。 +* `channelMalformed` - 要求の`channel_id`フィールドが有効なChannel IDではありません。Channel IDは256ビット(64文字)の16進文字列である必要があります。 +* `channelAmtMalformed` - 要求の`amount`に指定された値が、有効な[XRPの額][XRP、drop単位]ではありませんでした。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/public-rippled-methods.ja.md b/content/references/rippled-api/public-rippled-methods/public-rippled-methods.ja.md new file mode 100644 index 0000000000..b874b836b2 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/public-rippled-methods.ja.md @@ -0,0 +1,91 @@ +# rippledのパブリックメソッド + +以下のパブリックAPIメソッドを使用して、`rippled`サーバーと直接通信します。パブリックメソッドは必ずしも一般大衆向けに設計されたのではありませんが、サーバーに接続されたあらゆるクライアントが使用します。パブリックメソッドは、サーバーを運用している組織のメンバーまたは顧客向けのものと考えてください。 + + +## [アカウントメソッド](account-methods.html) + +XRP Ledgerのアカウントとは、XRPの保有者と取引の送信者を意味ます。以下のメソッドを使用して、アカウント情報を処理します。 + +* **[`account_channels`](account_channels.html)** - アカウントがチャンネルのソースであるペイメントチャネルのリストを取得します。 +* **[`account_currencies`](account_currencies.html)** - アカウントが送受信できる通貨のリストを取得します。 +* **[`account_info`](account_info.html)** - アカウントについての基本データを取得します。 +* **[`account_lines`](account_lines.html)** - アカウントのトラストラインについての情報を取得します。 +* **[`account_objects`](account_objects.html)** - アカウントが保有しているすべてのレジャーオブジェクトを取得します。 +* **[`account_offers`](account_offers.html)** - アカウントの通貨取引オファーについての情報を取得します。 +* **[`account_tx`](account_tx.html)** - アカウントのトランザクションについての情報を取得します。 +* **[`gateway_balances`](gateway_balances.html)** - アカウントによって発行された総額を計算します。 +* **[`noripple_check`](noripple_check.html)** - アカウントのDefaultRippleおよびNoRipple設定への推奨される変更を取得します。 + + +## [レジャーメソッド](ledger-methods.html) + +レジャーバージョンには、ヘッダー、トランザクションツリー、状態ツリーが含まれ、さらにその中にアカウント設定、トラストライン、残高、トランザクション、その他のデータが含まれます。以下のメソッドを使用して、レジャー情報を取得します。 + +* **[`ledger`](ledger.html)** - レジャーバージョンについての情報を取得します。 +* **[`ledger_closed`](ledger_closed.html)** - 最新の閉鎖済みレジャーバージョンを取得します。 +* **[`ledger_current`](ledger_current.html)** - 現在処理中のレジャーバージョンを取得します。 +* **[`ledger_data`](ledger_data.html)** - レジャーバージョンの生データコンテンツを取得します。 +* **[`ledger_entry`](ledger_entry.html)** - レジャーバージョンから1つのエレメントを取得します。 + + +## [トランザクションメソッド](transaction-methods.html) + +トランザクションだけが、XRP Ledgerの共有されている状態を変更できます。XRP Ledgerに対するすべてのビジネスはトランザクションの形態をとります。以下のメソッドを使用して、トランザクションを処理します。 + +* **[`sign`](sign.html)** - トランザクションに暗号で署名します。 +* **[`sign_for`](sign_for.html)** - マルチ署名に署名を提供します。 +* **[`submit`](submit.html)** - トランザクションをネットワークに送信します。 +* **[`submit_multisigned`](submit_multisigned.html)** - マルチ署名済みトランザクションをネットワークに送信します。 +* **[`transaction_entry`](transaction_entry.html)** - レジャーの特定のバージョンからトランザクションについての情報を取得します。 +* **[`tx`](tx.html)** - 手元にあるすべてのレジャーからトランザクションについての情報を取得します。 +* **[`tx_history`](tx_history.html)** - 最新の全トランザクションについての情報を取得します。 + + +## [パスおよびオーダーブックのメソッド](path-and-order-book-methods.html) + +パスは、支払いが送信者から受信者に届くまでに中間ステップでたどる道筋を定義します。パスは、送信者と受信者をオーダーブックを介してつなぐことで、複数通貨間の支払いを可能にします。パスと他のオーダーブックに関しては、以下のメソッドを使用します。 + +* **[`book_offers`](book_offers.html)** - 2つの通貨を交換するオファーに関する情報を取得します。 +* **[`deposit_authorized`](deposit_authorized.html)** - あるアカウントが別のアカウントへの支払いの直接送信について承認されているかどうかを調べます。 +* **[`path_find`](path_find.html)** - 2つのアカウント間の支払いのパスを見つけて、更新を受け取ります。 +* **[`ripple_path_find`](ripple_path_find.html)** - 2つのアカウント間の支払いのパスを1回だけ見つけます。 + + +## [Payment Channel メソッド](payment-channel-methods.html) + +Payment Channel は、2名の当事者間での一方向の繰り返しの支払い、またはそれに伴う一時的な貸付を容易に行えるようにするためのツールです。Payment Channelに関しては、以下のメソッドを使用します。 + +* **[`channel_authorize`](channel_authorize.html)** - ペイメントチャネルへのクレーム(支払請求)に署名します。 +* **[`channel_verify`](channel_verify.html)** - payment channel クレームの署名をチェックします。 + + +## [サブスクリプションメソッド](subscription-methods.html) + +以下のメソッドにより、各種イベントの発生時にサーバーからクライアントに更新が通知されるように設定できます。これにより、イベントを即座に把握し、対処することができます。_WebSocket APIのみ。_ + +* **[`subscribe`](subscribe.html)** - 特定の対象について更新の通知を受けます。 +* **[`unsubscribe`](unsubscribe.html)** - 特定の対象についての更新の通知を停止します。 + + +## [サーバー情報メソッド](server-info-methods.html) + +以下のメソッドを使用して、`rippled`サーバーの現在の状態についての情報を取得します。 + +* **[`fee`](fee.html)** - トランザクションコストについての情報を取得します。 +* **[`server_info`](server_info.html)** - サーバーのステータスを人間が読めるフォーマットで取得します。 +* **[`server_state`](server_state.html)** - サーバーのステータスを機械が読み取れるフォーマットで取得します。 + + +## [ユーティリティメソッド](utility-methods.html) + +以下のメソッドを使用して、pingや乱数生成などの便利なタスクを実行します。 + +* **[`json`](json.html)** - プロキシとして使用して、他のコマンドを実行します。コマンドのパラメーターをJSON値として受け入れます。_コマンドラインのみ。_ +* **[`ping`](ping.html)** - サーバーとの接続を確認します。 +* **[`random`](random.html)** - 乱数を生成します。 + + +## 廃止予定のメソッド + +`owner_info`コマンドは廃止される予定です。代わりに[`account_objects`](account_objects.html)を使用してください。 \ No newline at end of file diff --git a/content/references/rippled-api/public-rippled-methods/server-info-methods/fee.ja.md b/content/references/rippled-api/public-rippled-methods/server-info-methods/fee.ja.md new file mode 100644 index 0000000000..4e10fd9784 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/server-info-methods/fee.ja.md @@ -0,0 +1,164 @@ +# fee +[[ソース]
](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/Fee1.cpp "Source") + +`fee`コマンドは、[トランザクションコスト](transaction-cost.html)に関するオープンレジャーの要件の現在の状態を報告します。このコマンドを使用するには、[FeeEscalation Amendment][]が有効になっている必要があります。[新規: rippled 0.31.0][] + +これは権限のないユーザーが使用できるパブリックコマンドです。[更新: rippled 0.32.0][新規: rippled 0.32.0] + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":"fee_websocket_example", + "command":"fee" +} +``` + +*JSON-RPC* + +``` +{ + "method":"fee", + "params":[{}] +} +``` + +*コマンドライン* + +``` +#Syntax: fee +rippled fee +``` + + + +要求にはパラメーターは含まれていません。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":"fee_websocket_example", + "status":"success", + "type":"response", + "result":{ + "current_ledger_size":"14", + "current_queue_size":"0", + "drops":{ + "base_fee":"10", + "median_fee":"11000", + "minimum_fee":"10", + "open_ledger_fee":"10" + }, + "expected_ledger_size":"24", + "ledger_current_index":26575101, + "levels":{ + "median_level":"281600", + "minimum_level":"256", + "open_ledger_level":"256", + "reference_level":"256" + }, + "max_queue_size":"480" + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "current_ledger_size":"56", + "current_queue_size":"11", + "drops":{ + "base_fee":"10", + "median_fee":"10000", + "minimum_fee":"10", + "open_ledger_fee":"2653937" + }, + "expected_ledger_size":"55", + "ledger_current_index":26575101, + "levels":{ + "median_level":"256000", + "minimum_level":"256", + "open_ledger_level":"67940792", + "reference_level":"256" + }, + "max_queue_size":"1100", + "status":"success" + } +} +``` + +*コマンドライン* + +``` +Loading:"/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" :{ + "current_ledger_size" :"16", + "current_queue_size" :"2", + "drops" :{ + "base_fee" :"10", + "median_fee" :"11000", + "minimum_fee" :"10", + "open_ledger_fee" :"3203982" + }, + "expected_ledger_size" :"15", + "ledger_current_index":26575101, + "levels" :{ + "median_level" :"281600", + "minimum_level" :"256", + "open_ledger_level" :"82021944", + "reference_level" :"256" + }, + "max_queue_size" :"300", + "status" :"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------------------|:-----------------|:-----------------------------| +| `current_ledger_size` | 文字列(整数) | 進行中のレジャーに暫定的に含まれているトランザクションの数。 | +| `current_queue_size` | 文字列(整数) | 次のレジャーに追加するためにキューに入れられたトランザクションの数。 | +| `drops` | オブジェクト | [XRPのdrop数][]で表されるトランザクションコスト(トランザクションの`Fee`フィールド)に関するさまざまな情報 。 | +| `drops.base_fee` | 文字列(整数) | 最小限の負荷でレジャーに[リファレンストランザクション](transaction-cost.html#referenceトランザクションコスト)を追加するのに必要なトランザクションコスト(XRPのdrop数)。 | +| `drops.median_fee` | 文字列(整数) | 前の検証済みレジャーに含まれているトランザクションのトランザクションコストのおおよその中央値(XRPのdrop数)。 | +| `drops.minimum_fee` | 文字列(整数) | 後のレジャーのキューに[リファレンストランザクション](transaction-cost.html#referenceトランザクションコスト)を入れる際の最少トランザクションコスト(XRPのdrop数)。`base_fee`より大きい場合、トランザクションキューは一杯になっています。 | +| `drops.open_ledger_fee` | 文字列(整数) | 現在のオープンレジャーに[リファレンストランザクション](transaction-cost.html#referenceトランザクションコスト)を追加する際に支払う必要がある最少トランザクションコスト(XRPのdrop数)。 | +| `expected_ledger_size` | 文字列(整数) | 現行レジャーへ追加される見込みのトランザクションの概数。これは前のレジャーのトランザクション数に基づいています。 | +| `ledger_current_index` | 数値 | これらのステータスにより示される現行オープンレジャーの[レジャーインデックス][]。[新規: rippled 0.50.0][] | +| `levels` | オブジェクト | トランザクションコスト([手数料レベル][])に関するさまざまな情報。手数料レベルの比率は、その特定トランザクションの最少コストを基準にすべてのトランザクションに適用されます。 | +| `levels.median_level` | 文字列(整数) | 前の検証済みレジャーに含まれているトランザクションのトランザクションコストの中央値([手数料レベル][])。 | +| `levels.minimum_level` | 文字列(整数) | 今後のレジャーのキューに入れるのに必要となる最少トランザクションコスト([手数料レベル][])。 | +| `levels.open_ledger_level` | 文字列(整数) | 現行オープンレジャーにトランザクションを追加するのに必要な最少トランザクションコスト([手数料レベル][])。 | +| `levels.reference_level` | 文字列(整数) | 最少トランザクションコストに相当します([手数料レベル][]で表現されます)。 | +| `max_queue_size` | 文字列(整数) | [トランザクションキュー](transaction-cost.html#キューに入れられたトランザクション)で現在保持できるトランザクションの最大数。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + + +[手数料レベル]: transaction-cost.html#手数料レベル +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/server-info-methods/server_info.ja.md b/content/references/rippled-api/public-rippled-methods/server-info-methods/server_info.ja.md new file mode 100644 index 0000000000..5246f6ca30 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/server-info-methods/server_info.ja.md @@ -0,0 +1,331 @@ +# server_info +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/ServerInfo.cpp "Source") + +`server_info`コマンドは、問い合わせ中の`rippled`サーバーについての各種情報を、人間が読めるフォーマットでサーバーに要求します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 1, + "command": "server_info" +} +``` + +*JSON-RPC* + +``` +{ + "method": "server_info", + "params": [ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: server_info +rippled server_info +``` + + + +[試してみる>](websocket-api-tool.html#server_info) + +要求にパラメーターは何も含まれません。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 1, + "status": "success", + "type": "response", + "result": { + "info": { + "build_version": "0.30.1-rc3", + "complete_ledgers": "18611104-18614732", + "hostid": "trace", + "io_latency_ms": 1, + "last_close": { + "converge_time_s": 4.003, + "proposers": 5 + }, + "load": { + "job_types": [ + { + "job_type": "untrustedProposal", + "per_second": 2 + }, + { + "in_progress": 1, + "job_type": "clientCommand" + }, + { + "job_type": "transaction", + "per_second": 4 + }, + { + "job_type": "batch", + "per_second": 3 + }, + { + "job_type": "writeObjects", + "per_second": 2 + }, + { + "job_type": "trustedProposal", + "per_second": 1 + }, + { + "job_type": "peerCommand", + "per_second": 108 + }, + { + "job_type": "diskAccess", + "per_second": 1 + }, + { + "job_type": "processTransaction", + "per_second": 4 + }, + { + "job_type": "WriteNode", + "per_second": 63 + } + ], + "threads": 6 + }, + "load_factor": 1000, + "load_factor_net": 1000, + "peers": 10, + "pubkey_node": "n94UE1ukbq6pfZY9j54sv2A1UrEeHZXLbns3xK5CzU9NbNREytaa", + "pubkey_validator": "n9KM73uq5BM3Fc6cxG3k5TruvbLc8Ffq17JZBmWC4uP4csL4rFST", + "server_state": "proposing", + "server_state_duration_us": 92762334, + "state_accounting": { + "connected": { + "duration_us": "150510079", + "transitions": 1 + }, + "disconnected": { + "duration_us": "1827731", + "transitions": 1 + }, + "full": { + "duration_us": "166972201508", + "transitions": 1853 + }, + "syncing": { + "duration_us": "6249156726", + "transitions": 1854 + }, + "tracking": { + "duration_us": "13035222", + "transitions": 1854 + } + }, + "uptime": 173379, + "validated_ledger": { + "age": 3, + "base_fee_xrp": 0.00001, + "hash": "04F7CF4EACC57140C8088F6BFDC8A824BB3ED5717C3DAA6642101F9FB446226C", + "reserve_base_xrp": 20, + "reserve_inc_xrp": 5, + "seq": 18614732 + }, + "validation_quorum": 4, + "validator_list_expires" : "2017-Oct-12 16:06:36" + } + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result" : { + "info" : { + "build_version" : "0.33.0-hf1", + "complete_ledgers" : "24900901-24900984,24901116-24901158", + "hostid" : "trace", + "io_latency_ms" : 1, + "last_close" : { + "converge_time_s" : 2.001, + "proposers" : 5 + }, + "load" : { + "job_types" : [ + { + "in_progress" : 1, + "job_type" : "clientCommand" + }, + { + "job_type" : "transaction", + "per_second" : 6 + }, + { + "job_type" : "batch", + "per_second" : 6 + }, + { + "in_progress" : 1, + "job_type" : "advanceLedger" + }, + { + "job_type" : "trustedValidation", + "per_second" : 1 + }, + { + "avg_time" : 77, + "job_type" : "writeObjects", + "over_target" : true, + "peak_time" : 2990, + "per_second" : 2 + }, + { + "job_type" : "trustedProposal", + "per_second" : 2 + }, + { + "job_type" : "peerCommand", + "per_second" : 205 + }, + { + "avg_time" : 771, + "job_type" : "diskAccess", + "over_target" : true, + "peak_time" : 1934 + }, + { + "job_type" : "processTransaction", + "per_second" : 6 + }, + { + "job_type" : "SyncReadNode", + "per_second" : 4 + }, + { + "job_type" : "WriteNode", + "per_second" : 235 + } + ], + "threads" : 6 + }, + "load_factor" : 4.765625, + "load_factor_local" : 4.765625, + "peers" : 10, + "pubkey_node" : "n9McNsnzzXQPbg96PEUrrQ6z3wrvgtU4M7c97tncMpSoDzaQvPar", + "pubkey_validator" : "n9KM73uq5BM3Fc6cxG3k5TruvbLc8Ffq17JZBmWC4uP4csL4rFST", + "published_ledger" : 24901158, + "server_state" : "proposing", + "server_state_duration_us": 708078257, + "state_accounting" : { + "connected" : { + "duration_us" : "854824665", + "transitions" : 2 + }, + "disconnected" : { + "duration_us" : "2183055", + "transitions" : 1 + }, + "full" : { + "duration_us" : "944104343", + "transitions" : 2 + }, + "syncing" : { + "duration_us" : "9233178", + "transitions" : 1 + }, + "tracking" : { + "duration_us" : "0", + "transitions" : 2 + } + }, + "uptime" : 1792, + "validated_ledger" : { + "age" : 1, + "base_fee_xrp" : 1e-05, + "hash" : "D2C122281EB72E64D19B9654A8D3D0FC4207373D3FE5D91AE516685A58874621", + "reserve_base_xrp" : 20, + "reserve_inc_xrp" : 5, + "seq" : 24901185 + }, + "validation_quorum" : 4, + "validator_list_expires" : "2017-Oct-12 16:06:36" + }, + "status" : "success" + } +} +``` + + + +応答は[標準フォーマット][]に従い、結果が正常な場合`info`オブジェクトが唯一のフィールドとして含まれます。 + +`info`オブジェクトには、以下のフィールドがいくつか配置される場合があります。 + +| `Field` | 型 | 説明 | +|:------------------------------------|:--------------------------|:-----------| +| `amendment_blocked` | ブール値 | _(省略される場合があります)_`true`の場合、このサーバーは[Amendment blocked](amendments.html#amendment-blocked)の状態です。サーバーがAmendment blockedの状態でない場合、このフィールドは応答から省略されます。[新規: rippled 0.80.0][] | +| `build_version` | 文字列 | 実行中の`rippled`バージョンのバージョン番号。 | +| `closed_ledger` | オブジェクト | (省略される場合があります)コンセンサスによってまだ検証されていない、最も最近更新を閉鎖したレジャーについての情報。最新の検証済みレジャーが使用可能な場合、このフィールドは応答で省略され、代わりに`validated_ledger`が含まれます。メンバーフィールドは`validated_ledger`フィールドと同じです。 | +| `complete_ledgers` | 文字列 | ローカル`rippled`がデータベース内に有するレジャーのバージョンのシーケンス番号の範囲を示す表現。例えば、`24900901-24900984,24901116-24901158`のように、互いに素なシーケンスの場合があります。サーバーに完全なレジャーがない場合(例えば、ネットワークとの同期を始めたばかりの場合)、文字列`empty`になります。 | +| `hostid` | 文字列 | admin要求の場合、`rippled`インスタンスを実行するサーバーのホスト名が返されます。それ以外の要求の場合、一意の4文字の単語が返されます。 | +| `io_latency_ms` | 数値 | I/O処理の待ち時間(ミリ秒単位)。この数値がそれほど低くない場合、`rippled`サーバーは深刻な負荷の問題を抱えている可能性があります。 | +| `last_close` | オブジェクト | サーバーが最後にレジャーを閉鎖したときの情報。これには、コンセンサスの取得に要した時間や、参加した信頼できるバリデータ(検証者)の数が含まれます。 | +| `load` | オブジェクト | _(管理者のみ)_ サーバーの現在の負荷状態についての詳細な情報。 | +| `load.job_types` | 配列 | _(管理者のみ)_ サーバーが実行している各種ジョブのレートや、各ジョブにかかる時間についての情報。 | +| `load.threads` | 数値 | _(管理者のみ)_ サーバーの主要なジョブプール内のスレッドの数。 | +| `load_factor` | 数値 | サーバーが現在施行中の、負荷スケーリングされたオープンレジャートランザクションコストを、基本トランザクションコストに適用される乗数として示したもの。例えば、負荷係数`1000`でリファレンストランザクションコストがXRP 10 dropである場合、負荷スケーリングされたトランザクションコストは10,000 drop(0.01 XRP)です。負荷係数は、[個々のサーバーの負荷係数](transaction-cost.html#ローカル負荷コスト)の最高値、クラスターの負荷係数、[オープンレジャーコスト](transaction-cost.html#オープンレジャーコスト)、ネットワーク全体の負荷係数によって決まります。[更新: rippled 0.33.0][新規: rippled 0.33.0] | +| `load_factor_local` | 数値 | (省略される場合があります)このサーバーに対する負荷に基づく、[トランザクションコスト][]に適用される現在の乗数。 | +| `load_factor_net` | 数値 | (省略される場合があります)ネットワークのその他の部分で使用されている、[トランザクションコスト][]に適用される現在の乗数(他のサーバーから報告された負荷値から推定します)。 | +| `load_factor_cluster` | 数値 | (省略される場合があります)[このクラスター](clustering.html)内のサーバーに対する負荷に基づく、[トランザクションコスト][]に適用される現在の乗数。 | +| `load_factor_fee_escalation` | 数値 | (省略される場合があります)オープンレジャーに入るために取引が支払う必要がある[トランザクションコスト][]に適用される現在の乗数。[新規: rippled 0.32.0][] | +| `load_factor_fee_queue` | 数値 | (省略される場合があります)キューが一杯になっている場合に、キューに入るために取引が支払う必要がある[トランザクションコスト][]に適用される現在の乗数。[新規: rippled 0.32.0][] | +| `load_factor_server` | 数値 | (省略される場合があります)サーバーが実施中の負荷係数。[オープンレジャーコスト](transaction-cost.html#オープンレジャーコスト)は含まれません。[新規: rippled 0.33.0][] | +| `peers` | 数値 | このサーバーが現在接続している、他の`rippled`サーバーの数。 | +| `pubkey_node` | 文字列 | ピアツーピア通信の中でこのサーバーを検証するために使用する公開鍵。この_ノードのキーペア_は、サーバーを初めて起動すると自動的に生成されます。(削除された場合、サーバーは新たなキーペアを作成できます。)構成ファイルにて`[node_seed]`設定オプションを使用すると、永続値を設定できます。これは[クラスター化](clustering.html)に便利です。 | +| `pubkey_validator` | 文字列 | _(管理者のみ)_ このノードがレジャーの検証の署名に使用する公開鍵。この_検証キーペア_は、`[validator_token]`または`[validation_seed]`設定フィールドにて生成されます。 | +| `server_state` | 文字列 | サーバーのネットワークへの参加の度合いを示す文字列。詳細は、[考えられるサーバーの状態](rippled-server-states.html)を参照してください。 | +| `server_state_duration_us` | 数値 | サーバーが現在の状態になってから経過したマイクロ秒数。[新規: rippled 1.2.0][] | +| `state_accounting` | オブジェクト | 各種[サーバー状態](rippled-server-states.html)のマップと、サーバーが各状態に費やした時間についての情報。これは、サーバーのネットワーク接続について長期的な健全性を追跡するのに便利です。[新規: rippled 0.30.1][] | +| `state_accounting.*.duration_us` | 文字列 | サーバーがこの状態になってから費やしたマイクロ秒数。(サーバーが別の状態に移行するたびに更新されます。)[新規: rippled 0.30.1][] | +| `state_accounting.*.transitions` | 数値 | サーバーがこの状態に移行した回数。[新規: rippled 0.30.1][] | +| `uptime` | 数値 | サーバーが連続して稼働している秒数。[新規: rippled 0.30.1][] | +| `validated_ledger` | オブジェクト | (省略される場合があります)完全に検証された最新のレジャーについての情報。最新の検証済みレジャーが使用できない場合、このフィールドは応答にて省略され、代わりに`closed_ledger`が含まれます。 | +| `validated_ledger.age` | 数値 | レジャーの閉鎖以降の秒数。 | +| `validated_ledger.base_fee_xrp` | 数値 | XRP単位の基本手数料。0.00005の場合は、`1e-05`などの科学的記数法で表すことができます。 | +| `validated_ledger.hash` | 文字列 | 16進数で表された、レジャーの一意のハッシュ | +| `validated_ledger.reserve_base_xrp` | 符号なし整数 | すべてのアカウントで準備金として保有しておく必要があるXRPの最少額(drop数ではありません) | +| `validated_ledger.reserve_inc_xrp` | 符号なし整数 | アカウントがレジャー内に保有するオブジェクトごとのアカウント準備金に追加するXRP額(drop数ではありません) | +| `validated_ledger.seq` | 数値 - [レジャーインデックス][] | 最新の検証済みレジャーのレジャーインデックス | +| `validation_quorum` | 数値 | レジャーバージョンの検証に、最低限必要となる信頼できる検証の数。場合によっては、サーバーがさらに検証を要求する場合があります。 | +| `validator_list_expires` | 文字列 | _(管理者のみ)_ 現在のバリデータリストの有効期限が切れるタイミングを人間が読み取れる時間でを表示、または、サーバーが発行済みのバリデータリストをロードしていない場合は文字列`unknown`、サーバーが静的なバリデータリストを使用する場合は文字列`never`のいずれかを表示します。[新規: rippled 0.80.1][] | + +**注記:** `closed_ledger`フィールドがあり、`seq`の値が小さい(8桁未満)場合、`rippled`には現在、ピアツーピアネットワークから取得した検証済みレジャーのコピーがないことを表しています。これは、サーバーが現在も同期中である可能性を示しています。接続速度とハードウェア仕様にもよりますが、通常はネットワークとの同期に約5分かかります。 + +[トランザクションコスト]: transaction-cost.html + +## 考えられるエラー + +* いずれかの[ユニバーサルエラータイプ][]。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/server-info-methods/server_state.ja.md b/content/references/rippled-api/public-rippled-methods/server-info-methods/server_state.ja.md new file mode 100644 index 0000000000..c45c0cb8c0 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/server-info-methods/server_state.ja.md @@ -0,0 +1,298 @@ +# server_state +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/ServerState.cpp "Source") + +`server_state`コマンドは、サーバーに対し`rippled`サーバーの現在の状態に関するさまざまな機械可読の情報を問い合わせます。応答は[server_infoメソッド][]の場合とほぼ同じですが、読み取りやすい単位ではなく処理しやすい単位を使用します。(たとえば、XRP値は科学的記数法や10進数値の代わりに整数のdrop数で示され、時刻は秒単位ではなくミリ秒単位で示されます。) + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "server_state" +} +``` + +*JSON-RPC* + +``` +{ + "method": "server_state", + "params": [ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: server_state +rippled server_state +``` + + + +[試してみる>](websocket-api-tool.html#server_state) + +要求はパラメーターをとりません。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "state": { + "build_version": "0.30.1-rc3", + "complete_ledgers": "18611104-18615049", + "io_latency_ms": 1, + "last_close": { + "converge_time": 3003, + "proposers": 5 + }, + "load": { + "job_types": [ + { + "job_type": "untrustedProposal", + "peak_time": 1, + "per_second": 3 + }, + { + "in_progress": 1, + "job_type": "clientCommand" + }, + { + "avg_time": 12, + "job_type": "writeObjects", + "peak_time": 345, + "per_second": 2 + }, + { + "job_type": "trustedProposal", + "per_second": 1 + }, + { + "job_type": "peerCommand", + "per_second": 64 + }, + { + "avg_time": 33, + "job_type": "diskAccess", + "peak_time": 526 + }, + { + "job_type": "WriteNode", + "per_second": 55 + } + ], + "threads": 6 + }, + "load_base": 256, + "load_factor": 256000, + "peers": 10, + "pubkey_node": "n94UE1ukbq6pfZY9j54sv2A1UrEeHZXLbns3xK5CzU9NbNREytaa", + "pubkey_validator": "n9KM73uq5BM3Fc6cxG3k5TruvbLc8Ffq17JZBmWC4uP4csL4rFST", + "server_state": "proposing", + "server_state_duration_us": 92762334, + "state_accounting": { + "connected": { + "duration_us": "150510079", + "transitions": 1 + }, + "disconnected": { + "duration_us": "1827731", + "transitions": 1 + }, + "full": { + "duration_us": "168295542987", + "transitions": 1865 + }, + "syncing": { + "duration_us": "6294237352", + "transitions": 1866 + }, + "tracking": { + "duration_us": "13035524", + "transitions": 1866 + } + }, + "uptime": 174748, + "validated_ledger": { + "base_fee": 10, + "close_time": 507693650, + "hash": "FEB17B15FB64E3AF8D371E6AAFCFD8B92775BB80AB953803BD73EA8EC75ECA34", + "reserve_base": 20000000, + "reserve_inc": 5000000, + "seq": 18615049 + }, + "validation_quorum": 4, + "validator_list_expires": 561139596 + } + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result" : { + "state" : { + "build_version" : "0.30.1-rc3", + "complete_ledgers" : "18611104-18615037", + "io_latency_ms" : 1, + "last_close" : { + "converge_time" : 2001, + "proposers" : 5 + }, + "load" : { + "job_types" : [ + { + "job_type" : "untrustedProposal", + "per_second" : 2 + }, + { + "in_progress" : 1, + "job_type" : "clientCommand" + }, + { + "job_type" : "writeObjects", + "per_second" : 2 + }, + { + "avg_time" : 2, + "job_type" : "acceptLedger", + "peak_time" : 6 + }, + { + "job_type" : "trustedProposal", + "per_second" : 1 + }, + { + "job_type" : "peerCommand", + "per_second" : 80 + }, + { + "job_type" : "diskAccess", + "per_second" : 1 + }, + { + "job_type" : "WriteNode", + "per_second" : 91 + } + ], + "threads" : 6 + }, + "load_base" : 256, + "load_factor" : 256000, + "peers" : 10, + "pubkey_node" : "n94UE1ukbq6pfZY9j54sv2A1UrEeHZXLbns3xK5CzU9NbNREytaa", + "pubkey_validator" : "n9KM73uq5BM3Fc6cxG3k5TruvbLc8Ffq17JZBmWC4uP4csL4rFST", + "server_state" : "proposing", + "server_state_duration_us": 708078257, + "state_accounting" : { + "connected" : { + "duration_us" : "150510079", + "transitions" : 1 + }, + "disconnected" : { + "duration_us" : "1827731", + "transitions" : 1 + }, + "full" : { + "duration_us" : "168241260112", + "transitions" : 1865 + }, + "syncing" : { + "duration_us" : "6294237352", + "transitions" : 1866 + }, + "tracking" : { + "duration_us" : "13035524", + "transitions" : 1866 + } + }, + "uptime" : 174693, + "validated_ledger" : { + "base_fee" : 10, + "close_time" : 507693592, + "hash" : "1C26209AE593C7EB5123363B3152D86514845FBD42CC6B05111D57F62D02B113", + "reserve_base" : 20000000, + "reserve_inc" : 5000000, + "seq" : 18615037 + }, + "validation_quorum" : 4, + "validator_list_expires" : 561139596 + }, + "status" : "success" + } +} + +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は、結果に唯一のフィールドとして`state`オブジェクトが含まれています。 + +`state`オブジェクトには、以下のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:---------------------------------|:-----------------|:-----------------------| +| `amendment_blocked` | ブール値 | _(省略される場合があります)_`true`の場合、このサーバーは[Amendment blocked](amendments.html#amendment-blocked)の状態です。サーバーがAmendment blockedではない場合、応答ではこのフィールドが省略されます。[新規: rippled 0.80.0][] | +| `build_version` | 文字列 | 実行中の`rippled`バージョンのバージョン番号。 | +| `complete_ledgers` | 文字列 | ローカルの`rippled`がデータベース内に有するレジャーバージョンのシーケンス番号の範囲を示す表現。例えば、「2500-5000,32570-7695432」のように互いに素なシーケンスの場合があります。サーバーに完全なレジャーがない場合(例えば、ネットワークとの同期を始めたばかりの場合)、文字列`empty`になります。 | +| `closed_ledger` | オブジェクト | (省略される場合があります)コンセンサスによって検証されていない、最新の閉鎖済みレジャーに関する情報。最新の検証済みレジャーが使用可能な場合、応答ではこのフィールドは省略され、代わりに`validated_ledger`が含まれます。メンバーフィールドは`validated_ledger`フィールドと同じです。 | +| `io_latency_ms` | 数値 | I/O処理の待機に費やされた時間数(ミリ秒単位)。この数値が極端に低くない場合、`rippled`サーバーでは深刻な負荷の問題が発生している可能性があります。 | +| `load` | オブジェクト | _(管理者専用)_ サーバーの現在の負荷状態についての詳細な情報。 | +| `load.job_types` | 配列 | _(管理者専用)_ サーバーが実行している各種ジョブのレートや、各ジョブに要する時間についての情報。 | +| `load.threads` | 数値 | _(管理者専用)_ サーバーの主要なジョブプール内のスレッド数。 | +| `load_base` | 整数 | [トランザクションコスト](transaction-cost.html)の計算で使用されるサーバー負荷のベースライン量です。`load_factor`が`load_base`と同等の場合、基本トランザクションコストのみが適用されます。`load_factor`が`load_base`よりも大きい場合、トランザクションコストにそれらの値の比率が乗算されます。たとえば`load_factor`が`load_base`の2倍である場合、トランザクションコストは2倍になります。 | +| `load_factor` | 数値 | サーバーが現在適用している負荷係数。トランザクションコストの乗数は、この値と`load_base`の比率によって決まります。負荷係数は、個別サーバーの最も高い負荷係数、クラスターの負荷係数、[オープンレジャーコスト](transaction-cost.html#オープンレジャーコスト)、およびネットワーク全体の負荷係数によって決定します。[更新: rippled 0.33.0][新規: rippled 0.33.0] | +| `load_factor_fee_escalation` | 整数 | (省略される場合があります)オープンレジャーに入るときに[トランザクションコスト][]に適用される現在の乗数([手数料レベル][])。[新規: rippled 0.32.0][] | +| `load_factor_fee_queue` | 整数 | (省略される場合があります)キューが一杯になっている場合に、キューへ入るときに[トランザクションコスト][]に適用される現在の乗数([手数料レベル][])。[新規: rippled 0.32.0][] | +| `load_factor_fee_reference` | 整数 | (省略される場合があります)負荷スケーリングのない[トランザクションコスト][]([手数料レベル][])。[新規: rippled 0.32.0][] | +| `load_factor_server` | 数値 | (省略される場合があります)サーバーが適用している負荷係数。[オープンレジャーコスト](transaction-cost.html#オープンレジャーコスト)は含まれません。[新規: rippled 0.33.0][] | +| `peers` | 数値 | このサーバーが現在接続している他の`rippled`サーバーの数。 | +| `pubkey_node` | 文字列 | ピアツーピア通信のためにこのサーバーを検証する際に使用される公開鍵。サーバーを初めて起動すると、サーバーにより _ノードキーペア_ が自動的に生成されます。(キーペアが削除されている場合、サーバーは新しいキーペアを作成できます。)`[node_seed]`構成オプションを使用して構成ファイルの永続値を設定できます。これは[クラスター化](clustering.html)で便利です。 | +| `pubkey_validator` | 文字列 | _(管理者専用)_ このノードがレジャー検証の署名に使用する公開鍵。_検証キーペア_ は、`[validator_token]`構成フィールドまたは`[validation_seed]`構成フィールドから生成されます。 | +| `server_state` | 文字列 | サーバーのネットワークへの参加度を示す文字列。詳細は、[考えられるサーバーの状態](rippled-server-states.html)を参照してください。 | +| `server_state_duration_us` | 数値 | サーバーが現在の状態になってから経過した連続マイクロ秒数。[新規: rippled 1.2.0][] | +| `state_accounting` | オブジェクト | 各種[サーバー状態](rippled-server-states.html)のマップと、サーバーが各状態に費やした時間についての情報。これは、サーバーのネットワーク接続性の健全性を長期的に追跡するのに便利です。[新規: rippled 0.30.1][] | +| `state_accounting.*.duration_us` | 文字列 | サーバーがこの状態になってから経過したマイクロ秒数。(サーバーが別の状態に移行するたびに更新されます。)[新規: rippled 0.30.1][] | +| `state_accounting.*.transitions` | 数値 | サーバーがこの状態に移行した回数。[新規: rippled 0.30.1][] | +| `uptime` | 数値 | サーバーが連続稼働している秒数。[新規: rippled 0.30.1][] | +| `validated_ledger` | オブジェクト | (省略される場合があります)完全に検証された最新のレジャーについての情報。最新の検証済みレジャーが使用できない場合、このフィールドは応答で省略され、代わりに`closed_ledger`が含まれます。 | +| `validated_ledger.base_fee` | 符号なし整数 | ネットワークへのトランザクション伝達にかかる基本手数料(XRPのdrop数)。 | +| `validated_ledger.close_time` | 数値 | レジャーが閉鎖された時刻([Rippleエポック以降の経過秒数][]) | +| `validated_ledger.hash` | 文字列 | 当該レジャーバージョンの一意のハッシュ(16進数) | +| `validated_ledger.reserve_base` | 符号なし整数 | すべてのアカウントで準備金として保有する必要がある最小額(XRPのdrop数) | +| `validated_ledger.reserve_inc` | 符号なし整数 | アカウントがレジャー内に保有する各アイテムのアカウント準備金に追加する額(XRPのdrop数)。 | +| `validated_ledger.seq` | 符号なし整数 | このレジャーの一意のシーケンス番号 | +| `validation_quorum` | 数値 | 1つのレジャーバージョンの検証に最低限必要となる信頼できる検証の数。状況によっては、サーバーがさらに検証を要求する場合があります。 | +| `validator_list_expires` | 数値 | _(管理者専用)_ 現在のバリデータリストが期限切れになる時点([Rippleエポック以降に経過した秒数][])。サーバーが発行済みのバリデータリストをロードしていない場合は0。[新規: rippled 0.80.1][] | + + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +[手数料レベル]: transaction-cost.html#手数料レベル +[トランザクションコスト]: transaction-cost.html +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/subscription-methods/subscribe.ja.md b/content/references/rippled-api/public-rippled-methods/subscription-methods/subscribe.ja.md new file mode 100644 index 0000000000..0f46623899 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/subscription-methods/subscribe.ja.md @@ -0,0 +1,536 @@ +# subscribe +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Subscribe.cpp "Source") + +`subscribe`メソッドは、特定のイベントが発生した場合に、定期的に通知するようサーバーに要求します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*アカウントのサブスクライブ* + +``` +{ + "id": "Example watch Bitstamp's hot wallet", + "command": "subscribe", + "accounts": ["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"] +} +``` + +*オーダーブックのサブスクライブ* + +``` +{ + "id": "Example subscribe to XRP/GateHub USD order book", + "command": "subscribe", + "books": [ + { + "taker_pays": { + "currency": "XRP" + }, + "taker_gets": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" + }, + "snapshot": true + } + ] +} +``` + +*レジャーストリームのサブスクライブ* + +``` +{ + "id": "Example watch for new validated ledgers", + "command": "subscribe", + "streams": ["ledger"] +} +``` + + + +[試してみる>](websocket-api-tool.html#subscribe) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:--------------------|:-------|:----------------------------------------------| +| `streams` | 配列 | _(省略可)_ 以下に説明する、サブスクライブする汎用ストリームの文字列名の配列。 | +| `accounts` | 配列 | _(省略可)_ 検証済みトランザクションを監視するアカウントの一意のアドレスを持つ配列。これらのアドレスはXRP Ledgerの[base58][]フォーマットで記述されている必要があります。サーバーは、1つ以上のアカウントに影響するすべてのトランザクションについて通知を送信します。 | +| `accounts_proposed` | 配列 | _(省略可)_`accounts`と同様ですが、まだファイナライズされていないトランザクションを含みます。 | +| `books` | 配列 | _(省略可)_ 以下に説明するとおり、更新の監視のために[オーダーブック](http://www.investopedia.com/terms/o/order-book.asp)を定義するオブジェクトの配列。 | +| `url` | 文字列 | (Websocketでは省略可、それ以外では必須)サーバーが各イベントのJSON-RPCコールバックを送信するURL。*管理者専用。* | +| `url_username` | 文字列 | _(省略可)_ コールバックURLで基本認証を行うためのユーザー名。 | +| `url_password` | 文字列 | _(省略可)_ コールバックURLで基本認証を行うためのパスワード。 | + +以下のパラメーターは廃止予定で、今後予告なしに削除される可能性があります。`user`, `password`, `rt_accounts` + +`streams`パラメーターは、以下のデフォルトの情報ストリームへのアクセスを可能にします。 + +* `server` - `rippled` サーバーのステータス(ネットワーク接続など)が変更されるたびにメッセージを送信します。 +* `ledger` - コンセンサスプロセスで新しい検証済みレジャーが宣言されるたびにメッセージを送信します。 +* `transactions` - 閉鎖済みレジャーにトランザクションが追加されるたびにメッセージを送信します。 +* `transactions_proposed` - 閉鎖済みレジャーにトランザクションが追加される場合や、検証済みレジャーにまだ追加されておらず、今後も追加される見込みのない一部のトランザクションが閉鎖済みレジャーに追加される場合に、メッセージを送信します。提案されたすべてのトランザクションが検証前に表示されるわけではありません。 + **注記:** 検証済みレジャーには[失敗したトランザクションも記録されます](transaction-results.html)。これは、このようなトランザクションにはスパム対策のトランザクション手数料が課されるためです。 +* `validations` - サーバーがバリデータを信頼しているか否かにかかわらず、サーバーが検証メッセージを受信するたびに、メッセージを送信します。(個々の`rippled`は、サーバーが少なくとも定数の信頼できるバリデータから検証メッセージを受信した時点で、レジャーが検証済みであると宣言します。) +* `peer_status` - **(管理者専用)** 接続しているピア`rippled`サーバーに関する情報(特にコンセンサスプロセスに関する情報)。 + +`books` 配列が指定されている場合、この配列の各要素は、以下のフィールドを持つオブジェクトです。 + +| `Field` | 型 | 説明 | +|:-------------|:--------|:----------------------------------------------------| +| `taker_gets` | オブジェクト | オファーを受諾するアカウントが受け取る通貨を[金額なしの通貨オブジェクト](basic-data-types.html#金額なしでの通貨の指定)として指定します。 | +| `taker_pays` | オブジェクト | オファーを受諾するアカウントが支払う通貨を[金額なしの通貨オブジェクト](basic-data-types.html#金額なしでの通貨の指定)として指定します。 | +| `taker` | 文字列 | オファーを表示するパースペクティブとして使用する一意のアカウントアドレス(XRP Ledgerの[base58][]フォーマット)。(これはオファーの資金提供ステータスと手数料に影響します。) | +| `snapshot` | ブール値 | (省略可、デフォルトではfalse)trueの場合は、更新の送信前にサブスクライブした時点でオーダーブックの現在の状態を一度返します。 | +| `both` | ブール値 | (省略可、デフォルトではfalse)trueの場合は、オーダーブックの両サイドを返します。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": "Example watch Bitstamp's hot wallet", + "status": "success", + "type": "response", + "result": {} +} +``` + + + +応答は[標準フォーマット][]に従っています。応答に含まれるフィールドは、要求に指定されたサブスクリプションに応じて異なります。 + +* `accounts` および`accounts_proposed` - フィールドが返されません。 +* *Stream: server* - `load_base`(サーバーの現在の読み込みレベル)、`random`(ランダムに生成された値)などのサーバーのステータスに関する情報。これらの情報は変更される可能性があります。 +* *Stream: transactions*、*Stream: transactions_proposed*、および*Stream: validations* - フィールドは返されません。 +* *Stream: ledger* - 手元にあるレジャーと現在の手数料体系に関する情報。`fee_base`(XRP単位のトランザクションの現行基本手数料)、`fee_ref`(手数料単位のトランザクションの現行基本手数料)、`ledger_hash`(最新の検証済みレジャーのハッシュ)、`reserve_base`(アカウントの最低必要準備金)などがあります。 +* `books` - フィールドはデフォルトで返されません。要求が`"snapshot": true`に設定されている場合、`offers`(オーダーブックを定義するオファー定義オブジェクトの配列)を返します。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `noPermission` - 要求に`url`フィールドが指定されていますが、管理者として接続していません。 +* `unknownStream` - 要求の`streams`フィールドの1つ以上の要素が有効なストリーム名ではありません。 +* `malformedStream` - 要求の`streams`フィールドのフォーマットが適切ではありません。 +* `malformedAccount` - 要求の`accounts`または`accounts_proposed`フィールドのアドレスのいずれか1つが、適切なフォーマットのXRP Ledgerアドレスではありません。(**注記:** グローバルレジャーにまだエントリーのないアドレスのストリームをサブスクライブして、そのアドレスに資金が供給されたらメッセージを受け取るように _できます_ 。) +* `srcCurMalformed` - 要求の`books`フィールドの1つ以上の`taker_pays`サブフィールドのフォーマットが適切ではありません。 +* `dstAmtMalformed` - 要求の`books`フィールドの1つ以上の`taker_gets`サブフィールドのフォーマットが適切ではありません。 +* `srcIsrMalformed` - 要求の`books`フィールドの1つ以上の`taker_pays`サブフィールドの`issuer`フィールドが無効です。 +* `dstIsrMalformed` - 要求の`books`フィールドの1つ以上の`taker_gets`サブフィールドの`issuer`フィールドが無効です。 +* `badMarket` - `books` フィールドに指定されている1つ以上のオーダーブックが存在していません(ある通貨とその通貨自体の交換オファーなど)。 + +特定のストリームをサブスクライブすると、サブスクライブを解除するか、WebSocket接続を閉じるまで、そのストリームに関する応答を定期的に受信します。これらの応答の内容は、サブスクライブしている内容に応じて異なります。以下に、いくつかの例を紹介します。 + +## レジャーストリーム + +`ledger`ストリームは、[コンセンサスプロセス](https://ripple.com/build/ripple-ledger-consensus-process/)で新しい検証済みレジャーが宣言されたときにのみ`ledgerClosed`メッセージを送信します。このメッセージはレジャーを識別し、そのレジャーの内容について何らかの情報を伝えます。 + +``` +{ + "type": "ledgerClosed", + "fee_base": 10, + "fee_ref": 10, + "ledger_hash": "687F604EF6B2F67319E8DCC8C66EF49D84D18A1E18F948421FC24D2C7C3DB464", + "ledger_index": 7125358, + "ledger_time": 455751310, + "reserve_base": 20000000, + "reserve_inc": 5000000, + "txn_count": 7, + "validated_ledgers": "32570-7125358" +} +``` + +レジャーストリームメッセージのフィールドは次のとおりです。 + +| `Field` | 型 | 説明 | +|:--------------------|:-----------------|:------------------------------------| +| `type` | 文字列 | `ledgerClosed` は、このメッセージがレジャーストリームからのものであることを示します。 | +| `fee_base` | 符号なし整数 | 「リファレンストランザクション」のコスト(XRPのdrop数)([トランザクションコスト](transaction-cost.html)を参照してください。レジャーに[SetFee疑似トランザクション](setfee.html)が記録されている場合、このレジャー以降のすべてのトランザクションに新しいトランザクションコストが適用されます。) | +| `fee_ref` | 符号なし整数 | 「リファレンストランザクション」のコスト(手数料単位) | +| `ledger_hash` | 文字列 | 閉鎖されたレジャーの一意のハッシュ(16進数) | +| `ledger_index` | 符号なし整数 | 閉鎖されたレジャーのシーケンス番号 | +| `ledger_time` | 符号なし整数 | レジャーが閉鎖された時刻([Rippleエポック以降の経過秒数][]) | +| `reserve_base` | 符号なし整数 | アカウントに最低限必要とされる準備金(XRPのdrop数)。レジャーに[SetFee疑似トランザクション](setfee.html)が記録されている場合、このレジャー以降は新しい基本準備金が適用されます。 | +| `reserve_inc` | 符号なし整数 | アカウントが所有する各アイテムに、オファーやトラストラインなどが追加されたことによるアカウント準備金の増加。レジャーに[SetFee疑似トランザクション](setfee.html)が記録されている場合、このレジャー以降は新しい所有者準備金が適用されます。 | +| `txn_count` | 符号なし整数 | このレジャーに記録される新規トランザクションの数 | +| `validated_ledgers` | 文字列 | (省略される場合があります)サーバーで使用可能なレジャーの範囲。これは連続的ではない可能性があります。サーバーがネットワークに接続されていない場合や、サーバーが接続されていてもネットワークからレジャーをまだ取得していない場合は、このフィールドは返されません。 | + + +## 検証ストリーム + +[新規: rippled 0.29.0][] + +検証ストリームは、検証メッセージ(検証投票)を信頼するバリデータから受信するたびに、次のようなメッセージを送信します。 + +``` +{ + "type": "validationReceived", + "amendments":[ + "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE", + "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", + "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC", + "C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490", + "DA1BD556B42D85EA9C84066D028D355B52416734D3283F85E216EA5DA6DB7E13" + ], + "base_fee":10, + "flags":2147483649, + "full":true, + "ledger_hash":"EC02890710AAA2B71221B0D560CFB22D64317C07B7406B02959AD84BAD33E602", + "ledger_index":"6", + "load_fee":256000, + "reserve_base":20000000, + "reserve_inc":5000000, + "signature":"3045022100E199B55643F66BC6B37DBC5E185321CF952FD35D13D9E8001EB2564FFB94A07602201746C9A4F7A93647131A2DEB03B76F05E426EC67A5A27D77F4FF2603B9A528E6", + "signing_time":515115322, + "validation_public_key":"n94Gnc6svmaPPRHUAyyib1gQUov8sYbjLoEwUBYPH39qHZXuo8ZT" +} +``` + +検証ストリームメッセージのフィールドは次のとおりです。 + +| `Field` | 型 | 説明 | +|:------------------------|:-----------------|:--------------------------------| +| `type` | 文字列 | 値`validationReceived`は、このメッセージが検証ストリームからであることを示します。 | +| `amendments` | 文字列の配列 | (省略される場合があります)このサーバーがプロトコルへの追加を求める[Amendment](amendments.html)。[新規: rippled 0.32.0][] | +| `base_fee` | 整数 | (省略される場合があります)サーバーが[手数料投票](fee-voting.html)による設定を希望するスケーリングされていないトランザクションコスト(`reference_fee` 値)。[新規: rippled 0.32.0][] | +| `flags` | 数値 | この検証メッセージに追加されるフラグのビットマスク。フラグ0x80000000は、検証の署名が完全に正規であることを示します。フラグ0x00000001は、完全な検証であることを示します。それ以外の場合は部分検証です。部分検証とは、特定のレジャーに対する投票ではありません。部分検証は、バリデータがオンラインであるがコンセンサスにまだ同意していないことを示します。[新規: rippled 0.32.0][] | +| `full` | ブール値 | `true`の場合は、完全な検証です。それ以外の場合は部分検証です。部分検証とは、特定のレジャーに対する投票ではありません。部分検証は、バリデータがオンラインであるがコンセンサスにまだ同意していないことを示します。[新規: rippled 0.32.0][] | +| `ledger_hash` | 文字列 | 提案されたレジャーの識別ハッシュを検証中です。 | +| `ledger_index` | 文字列 - 整数 | 提案されたレジャーの[レジャーインデックス][]。[新規: rippled 0.31.0][] | +| `load_fee` | 整数 | (省略される場合があります)このバリデータにより現在施行されているローカルの負荷スケーリングされたトランザクションコスト(手数料単位)。[新規: rippled 0.32.0][] | +| `reserve_base` | 整数 | (省略される場合があります)このバリデータが[手数料投票](fee-voting.html)による設定を希望する最低必要準備金(`account_reserve` 値)。[新規: rippled 0.32.0][] | +| `reserve_inc` | 整数 | (省略される場合があります)このバリデータが[手数料投票](fee-voting.html)による設定を希望する必要準備金(`owner_reserve` 値)の増分。[新規: rippled 0.32.0][] | +| `signature` | 文字列 | バリデータがこのレジャーへの投票に署名するときに使用する署名。 | +| `signing_time` | 数値 | この検証投票が署名された時刻([Rippleエポック以降の経過秒数][])。[新規: rippled 0.32.0][] | +| `validation_public_key` | 文字列 | バリデータがメッセージの署名に使用したキーペアの公開鍵(XRP Ledgerの[base58][]形式)。このフィールドは、メッセージを送信するバリデータを特定します。また`signature`の検証にも使用できます。 | + + +## トランザクションストリーム + +サブスクリプションの多くは、次のようなトランザクションに関するメッセージをもたらします。 + +* `transactions`ストリーム +* `transactions_proposed`ストリーム +* `accounts` サブスクリプション +* `accounts_proposed` サブスクリプション +* `book` (オーダーブック)サブスクリプション + +`transactions_proposed`ストリームは、厳密には`transactions`ストリームのスーパーセットです。このストリームにはすべての検証済みトランザクションと、検証済みレジャーにまだ記録されておらず、今後も記録される見込みのない提案されたトランザクションがいくつか記録されます。このような「処理中」のトランザクションはそのフィールドから判断できます。 + +* `validated`フィールドがないか、または値`false`が指定されている。 +* `meta`フィールドまたは`metadata`フィールドがない。 +* トランザクションがファイナライズされたレジャーバージョンを指定する`ledger_index`フィールドと`ledger_hash`フィールドの代わりに、現在これらのトランザクションに提案されているレジャーバージョンを指定する`ledger_current_index`フィールドが存在する。 + +上記に該当しない場合、`transactions_proposed`ストリームからのメッセージは`transactions`ストリームからのメッセージと同じです。 + +アカウントまたはオーダーブックを変更できるのはトランザクションだけであるため、特定の`accounts`または`books`をサブスクライブすることにより送信されるメッセージも、トランザクションメッセージの形式(`transactions`ストリームのメッセージと同じ形式)となります。唯一の異なる点は、監視中のアカウントまたはオーダーブックに影響するトランザクションに対するメッセージだけを受信することです。 + +`accounts_proposed`サブスクリプションも同様に機能しますが、このサブスクリプションには、`transactions_proposed`ストリームと同様、監視中のアカウントの未確定トランザクションも記録される点が異なります。 + +``` +{ + "status": "closed", + "type": "transaction", + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.", + "ledger_hash": "989AFBFD65D820C6BD85301B740F5D592F060668A90EEF5EC1815EBA27D58FE8", + "ledger_index": 7125442, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "IndexPrevious": "0000000000000000", + "Owner": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", + "RootIndex": "ABD8CE2D1205D0C062876E9E1F3CBDC902ED8EF4E8D3D071B962C7ED0E113E68" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "0BBDEE7D0BE120F7BF27640B5245EBFE0C5FD5281988BA823C44477A70262A4D" + } + }, + { + "DeletedNode": { + "FinalFields": { + "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", + "BookDirectory": "892E892DC63D8F70DCF5C9ECF29394FF7DD3DC6F47DB8EB34A03920BFC5E99BE", + "BookNode": "0000000000000000", + "Flags": 0, + "OwnerNode": "000000000000006E", + "PreviousTxnID": "58A17D95770F8D07E08B81A85896F4032A328B6C2BDCDEC0A00F3EF3914DCF0A", + "PreviousTxnLgrSeq": 7125330, + "Sequence": 540691, + "TakerGets": "4401967683", + "TakerPays": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.04424" + } + }, + "LedgerEntryType": "Offer", + "LedgerIndex": "386B7803A9210747941B0D079BB408F31ACB1CB98832184D0287A1CBF4FE6D00" + } + }, + { + "DeletedNode": { + "FinalFields": { + "ExchangeRate": "4A03920BFC5E99BE", + "Flags": 0, + "RootIndex": "892E892DC63D8F70DCF5C9ECF29394FF7DD3DC6F47DB8EB34A03920BFC5E99BE", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000004254430000000000", + "TakerPaysIssuer": "92D705968936C419CE614BF264B5EEB1CEA47FF4" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "892E892DC63D8F70DCF5C9ECF29394FF7DD3DC6F47DB8EB34A03920BFC5E99BE" + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", + "Balance": "11133297300", + "Flags": 0, + "OwnerCount": 9, + "Sequence": 540706 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "A6C2532E1008A513B3F822A92B8E5214BD0D413DC20AD3631C1A39AD6B36CD07", + "PreviousFields": { + "Balance": "11133297310", + "OwnerCount": 10, + "Sequence": 540705 + }, + "PreviousTxnID": "484D57DFC4E446DA83B4540305F0CE836D4E007361542EC12CC0FFB5F0A1BE3A", + "PreviousTxnLgrSeq": 7125358 + } + } + ], + "TransactionIndex": 1, + "TransactionResult": "tesSUCCESS" + }, + "transaction": { + "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 540691, + "Sequence": 540705, + "SigningPubKey": "030BB49C591C9CD65C945D4B78332F27633D7771E6CF4D4B942D26BA40748BB8B4", + "TransactionType": "OfferCancel", + "TxnSignature": "30450221008223604A383F3AED25D53CE7C874700619893A6EEE4336508312217850A9722302205E0614366E174F2DFF78B879F310DB0B3F6DA1967E52A32F65E25DCEC622CD68", + "date": 455751680, + "hash": "94CF924C774DFDBE474A2A7E40AEA70E7E15D130C8CBEF8AF1D2BE97A8269F14" + }, + "validated": true +} +``` + +トランザクションストリームメッセージには次のフィールドがあります。 + +| `Field` | 型 | 説明 | +|:------------------------|:-----------------|:--------------------------------| +| `type` | 文字列 | `transaction` は、トランザクションの通知であることを示します。この通知はさまざまなストリームから送信される可能性があります。 | +| `engine_result` | 文字列 | 文字列の[トランザクション結果コード](transaction-results.html) | +| `engine_result_code` | 数値 | 数値の[トランザクション応答コード](transaction-results.html)(該当する場合) | +| `engine_result_message` | 文字列 | 人間が読み取れる形式のトランザクション応答の説明 | +| `ledger_current_index` | 符号なし整数 | (検証済みトランザクションでは省略)このトランザクションが現在提案されている現行レジャーバージョンのシーケンス番号。 | +| `ledger_hash` | 文字列 | (未検証のトランザクションでは省略)このトランザクションが記録されているレジャーバージョンの一意のハッシュ(16進数) | +| `ledger_index` | 符号なし整数 | (未検証のトランザクションでは省略)このトランザクションが記録されているレジャーバージョンのシーケンス番号。 | +| `meta` | オブジェクト | (未検証のトランザクションでは省略)このトランザクションに関する各種メタデータ(影響するレジャーエントリーを含む) | +| `transaction` | オブジェクト | JSONフォーマットの[トランザクションの定義](transaction-formats.html)。 | +| `validated` | ブール値 | trueの場合、このトランザクションは検証済みレジャーに記録されてます。`transaction`ストリームからの応答は常に検証される必要があります。 | + + +## ピアステータスストリーム + +管理者専用の`peer_status`ストリームは、このサーバーが接続している他の`rippled`サーバーの活動に関する大量の情報、特にコンセンサスプロセスでのサーバーのステータスを報告します。 + +ピアステータスストリームメッセージの例: + +``` +{ + "action": "CLOSING_LEDGER", + "date": 508546525, + "ledger_hash": "4D4CD9CD543F0C1EF023CC457F5BEFEA59EEF73E4552542D40E7C4FA08D3C320", + "ledger_index": 18853106, + "ledger_index_max": 18853106, + "ledger_index_min": 18852082, + "type": "peerStatusChange" +} +``` + +ピアステータスストリームメッセージは、ピア`rippled`サーバーのステータスが変化したイベントを表します。これらのメッセージは、次のフィールドを持つJSONオブジェクトです。 + +| `Field` | 値 | 説明 | +|:-------------------|:-------|:-----------------------------------------------| +| `type` | 文字列 | `peerStatusChange` は、ピアステータスストリームからのメッセージであることを示します。 | +| `action` | 文字列 | このメッセージが送信される原因となったイベントのタイプ。有効な値については、[ピアステータスイベント](#ピアーステータスイベント)を参照してください。 | +| `date` | 数値 | このイベントが発生した時刻([Rippleエポック以降の経過秒数][]) | +| `ledger_hash` | 文字列 | (省略される場合があります)このメッセージに関連するレジャーバージョンの識別用[ハッシュ][]。 | +| `ledger_index` | 数値 | (省略される場合があります)このメッセージに関連するレジャーバージョンの[レジャーインデックス][]。 | +| `ledger_index_max` | 数値 | (省略される場合があります)ピアで現在使用可能な最大[レジャーインデックス][]。 | +| `ledger_index_min` | 数値 | (省略される場合があります)ピアで現在使用可能な最小[レジャーインデックス][]。 | + +### ピアステータスイベント + +ピアステータスストリームメッセージの`action`フィールドには次のいずれかの値が含まれます。 + +| `Value` | 意味 | +|:------------------|:---------------------------------------------------------| +| `CLOSING_LEDGER` | ピアがこの[レジャーインデックス][]のレジャーバージョンを閉鎖しました。この場合、通常はコンセンサスが間もなく開始されます。 | +| `ACCEPTED_LEDGER` | ピアがコンセンサスラウンドの結果としてこのレジャーバージョンを作成しました。**注記:** このレジャーが不変的に検証済みになるかどうかはまだ確実ではありません。 | +| `SWITCHED_LEDGER` | ピアは、ネットワークの他の部分に従っていないと結論付け、異なるレジャーバージョンに切り替えました。 | +| `LOST_SYNC` | ピアは検証済みのレジャーバージョンとコンセンサス処理中のレジャーバージョンの追跡でネットワークの他の部分に遅れをとりました。 | + + +## オーダーブックストリーム + +`books`フィールドを使用して1つ以上のオーダーブックをサブスクライブすると、これらのオーダーブックに影響するすべてのトランザクションを取得します。 + +オーダーブックストリームメッセージの例: + +``` +{ + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "ledger_hash": "08547DD866F099CCB3666F113116B7AA2DF520FA2E3011DD1FF9C9C04A6C7C3E", + "ledger_index": 18852105, + "meta": { + "AffectedNodes": [{ + "ModifiedNode": { + "FinalFields": { + "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", + "AccountTxnID": "D295E2BE50E3B78AED24790D7B9096996DAF43F095BF17DB83EEACC283D14050", + "Balance": "3070332374272", + "Flags": 0, + "OwnerCount": 23, + "RegularKey": "r9S56zu6QeJD5d8A7QMfLAeYavgB9dhaX4", + "Sequence": 12142921 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "2880A9B4FB90A306B576C2D532BFE390AB3904642647DCF739492AA244EF46D1", + "PreviousFields": { + "AccountTxnID": "3CA3422B0E42D76A7A677B0BA0BE72DFCD93676E0C80F8D2EB27C04BD8457A0F", + "Balance": "3070332385272", + "Sequence": 12142920 + }, + "PreviousTxnID": "3CA3422B0E42D76A7A677B0BA0BE72DFCD93676E0C80F8D2EB27C04BD8457A0F", + "PreviousTxnLgrSeq": 18852102 + } + }, { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "IndexPrevious": "00000000000022D2", + "Owner": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", + "RootIndex": "F435FBBEC9654204D7151A01E686BAA8CB325A472D7B61C7916EA58B59355767" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "29A543B6681AD7FC8AFBD1386DAE7385F02F9B8C4756A467DF6834AB54BBC9DB" + } + }, { + "ModifiedNode": { + "FinalFields": { + "ExchangeRate": "4C1BA999A513EF78", + "Flags": 0, + "RootIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000005553440000000000", + "TakerPaysIssuer": "2ADB0B3959D60A6E6991F729E1918B7163925230" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78" + } + }, { + "CreatedNode": { + "LedgerEntryType": "Offer", + "LedgerIndex": "92E235EE80D2B28A89BEE2C905D4545C2A004FD5D4097679C8A3FB25507FD9EB", + "NewFields": { + "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", + "BookDirectory": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78", + "Expiration": 508543674, + "OwnerNode": "00000000000022F4", + "Sequence": 12142920, + "TakerGets": "6537121438", + "TakerPays": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "50.9" + } + } + } + }, { + "DeletedNode": { + "FinalFields": { + "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", + "BookDirectory": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78", + "BookNode": "0000000000000000", + "Expiration": 508543133, + "Flags": 0, + "OwnerNode": "00000000000022F4", + "PreviousTxnID": "58B3279C2D56AAC3D9B06106E637C01E3D911E9D31E2FE4EA0D886AC9F4DEE1E", + "PreviousTxnLgrSeq": 18851945, + "Sequence": 12142889, + "TakerGets": "6537121438", + "TakerPays": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "50.9" + } + }, + "LedgerEntryType": "Offer", + "LedgerIndex": "D3436CE21925E1CB12C5C444963B47D7EA0CD9A0E387926DC76B23FE5CD1C15F" + } + }], + "TransactionIndex": 26, + "TransactionResult": "tesSUCCESS" + }, + "status": "closed", + "transaction": { + "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", + "Expiration": 508543674, + "Fee": "11000", + "Flags": 2147483648, + "LastLedgerSequence": 18852106, + "OfferSequence": 12142889, + "Sequence": 12142920, + "SigningPubKey": "034841BF24BD72C7CC371EBD87CCBF258D8ADB05C18DE207130364A97D8A3EA524", + "TakerGets": "6537121438", + "TakerPays": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "50.9" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100B9AD678A773FB61F8F9B565713C80CBF187A2F9EB8E9CE0DAC7B839CA6F4B04C02200613D173A0636CD9BE13F2E3EBD13A16932B5B7D8A96BB5F6D561CA5CDBC4AD3", + "date": 508543090, + "hash": "D295E2BE50E3B78AED24790D7B9096996DAF43F095BF17DB83EEACC283D14050", + "owner_funds": "3070197374272" + }, + "type": "transaction", + "validated": true +} +``` + +オーダーブックストリームメッセージの形式は、[トランザクションストリームメッセージ](#トランザクションストリーム)と同様ですが、`OfferCreate`トランザクションに以下のフィールドも含まれている点が異なります。 + +| `Field` | 値 | 説明 | +|:--------------------------|:-------|:----------------------------------------| +| `transaction.owner_funds` | 文字列 | このOfferCreateトランザクションを送信する`Account`が、このトランザクション実行後に有する`TakerGets`通貨の金額。この通貨額が[凍結](freezes.html)されているかどうかはチェックされません。 | + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/subscription-methods/unsubscribe.ja.md b/content/references/rippled-api/public-rippled-methods/subscription-methods/unsubscribe.ja.md new file mode 100644 index 0000000000..67f905fe3a --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/subscription-methods/unsubscribe.ja.md @@ -0,0 +1,95 @@ +# unsubscribe +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Unsubscribe.cpp "Source") + +`unsubscribe`コマンドはサーバーに対して、特定のサブスクリプションまたは一連のサブスクリプションへのメッセージ送信の停止を指示します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":"Unsubscribe a lot of stuff", + "command":"unsubscribe", + "streams":["ledger","server","transactions","transactions_proposed"], + "accounts":["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"], + "accounts_proposed":["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"], + "books":[ + { + "taker_pays":{ + "currency":"XRP" + }, + "taker_gets":{ + "currency":"USD", + "issuer":"rUQTpMqAF5jhykj4FExVeXakrZpiKF6cQV" + }, + "both": true + } + ] +} +``` + + + +[試してみる >](websocket-api-tool.html#unsubscribe) + +この要求のパラメーターは、[subscribeメソッド][]のパラメーターとほぼ同様の方法で指定されますが、終了するサブスクリプションを定義するために使用される点が異なります。これらのパラメーターを以下に示します。 + +| `Field` | 型 | 説明 | +|:--------------------|:------|:-----------------------------------------------| +| `streams` | 配列 | _(省略可)_ サブスクライブを解除する汎用ストリームの文字列名の配列(`ledger`、`server`、`transactions`、`transactions_proposed`など)。 | +| `accounts` | 配列 | _(省略可)_ 更新の受信を停止する一意のアカウントアドレスの配列(XRP Ledgerの[base58][]フォーマット)。(以前にこれらのアカウントをサブスクライブしていた場合にのみ、メッセージが停止されます。一般のトランザクションストリームからアカウントを除外する目的では使用できません。) | +| `accounts_proposed` | 配列 | _(省略可)_`accounts`と同様ですが、未検証のトランザクションを含む`accounts_proposed`サブスクリプションを対象としています。 | +| `books` | 配列 | _(省略可)_ 以下に説明するように、サブスクライブ解除するオーダーブックを定義するオブジェクトの配列。 | + +`rt_accounts`パラメーター、`url`パラメーター、`rt_transactions`ストリーム名は廃止予定であり、今後予告なしに削除される可能性があります。 + +`books`配列のオブジェクトは、subscribeのオブジェクトと同様に定義されますが、一部のフィールドが含まれていない点が異なります。このオブジェクトのフィールドを次に示します。 + +| `Field` | 型 | 説明 | +|:-------------|:--------|:----------------------------------------------------| +| `taker_gets` | オブジェクト | オファーを受諾するアカウントが受け取る通貨を、[通貨額][Currency Amount]と同様、`currency`フィールドと`issuer`フィールドを持つオブジェクトとして指定します(XRPの場合はissuerを省略)。 | +| `taker_pays` | オブジェクト | オファーを受諾するアカウントが支払う通貨を、[通貨額][Currency Amount]と同様、`currency`フィールドと`issuer`フィールドを持つオブジェクトとして指定します(XRPの場合はissuerを省略)。 | +| `both` | ブール値 | (省略可、デフォルトではfalse)trueの場合は、オーダーブックの両サイドからサブスクリプションを削除します。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":"Unsubscribe a lot of stuff", + "result":{}, + "status":"success", + "type":"response" +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果にフィールドが含まれません。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `noPermission` - 要求に`url`フィールドが指定されていますが、管理者として接続していません。 +* `malformedStream` - 要求の`streams`フィールドのフォーマットが適切ではありません。 +* `malformedAccount` - 要求の`accounts`または`accounts_proposed`フィールドのアドレスの1つが、適切なフォーマットのXRP Ledgerアドレスではありません。 + * **注記:** グローバルレジャーにエントリーがまだ作成されていないアドレスのストリームをサブスクライブ _できます_ 。このようにサブスクライブして、そのアドレスに資金が供給されたらメッセージを受け取ることができます。 +* `srcCurMalformed` - 要求の`books`フィールドの1つ以上の`taker_pays`サブフィールドのフォーマットが適切ではありません。 +* `dstAmtMalformed` - 要求の`books`フィールドの1つ以上の`taker_gets`サブフィールドのフォーマットが適切ではありません。 +* `srcIsrMalformed` - 要求の`books`フィールドの1つ以上の`taker_pays`サブフィールドの`issuer`フィールドが無効です。 +* `dstIsrMalformed` - 要求の`books`フィールドの1つ以上の`taker_gets`サブフィールドの`issuer`フィールドが無効です。 +* `badMarket` - `books` フィールドに指定されている1つ以上のオーダーブックが存在していません(ある通貨をその通貨自体と交換するオファーなど)。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/sign.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/sign.ja.md new file mode 100644 index 0000000000..4dff9d7870 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/sign.ja.md @@ -0,0 +1,223 @@ +# sign +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/SignHandler.cpp "ソース") + +`sign`メソッドは[JSONフォーマットのトランザクション](transaction-formats.html)とシークレットキーを受け取り、トランザクションの署名済みバイナリー表現を返します。結果は、同一のトランザクションJSONとシークレットキーを渡した場合も常に異なります。マルチ署名済みトランザクションに署名を付与する場合は、代わりに[sign_forメソッド][]を使用します。 + +{% include '_snippets/public-signing-note.md' %} + + +**注意:** 独自の`rippled`サーバーを運用している場合を除き、このコマンドを使用するのではなく、[RippleAPIを使用したローカル署名](rippleapi-reference.html#sign)を実行してください。信用できないサーバーが、トランザクションへの署名前にトランザクションに変更を加えたり、シークレットキーを悪用して、トランザクションの発行元であるかのように任意の追加的なトランザクションに署名したりするおそれがあります。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "sign", + "tx_json" : { + "TransactionType" : "Payment", + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Amount" : { + "currency" : "USD", + "value" : "1", + "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" + } + }, + "secret" : "s████████████████████████████", + "offline": false, + "fee_mult_max": 1000 +} +``` + +*JSON-RPC* + +``` +{ + "method": "sign", + "params": [ + { + "offline": false, + "secret": "s████████████████████████████", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "TransactionType": "Payment" + }, + "fee_mult_max": 1000 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: sign secret tx_json [offline] +rippled sign s████████████████████████████ '{"TransactionType": "Payment", "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "Amount": { "currency": "USD", "value": "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" }, "Sequence": 360, "Fee": "10000"}' offline +``` + + + +[試してみる>](websocket-api-tool.html#sign) + +トランザクションに署名するには、[トランザクションを承認](transaction-basics.html#取引の承認)できるシークレットキーを提供する必要があります。これを行うには、以下の方法があります。 + +* `secret`値を指定し、`key_type`フィールドを省略します。この値は、XRP Ledgerの[base58][]シード、RFC-1751、16進値のフォーマットで記述するか、文字列パスフレーズとして記述します(secp256k1キーのみ)。 +* `key_type`値と、`seed`、`seed_hex`、または`passphrase`のいずれか1つを提供します。`secret`フィールドは省略します(コマンドライン構文ではサポートされません)。 + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:--------|:--------------------------------------------------| +| `tx_json` | オブジェクト | JSONフォーマットの[トランザクション定義](transaction-formats.html) | +| `secret` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。信頼できないサーバーに対して、またはセキュリティが確保されていないネットワーク接続を通じて機密情報を送信しないでください。`key_type`、`seed`、`seed_hex`、`passphrase`と同時に使用することはできません。 | +| `seed` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。XRP Ledgerの[base58][]フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed_hex`、`passphrase`と同時に使用することはできません。 | +| `seed_hex` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。16進フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`passphrase`と同時に使用することはできません。 | +| `passphrase` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。文字列パスフレーズとして、トランザクションへの署名に使用されます。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`seed_hex`と同時に使用することはできません。 | +| `key_type` | 文字列 | _(省略可)_ この要求で提供する暗号鍵の種類。有効な種類は、`secp256k1`または`ed25519`です。デフォルトは`secp256k1`です。`secret`と同時に使用することはできません。**注意:** Ed25519のサポートは実験的な機能です。 | +| `offline` | ブール値 | (省略可。デフォルトはfalse)trueにする場合は、トランザクションの生成時に、値を自動で入力または検証しようとしないでください。 | +| `build_path` | ブール値 | _(省略可)_ Payment型のトランザクションに対して指定した場合、署名前に`Paths`フィールドが自動で入力されます。**注意:** サーバーは、このフィールドの値ではなく、このフィールドが存在するかどうかを調べます。この動作は変更される可能性があります。 | +| `fee_mult_max` | 整数 | (省略可。デフォルトは10、推奨値は1000)[自動的に提供される`Fee`フィールド](transaction-common-fields.html#自動入力可能なフィールド)の上限値を設定します。現在の[トランザクションコストの負荷の乗数](transaction-cost.html#ローカル負荷コスト)が(`fee_mult_max` ÷ `fee_div_max`)よりも大きい場合、署名は`rpcHIGH_FEE`エラーで失敗します。トランザクションの`Fee`フィールド([トランザクションコスト](transaction-cost.html))を指定した場合は無視されます。 | +| `fee_div_max` | 整数 | (省略可。デフォルトは1)現在の[トランザクションコストの負荷の乗数](transaction-cost.html#ローカル負荷コスト)が(`fee_mult_max` ÷ `fee_div_max`)よりも大きい場合、署名は`rpcHIGH_FEE`エラーで失敗します。トランザクションの`Fee`フィールド([トランザクションコスト](transaction-cost.html))を指定した場合は無視されます。[新規: rippled 0.30.1][] | + +### 自動入力可能なフィールド + +`tx_json`([トランザクションオブジェクト](transaction-formats.html))の特定のフィールドを省略すると、サーバーは自動的に入力しようとします。要求の`offline`を`true`と指定しない限り、サーバーは署名前に以下のフィールドを提供します。 + +* `Sequence` - サーバーは、送信者のアカウント情報にある次のシーケンス番号を自動的に使用します。 + * **注意:** アカウントの次のシーケンス番号は、このトランザクションが適用されるまで増分されません。トランザクションの送信および個々のトランザクションへの応答を待たずに複数のトランザクションに署名する場合は、最初のトランザクション以降の各トランザクションについて、正しいシーケンス番号を手動で提供する必要があります。 +* `Fee` - `Fee`パラメーターを省略した場合、サーバーは適切なトランザクションコストを自動的に入力しようとします。本番環境のXRP Ledgerでは、適切な`fee_mult_max`値を提供しない限り、この処理は`rpcHIGH_FEE`エラーで失敗します。 + * `fee_mult_max`パラメーターと`fee_div_max`パラメーターは、[リファレンストランザクションコスト](transaction-cost.html#referenceトランザクションコスト)に適用される負荷スケーリング乗数によって、自動的に提供されるトランザクションコストの上限値を設定します。デフォルト設定では、自動的に提供される値が10×の乗数より大きい場合、エラーが返されます。ただし、本番環境のXRP Ledgerでは、[1000×の負荷乗数を使用することが一般的](transaction-cost.html#現在のトランザクションコスト)です。 + * コマンドライン構文では、`fee_mult_max`および`fee_div_max`はサポートされません。本番環境のXRP Ledgerの場合は、`Fee`値を提供する必要があります。 + * **注意:** 悪意のあるサーバーは、`fee_mult_max`や`fee_div_max`の値を無視して、きわめて大きなトランザクションコストを指定するおそれがあります。 +* `Paths` - Payment型のトランザクションの場合(XRP間の移動を除く)、Pathsフィールドは、[ripple_path_findメソッド][]を使用した場合と同様に自動的に入力できます。`build_path`を指定した場合のみ入力されます。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "tx_blob": "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7446304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F858081144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10000", + "Flags": 2147483648, + "Sequence": 360, + "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType": "Payment", + "TxnSignature": "304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F8580", + "hash": "4D5D90890F8D49519E4151938601EF3D0B30B16CD6A519D9C99102C9FA77F7E0" + } + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "status": "success", + "tx_blob": "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7446304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F858081144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10000", + "Flags": 2147483648, + "Sequence": 360, + "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType": "Payment", + "TxnSignature": "304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F8580", + "hash": "4D5D90890F8D49519E4151938601EF3D0B30B16CD6A519D9C99102C9FA77F7E0" + } + } +} +``` + +*Commandline* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "status" : "success", + "tx_blob" : "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7447304502210094D24C795CFFA8E46FE338AF63421DA5CE5E171ED56F8E4CE70FFABA15D3CFA2022063994C52BF0393C8157EBFFCDE6A7E7EDC7B16A462CA53214F64CC8FCBB5E54A81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json" : { + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount" : { + "currency" : "USD", + "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value" : "1" + }, + "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee" : "10000", + "Flags" : 2147483648, + "Sequence" : 360, + "SigningPubKey" : "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType" : "Payment", + "TxnSignature" : "304502210094D24C795CFFA8E46FE338AF63421DA5CE5E171ED56F8E4CE70FFABA15D3CFA2022063994C52BF0393C8157EBFFCDE6A7E7EDC7B16A462CA53214F64CC8FCBB5E54A", + "hash" : "DE80DA6FF9F93FE4CE87C99441F403E0290E35867FF48382204CB89975BF343E" + } + } +} +``` + + + +この応答は[標準のフォーマット][]に従っており、結果が正しい場合、以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `tx_blob` | 文字列 | 正しく作成された署名済みトランザクションの16進バイナリー表現 | +| `tx_json` | オブジェクト | 自動的に入力されたフィールドを含む、署名済み[トランザクション全体](transaction-formats.html)のJSON仕様 | + +**注意:** このコマンドの結果としてエラーメッセージが表示された場合、要求から取得されたシークレットキーがメッセージの中に記述されている可能性があります。これらのエラーが他者から見えない状態であることを確認してください。 + +* このエラーは、複数の人物が参照できるログファイルに書き込まないでください。 +* デバッグを目的として、誰でも参照できる場所にこのエラーを貼り付けないでください。 +* このエラーメッセージは、誤ってWebサイトに表示しないようにしてください。 + +## 考えられるエラー + +* いずれかの[ユニバーサルエラータイプ][]。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `highFee` - トランザクションコストに適用される現在の負荷乗数が、自動的に提供されるトランザクションコストの上限を超えています。要求で指定する`fee_mult_max`を大きくするか(1000以上)、`tx_json`の`Fee`フィールドに値を手動で指定します。 +* `tooBusy` - トランザクションにパスが含まれていませんが、サーバーがビジーであるため、パス検出処理をすぐに実行できません。管理者として接続している場合は発生しません。 +* `noPath` - トランザクションにパスが含まれておらず、サーバーは、このペイメントの発生経路となるパスを検出できませんでした。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/sign_for.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/sign_for.ja.md new file mode 100644 index 0000000000..8466330075 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/sign_for.ja.md @@ -0,0 +1,239 @@ +# sign_for +[[ソース]
](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SignFor.cpp "Source") + +`sign_for`コマンドは、[マルチ署名済みトランザクション](multi-signing.html)の署名を1つ提供します。 + +{% include '_snippets/public-signing-note.md' %} + + +このコマンドを使用するには、[MultiSign Amendment][]が有効になっている必要があります。[新規: rippled 0.31.0][] + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":"sign_for_example", + "command":"sign_for", + "account":"rLFd1FzHMScFhLsXeaxStzv3UC97QHGAbM", + "seed":"s████████████████████████████", + "key_type":"ed25519", + "tx_json":{ + "TransactionType":"TrustSet", + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "SigningPubKey":"", + "Fee":"30000" + } +} +``` + +*JSON-RPC* + +``` +POST http://localhost:5005/ +{ + "method":"sign_for", + "params":[{ + "account":"rLFd1FzHMScFhLsXeaxStzv3UC97QHGAbM", + "seed":"s████████████████████████████", + "key_type":"ed25519", + "tx_json":{ + "TransactionType":"TrustSet", + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "SigningPubKey":"", + "Fee":"30000" + } + }] +} +``` + +*コマンドライン* + +``` +#Syntax: rippled sign_for [offline] +rippled sign_for rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW s████████████████████████████ '{ + "TransactionType":"TrustSet", + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "SigningPubKey":"", + "Fee":"30000" +}' +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:-------------|:---------------------|:---------------------------------------| +| `account` | 文字列 - [アドレス][] | 署名を提供するアドレス。 | +| `tx_json` | オブジェクト | 署名する[トランザクション](transaction-formats.html)。[signメソッド][]を使用する場合とは異なり、トランザクションのすべてのフィールド(`Fee`と`Sequence`を含む)を指定する必要があります。トランザクションに、空の文字列を値として指定した`SigningPubKey`フィールドを含める必要があります。このオブジェクトには、以前に収集した署名を持つ`Signers`配列を必要に応じて含めることができます。 | +| `secret` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。信頼できないサーバーに対して、またはセキュリティが確保されていないネットワーク接続を通じて機密情報を送信しないでください。`key_type`、`seed`、`seed_hex`、`passphrase`と同時に使用することはできません。 | +| `seed` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。XRP Ledgerの[base58][]フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed_hex`、`passphrase`と同時に使用することはできません。 | +| `seed_hex` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。16進フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`passphrase`と同時に使用することはできません。 | +| `passphrase` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。文字列パスフレーズとして、トランザクションへの署名に使用されます。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`seed_hex`と同時に使用することはできません。 | +| `key_type` | 文字列 | _(省略可)_ この要求で提供する暗号鍵の種類。有効な種類は、`secp256k1`または`ed25519`です。デフォルトでは`secp256k1`です。`secret`と同時に使用することはできません。**注意:** Ed25519のサポートは実験的な機能です。 | + +シークレットキーを指定した**1つのフィールドのみ**を指定する必要があります。次のいずれかになります。 + +* `secret`値を指定し、`key_type`フィールドを省略します。この値は、XRP Ledgerの[base58][]シード、RFC-1751、16進値のフォーマットで記述するか、文字列パスフレーズとして記述します(secp256k1キーのみ)。 +* `key_type`値と、`seed`、`seed_hex`、または`passphrase`のいずれか1つを提供します。`secret`フィールドは省略します。(コマンドライン構文ではサポートされません。) + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":"sign_for_example", + "status":"success", + "type":"response", + "result":{ + "tx_blob":"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E0107321EDDF4ECB8F34A168143B928D48EFE625501FB8552403BBBD3FC038A5788951D7707440C3DCA3FEDE6D785398EEAB10A46B44047FF1B0863FC4313051FB292C991D1E3A9878FABB301128FE4F86F3D8BE4706D53FA97F5536DBD31AF14CD83A5ACDEB068114D96CB910955AB40A0E987EEE82BB3CEDD4441AAAE1F1", + "tx_json":{ + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee":"30000", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "Signers":[ + { + "Signer":{ + "Account":"rLFd1FzHMScFhLsXeaxStzv3UC97QHGAbM", + "SigningPubKey":"EDDF4ECB8F34A168143B928D48EFE625501FB8552403BBBD3FC038A5788951D770", + "TxnSignature":"C3DCA3FEDE6D785398EEAB10A46B44047FF1B0863FC4313051FB292C991D1E3A9878FABB301128FE4F86F3D8BE4706D53FA97F5536DBD31AF14CD83A5ACDEB06" + } + } + ], + "SigningPubKey":"", + "TransactionType":"TrustSet", + "hash":"5216A13A3E3CF662352F0B430C7D82B7450415B6883DD428B5EC1DF1DE45DD8C" + } + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result" :{ + "status" :"success", + "tx_blob" :"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1F1", + "tx_json" :{ + "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee" :"30000", + "Flags" :262144, + "LimitAmount" :{ + "currency" :"USD", + "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value" :"100" + }, + "Sequence" :2, + "Signers" :[ + { + "Signer" :{ + "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + } + ], + "SigningPubKey" :"", + "TransactionType" :"TrustSet", + "hash" :"A94A6417D1A7AAB059822B894E13D322ED3712F7212CE9257801F96DE6C3F6AE" + } + } +} +``` + +*コマンドライン* + +``` +Loading:"/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" :{ + "status" :"success", + "tx_blob" :"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1F1", + "tx_json" :{ + "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee" :"30000", + "Flags" :262144, + "LimitAmount" :{ + "currency" :"USD", + "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value" :"100" + }, + "Sequence" :2, + "Signers" :[ + { + "Signer" :{ + "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + } + ], + "SigningPubKey" :"", + "TransactionType" :"TrustSet", + "hash" :"A94A6417D1A7AAB059822B894E13D322ED3712F7212CE9257801F96DE6C3F6AE" + } + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:----------|:-------|:--------------------------------------------------------| +| `tx_blob` | 文字列 | 新規に追加した署名を含む署名済みトランザクションの16進数表記。トランザクションに十分な数の署名がある場合には、[`submit`メソッドを使用してこの文字列を送信](submit.html#送信専用モード)できます。 | +| `tx_json` | オブジェクト | 新規に追加された署名を含む`Signers`配列を持つ[トランザクションの指定](transaction-formats.html)(JSONフォーマット) 。トランザクションに十分な数の署名がある場合には、[submit_multisignedメソッド][]を使用してこのオブジェクトを送信できます。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `srcActNotFound` - トランザクションの`Account`が、レジャーの資金供給のあるアドレスではない場合。 +* `srcActMalformed` - 要求の署名アドレス(`account`フィールド)の形式が無効である場合。 +* `badSeed` - 指定されたシード値のフォーマットが正しくありません。 +* `badSecret` - 指定されたシークレット値のフォーマットが正しくありません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/submit.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/submit.ja.md new file mode 100644 index 0000000000..b98628d3c3 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/submit.ja.md @@ -0,0 +1,289 @@ +# submit +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Submit.cpp "ソース") + +`submit`メソッドは[トランザクション](transaction-formats.html)を適用し、トランザクションの確認と将来のレジャーへの記録が行われるように、ネットワークに送信します。 + +このコマンドには、以下の2つのモードがあります。 + +* 送信専用モードは、署名済みのシリアル化されたトランザクションをブロブとして取得し、そのままネットワークに送信します。署名済みのトランザクションオブジェクトは不変のものであるため、送信後は、どの部分も修正したり、自動的に内容を入力したりすることはできません。 +* 署名と送信モードでは、JSONフォーマットのトランザクションオブジェクトを取得し、[signメソッド][]と同じ方法でトランザクションを完成させて署名し、署名済みのトランザクションを送信します。テストと開発に関しては、このモードのみ使用することをお勧めします。 + +トランザクションを可能な限り確実に送信するには、トランザクションを事前に生成して[sign][sign method]メソッドで署名し、停電発生後もアクセスできるいずれかの場所に保存した後、`tx_blob`として`submit`メソッドで送信します。送信後は、ネットワークを[txメソッド][]コマンドで監視して、トランザクションが正常に適用されたかどうかを確認します。再起動やその他の問題が発生した場合ても、`tx_blob`のトランザクションを問題なく再送信できます。シーケンス番号が以前のトランザクションと同一であるため、トランザクションが2回適用されることはありません。 + +## 送信専用モード + +送信専用の要求では、以下のパラメーターを指定します。 + +| `Field` | 型 | 説明 | +|:------------|:--------|:-----------------------------------------------------| +| `tx_blob` | 文字列 | 送信する署名済みトランザクションの16進表現。[マルチ署名済みトランザクション](multi-signing.html)を送信することもできます。 | +| `fail_hard` | ブール値 | (省略可。デフォルトはfalse)trueにした場合は、トランザクションがローカルで失敗したときに再試行されず、他のサーバーにも中継されません。 | + +### 要求フォーマット + + + +*WebSocket* + +``` +{ + "id": 3, + "command": "submit", + "tx_blob": "1200002280000000240000001E61D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000B732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7447304502210095D23D8AF107DF50651F266259CC7139D0CD0C64ABBA3A958156352A0D95A21E02207FCF9B77D7510380E49FF250C21B57169E14E9B4ACFD314CEDC79DDD0A38B8A681144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754" +} +``` + +*JSON-RPC* + +``` +{ + "method": "submit", + "params": [ + { + "tx_blob": "1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754" + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: submit tx_blob +submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000A732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100D184EB4AE5956FF600E7536EE459345C7BBCF097A84CC61A93B9AF7197EDB98702201CEA8009B7BEEBAA2AACC0359B41C427C1C5B550A4CA4B80CF2174AF2D6D5DCE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754 +``` + + + +[試してみる>](websocket-api-tool.html#submit) + + +## 署名と送信モード + +このモードでは、トランザクションに署名してただちに送信します。このモードは、テストで使用することを目的としています。[マルチ署名済みトランザクション](multi-signing.html)には使用できません。 + + _デフォルトでは、署名と送信モードは[管理者専用](admin-rippled-methods.html)です。_ サーバーで[パブリック署名が有効になっている](enable-public-signing.html)場合は、パブリックメソッドとして使用できます。 + +トランザクションの署名に使用するシークレットキーは、以下の方法で提供できます。 + +* `secret`値を指定し、`key_type`フィールドを省略します。この値は、XRP Ledgerの[base58][]シード、RFC-1751、16進値のフォーマットで記述するか、文字列パスフレーズとして記述します(secp256k1キーのみ)。 +* `key_type`値と、`seed`、`seed_hex`、または`passphrase`のいずれか1つを提供します。`secret`フィールドは省略します(コマンドライン構文ではサポートされません)。 + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:--------|:--------------------------------------------------| +| `tx_json` | オブジェクト | JSONフォーマットの[トランザクション定義](transaction-formats.html)。自動入力可能なフィールドについては、省略することも可能です。 | +| `secret` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。信頼できないサーバーに対して、またはセキュリティが確保されていないネットワーク接続を通じて機密情報を送信しないでください。`key_type`、`seed`、`seed_hex`、`passphrase`と同時に使用することはできません。 | +| `seed` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。XRP Ledgerの[base58][]フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed_hex`、`passphrase`と同時に使用することはできません。 | +| `seed_hex` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。16進フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`passphrase`と同時に使用することはできません。 | +| `passphrase` | 文字列 | _(省略可)_ トランザクションを提供するアカウントのシークレットキー。文字列パスフレーズとして、トランザクションへの署名に使用されます。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`seed_hex`と同時に使用することはできません。 | +| `key_type` | 文字列 | _(省略可)_ この要求で提供する暗号鍵の種類。有効な種類は、`secp256k1`または`ed25519`です。デフォルトは`secp256k1`です。`secret`と同時に使用することはできません。**注意:** Ed25519のサポートは実験的な機能です。 | +| `fail_hard` | ブール値 | (省略可。デフォルトはfalse)trueにした場合は、トランザクションがローカルで失敗したときに再試行されず、他のサーバーにも中継されません。 | +| `offline` | ブール値 | (省略可。デフォルトはfalse)trueにする場合は、トランザクションの生成時に、値を自動で入力または検証しようとしないでください。 | +| `build_path` | ブール値 | _(省略可)_ Payment型のトランザクションに対して指定した場合、署名前に`Paths`フィールドが自動で入力されます。トランザクションがXRP間の直接移動である場合は、このフィールドを省略してください。**注意:** サーバーは、このフィールドの値ではなく、このフィールドが存在するかどうかを調べます。この動作は変更される可能性があります。 | +| `fee_mult_max` | 整数 | (省略可。デフォルトは10、推奨値は1000)`Fee`パラメーターを省略する場合は、自動的に提供される`Fee`値が長期の基本トランザクションコストとこの値の積以下になるよう、このフィールドで制限します。 | +| `fee_div_max` | 整数 | (省略可。デフォルトは1)`fee_mult_max`と併用して、制限に使用される分数の乗数を作成します。具体的には、サーバーは基本[トランザクションコスト](transaction-cost.html)を`fee_mult_max`で乗算した後、この値で除算して上限値(整数値に丸められます)を割り出します。自動的に提供される`Fee`値が上限値を超えている場合、submitコマンドは失敗します。[新規: rippled 0.30.1][] | + +サーバーによって特定のフィールドにどのように値が自動入力されるかについては、[signメソッド][]を参照してください。 + +### 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 2, + "command": "submit", + "tx_json" : { + "TransactionType" : "Payment", + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Amount" : { + "currency" : "USD", + "value" : "1", + "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" + } + }, + "secret" : "s████████████████████████████", + "offline": false, + "fee_mult_max": 1000 +} +``` + +*JSON-RPC* + +``` +{ + "method": "submit", + "params": [ + { + "offline": false, + "secret": "s████████████████████████████", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "TransactionType": "Payment" + }, + "fee_mult_max": 1000 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: submit secret json [offline] +rippled submit s████████████████████████████ '{"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Amount": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" }, "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "TransactionType": "Payment", "Fee": "10000"}' +``` + + + +[試してみる>](websocket-api-tool.html#submit) + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 1, + "status": "success", + "type": "response", + "result": { + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "tx_blob": "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7446304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F858081144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10000", + "Flags": 2147483648, + "Sequence": 360, + "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType": "Payment", + "TxnSignature": "304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F8580", + "hash": "4D5D90890F8D49519E4151938601EF3D0B30B16CD6A519D9C99102C9FA77F7E0" + } + } +} +``` + +*JSON-RPC* + +``` +{ + "result": { + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "status": "success", + "tx_blob": "1200002280000000240000016961D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100A7CCD11455E47547FF617D5BFC15D120D9053DFD0536B044F10CA3631CD609E502203B61DEE4AC027C5743A1B56AF568D1E2B8E79BB9E9E14744AC87F38375C3C2F181144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10000", + "Flags": 2147483648, + "Sequence": 361, + "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType": "Payment", + "TxnSignature": "3045022100A7CCD11455E47547FF617D5BFC15D120D9053DFD0536B044F10CA3631CD609E502203B61DEE4AC027C5743A1B56AF568D1E2B8E79BB9E9E14744AC87F38375C3C2F1", + "hash": "5B31A7518DC304D5327B4887CD1F7DC2C38D5F684170097020C7C9758B973847" + } + } +} +``` + +*コマンドライン* + +``` +Loading: "/etc/rippled.cfg" +Connecting to 127.0.0.1:5005 +{ + "result" : { + "engine_result" : "tesSUCCESS", + "engine_result_code" : 0, + "engine_result_message" : "The transaction was applied.Only final in a validated ledger.", + "status" : "success", + "tx_blob" : "1200002280000000240000016A61D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100FBBF74057359EC31C3647AD3B33D8954730E9879C35034374858A76B7CFA643102200EAA08C61071396E9CF0987FBEA16CF113CBD8068AA221214D165F151285EECD81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json" : { + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount" : { + "currency" : "USD", + "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value" : "1" + }, + "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee" : "10000", + "Flags" : 2147483648, + "Sequence" : 362, + "SigningPubKey" : "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType" : "Payment", + "TxnSignature" : "3045022100FBBF74057359EC31C3647AD3B33D8954730E9879C35034374858A76B7CFA643102200EAA08C61071396E9CF0987FBEA16CF113CBD8068AA221214D165F151285EECD", + "hash" : "CB98A6FA1FAC47F9FCC6A233EB46F8F9AF59CC69BD69AE6D06F298F6FF52162A" + } + } +} +``` + + + +この応答は[標準のフォーマット][]に従っており、結果が正しい場合、以下のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:------------------------|:--------|:-----------------------------------------| +| `engine_result` | 文字列 | トランザクションの暫定的な結果を示すコード。例: `tesSUCCESS` | +| `engine_result_code` | 整数 | トランザクションの暫定的な結果を示し、`engine_result`と直接の相関関係にある数値コード | +| `engine_result_message` | 文字列 | 人間が読める形式の、トランザクションの暫定的な結果の説明 | +| `tx_blob` | 文字列 | トランザクション全体の16進文字列表現 | +| `tx_json` | オブジェクト | トランザクション全体のJSON表現 | + +**注意:** WebSocketの応答に`"status":"success"`が含まれていても、これはコマンドが正常に受け付けられたことを示すものであり、トランザクションが正常に実行されたことを示しているわけでは _ありません_ 。トランザクションは、さまざまな状況で正常に処理されない可能性があります。例えば、ペイメントの2つのアカウントを接続するトラストラインの欠落や、トランザクション生成後のレジャーの状態の変化などです。問題が特にない場合も、トランザクションが含まれているバージョンのレジャーを閉鎖し検証するまでに数秒かかることがあります。詳細は、[トランザクションの応答の完全なリスト](transaction-results.html)を参照してください。トランザクションの結果は、検証済みバージョンのレジャーにトランザクションが表示されるまで、最終的なものと考えないでください。 + +**注意:** このコマンドの結果としてエラーメッセージが表示された場合、要求から取得されたシークレットキーがメッセージの中に記述されている可能性があります。(要求に含まれているものが署名済みのtx_blobである場合は問題ありません)。これらのエラーが他者から見えない状態であることを確認してください。 + +* シークレットキーが記述されているエラーは、複数の人物が参照できるログファイルに書き込まないでください。 +* シークレットキーが記述されているエラーは、誰でも参照できる場所にデバッグを目的として貼り付けないでください。 +* シークレットキーが記述されているエラーメッセージは、誤ってWebサイトに表示しないようにしてください。 + + +## 考えられるエラー + +* いずれかの[ユニバーサルエラータイプ][]。 +* `amendmentBlocked` - `rippled`サーバーでの[修正がブロックされている](amendments.html#amendment-blocked)ため、トランザクションをネットワークに送信できません。 +* `highFee` - `fee_mult_max`パラメーターが指定されましたが、サーバーの現在の手数料の乗数が指定値を超えています(署名と送信モードのみ)。 +* `internalJson` - トランザクションをJSONへとシリアル化するときに、内部エラーが発生しました。このエラーは、無効な署名や一部フィールドの形式の誤りなど、トランザクションのさまざまな側面が原因となって発生する可能性があります。 +* `internalSubmit` - トランザクションを送信するときに内部エラーが発生しました。このエラーは、無効な署名や一部フィールドの形式の誤りなど、トランザクションのさまざまな側面が原因となって発生する可能性があります。 +* `internalTransaction` - トランザクションを処理するときに内部エラーが発生しました。このエラーは、無効な署名や一部フィールドの形式の誤りなど、トランザクションのさまざまな側面が原因となって発生する可能性があります。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `invalidTransaction` - トランザクションの形式が誤っているか、その他の理由で無効なものになっています。 +* `noPath` - トランザクションにパスが含まれておらず、サーバーは、このペイメントの発生経路となるパスを検出できませんでした。(署名と送信モードのみ)。 +* `tooBusy` - トランザクションにパスが含まれていませんが、サーバーがビジーであるため、パス検出処理をすぐに実行できません。管理者として接続している場合は発生しません。(署名と送信モードのみ)。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/submit_multisigned.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/submit_multisigned.ja.md new file mode 100644 index 0000000000..da8ba54ccd --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/submit_multisigned.ja.md @@ -0,0 +1,254 @@ +# submit_multisigned +[[ソース]
](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SubmitMultiSigned.cpp "Source") + +`submit_multisigned`コマンドは[マルチ署名済み](multi-signing.html)トランザクションを適用し、このトランザクションをネットワークに送信して、今後のレジャーに追加します。([`submit`コマンドを送信専用モードで](submit.html#送信専用モード)使用して、マルチ署名済みトランザクションをバイナリー形式で送信することもできます。) + +このコマンドを使用するには、[MultiSign Amendment][]が有効になっている必要があります。[新規: rippled 0.31.0][] + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": "submit_multisigned_example" + "command": "submit_multisigned", + "tx_json": { + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "100" + }, + "Sequence": 2, + "Signers": [{ + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + }, { + "Signer": { + "Account": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SigningPubKey": "028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + "TxnSignature": "30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + } + }], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6" + } +} +``` + +*JSON-RPC* + +``` +{ + "method": "submit_multisigned", + "params": [ + { + "tx_json": { + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "0" + }, + "Sequence": 4, + "Signers": [ + { + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "3045022100CC9C56DF51251CB04BB047E5F3B5EF01A0F4A8A549D7A20A7402BF54BA744064022061EF8EF1BCCBF144F480B32508B1D10FD4271831D5303F920DE41C64671CB5B7" + } + }, + { + "Signer": { + "Account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "SigningPubKey": "03398A4EDAE8EE009A5879113EAA5BA15C7BB0F612A87F4103E793AC919BD1E3C1", + "TxnSignature": "3045022100FEE8D8FA2D06CE49E9124567DCA265A21A9F5465F4A9279F075E4CE27E4430DE022042D5305777DA1A7801446780308897699412E4EDF0E1AEFDF3C8A0532BDE4D08" + } + } + ], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "81A477E2A362D171BB16BE17B4120D9F809A327FA00242ABCA867283BEA2F4F8" + } + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: submit_multisigned +rippled submit_multisigned '{ + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "0" + }, + "Sequence": 4, + "Signers": [ + { + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "3045022100CC9C56DF51251CB04BB047E5F3B5EF01A0F4A8A549D7A20A7402BF54BA744064022061EF8EF1BCCBF144F480B32508B1D10FD4271831D5303F920DE41C64671CB5B7" + } + }, + { + "Signer": { + "Account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "SigningPubKey": "03398A4EDAE8EE009A5879113EAA5BA15C7BB0F612A87F4103E793AC919BD1E3C1", + "TxnSignature": "3045022100FEE8D8FA2D06CE49E9124567DCA265A21A9F5465F4A9279F075E4CE27E4430DE022042D5305777DA1A7801446780308897699412E4EDF0E1AEFDF3C8A0532BDE4D08" + } + } + ], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "81A477E2A362D171BB16BE17B4120D9F809A327FA00242ABCA867283BEA2F4F8" +}' +``` + + + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:------------|:--------|:-----------------------------------------------------| +| `tx_json` | オブジェクト | `Signers`からなる配列が指定された[JSONフォーマットのトランザクション](transaction-formats.html)。成功させるには、署名の重みが[SignerList](signerlist.html)の定数以上でなければなりません。 | +| `fail_hard` | ブール値 | (省略可、デフォルトではfalseです)trueで、かつトランザクションがローカルで失敗する場合は、このトランザクションの再試行や、他のサーバーへのリレーは行わないでください。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": "submit_multisigned_example", + "status": "success", + "type": "response", + "result": { + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "tx_blob": "1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1E0107321028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B744630440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC181147908A7F0EDD48EA896C3580A399F0EE78611C8E3E1F1", + "tx_json": { + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "100" + }, + "Sequence": 2, + "Signers": [ + { + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + }, + { + "Signer": { + "Account": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SigningPubKey": "028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + "TxnSignature": "30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + } + } + ], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6" + } + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "status": "success", + "tx_blob": "120014220004000024000000046380000000000000000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF74473045022100CC9C56DF51251CB04BB047E5F3B5EF01A0F4A8A549D7A20A7402BF54BA744064022061EF8EF1BCCBF144F480B32508B1D10FD4271831D5303F920DE41C64671CB5B78114204288D2E47F8EF6C99BCC457966320D12409711E1E010732103398A4EDAE8EE009A5879113EAA5BA15C7BB0F612A87F4103E793AC919BD1E3C174473045022100FEE8D8FA2D06CE49E9124567DCA265A21A9F5465F4A9279F075E4CE27E4430DE022042D5305777DA1A7801446780308897699412E4EDF0E1AEFDF3C8A0532BDE4D0881143A4C02EA95AD6AC3BED92FA036E0BBFB712C030CE1F1", + "tx_json": { + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "0" + }, + "Sequence": 4, + "Signers": [ + { + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "3045022100CC9C56DF51251CB04BB047E5F3B5EF01A0F4A8A549D7A20A7402BF54BA744064022061EF8EF1BCCBF144F480B32508B1D10FD4271831D5303F920DE41C64671CB5B7" + } + }, + { + "Signer": { + "Account": "raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "SigningPubKey": "03398A4EDAE8EE009A5879113EAA5BA15C7BB0F612A87F4103E793AC919BD1E3C1", + "TxnSignature": "3045022100FEE8D8FA2D06CE49E9124567DCA265A21A9F5465F4A9279F075E4CE27E4430DE022042D5305777DA1A7801446780308897699412E4EDF0E1AEFDF3C8A0532BDE4D08" + } + } + ], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "81A477E2A362D171BB16BE17B4120D9F809A327FA00242ABCA867283BEA2F4F8" + } + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:------------------------|:--------|:-----------------------------------------| +| `engine_result` | 文字列 | 以下は、トランザクションの暫定的な結果を示すコードの例です。 `tesSUCCESS` | +| `engine_result_code` | 整数 | トランザクションの暫定的な結果を示し、`engine_result`と直接の相関関係にある数値コード | +| `engine_result_message` | 文字列 | 人間が読み取れる形式の暫定的なトランザクション結果の説明 | +| `tx_blob` | 文字列 | [トランザクション](transaction-formats.html)全体の16進文字列表現 | +| `tx_json` | オブジェクト | [トランザクション](transaction-formats.html)全体のJSON表現 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `srcActMalformed` - `tx_json`の`Account`フィールドが無効または欠落していました。 +* `internal` - 内部エラーが発生しました。これには、指定されているトランザクションJSONに対して署名が無効な場合も含まれます。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/transaction_entry.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/transaction_entry.ja.md new file mode 100644 index 0000000000..aaaed0e5cc --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/transaction_entry.ja.md @@ -0,0 +1,222 @@ +# transaction_entry +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/TransactionEntry.cpp "Source") + +`transaction_entry`メソッドは、特定のレジャーバージョンから1つのトランザクションに関する情報を取得します。(これに対して、[txメソッド][]はすべてのレジャーから指定のトランザクションを検索します。txメソッドの使用をお勧めします。) + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":4, + "command":"transaction_entry", + "tx_hash":"E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "ledger_index":348734 +} +``` + +*JSON-RPC* + +``` +{ + "method":"transaction_entry", + "params":[ + { + "tx_hash":"E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "ledger_index":348734 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: transaction_entry transaction_hash ledger_index|ledger_hash +rippled transaction_entry E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7 348734 +``` + + + +[試してみる >](websocket-api-tool.html#transaction_entry) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-------------------------------| +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]を参照してください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]を参照してください) | +| `tx_hash` | 文字列 | 検索するトランザクションの一意のハッシュ | + +**注記:** このメソッドでは、現在進行中のレジャーから情報を取得する操作はサポートされていません。`ledger_index`または`ledger_hash`でレジャーバージョンを指定する必要があります。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":4, + "result":{ + "ledger_index":348734, + "metadata":{ + "AffectedNodes":[ + { + "ModifiedNode":{ + "FinalFields":{ + "Account":"r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "Balance":"59328999119", + "Flags":0, + "OwnerCount":11, + "Sequence":89 + }, + "LedgerEntryType":"AccountRoot", + "LedgerIndex":"E0D7BDE68B468FF0B8D948FD865576517DA987569833A05374ADB9A72E870A06", + "PreviousFields":{ + "Balance":"59328999129", + "Sequence":88 + }, + "PreviousTxnID":"C26AA6B4F7C3B9F55E17CD0D11F12032A1C7AD2757229FFD277C9447A8815E6E", + "PreviousTxnLgrSeq":348700 + } + }, + { + "ModifiedNode":{ + "FinalFields":{ + "Balance":{ + "currency":"USD", + "issuer":"rrrrrrrrrrrrrrrrrrrrBZbvji", + "value":"-1" + }, + "Flags":131072, + "HighLimit":{ + "currency":"USD", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"100" + }, + "HighNode":"0000000000000000", + "LowLimit":{ + "currency":"USD", + "issuer":"r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value":"0" + }, + "LowNode":"0000000000000000" + }, + "LedgerEntryType":"RippleState", + "LedgerIndex":"EA4BF03B4700123CDFFB6EB09DC1D6E28D5CEB7F680FB00FC24BC1C3BB2DB959", + "PreviousFields":{ + "Balance":{ + "currency":"USD", + "issuer":"rrrrrrrrrrrrrrrrrrrrBZbvji", + "value":"0" + } + }, + "PreviousTxnID":"53354D84BAE8FDFC3F4DA879D984D24B929E7FEB9100D2AD9EFCD2E126BCCDC8", + "PreviousTxnLgrSeq":343570 + } + } + ], + "TransactionIndex":0, + "TransactionResult":"tesSUCCESS" + }, + "tx_json":{ + "Account":"r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "Amount":{ + "currency":"USD", + "issuer":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value":"1" + }, + "Destination":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee":"10", + "Flags":0, + "Paths":[ + [ + { + "account":"r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "currency":"USD", + "issuer":"r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "type":49, + "type_hex":"0000000000000031" + } + ], + [ + { + "account":"rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", + "currency":"USD", + "issuer":"rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", + "type":49, + "type_hex":"0000000000000031" + }, + { + "account":"rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", + "currency":"USD", + "issuer":"rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", + "type":49, + "type_hex":"0000000000000031" + }, + { + "account":"r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "currency":"USD", + "issuer":"r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "type":49, + "type_hex":"0000000000000031" + } + ] + ], + "SendMax":{ + "currency":"USD", + "issuer":"r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value":"1.01" + }, + "Sequence":88, + "SigningPubKey":"02EAE5DAB54DD8E1C49641D848D5B97D1B29149106174322EDF98A1B2CCE5D7F8E", + "TransactionType":"Payment", + "TxnSignature":"30440220791B6A3E036ECEFFE99E8D4957564E8C84D1548C8C3E80A87ED1AA646ECCFB16022037C5CAC97E34E3021EBB426479F2ACF3ACA75DB91DCC48D1BCFB4CF547CFEAA0", + "hash":"E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "inLedger":348734, + "ledger_index":348734 + } + }, + "status":"success", + "type":"response" +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 + +| `Field` | 型 | 説明 | +|:---------------|:-----------------|:-----------------------------------------| +| `ledger_index` | 符号なし整数 | トランザクションが検出されたレジャーバージョンのシーケンス番号。これは要求のledger_indexと同じです。 | +| `ledger_hash` | 文字列 | (省略される場合があります)トランザクションが検出されたレジャーバージョンの一意のハッシュ。これは要求のledger_hashと同じです。 | +| `metadata` | オブジェクト | トランザクションに関する各種メタデータ。 | +| `tx_json` | オブジェクト | [Transactionオブジェクト](transaction-formats.html)のJSON表現。 | + +サーバーがトランザクションの検出に失敗する原因として、次のようなものが考えられます。 + +* トランザクションが存在しません。 +* トランザクションが存在しますが、指定のレジャーバージョンに含まれていません。 +* サーバーには、使用可能な指定のレジャーバージョンがありません。正しいバージョンを保管する別のサーバーからの応答は、異なる可能性があります。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `fieldNotFoundTransaction` - `tx_hash`フィールドが要求で省略されています。 +* `notYetImplemented` - レジャーバージョンが要求に指定されていません。 +* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。 +* `transactionNotFound` - 要求に指定されているトランザクションが指定のレジャーで見つかりませんでした。(トランザクションが異なるレジャーバージョンにあるか、またはトランザクションがまったく使用できない可能性があります。) + + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/tx.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/tx.ja.md new file mode 100644 index 0000000000..974cae7867 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/tx.ja.md @@ -0,0 +1,208 @@ +# tx +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Tx.cpp "Source") + +`tx`メソッドは1つのトランザクションに関する情報を取得します。 + +## 要求フォーマット + +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 1, + "command": "tx", + "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "binary": false +} +``` +*JSON-RPC* + +``` +{ + "method": "tx", + "params": [ + { + "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "binary": false + } + ] +} +``` +*コマンドライン* + +``` +#Syntax: tx transaction [binary] +rippled tx E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7 false +``` + + + +[試してみる>](websocket-api-tool.html#tx) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:--------------|:--------|:---------------------------------------------------| +| `transaction` | 文字列 | トランザクションの256ビットハッシュ(16進数)。 | +| `binary` | ブール値 | (省略可、デフォルトではfalseです)trueの場合、トランザクションデータとメタデータがJSONではなく16進文字列として返されます。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 1, + "result": { + "Account": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "Amount": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "1" + }, + "Destination": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Fee": "10", + "Flags": 0, + "Paths": [ + [ + { + "account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "currency": "USD", + "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "type": 49, + "type_hex": "0000000000000031" + } + ], + [ + { + "account": "rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", + "currency": "USD", + "issuer": "rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", + "type": 49, + "type_hex": "0000000000000031" + }, + { + "account": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", + "currency": "USD", + "issuer": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", + "type": 49, + "type_hex": "0000000000000031" + }, + { + "account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "currency": "USD", + "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "type": 49, + "type_hex": "0000000000000031" + } + ] + ], + "SendMax": { + "currency": "USD", + "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value": "1.01" + }, + "Sequence": 88, + "SigningPubKey": "02EAE5DAB54DD8E1C49641D848D5B97D1B29149106174322EDF98A1B2CCE5D7F8E", + "TransactionType": "Payment", + "TxnSignature": "30440220791B6A3E036ECEFFE99E8D4957564E8C84D1548C8C3E80A87ED1AA646ECCFB16022037C5CAC97E34E3021EBB426479F2ACF3ACA75DB91DCC48D1BCFB4CF547CFEAA0", + "hash": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "inLedger": 348734, + "ledger_index": 348734, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "Balance": "59328999119", + "Flags": 0, + "OwnerCount": 11, + "Sequence": 89 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "E0D7BDE68B468FF0B8D948FD865576517DA987569833A05374ADB9A72E870A06", + "PreviousFields": { + "Balance": "59328999129", + "Sequence": 88 + }, + "PreviousTxnID": "C26AA6B4F7C3B9F55E17CD0D11F12032A1C7AD2757229FFD277C9447A8815E6E", + "PreviousTxnLgrSeq": 348700 + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "-1" + }, + "Flags": 131072, + "HighLimit": { + "currency": "USD", + "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "value": "100" + }, + "HighNode": "0000000000000000", + "LowLimit": { + "currency": "USD", + "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", + "value": "0" + }, + "LowNode": "0000000000000000" + }, + "LedgerEntryType": "RippleState", + "LedgerIndex": "EA4BF03B4700123CDFFB6EB09DC1D6E28D5CEB7F680FB00FC24BC1C3BB2DB959", + "PreviousFields": { + "Balance": { + "currency": "USD", + "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", + "value": "0" + } + }, + "PreviousTxnID": "53354D84BAE8FDFC3F4DA879D984D24B929E7FEB9100D2AD9EFCD2E126BCCDC8", + "PreviousTxnLgrSeq": 343570 + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "validated": true + }, + "status": "success", + "type": "response" +} +``` + + + +この応答は[標準のフォーマット][]に従っており、正常に完了した場合は結果に[Transactionオブジェクト](transaction-formats.html)フィールドと以下の追加のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:---------------|:-----------------|:-----------------------------------------| +| `hash` | 文字列 | トランザクションのSHA-512ハッシュ | +| `inLedger` | 符号なし整数 | (廃止予定)`ledger_index`のエイリアス。 | +| `ledger_index` | 符号なし整数 | このトランザクションが記録されているレジャーのシーケンス番号。 | +| `meta` | オブジェクト | トランザクションに関する各種メタデータ。 | +| `validated` | ブール値 | このデータが検証済みレジャーバージョンのデータである場合はtrue。省略されている場合またはfalseに設定されている場合は、このデータは最終データではありません。 | +| (各種) | (各種) | [Transactionオブジェクト](transaction-formats.html)のその他のフィールド | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `txnNotFound` - トランザクションが存在しないか、または`rippled`で使用できない古いレジャーバージョンのトランザクションです。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/public-rippled-methods/transaction-methods/tx_history.ja.md b/content/references/rippled-api/public-rippled-methods/transaction-methods/tx_history.ja.md new file mode 100644 index 0000000000..781a9c0e1b --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/transaction-methods/tx_history.ja.md @@ -0,0 +1,898 @@ +# tx_history +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/TxHistory.cpp "Source") + +`tx_history`メソッドは、直近に作成されたトランザクションの一部を取得します。 + +**注意:** このメソッドは廃止予定であり、今後予告なしに削除される可能性があります。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id": 5, + "command": "tx_history", + "start": 0 +} +``` + +*JSON-RPC* + +``` +{ + "method": "tx_history", + "params": [ + { + "start": 0 + } + ] +} +``` + +*コマンドライン* + +``` +#Syntax: tx_history [start] +rippled tx_history 0 +``` + + + +[試してみる>](websocket-api-tool.html#tx_history) + +要求には以下のパラメーターが含まれます。 + +| `Field` | 型 | 説明 | +|:--------|:-----------------|:-------------------------------------| +| `start` | 符号なし整数 | スキップするトランザクションの数。 | + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id": 2, + "status": "success", + "type": "response", + "result": { + "index": 0, + "txs": [ + { + "Account": "r9bf8V4ae5xReYnKPXgnwERDFPoW34FhGy", + "Fee": "12", + "Flags": 2147483648, + "LastLedgerSequence": 6907169, + "Sequence": 3276, + "SigningPubKey": "03B7857216DF96BABCC839686670A67602B3EE50D0F12B41C15F73760B8ED394C1", + "TransactionType": "AccountSet", + "TxnSignature": "3045022100CC0A2688DC36DC47BDBD5A571407316DD16A6CB3289E60C9589531707D30EBDB022010A2ED1F8562FEF61461B89E90E9D7245F5DD1AAE6680401A60F7FDA60184312", + "hash": "30FF69D2F2C2FF517A82EC8BA62AA4879E27A6EAF2C9B4AA422B77C23CD11B35", + "inLedger": 6907162, + "ledger_index": 6907162 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "Sequence": 1479735, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": "9999999999", + "TakerPays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "48.050907917" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100C110F47609CED085E0C184396877685ACAFF0A5846C859E9A57A8E238788FAE2022042A578D36F3D911E2536A39D74B10A741EF4C77B40738DB66E9E4FA85B797DF2", + "hash": "A5DE72E2E97CB0FA548713FB7C8542FD1A9723EC556D386F13B25F052435B29F", + "inLedger": 6907162, + "ledger_index": 6907162 + }, + { + "Account": "r9bf8V4ae5xReYnKPXgnwERDFPoW34FhGy", + "Fee": "12", + "Flags": 2147483648, + "LastLedgerSequence": 6907169, + "Sequence": 3275, + "SigningPubKey": "03B7857216DF96BABCC839686670A67602B3EE50D0F12B41C15F73760B8ED394C1", + "TransactionType": "AccountSet", + "TxnSignature": "3044022030E4CCDCBA8D9984C16AD9807D0FE654D4C558C08728B33A6D9F4D05DA811CF102202A6B53015583A6C24054EE93D9B9DDF0D17133676848304BBA5156DD2C2875BE", + "hash": "55DFC8F7EF3976B5968DC462D91B29274E8097C35D43D6B3740AB20584336A9C", + "inLedger": 6907162, + "ledger_index": 6907162 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 131072, + "Sequence": 1479734, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0.009194668" + }, + "TakerPays": "1073380944", + "TransactionType": "OfferCreate", + "TxnSignature": "304402202C0D26EABE058FCE8B6862EF5CAB70674637CE32B1B4E2F3551B9D5A2E1CDC7E02202C191D2697C65478BC2C1489721EB5799A6F3D4A1ECD8FE87A0C4FDCA3704A03", + "hash": "2499BAE9947BE731D7FE2F8E7B6A55E1E5B43BA8D3A9F22E39F79A0CC027A1C8", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 131072, + "Sequence": 1479733, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "5.298037873" + }, + "TakerPays": { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0.008937558999999999" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3044022075EF6054ABD08F9B8287314AD4904944A74A6C3BBED9D035BCE7D409FC46E49E022025CFEE7F72BEC1F87EA83E3565CB653643A57CDD13661798D6B70F47AF63FDB6", + "hash": "F873CB065791DDD503580931A500BB896B9DBAFC9C285C1159B884354F3EF48B", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "OfferSequence": 1479726, + "Sequence": 1479732, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TransactionType": "OfferCancel", + "TxnSignature": "3045022100E82B813DA3896051EAAA3D53E197F8F426DF4E51F07A2AB83E43B10CD4008D8402204D93BABA74E63E775D44D77F4F9B07D69B0C86930F2865BBBBD2DC956FA8AE4E", + "hash": "203613CFA3CB7BFBCFABBBCF80D932DFBBFDECCBB869CCDBE756EAA4C8EEA41D", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "OfferSequence": 1479725, + "Sequence": 1479731, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TransactionType": "OfferCancel", + "TxnSignature": "30440220678FF2E754A879EAE72207F191614BBA01B8088CD174AF509E9AA11448798CD502205B326E187A0530E4E90BDD1ED875492836657E4D593FBD655F64604178693D2F", + "hash": "1CF4D0D583F6FC85BFD15A0BEF5E4779A8ACAD0DE43823F07C9CC2A20E29E422", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "OfferSequence": 1479724, + "Sequence": 1479730, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TransactionType": "OfferCancel", + "TxnSignature": "3045022100A5533E81A67B6A88B674864E898FDF31D83787FECE496544EBEE88E6FC220500022002438599B2A0E4F70C2B46FB049CD339F76E466399CA4A8F72C4ADA03F615D90", + "hash": "D96EC06F2ADF3CF7ED59BD76B8F1BDB127CDE46B45977B477703DB05B8DF5208", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "OfferSequence": 1479723, + "Sequence": 1479729, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TransactionType": "OfferCancel", + "TxnSignature": "304402206DEF8C70103AE45BCED6762B238E6F155A57D46300E8FF0A1CD0197362483CAE022007BBDFD93A0BC2473EE4537B44095D1BB5EB83F76661A14230FB3B27C4EABB6D", + "hash": "089D22F601FB52D0E55A8E27D393F05570DC24E92028BB9D9DCAD7BC3337ADF9", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "OfferSequence": 1479722, + "Sequence": 1479728, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TransactionType": "OfferCancel", + "TxnSignature": "3044022065051B7240DE1D46865453B3D7F8FC59FB2B9FD609196AB394F857B75E2B8409022044683F3A35740FC97655A8A4516184D8C582E5D88CA360301B1AD308F4126763", + "hash": "F6A660EF99E32D02B9AF761B14993CA1ED8BAF3507F580D90A7759ABFAF0284E", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rUBLCjWdsPPMkppdFXVJWhHnr3FNqCzgG3", + "Fee": "15", + "Flags": 0, + "LastLedgerSequence": 6907168, + "Sequence": 173286, + "SigningPubKey": "03D606359EEA9C0A49CA9EF55F6AED6C8AEDDE604223C1BE51A2D0460A725CF173", + "TakerGets": { + "currency": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0.44942631" + }, + "TakerPays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "260" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "304502205395AF4127AD0B890AC9C47F765B4F4046C70C3DFC6F8DCD2729552FAA97F13C022100C8C2DBA6A466D76D0F103AC88DB166D1EC7F6339238E2C4245C2C26308B38058", + "hash": "F20F06F36B5FEFF43DD1E8AEDBE9A0ECEF0CE41402AE6F0FE4BEE1F2F82A4D54", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rDVynssGDojUPpM4abx9rxYeHG4HiLGxC", + "Fee": "15", + "Flags": 2147483648, + "LastLedgerSequence": 6907169, + "OfferSequence": 859, + "Sequence": 860, + "SigningPubKey": "02C37DA8D793142BD190CE13BB697521A89D1DC318A045816EE657F42527EBFC4E", + "TakerGets": "19871628459", + "TakerPays": { + "currency": "BTC", + "issuer": "rfYv1TXnwgDDK4WQNbFALykYuEBnrR4pDX", + "value": "0.166766470665369" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3044022074737D253A0DB39DBB6C63E5BD522C1313CC57658B0A567E1F1DD3414DA3817502201F333D81F29845C53A0271D0C5B005DEE4A250529DAD1A880838E242D358EE35", + "hash": "AD197326AEF75AA466F32FEA87358C9FB587F1C1ABF41C73E2C3EFDD83B6F33B", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "OfferSequence": 1479721, + "Sequence": 1479727, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TransactionType": "OfferCancel", + "TxnSignature": "3045022100CCD7336F78291E1BCAA4F86695119175E0DBC26281B2F13B30A24C726419DFCA022062547E0A4894CEAE87C42CABA94E0731134560F07D8860AE62F4A87AFD16BC43", + "hash": "20353EA4152C32E63941DE2F3175BA69657BA9FAB39D22BCE38B6CA1B3734D4B", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "r9bf8V4ae5xReYnKPXgnwERDFPoW34FhGy", + "Fee": "12", + "Flags": 2147483648, + "LastLedgerSequence": 6907168, + "Sequence": 3274, + "SigningPubKey": "03B7857216DF96BABCC839686670A67602B3EE50D0F12B41C15F73760B8ED394C1", + "TransactionType": "AccountSet", + "TxnSignature": "3045022100F8412BBB1DB830F314F7400E99570A9F92668ACCDEA6096144A47EDF98E18D5D02204AD89122224F353155EACC30F80BA214350968F744A480B4CD5A3174B473D6AF", + "hash": "16F266ABCC617CF906A25AA83BDDAD2577125E6A692A36543934AA0F0C3B77C0", + "inLedger": 6907161, + "ledger_index": 6907161 + }, + { + "Account": "r9bf8V4ae5xReYnKPXgnwERDFPoW34FhGy", + "Fee": "12", + "Flags": 2147483648, + "LastLedgerSequence": 6907167, + "Sequence": 3273, + "SigningPubKey": "03B7857216DF96BABCC839686670A67602B3EE50D0F12B41C15F73760B8ED394C1", + "TakerGets": "5397", + "TakerPays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "value": "0.00002593363079073453" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3044022061685E23375A299747DE45DA302966C6AF8C07D2DA9BEBB4F5572E3B02C6564D02207187E626EC817EFAFFAD002E75FC16E17A5BD54DA41D4E339F3C2A9F86FFD523", + "hash": "C9112B7C246FC8A9B377BD762F1D64F0DCA1128D55254A442E5735935A09D83E", + "inLedger": 6907160, + "ledger_index": 6907160 + }, + { + "Account": "rBHMbioz9znTCqgjZ6Nx43uWY43kToEPa9", + "Amount": { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "value": "4" + }, + "Destination": "r4X3WWZ3UZMDw3Z7T32FXK2NAaiitSWZ9c", + "Fee": "12", + "Flags": 0, + "LastLedgerSequence": 6907168, + "Paths": [ + [ + { + "account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type": 1, + "type_hex": "0000000000000001" + }, + { + "currency": "XRP", + "type": 16, + "type_hex": "0000000000000010" + }, + { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": 48, + "type_hex": "0000000000000030" + }, + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": 1, + "type_hex": "0000000000000001" + } + ], + [ + { + "account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type": 1, + "type_hex": "0000000000000001" + }, + { + "currency": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": 48, + "type_hex": "0000000000000030" + }, + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": 1, + "type_hex": "0000000000000001" + } + ], + [ + { + "account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type": 1, + "type_hex": "0000000000000001" + }, + { + "currency": "XRP", + "type": 16, + "type_hex": "0000000000000010" + }, + { + "currency": "USD", + "issuer": "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6", + "type": 48, + "type_hex": "0000000000000030" + }, + { + "account": "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6", + "type": 1, + "type_hex": "0000000000000001" + }, + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": 1, + "type_hex": "0000000000000001" + } + ], + [ + { + "account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "type": 1, + "type_hex": "0000000000000001" + }, + { + "currency": "XRP", + "type": 16, + "type_hex": "0000000000000010" + }, + { + "currency": "USD", + "issuer": "rfsEoNBUBbvkf4jPcFe2u9CyaQagLVHGfP", + "type": 48, + "type_hex": "0000000000000030" + }, + { + "account": "rfsEoNBUBbvkf4jPcFe2u9CyaQagLVHGfP", + "type": 1, + "type_hex": "0000000000000001" + }, + { + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "type": 1, + "type_hex": "0000000000000001" + } + ] + ], + "SendMax": { + "currency": "USD", + "issuer": "rBHMbioz9znTCqgjZ6Nx43uWY43kToEPa9", + "value": "4.132649022" + }, + "Sequence": 4660, + "SigningPubKey": "03DFEFC9A95AEF55232A2B89867745CE45373F5CE23C34D51D21343CEA92BD61AD", + "TransactionType": "Payment", + "TxnSignature": "30450220636E405B96C998BF5EBB665D519FA8B4431A6CB5962F754EEDD48EBE95F8C45F02210097851E297FEDA44F7DFED844AE109CF2D968BD58CD3C0E951B435278A91002FA", + "hash": "5007E8ECAE64482D258E915FFDEFAF2FE35ED9520BA7BB424BE280691F997435", + "inLedger": 6907160, + "ledger_index": 6907160 + }, + { + "Account": "rfESTMcbvbvCBqU1FTvGWiJP8cmUSu4GKg", + "Amount": { + "currency": "BTC", + "issuer": "rTJdjjQ5wWAMh8TL1ToXXD2mZzesa6DSX", + "value": "0.0998" + }, + "Destination": "r3AWbdp2jQLXLywJypdoNwVSvr81xs3uhn", + "Fee": "10", + "Flags": 2147483648, + "InvoiceID": "A98FD36C17BE2B8511AD36DC335478E7E89F06262949F36EB88E2D683BBCC50A", + "SendMax": { + "currency": "BTC", + "issuer": "rTJdjjQ5wWAMh8TL1ToXXD2mZzesa6DSX", + "value": "0.100798" + }, + "Sequence": 18697, + "SigningPubKey": "025D9E40A50D78347EB8AFF7A36222BBE173CB9D06E68D109D189FF8616FC21107", + "TransactionType": "Payment", + "TxnSignature": "3044022007AA39E0117963ABF03BAEF0C5AB45862093525344362D34B9F6BA8373A0C9DC02206AB4FE915F4CBDA84E668F7F21A9914DC95C83A72FB3F9A114B10D4ECB697A25", + "hash": "C738A5095DCE3A256C843AA48BB26F0339EAD3FF09B6D75C2EF50C4AD4B4D17C", + "inLedger": 6907159, + "ledger_index": 6907159 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "Sequence": 1479726, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": "37284087", + "TakerPays": { + "currency": "NZD", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "value": "0.291570426" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100F246F043C97C0DA7947793E9390DBA5AB0C6EB4A0165DADF0E96C939B70D113C0220797F572368EF68490813663C0E2ACF03424CB73B64F3D6C8508C7E8F6D2CC767", + "hash": "CAE39A38C222DF0BBC9AA25D30320220DC216646CE0A447F330BE279B20BD008", + "inLedger": 6907159, + "ledger_index": 6907159 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "Sequence": 1479725, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": "10000000000", + "TakerPays": { + "currency": "BTC", + "issuer": "ra9eZxMbJrUcgV8ui7aPc161FgrqWScQxV", + "value": "0.091183099" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "30440220376E6D149435B87CA761ED1A9BD205BA93C0C30D6EB1FB26D8B5D06A55977F510220213E882DD43BC78C96B51E43273D9BD451F8337DDF6960CBFB9802A347FF18E4", + "hash": "CC07A503ED60F14AF023AB839C726B73591DE5C986D1234671E2518D8F840E12", + "inLedger": 6907159, + "ledger_index": 6907159 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "15", + "Flags": 0, + "Sequence": 1479724, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": "9094329166", + "TakerPays": { + "currency": "XAG", + "issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH", + "value": "3.022830117" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100CFD63762B3809B37B6A1294C4B4C8DA39023D66893045BA4AA9767DD8570A8F9022005F42B08E94190637158E80DAE99F3FB104EC2AA30F69BBA3417E5BBCDB5DB77", + "hash": "64029D736C34D21CDB100D976A06A988E2CA6E3BBC0DDFCE840D9619B853B47C", + "inLedger": 6907159, + "ledger_index": 6907159 + } + ] + } +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result": { + "index": 0, + "status": "success", + "txs": [ + { + "Account": "rPJnufUfjS22swpE7mWRkn2VRNGnHxUSYc", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 567546, + "SigningPubKey": "0317766BFFC0AAF5DB4AFDE23236624304AC4BC903AA8B172AE468F6B512616D6A", + "TakerGets": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "1.12582" + }, + "TakerPays": { + "currency": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "1981.893528" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100C66F3EE8F955724D750D148E3BB9DCAC16A002F9E4FC612C03AFBE9D8C13888902202607508AD0546C496093C9743B13FD596A1F5BE2B778EFE85BDB99F0E5B1D55F", + "hash": "A95C701F6120061BC40323AE846BBDA51576E67EC38105030BE75C1D32231B61", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rwpxNWdpKu2QVgrh5LQXEygYLshhgnRL1Y", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 1865518, + "SigningPubKey": "02BD6F0CFD0182F2F408512286A0D935C58FF41169DAC7E721D159D711695DFF85", + "TakerGets": { + "currency": "LTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "1.12095" + }, + "TakerPays": { + "currency": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "20.77526133899999" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "304402203F7435A2587A71878B09129A1F4C05066CE6E6463A4A10CD5C40C15FCBD9E42502207E0CB8421FEA4CE8FC052E5A63ACD2444ADAE253B174A153A1DBE901E21B3695", + "hash": "A8C79DF180167E4D1281247325E2869984F54CBFA68631C1AF13DA346E6B3370", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rMWUykAmNQDaM9poSes8VLDZDDKEbmo7MX", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 1886203, + "SigningPubKey": "0256C64F0378DCCCB4E0224B36F7ED1E5586455FF105F760245ADB35A8B03A25FD", + "TakerGets": { + "currency": "LTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "24.154" + }, + "TakerPays": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.26907556" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "30440220102CF96A86AF56BA11698C70D60F22436D763634FEA179D2FF45EB329CFF1CF8022029BF9301B11D09B38EBD4E8EB445ECC53B98C4F0CA7E19BE895272085ED6DBA2", + "hash": "9EE340379612529F308CA1E4619EC0C8842C1D4308FCA136E25316CE28C28189", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rJJksugQDMVu12NrZyw3C55fEUmPtRYVRC", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 119205, + "SigningPubKey": "03B918730C9FA2451284A00B1EFD08E9BEFD735D84CE09C6B3D7CB8FB0D1F9A84F", + "TakerGets": "10136500000", + "TakerPays": { + "currency": "USD", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "value": "50" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3044022044DB48A760AA7FBA2B1840E1357EF6B1EA9CC9DBBFFB5415C6BE301597B66766022021AA86070416330312E3AFC938376AD0A67A28195D7CD92EC8B03A6039D5C86C", + "hash": "8149067582081FA1499A53841642345D21FE0750E29C61C6DC3C914E0D1819AB", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rLPrL6KUtVZZbDfJMjDXzTKkwH39Udfw6e", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 428775, + "SigningPubKey": "03B2B67209DBDE2FA68555FB10BD791C4732C685349979FDC47D0DEF2B27EFA364", + "TakerGets": { + "currency": "PPC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "8.0635" + }, + "TakerPays": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.01355474349999999" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100EDDC17FE2C32DEAD8ED5D9540B2ECE25D6CD1C65414211D2E4F98FC5BDABB99E0220389D6B3DE8BA50D27406BCE28E67D1E270C6A3A854CDEF25F042BBA52CDB53F8", + "hash": "70B7DB8E2BD65E554CBF418D591E050A6FD0A387E9500ED0B79BEB775019D9CA", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rM7WN56kktEkE5qKwNkQ1af4BZ56bynVUf", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 435008, + "SigningPubKey": "0256AE48790FEF5F61C1AB3765287EABCBE6B47C5098271F596A576DF7CFA15720", + "TakerGets": { + "currency": "PPC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.365" + }, + "TakerPays": { + "currency": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.9977421" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3044022057ECAE71B36746AA1574936B03016DC5747EB7DBBA7D85533063E8D35DD2BAF402204F37BCA51CB0D943758BCA89641C2655FB76F20B8AD1883A3ABF232D1E964E80", + "hash": "572B0B2E96F4A9A88C7EDBDEB6D90AD2975528478186D9179AEC0E366D2778FC", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rLjhDX8zT6vy8T7hjUDvK48wTy5SYFpfwZ", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 432536, + "Sequence": 432561, + "SigningPubKey": "03892D08CE3CE600369BA83A92C3C7785FEA162739643358F1F35F8BE672AFD4A3", + "TransactionType": "OfferCancel", + "TxnSignature": "3045022100C25CE3756EB273F6ADD219E951DB7585ADFAF28090BEA3510458785D2EB91866022057A480F167F6D7263CDBFB0E13D571041313F6476176FFE2645CE867BA85DC2D", + "hash": "521D7F2CF76DEAC8ED695AC5570DFF1E445EB8C599158A351BD46F1D34528373", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rn694SpeUFw3VJwapyRKx6bpru3ZpDHzji", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 396235, + "SigningPubKey": "03896496732D098F2D8EE22D65ED9A88C0FF116785AE448EA1F521534C7C5BC6E3", + "TakerGets": { + "currency": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.700491" + }, + "TakerPays": { + "currency": "NMC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.22" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "30440220218B5B90AB26EAE9FC9833E580653B20A15CEE86E8F1166F626FCDF4EFD4146902207FD99E35EE67E45142776CCD8F910A9E6E1A3C498737B59F182C73183C63D51F", + "hash": "454479D7EEE4081CF25378571D74858C01B0B43D3A2530781647BD40CD0465E5", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 676061, + "SigningPubKey": "030BB49C591C9CD65C945D4B78332F27633D7771E6CF4D4B942D26BA40748BB8B4", + "TakerGets": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.09675" + }, + "TakerPays": "10527647107", + "TransactionType": "OfferCreate", + "TxnSignature": "3044022014196BC5867AC2689F7EF31F23E4B2D1D1B7755465AC388B20F8E7721333EEE302201575263F381755E47AFCD37C1D5CCA4C012D624E7947140B40ABF1975959AA78", + "hash": "22B2F477ADE9C22599EB5CEF70B3377C0478D708D74A47866D9E59B7A2CF57CF", + "inLedger": 8696235, + "ledger_index": 8696235 + }, + { + "Account": "rJJksugQDMVu12NrZyw3C55fEUmPtRYVRC", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 119183, + "Sequence": 119204, + "SigningPubKey": "03B918730C9FA2451284A00B1EFD08E9BEFD735D84CE09C6B3D7CB8FB0D1F9A84F", + "TransactionType": "OfferCancel", + "TxnSignature": "30440220481760ED4F771F960F37FDF32DDEC70D10F9D5F9868571A58D6F5C09D75B71DE022049B35BEA448686D0929271E64EADA684D7684A9195D22826288AD9D9526B4FE9", + "hash": "5E0E42BDDC7A929875F5E9214AB00C3673CC047833C0EFC093532F2EE1F790C2", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rM7WN56kktEkE5qKwNkQ1af4BZ56bynVUf", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 434977, + "Sequence": 435007, + "SigningPubKey": "0256AE48790FEF5F61C1AB3765287EABCBE6B47C5098271F596A576DF7CFA15720", + "TransactionType": "OfferCancel", + "TxnSignature": "304402204B04325A39F3D394A7EBC91CE3A1232E538EFFC80014473C97E84310886A19B302205B2D18C544086BB99E49A1037B65ADDF4864DA60545E33E4116A41599EEE63E3", + "hash": "E8E55606C757219A740AFA0700506FE99781797E2F54A5144EF43582C65BF0F2", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rLPrL6KUtVZZbDfJMjDXzTKkwH39Udfw6e", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 428744, + "Sequence": 428774, + "SigningPubKey": "03B2B67209DBDE2FA68555FB10BD791C4732C685349979FDC47D0DEF2B27EFA364", + "TransactionType": "OfferCancel", + "TxnSignature": "304402202BCB4FCE73C3417AD3E67D795077DE025E766A9136CA20D5B07DA28EA717643E0220579CA32A7BB225DA01999637B316BF7D3902059F9A8DDB2D721F8A62685E5BB7", + "hash": "E86788EC72CA9CFBBAE4C399744C6B7495E3F6443FE87D7A4118F16FA4A316DB", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rHsZHqa5oMQNL5hFm4kfLd47aEMYjPstpg", + "Fee": "64", + "Flags": 0, + "Sequence": 4216371, + "SigningPubKey": "025718736160FA6632F48EA4354A35AB0340F8D7DC7083799B9C57C3E937D71851", + "TakerGets": "12566721624", + "TakerPays": { + "currency": "USD", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "value": "74.999999999" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100D0FA06A78D3333D35C798B45590CD47BD844164ED25FCA4149F5F0CF24BE9A380220243EB636C656D1FBA6888CE8E2873CDA40FE6DE5987BE2FF1C418610D8BDC300", + "hash": "DD4CAD3EBCF67CE9B184A917FF2C78A80F0FE40A01187840E0EBC6B479DBFE1A", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rJJksugQDMVu12NrZyw3C55fEUmPtRYVRC", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 119182, + "Sequence": 119203, + "SigningPubKey": "03B918730C9FA2451284A00B1EFD08E9BEFD735D84CE09C6B3D7CB8FB0D1F9A84F", + "TransactionType": "OfferCancel", + "TxnSignature": "304402202F13D25C82240ABBBEE0D7E8BC2351C49FD6FDD62359EA232233C5A6C989BFAA022005A521A2C5A67BAC27218A6AD9E6917689CBD2F9BB9CE884B6B0EAAEDDEC2057", + "hash": "C9D8A2ECE636057E8255A231E6C6B6464A730155BA0E75B5111A81EA769FBC89", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rGJrzrNBfv6ndJmzt1hTUJVx7z8o2bg3of", + "Fee": "15", + "Flags": 2147483648, + "LastLedgerSequence": 8696241, + "OfferSequence": 1579754, + "Sequence": 1579755, + "SigningPubKey": "03325EB29A014DDE22289D0EA989861D481D54D54C727578AB6C2F18BC342D3829", + "TransactionType": "OfferCancel", + "TxnSignature": "3045022100C9F283D461F8A56575A56F8AA31F84683AB0B44D58C9EFD5DC20D448D8AC13E3022012E0A8726BE2D900C4FB7A61AB8FBFEBEBE1F12B2A9880A2BA2AB8D3EC61CB8C", + "hash": "C4953FE328D54E9104F66253AF50AEBC26E30D5826B433465A795262DFA75B48", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rn694SpeUFw3VJwapyRKx6bpru3ZpDHzji", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 396234, + "SigningPubKey": "03896496732D098F2D8EE22D65ED9A88C0FF116785AE448EA1F521534C7C5BC6E3", + "TakerGets": { + "currency": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.3335471399999999" + }, + "TakerPays": { + "currency": "NMC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.102" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100DEA2B6D5B0D555D54A4EB7A8FADC187F44C6A9CF7282A1D5491538200DFC97DA022033A52D1EC219553C86DB829108BB5A52B49ED7EF0A566941665DE7FFF70917ED", + "hash": "A6BE633AECE9FF9CA83D67D09E7EF67F614A9D8B952D7AFB5CB630D03C54C9FC", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rwpxNWdpKu2QVgrh5LQXEygYLshhgnRL1Y", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 1865490, + "Sequence": 1865517, + "SigningPubKey": "02BD6F0CFD0182F2F408512286A0D935C58FF41169DAC7E721D159D711695DFF85", + "TransactionType": "OfferCancel", + "TxnSignature": "3044022074A4E9859A5A94169B2C902F074AA964C45E2B86EABEA73E83E083E1EC7549A402203E8F4D46705AFEDFC78C2D40FAA036792E6485AF8CADF7445EA3D427E9DC2474", + "hash": "A49285E2CA7C5765B68A41EF4A8A65AD5CC7D4EF6C7B7F6D5040B2DE429E0125", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rPJnufUfjS22swpE7mWRkn2VRNGnHxUSYc", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 567545, + "SigningPubKey": "0317766BFFC0AAF5DB4AFDE23236624304AC4BC903AA8B172AE468F6B512616D6A", + "TakerGets": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "0.66099" + }, + "TakerPays": { + "currency": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "1157.5521276" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100CABC7C1F9FB42C8498E1E9C6C5E8482F325D39B15D9DAE4BD9878D5E508B8FDD0220407B059A22BBBF4FC4AE18BEDCD2DDA80109EE7226D679A8A3BBFC108EFDD3AB", + "hash": "A0BED2F5A85C48A2AFBA252FF91FD2D5C90A6D6B769068B18891B031812E2AC0", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rLLq27Wat93Gxkq5mV5GxtKkT146Su949V", + "Fee": "10", + "Flags": 2147483648, + "Sequence": 722529, + "SigningPubKey": "02A1BC1CCFACECD00ADC6EE990E2E27148E00D5386A99791F25B6A880BCEC94EC9", + "TakerGets": "130272502088", + "TakerPays": { + "currency": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "value": "1.3177" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "30440220436C4A368D534FE1E9A2596C51D1D54931432B789F249E312877FF9B38A3F4D502202A2DBF9517358C009FBEA61EE927DAF72A065A840C7B9136B10C125F25FCD175", + "hash": "9627AEFC735A848AAE6C36D1089CB8797373DBE95B60E89F5412508CA907243A", + "inLedger": 8696234, + "ledger_index": 8696234 + }, + { + "Account": "rMWUykAmNQDaM9poSes8VLDZDDKEbmo7MX", + "Fee": "10", + "Flags": 2147483648, + "OfferSequence": 1886173, + "Sequence": 1886202, + "SigningPubKey": "0256C64F0378DCCCB4E0224B36F7ED1E5586455FF105F760245ADB35A8B03A25FD", + "TransactionType": "OfferCancel", + "TxnSignature": "304402202C7BD2C125A0B837CBD2E2FF568AEA1E0EE94615B22564A51C0434460C506C6F02204E39A7BD49086AA794B20F4EE28656217561909ECFBB18636CD400AB33AB0B17", + "hash": "57277F527B8EBD68FE85906E613338D68F8F8BC4EB3D1748D9A204D7CDC3E174", + "inLedger": 8696234, + "ledger_index": 8696234 + } + ] + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:--------|:-----------------|:------------------------------------------| +| `index` | 符号なし整数 | 要求に使用されている`start`の値。 | +| `txs` | 配列 | トランザクションオブジェクトの配列。 | + +各トランザクションオブジェクトに含まれているフィールドは、トランザクションのタイプに応じて多少異なります。詳細は、[トランザクションのフォーマット](transaction-formats.html)を参照してください。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `noPermission` - `start`フィールドに指定されている値が10000を超えていますが、サーバーに管理者として接続していません。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/utility-methods/json.ja.md b/content/references/rippled-api/public-rippled-methods/utility-methods/json.ja.md new file mode 100644 index 0000000000..0c7a060e17 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/utility-methods/json.ja.md @@ -0,0 +1,43 @@ +# json + +`json`メソッドは、プロキシとして他のコマンドを実行し、コマンドのパラメーターをJSON値として受け入れます。これは*コマンドラインクライアント専用*であり、パラメーターを指定するコマンドライン構文が不十分であるかまたは望ましくない場合に使用されるものです。 + +## 要求フォーマット +要求フォーマットの例: + + + +*コマンドライン* + +``` +# Syntax: json method json_stanza +rippled -q json ledger_closed '{}' +``` + + + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "result" :{ + "ledger_hash" :"8047C3ECF1FA66326C1E57694F6814A1C32867C04D3D68A851367EE2F89BBEF3", + "ledger_index" :390308, + "status" :"success" + } +} +``` + + + +応答は[標準フォーマット][]に従っており、実行されたコマンドのタイプに対して適切なフィールドが含まれています。 + + +{% include '_snippets/rippled_versions.md' %} +{% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/utility-methods/ping.ja.md b/content/references/rippled-api/public-rippled-methods/utility-methods/ping.ja.md new file mode 100644 index 0000000000..65284a490d --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/utility-methods/ping.ja.md @@ -0,0 +1,83 @@ +# ping +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Ping.cpp "Source") + +`ping`コマンドは確認応答を返します。これにより、クライアントは接続のステータスと遅延をテストできます。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":1, + "command":"ping" +} +``` + +*JSON-RPC* + +``` +{ + "method":"ping", + "params":[ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: ping +rippled ping +``` + + + +[試してみる >](websocket-api-tool.html#ping) + +要求にはパラメーターが含まれていません。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":1, + "result":{}, + "status":"success", + "type":"response" +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "status":"success" + } +} +``` + + + +この応答は[標準フォーマット][]に従っており、正常に完了した場合は結果にフィールドが含まれません。クライアントは要求から応答までのラウンドトリップ時間を遅延として測定できます。 + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/public-rippled-methods/utility-methods/random.ja.md b/content/references/rippled-api/public-rippled-methods/utility-methods/random.ja.md new file mode 100644 index 0000000000..e00b29eb51 --- /dev/null +++ b/content/references/rippled-api/public-rippled-methods/utility-methods/random.ja.md @@ -0,0 +1,89 @@ +# random +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/Random.cpp "Source") + +`random`コマンドは、クライアントが乱数生成のエントロピー生成源として使用する乱数を提供します。 + +## 要求フォーマット +要求フォーマットの例: + + + +*WebSocket* + +``` +{ + "id":1, + "command":"random" +} +``` + +*JSON-RPC* + +``` +{ + "method":"random", + "params":[ + {} + ] +} +``` + +*コマンドライン* + +``` +#Syntax: random +rippled random +``` + + + +要求にはパラメーターが含まれていません。 + +## 応答フォーマット + +処理が成功した応答の例: + + + +*WebSocket* + +``` +{ + "id":1, + "result":{ + "random":"8ED765AEBBD6767603C2C9375B2679AEC76E6A8133EF59F04F9FC1AAA70E41AF" + }, + "status":"success", + "type":"response" +} +``` + +*JSON-RPC* + +``` +200 OK +{ + "result":{ + "random":"4E57146AA47BC6E88FDFE8BAA235B900126C916B6CC521550996F590487B837A", + "status":"success" + } +} +``` + + + +応答は[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +|:---------|:-------|:--------------------------| +| `random` | 文字列 | ランダムな256ビット16進値。 | + +## 考えられるエラー + +* [一般的なエラータイプ][]のすべて。 +* `internal` - 乱数生成機能に関連している可能性がある内部エラーが発生しました。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/pseudo-transaction-types/enableamendment.ja.md b/content/references/rippled-api/transaction-formats/pseudo-transaction-types/enableamendment.ja.md new file mode 100644 index 0000000000..5d314b92b1 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/pseudo-transaction-types/enableamendment.ja.md @@ -0,0 +1,26 @@ +# EnableAmendment + +トランザクション処理を変更する[Amendmentプロセス](amendments.html#amendmentプロセス)の進行状況を追跡します。この疑似トランザクションは、提案されたAmendmentが多数の承認を獲得したか否かや、Amendmentの有効化の状況を示します。 + +**注記:** 疑似トランザクションは送信できませんが、レジャーの処理時に疑似トランザクションが見つかることがあります。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:---------------|:----------|:------------------|:----------------------------| +| Amendment | 文字列 | Hash256 | Amendmentの一意のID。人間が読み取れる形式の名前ではありません。既知のAmendmentのリストについては、[Amendment](amendments.html)を参照してください。 | +| LedgerSequence | 数値 | UInt32 | Amendmentが含まれているレジャーバージョンのインデックス。これにより、この疑似トランザクションと別途発生する同様の変更が区別されます。 | + +## EnableAmendment Flags + +EnableAmendment疑似トランザクションの`Flags`の値は、この疑似トランザクションが記録されているレジャーでのAmendmentのステータスを示します。 + +`Flags`の値が`0`(フラグなし)の場合、Amendmentは有効化されており、これ以降のすべてのレジャーに適用されます。`Flags`のその他の値を以下に示します。 + +| フラグ名 | 16進値 | 10進値 | 説明 | +|:---------------|:-----------|:--------------|:-------------------------------| +| tfGotMajority | 0x00010000 | 65536 | このレジャーバージョン以降、信頼できるバリデータのAmendment支持率は80%以上に増加しました。 | +| tfLostMajority | 0x00020000 | 131072 | このレジャーバージョン以降、信頼できるバリデータのAmendment支持率が80%未満に減少しました。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/pseudo-transaction-types/pseudo-transaction-types.ja.md b/content/references/rippled-api/transaction-formats/pseudo-transaction-types/pseudo-transaction-types.ja.md new file mode 100644 index 0000000000..952abd24dd --- /dev/null +++ b/content/references/rippled-api/transaction-formats/pseudo-transaction-types/pseudo-transaction-types.ja.md @@ -0,0 +1,13 @@ +# 疑似トランザクション + +疑似トランザクションはユーザーにより送信されることがなく、またネットワークで伝搬されません。その代わりに、サーバーは提案されたレジャーに疑似トランザクションを直接挿入することを選択できます。十分な数のサーバーがこの疑似トランザクションを挿入し、疑似トランザクションがコンセンサスを通過すると、この疑似トランザクションはレジャーに記録され、それ以降レジャーデータに表示されます。 + +通常のトランザクションの必須フィールドの中には、疑似トランザクションには不適切なものがあります。このような場合、疑似トランザクションのデフォルト値は以下のようになります。 + +| フィールド | デフォルト値 | +|:--------------|:---------------------------------------------------------| +| Account | [ACCOUNT_ZERO](accounts.html#特別なアドレス) | +| Sequence | 0 | +| Fee | 0 | +| SigningPubKey | "" | +| Signature | "" | diff --git a/content/references/rippled-api/transaction-formats/pseudo-transaction-types/setfee.ja.md b/content/references/rippled-api/transaction-formats/pseudo-transaction-types/setfee.ja.md new file mode 100644 index 0000000000..3d45734720 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/pseudo-transaction-types/setfee.ja.md @@ -0,0 +1,35 @@ +# SetFee + +[手数料投票](fee-voting.html)の結果として[トランザクションコスト](transaction-cost.html)または[アカウント準備金](reserves.html)の要件が変更されます。 + +**注記:** 疑似トランザクションは送信できませんが、レジャーの処理時に疑似トランザクションが見つかることがあります。 + +``` +{ + "Account":"rrrrrrrrrrrrrrrrrrrrrhoLvTp", + "BaseFee":"000000000000000A", + "Fee":"0", + "ReferenceFeeUnits":10, + "ReserveBase":20000000, + "ReserveIncrement":5000000, + "Sequence":0, + "SigningPubKey":"", + "TransactionType":"SetFee", + "date":439578860, + "hash":"1C15FEA3E1D50F96B6598607FC773FF1F6E0125F30160144BE0C5CBC52F5151B", + "ledger_index":3721729, + } +``` + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:------------------|:-----------------|:------------------|:------------------| +| BaseFee | 文字列 | UInt64 | リファレンストランザクションの手数料(XRPのdrop数、16進数)。(これは、負荷スケーリング前の[トランザクションコスト](transaction-cost.html)です。) | +| ReferenceFeeUnits | 符号なし整数 | UInt32 | リファレンストランザクションのコスト(手数料単位) | +| ReserveBase | 符号なし整数 | UInt32 | 基本準備金(drop数) | +| ReserveIncrement | 符号なし整数 | UInt32 | 増分準備金(drop数) | +| LedgerSequence | 数値 | UInt32 | この疑似トランザクションが含まれているレジャーバージョンのインデックス。これにより、この疑似トランザクションと別途発生する同様の変更が区別されます。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-common-fields.ja.md b/content/references/rippled-api/transaction-formats/transaction-common-fields.ja.md new file mode 100644 index 0000000000..0b49fcb815 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-common-fields.ja.md @@ -0,0 +1,139 @@ +# トランザクションの共通フィールド + +どのトランザクションについても、共通する一連のフィールドに加え、[トランザクションのタイプ](transaction-types.html)に応じた追加のフィールドがあります。フィールドの名前では、大文字と小文字が区別されます。すべてのトランザクションに共通するフィールドは、以下のとおりです。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-------------------|:-----------------|:------------------|:-----------------| +| Account | 文字列 | Account | _(必須)_ トランザクションを開始した[アカウント](accounts.html)の一意アドレス。 | +| TransactionType | 文字列 | UInt16 | _(必須)_ トランザクションのタイプ。有効なタイプは、`Payment`、`OfferCreate`、`OfferCancel`、`TrustSet`、`AccountSet`、`SetRegularKey`、`SignerListSet`、`EscrowCreate`、`EscrowFinish`、`EscrowCancel`、`PaymentChannelCreate`、`PaymentChannelFund`、`PaymentChannelClaim`、`DepositPreauth`です。 | +| Fee | 文字列 | Amount | _(必須。[自動入力可能][])_ 整数で表したXRPの額(drop単位)。このトランザクションをネットワークに送信するためのコストとして消却されます。トランザクションのタイプによっては、最小要件が異なります。詳細は、[トランザクションコスト][]を参照してください。 | +| Sequence | 符号なし整数 | UInt32 | _(必須。[自動入力可能][])_ トランザクションを開始したアカウントに関連付けられた、トランザクションのシーケンス番号。トランザクションが有効とみなされるのは、その`Sequence`番号が、同一のアカウントの直前トランザクションよりも1大きい場合のみです。保留中のトランザクションを`Sequence`番号を使用して無効にする方法については、[トランザクションのキャンセルまたはスキップ](cancel-or-skip-a-transaction.html)を参照してください。 | +| [AccountTxnID][] | 文字列 | Hash256 | _(省略可)_ 別のトランザクションを識別するためのハッシュ値。このハッシュがある場合、このトランザクションが有効になるのは、送信側のアカウントの直前送信トランザクションがこのハッシュと一致しているときのみです。 | +| [Flags][] | 符号なし整数 | UInt32 | _(省略可)_ このトランザクションのビットフラグのセット。 | +| LastLedgerSequence | 数値 | UInt32 | _(省略可。使用を強く推奨)_ このトランザクションを登録できるレジャーインデックスの最大値。このフィールドを指定することにより、トランザクションが検証または拒否されるのを待たなければならない期間の上限を設定することができます。詳細は、[信頼できるトランザクションの送信](reliable-transaction-submission.html)を参照してください。 | +| [Memos][] | オブジェクトの配列 | 配列 | _(省略可)_ このトランザクションの識別に使用される任意の追加情報。 | +| [Signers][] | 配列 | 配列 | _(省略可)_ このトランザクションを承認するための[マルチ署名](multi-signing.html)を表すオブジェクトの配列。 | +| SourceTag | 符号なし整数 | UInt32 | _(省略可)_ この支払いの理由、またはこのトランザクションの実行元である送信者を識別するために使用される任意の整数。一般的に、返金については、最初の支払いの`SourceTag`を返金の`DestinationTag`として指定する必要があります。 | +| SigningPubKey | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションへの署名に使用される秘密鍵に対応する公開鍵の16進表現。空文字列の場合は、代わりに`Signers`フィールドにマルチ署名が保持されていることを示します。 | +| TxnSignature | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションが、発信元であると主張しているアカウントから発信されたものであることを検証するための署名。 | + +[自動入力可能]: #自動入力可能なフィールド +[AccountTxnID]: #accounttxnid +[Flags]: #flagsフィールド +[Memos]: #memosフィールド +[Signers]: #signersフィールド + +[削除されたバージョン: rippled 0.28.0][]: トランザクションの`PreviousTxnID`フィールドは、[AccountTxnID][]フィールドに置き換えられました。この文字列/Hash256フィールドは、過去に発生したトランザクションの一部に記述されています。このフィールドは、一部の[レジャーオブジェクト](ledger-data-formats.html)にある`PreviousTxnID`という同じ名前のフィールドとは無関係です。 + + +## AccountTxnID + +`AccountTxnID`フィールドにより、直前のトランザクション(シーケンス番号で識別)も有効で、かつ期待するトランザクションに一致しない限り、現在のトランザクションが有効にならないよう、トランザクションどうしをチェーンにすることができます。 + +このフィールドが有用になるのは、例えば、トランザクション送信用のプライマリーシステムと受動的なバックアップシステムを運用している場合です。受動的なバックアップシステムがプライマーリから切断されたものの、プライマリが完全に稼働停止となったわけではなく、両システムが同時に稼働を開始した場合は、トランザクションが2回送信される、あるいはまったく送信されないなど、深刻な問題が発生するおそれがあります。`AccountTxnID`を使用してトランザクションどうしをチェーンにすると、両方のシステムがアクティブになったときも、有効なトランザクションを送信できるのはいずれか一方のみとなります。 + +AccountTxnIDを使用するには、アカウントの1つ前のトランザクションのIDがレジャーで追跡されるよう、最初に[asfAccountTxnID](accountset.html#accountsetのフラグ)フラグを設定する必要があります。 + + +## 自動入力可能なフィールド + +一部のフィールドについては、トランザクションの署名前に、`rippled`サーバーによって、または署名に使用される[ripple-lib][]などのライブラリーによって値を自動入力できます。値を自動入力するには、最新の状態を取得するためのXRP Ledgerへのアクティブな接続が必要です。したがって、オフラインでは実行できません。[ripple-lib][]と`rippled`のどちらも、以下の値を自動的に提供できます。 + +* `Fee` - ネットワークに基づいて[トランザクションコスト][]を自動的に入力します。 + **注記:**`rippled`の[signコマンド][]を使用するときは、`fee_mult_max`パラメーターと`fee_mult_div`パラメーターを使用して、自動入力値の上限を設定できます。 +* `Sequence` - トランザクションを送信する側のアカウントの次のシーケンス番号を自動的に使用します。 + +本番システムについては、これらのフィールドの値がサーバーによって入力される状態に _しない_ ことをお勧めします。例えば、ネットワークの負荷が一時的に急上昇したためにトランザクションコストが高騰した場合、トランザクションによっては、一時的な高額のコストを支払うよりも、必要に応じて待機し、コストが低下してから送信したほうが好ましいことがあります。 + +[Paymentトランザクション][]タイプの[`Paths`フィールド](payment.html#パス)についても、値を自動入力できます。 + + +## Flagsフィールド + +`Flags`フィールドには、トランザクションの行動を調整する各種のオプションを設定できます。オプションは、ビット単位のOR操作と組み合わせることで複数のフラグを同時に設定できるバイナリー値として表現します。 + +トランザクションで所定のフラグが有効になっているかどうかを確認するには、ビット単位のAND演算子をフラグの値と`Flags`フィールドで使用します。結果が0の場合は無効になっていることを示し、結果がフラグ値と等しい場合は有効になっていることを示します(その他の結果の場合は、実行した操作に誤りがあることを示します)。 + +ほとんどのフラグは、特定のタイプのトランザクションに対してのみ効果があります。複数のタイプのトランザクションに対して、同一のビット単位値をフラグに再利用できるため、フラグの設定と読み取りでは`TransactionType`フィールドに留意することが重要です。 + +フラグとして定義しないビットは、0にする必要があります([fix1543 Amendment][]では、一部のタイプのトランザクションについて、このルールが適用されます。デフォルトでは、ほとんどのタイプのトランザクションでこのルールが強制されます)。 + +### グローバルフラグ + +すべてのトランザクションにグローバルに適用される唯一のフラグは、以下のとおりです。 + +| フラグの名前 | 16進値 | 10進値 | 説明 | +|:--------------------|:-----------|:--------------|:--------------------------| +| tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 | + +[signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチ署名済みトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 + +**警告:** `tfFullyCanonicalSig`を有効にしない場合は、不正使用者がトランザクションの署名を改変して、期待されるものとは別のハッシュを使用してトランザクションを成功させることが理論上可能になります。最悪の場合、同一の支払を何回も送信するようシステムに仕掛けられるおそれがあります。この問題を回避するには、署名するすべてのトランザクションで`tfFullyCanonicalSig`フラグを有効にします。 + +### フラグの範囲 + +トランザクションの`Flags`フィールドでは、さまざまなレベルや状況に適用されるフラグを設定できます。個々の状況に関するフラグは、以下の範囲に限定されます。 + +| 範囲の名前 | ビットマスク | 説明 | +|:-----------------|:-------------|:-------------------------------------------| +| ユニバーサルフラグ | `0xff000000` | すべてのタイプのトランザクションに対して一様に適用されるフラグ。 | +| タイプに基づくフラグ | `0x00ff0000` | フラグを使用する[トランザクションのタイプ](transaction-types.html)に応じて意味が異なるフラグ。 | +| 予約済みのフラグ | `0x0000ffff` | 現時点では定義されていないフラグ。トランザクションが有効になるのは、これらのフラグが無効になっている場合のみです。 | + +**注記:** [AccountSetトランザクション][]タイプには、タイプに基づくフラグと似た目的を果たす[ビット単位ではない独自のフラグ](accountset.html#accountsetのフラグ)があります。[レジャーオブジェクト](ledger-object-types.html)にも、さまざまなビット単位のフラグが定義される`Flags`フィールドがあります。 + + +## Memosフィールド + +`Memos`フィールドは、トランザクションに関する任意のメッセージデータを保持します。このフィールドは、オブジェクトの配列として表現します。各オブジェクトには唯一のフィールド`Memo`があり、このフィールドは、以下のフィールドを*1つ以上*持つ別のオブジェクトを保持しています。 + +| フィールド | 型 | [内部の型][] | 説明 | +|:-----------|:-------|:------------------|:-----------------------------------| +| MemoData | 文字列 | Blob | 通例、メモの内容を保持する任意の16進値。 | +| MemoFormat | 文字列 | Blob | URLで使用できる文字を表現する16進値。通例、メモのエンコード方法に関する情報を保持しています([MIMEタイプ](http://www.iana.org/assignments/media-types/media-types.xhtml)など)。 | +| MemoType | 文字列 | Blob | URLで使用できる文字を表現する16進値。通例、このメモのフォーマットを定義する一意の関係([RFC 5988](http://tools.ietf.org/html/rfc5988#section-4)に準拠)。 | + +MemoTypeフィールドとMemoFormatフィールドには、以下の文字のみを使用できます。 `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=%` + +`Memos`フィールドのサイズの上限は1KBです(バイナリーフォーマットでシリアル化されている場合)。 + +以下に、Memosフィールドが定義されているトランザクションの例を示します。 + +``` +{ + "TransactionType": "Payment", + "Account": "rMmTCjGFRWPz8S2zAUUoNVSQHxtRQD4eCx", + "Destination": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", + "Memos": [ + { + "Memo": { + "MemoType": "687474703a2f2f6578616d706c652e636f6d2f6d656d6f2f67656e65726963", + "MemoData": "72656e74" + } + } + ], + "Amount": "1" +} +``` + + +## Signersフィールド + +`Signers`フィールドには、最大8つのキーペアから取得された署名を保持し、トランザクションを承認するための[マルチ署名](multi-signing.html)が含まれています。`Signers`リストはオブジェクトの配列であり、各オブジェクトが1つの`Signer`フィールドを保持しています。`Signer`フィールドには、以下の入れ子フィールドがあります。 + +| フィールド | 型 | [内部の型][] | 説明 | +|:--------------|:-------|:------------------|:--------------------------------| +| Account | 文字列 | AccountID | SignerListに記述され、この署名に関連付けられているアドレス。 | +| TxnSignature | 文字列 | Blob | `SigningPubKey`を使用して検証できる、このトランザクションの署名。 | +| SigningPubKey | 文字列 | Blob | この署名の作成に使用される公開鍵。 | + +`SigningPubKey`は、`Account`アドレスに関連付けられているキーでなければなりません。参照されている`Account`が、レジャーにあり資金供給済みアカウントである場合、SigningPubKeyには、そのアカウントの現在のレギュラーキー(設定されている場合)を指定できます。また、[lsfDisableMaster](accountroot.html#accountrootフラグ)フラグが有効になっている場合を除き、そのアカウントのマスターキーを指定することもできます。参照されている`Account`アドレスが、レジャーの資金供給済みのアカウントではない場合、`SigningPubKey`は、そのアドレスに関連付けられているマスターキーでなければなりません。 + +署名の検証は大量の演算能力を消費するタスクであるため、マルチ署名済みトランザクションをネットワークに中継するには、追加のXRPがコストとしてかかります。マルチ署名に含まれている署名ごとに、トランザクションに必要な[トランザクションコスト][]が増加します。例えば、トランザクションをネットワークに中継するための現在の最小トランザクションコストが`10000`dropである場合、`Signers`配列に3つのエントリーが含まれているマルチ署名済みトランザクションを中継するには、`Fee`の値を少なくとも`40000`dropにする必要があります。 + + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-formats.ja.md b/content/references/rippled-api/transaction-formats/transaction-formats.ja.md new file mode 100644 index 0000000000..9ed731b0bd --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-formats.ja.md @@ -0,0 +1,9 @@ +# トランザクションのフォーマット + + _トランザクション_ は、XRP Ledgerを変更する唯一の方法です。[コンセンサスプロセス](consensus.html)に従って署名され、送信され、検証済みのレジャーバージョンに承認された場合にのみ、トランザクションは最終的なものになります。レジャーのルールによっては、 _[疑似トランザクション](pseudo-transaction-types.html)_ も生成されます。このトランザクションは署名も送信もされませんが、コンセンサスによって承認されなければならないことは同様です。失敗したトランザクションも、スパム対策の[トランザクションコスト][]を支払うためにXRPの残高が変更されることから、レジャーに含まれます。 + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-metadata.ja.md b/content/references/rippled-api/transaction-formats/transaction-metadata.ja.md new file mode 100644 index 0000000000..91b0ce2d9c --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-metadata.ja.md @@ -0,0 +1,33 @@ +# トランザクションのメタデータ + +トランザクションのメタデータは、トランザクションの処理後にトランザクションに追加されるひとまとまりのデータです。レジャーに記録されるトランザクションは、トランザクションが成功するかどうかにかかわらず、メタデータを保持しています。トランザクションのメタデータには、トランザクションの結果の詳細が含まれます。 + +**警告:** トランザクションのメタデータに示された変更が最終的なものになるのは、トランザクションが検証済みバージョンのレジャーに記録された場合のみです。 + +以下に、トランザクションのメタデータに含まれる可能性があるフィールドをいくつか示します。 + +| フィールド | 値 | 説明 | +|:--------------------------------------|:--------------------|:---------------| +| `AffectedNodes` | 配列 | このトランザクションで作成、削除、または修正された[レジャーオブジェクト](ledger-object-types.html)のリストと、個々のオブジェクトに対する具体的な変更内容。 | +| `DeliveredAmount` | [通貨額][] | **廃止予定。**`delivered_amount`で置き換えられます。Partial Paymentsでない場合は省略されます。 | +| `TransactionIndex` | 符号なし整数 | トランザクションが記録されているレジャーでのトランザクションの位置。この配列は0から始まります。(例えば、値が`2`の場合、そのレジャーの3番目のトランザクションであったことを意味します)。 | +| `TransactionResult` | 文字列 | トランザクションが成功したか、どのような理由で失敗したかを示す[結果コード](transaction-results.html)。 | +| [`delivered_amount`](#delivered_amount) | [通貨額][] | `Destination`アカウントが実際に受取った[通貨額][]。このフィールドは、トランザクションが[Partial Payments](partial-payments.html)であるかどうかにかかわらず、送金された金額を特定するために使用します。[新規: rippled 0.27.0][] | + +## delivered_amount + +[Paymentトランザクション][]の`Amount`。`Destination`に送金された金額を示し、トランザクションが成功すると、**[Partial Payments](partial-payments.html)であった場合を除いて、** 宛先は当該の金額を受取ります(Partial Paymentsの場合、`Amount`を上限とする正の金額が受取られます)。`Amount`フィールドを信頼するかどうかを選択するのではなく、メタデータの`delivered_amount`フィールドを使用して、宛先に実際に到達する金額を確認してください。 + +トランザクションのメタデータの`delivered_amount`フィールドは、成功したすべてのPaymentトランザクションが保持しており、フォーマットは通常の通貨額と同様です。ただし、送金額は、以下の両方の条件に該当するトランザクションについては使用できません。 + +* Partial Paymentsである +* 2014-01-20よりも前の検証済みレジャーに含まれている + +両方の条件に該当する場合、`delivered_amount`には、実際の金額ではなく文字列値`unavailable`が記述されます。この場合、トランザクションのメタデータにあるAffectedNodesを読み取ることが、実際に送金された金額を割り出せる唯一の手段になります。 + +関連項目: [Partial Payments](partial-payments.html) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/tec-codes.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/tec-codes.ja.md new file mode 100644 index 0000000000..36e3516f7b --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/tec-codes.ja.md @@ -0,0 +1,49 @@ +# tecコード + +これらのコードは、トランザクションは失敗したものの、[トランザクションコスト](transaction-cost.html)を適用するために、このトランザクションがレジャーに適用されたことを示します。100から199までの数値が含まれています。数値ではなくテキストコードの使用が推奨されます。 + +ほとんどの場合、`tec`コード付きのトランザクションは、[トランザクションコスト](transaction-cost.html)として支払われた分のXRPを消却する以外の操作は実行しませんが、いくつかの例外があります。例外として、`tecOVERSIZE`となったトランザクションは、一部の[資金供給のないオファー](offers.html#オファーのライフサイクル)を引き続きクリーンアップします。[トランザクションメタデータ](transaction-metadata.html)を常に確認し、トランザクションの実行内容を正確に把握してください。 + +**注意:** 暫定的に`tec`コードで失敗したトランザクションは、再適用後に成功するか、または別のコードで失敗する可能性があります。検証済みレジャーバージョンに記録される結果が最終結果となります。詳細は、[結果のファイナリティー](finality-of-results.html)と[信頼性の高いトランザクション送信](reliable-transaction-submission.html)を参照してください。 + +| コード | 値 | 説明 | +|:---------------------------|:------|:----------------------------------------| +| `tecCLAIM` | 100 | 不明なエラー。トランザクションコストは消却されました。 | +| `tecCRYPTOCONDITION_ERROR` | 146 | この[EscrowCreate][]トランザクションまたは[EscrowFinish][]トランザクションに指定されるCrypto-conditionの形式が誤っているか、または一致しませんでした。 | +| `tecDIR_FULL` | 121 | トランザクションがアカウントの所有者ディレクトリにオブジェクト(トラストライン、Check、Escrow、Payment Channelなど)を追加しようと試みましたが、このアカウントはレジャーにこれ以上のオブジェクトを所有できません。 | +| `tecDST_TAG_NEEDED` | 143 | [Paymentトランザクション][]の宛先タグが省略されましたが、支払先アカウントでは`lsfRequireDestTag`フラグが有効になっています。[新規: rippled 0.28.0][] | +| `tecEXPIRED` | 148 | トランザクションがオブジェクト(OfferやCheckなど)を作成しようとしましたが、そのオブジェクトで指定された有効期限がすでに経過しています。 | +| `tecFAILED_PROCESSING` | 105 | トランザクションの処理中に不明なエラーが発生しました。 | +| `tecFROZEN` | 137 | [OfferCreateトランザクション][]が失敗しました。関係する1つまたは両方の資産が[Global Freeze](freezes.html)の対象となっています。 | +| `tecINSUF_RESERVE_LINE` | 122 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](reserves.html)を参照してください)このエラーは、取引相手から同一通貨の送信側アカウントへのトラストラインがデフォルト以外の状態である場合に発生します。(その他のケースについては`tecNO_LINE_INSUF_RESERVE`を参照してください。) | +| `tecINSUF_RESERVE_OFFER` | 123 | 送信側アカウントに、新しいオファーを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](reserves.html)を参照してください。) | +| `tecINSUFFICIENT_RESERVE` | 141 | トランザクションによって[必要準備金](reserves.html)が増加し、送信側アカウントの残高を超える可能性があります。[SignerListSet][]、[PaymentChannelCreate][]、[PaymentChannelFund][]、および[EscrowCreate][]からこのエラーコードが返されることがあります。詳細は、[SignerListと準備金](signerlist.html#signerlistsと準備金)を参照してください。 | +| `tecINTERNAL` | 144 | 不明な内部エラーが発生し、トランザクションコストは適用されました。通常はこのエラーは返されません。このエラーを再現できる場合は、[問題を報告](https://github.com/ripple/rippled/issues)してください。 | +| `tecINVARIANT_FAILED` | 147 | このトランザクションを実行しようとしたところ、不変性チェックが失敗しました。[EnforceInvariants Amendment][]が必要です。このエラーを再現できる場合は、[問題を報告](https://github.com/ripple/rippled/issues)してください。 | +| `tecNEED_MASTER_KEY` | 142 | このトランザクションはマスターキーを必要とする変更([マスターキーの無効化または残高凍結能力の放棄](accountset.html#accountsetのフラグ)など)を試みました。[新規: rippled 0.28.0][] | +| `tecNO_ALTERNATIVE_KEY` | 130 | トランザクションが唯一の[トランザクション承認](transaction-basics.html#取引の承認)メソッドを削除しようとしました。これは、レギュラーキーを削除する[SetRegularKeyトランザクション][]、SignerListを削除する[SignerListSetトランザクション][]、またはマスターキーを無効にする[AccountSetトランザクション][]である可能性があります。(`rippled` 0.30.0より前のバージョンでは、このトランザクションは`tecMASTER_DISABLED`と呼ばれていました。) | +| `tecNO_AUTH` | 134 | トランザクションはトラストラインの残高を、`lsfRequireAuth`フラグが有効になっているアカウントに追加する必要がありましたが、そのトラストラインが承認されていなかったため、失敗しました。トラストラインが存在しない場合は、代わりに`tecNO_LINE`が発生します。 | +| `tecNO_DST` | 124 | トランザクションの受信側のアカウントが存在しません。これには、PaymentトランザクションタイプやTrustSetトランザクションタイプがあります。(XRPを十分に受信した場合に作成される可能性があります。) | +| `tecNO_DST_INSUF_XRP` | 125 | トランザクションの受信側のアカウントが存在しません。トランザクションは、アカウントの作成に十分なXRPを送金していません。 | +| `tecNO_ENTRY` | 140 | 将来の使用のために予約されています。 | +| `tecNO_ISSUER` | 133 | 通貨額の`issuer`フィールドに指定されたアカウントが存在しません。 | +| `tecKILLED` | 150 | [OfferCreateトランザクション][]がtfFillOrKillフラグを指定しましたが、トランザクションを確定できなかったため、このトランザクションは取り消されました。_([fix1578 Amendment][]が必要です。)_ | +| `tecNO_LINE` | 135 | [OfferCreateトランザクション][]の`TakerPays`フィールドに、`lsfRequireAuth`を有効にしているイシュアーの資産が指定されており、このオファーを行っているアカウントはその資産に関してトラストラインを確立していません。(通常、オファーを暗黙に行うと必要に応じてトラストラインが作成されますが、この場合は承認なしでは資産を保有できないので問題にはなりません。)トラストラインは存在しているが承認されていない場合は、代わりに`tecNO_AUTH`が発生します。 | +| `tecNO_LINE_INSUF_RESERVE` | 126 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](reserves.html)を参照)このエラーは、取引相手がこのアカウントに対する同一通貨のトラストラインを持っていない場合に発生します。(その他のケースについては`tecINSUF_RESERVE_LINE`を参照してください。) | +| `tecNO_LINE_REDUNDANT` | 127 | トランザクションはトラストラインをデフォルト状態に設定しようと試みましましたが、トラストラインが存在していなかったため、失敗しました。 | +| `tecNO_PERMISSION` | 139 | 送信者にはこの操作を実行する権限がありません。たとえば[EscrowFinishトランザクション][]が`FinishAfter`時刻に達する前に保留中の支払をリリースしようとしたか、送信者が所有していないChannelで誰かが[PaymentChannelFund][]を使用しようとしたか、または[Payment][]が「DepositAuth」フラグが有効になっているアカウントに資金の送金を試みました。 | +| `tecNO_REGULAR_KEY` | 131 | [AccountSetトランザクション][]がマスターキーを無効にしようとしましたが、アカウントにはマスターキー以外で[トランザクションを承認する](transaction-basics.html#取引の承認)方法がありません。[マルチ署名](multi-signing.html)が有効な場合、このコードは廃止予定であり、代わりに`tecNO_ALTERNATIVE_KEY`が使用されます。 | +| `tecNO_TARGET` | 138 | トランザクションが参照するEscrowレジャーオブジェクトまたはPayChannelレジャーオブジェクトが存在していません。これらのオブジェクトは、これまでに存在したことがないか、すでに削除されています。(たとえば、別の[EscrowFinishトランザクション][]で保留中の支払がすでに実行されている場合などです。)あるいは、支払先アカウントで`asfDisallowXRP`が設定されているため、このアカウントは[PaymentChannelCreate][]トランザクションまたは[EscrowCreate][]トランザクションの宛先に指定できません。 | +| `tecOVERSIZE` | 145 | サーバーがこのトランザクションの適用時に大量のメタデータを作成したため、このトランザクションを処理できませんでした。[新規: rippled 0.29.0-hf1][] | +| `tecOWNERS` | 132 | トランザクションでは、トランザクションを送信するアカウントの「所有者カウント」はゼロ以外である必要があります。このためトランザクションを正常に完了できません。たとえば、トラストラインや使用可能なオファーがあるアカウントでは、[`lsfRequireAuth`](accountset.html#accountsetのフラグ)フラグを有効にできません。 | +| `tecPATH_DRY` | 128 | トランザクションが失敗しました。指定されたパスに、送信の実行に十分な流動性がありませんでした。つまり、支払元アカウントと支払先アカウントはトラストラインにより関連付けされていません。 | +| `tecPATH_PARTIAL` | 101 | トランザクションが失敗しました。指定されたパスに、全額を送金するのに十分な流動性がありませんでした。 | +| `tecUNFUNDED` | 129 | トランザクションが失敗しました。アカウントがトランザクションの支払額に十分なXRPを保有しておらず、 _かつ_ このトランザクションを実行するのに追加で必要となる準備金が不足しています。([準備金](reserves.html)を参照してください。) | +| `tecUNFUNDED_ADD` | 102 | **廃止予定。** | +| `tecUNFUNDED_PAYMENT` | 104 | 送信側アカウントが準備金を考慮せずに、保有するXRPを超える額の送信を試みたため、トランザクションが失敗しました。([準備金](reserves.html)を参照してください。) | +| `tecUNFUNDED_OFFER` | 103 | [OfferCreateトランザクション][]が失敗しました。オファーの作成元アカウントに`TakerGets` 通貨がありません。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/tef-codes.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/tef-codes.ja.md new file mode 100644 index 0000000000..242d1e96cd --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/tef-codes.ja.md @@ -0,0 +1,31 @@ +# tefコード + +これらのコードは、トランザクションが失敗してレジャーに記録されなかったが、一部の理論上のレジャーでは正常に完了できた可能性があることを示します。通常これは、このトランザクションが今後すべてのレジャーで正常に完了できないことを意味します。-199から-100までの数値が含まれています。特定のエラーを示すコードは変更される可能性があるので、コードを使用しないでください。 + +**注意:** `tef`コードが付いているトランザクションはレジャーには適用されません。またこのようなトランザクションが原因でXRP Ledgerの状態が変わることはありません。ただし、暫定的に失敗したトランザクションは、再適用後に成功するか、または別のコードで失敗する可能性があります。詳細は、[結果のファイナリティー](finality-of-results.html)と[信頼性の高いトランザクション送信](reliable-transaction-submission.html)を参照してください。 + +| コード | 説明 | +|:-----------------------|:----------------------------------------------------| +| `tefALREADY` | まったく同一のトランザクションがすでに適用されています。 | +| `tefBAD_ADD_AUTH` | **廃止予定。** | +| `tefBAD_AUTH` | このアカウントの署名に使用したキーには、このアカウントを変更する権限がありません。(このアカウントが[レギュラーキー](cryptographic-keys.html)として同じキーセットを持っている場合は変更が承認される可能性があります。) | +| `tefBAD_AUTH_MASTER` | このトランザクションを承認するために指定された1つの署名がマスターキーと一致していませんが、このアドレスに関連付けられているレギュラーキーもありません。 | +| `tefBAD_LEDGER` | トランザクションの処理中に、レジャーが予期しない状態にあることが検出されました。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 | +| `tefBAD_QUORUM` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、そこに含まれるすべての署名の重みの合計が定数を満たしていません。 | +| `tefBAD_SIGNATURE` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、送信側アカウントに関連付けられているSignerListにないアドレスの署名が含まれていました。 | +| `tefCREATED` | **廃止予定。** | +| `tefEXCEPTION` | トランザクションの処理中に、サーバーが予期しない状態になりました。この状態は、予期しない入力(トランザクションのバイナリーデータの形式が大幅に誤っている場合など)が原因となった可能性があります。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 | +| `tefFAILURE` | トランザクション適用中の不明な障害。 | +| `tefINTERNAL` | トランザクションの適用を試みた際に、サーバーが予期しない状態になりました。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 | +| `tefINVARIANT_FAILED` | [トランザクションコスト](transaction-cost.html)を請求しようとしたところ、不変性チェックが失敗しました。[EnforceInvariants Amendment][]が必要です。このエラーを再現できる場合は、[問題を報告](https://github.com/ripple/rippled/issues)してください。 | +| `tefMASTER_DISABLED` | トランザクションはアカウントのマスターキーで署名されていましたが、アカウントに`lsfDisableMaster`フィールドが設定されていました。 | +| `tefMAX_LEDGER` | トランザクションには[`LastLedgerSequence`](reliable-transaction-submission.html#lastledgersequence)パラメーターが指定されていましたが、現在のレジャーのシーケンス番号はすでに指定値を上回っています。 | +| `tefNO_AUTH_REQUIRED` | [TrustSetトランザクション][]がトラストラインを承認済みとしてマークしようとしましたが、対応するアカウントに対して`lsfRequireAuth`フラグが有効になっていないため、承認は不要です。 | +| `tefNOT_MULTI_SIGNING` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、送信側アカウントでSignerListが定義されていません。 | +| `tefPAST_SEQ` | トランザクションのシーケンス番号は、トランザクションの送信元アカウントの現在のシーケンス番号よりも小さい番号です。 | +| `tefWRONG_PRIOR` | トランザクションに`AccountTxnID`フィールド(または廃止予定の`PreviousTxnID`フィールド)が含まれていますが、このフィールドに指定されているトランザクションはアカウントの前のトランザクションに一致しません。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/tel-codes.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/tel-codes.ja.md new file mode 100644 index 0000000000..c9088327e1 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/tel-codes.ja.md @@ -0,0 +1,26 @@ +# telコード + +これらのコードは、トランザクションを処理するローカルサーバーでのエラーを示します。構成や負荷レベルが異なる別のサーバーでは同じトランザクションが正常に処理される場合があります。-399から-300までの数値が含まれています。実際のエラーに対して数値は変更される可能性がありますので、これに頼らないでください。 + +**注意:** `tel`コードが付いているトランザクションはレジャーには適用されません。またこのようなトランザクションが原因でXRP Ledgerの状態が変わることはありません。ただし、暫定的に失敗したトランザクションは、再適用後に成功するか、または別のコードで失敗する可能性があります。詳細は、[結果のファイナリティー](finality-of-results.html)と[信頼性の高いトランザクション送信](reliable-transaction-submission.html)を参照してください。 + +| コード | 説明 | +|:----------------------|:-----------------------------------------------------| +| `telBAD_DOMAIN` | トランザクションで指定されたドメイン値([AccountSetトランザクション][]の`Domain`フィールドなど)は、レジャーに保管するには長すぎるために使用できません。 | +| `telBAD_PATH_COUNT` | トランザクションに含まれているパスが多過ぎるため、ローカルサーバーが処理できません。 | +| `telBAD_PUBLIC_KEY` | トランザクションで指定された公開鍵値([AccountSetトランザクション][]の`MessageKey`フィールドなど)は長すぎるために使用できません。 | +| `telCAN_NOT_QUEUE` | このトランザクションは[オープンレジャーコスト](transaction-cost.html)を満たしていませんが、[キュー制限](transaction-queue.html#キューの制約事項)を満たしていなかったため、サーバーはこのトランザクションをキューに入れませんでした。たとえば、送信者のキューにすでに10個のトランザクションが入っている場合には、トランザクションからこのコードが返されます。後で再試行するか、`Fee`フィールドに高いコストを指定して代わりのトランザクションに署名して送信することができます。 | +| `telCAN_NOT_QUEUE_BALANCE` | トランザクションが[オープンレジャーコスト](transaction-cost.html)を満たしておらず、またすでにキューに入っているトランザクションの予測XRPコストの合計が、アカウントの予想残高よりも大きいために、このトランザクションはトランザクションキューに追加されませんでした。後で再試行するか、別のサーバーへの送信を試みることができます。[新規: rippled 0.70.2][] | +| `telCAN_NOT_QUEUE_BLOCKS` | トランザクションは[オープンレジャーコスト](transaction-cost.html)を満たしておらず、トランザクションキューにも追加されませんでした。このトランザクションはキュー内の既存のトランザクションを置き換えることができませんでした。これは、認証メソッドを変更することで、すでにキューに入っている同じ送信者からのトランザクションがブロックされる可能性があるためです。(これには[SetRegularKey][]トランザクションと[SignerListSet][]トランザクションのすべて、およびRequireAuth/OptionalAuth、DisableMaster、AccountTxnIDフラグを変更する[AccountSet][]トランザクションなどがあります。)後で再試行するか、別のサーバーへの送信を試みることができます。[新規: rippled 0.70.2][] | +| `telCAN_NOT_QUEUE_BLOCKED` | トランザクションが[オープンレジャーコスト](transaction-cost.html)を満たしておらず、トランザクションキューにも追加されませんでした。これは、このトランザクションの前にキューに入れられた同じ送信者のトランザクションによってブロックされるためです。(これには[SetRegularKey][]トランザクションと[SignerListSet][]トランザクションのすべて、およびRequireAuth/OptionalAuth、DisableMaster、AccountTxnIDフラグを変更する[AccountSet][]トランザクションなどがあります。)後で再試行するか、別のサーバーへの送信を試みることができます。[新規: rippled 0.70.2][] | +| `telCAN_NOT_QUEUE_FEE` | トランザクションは[オープンレジャーコスト](transaction-cost.html)を満たしておらず、トランザクションキューにも追加されませんでした。このコードは、送信者とシーケンス番号が同じトランザクションがすでにキューに入れられており、新しいトランザクションが、既存のトランザクションを置き換えるのに十分なトランザクションコストを支払わない場合に発生します。キュー内のトランザクションを置き換えるには、新しいトランザクションの`Fee`値に25%以上の上乗せ([手数料レベル](transaction-cost.html#手数料レベル)で評価)が必要となります。`Fee`の値を大きくして再試行するか、大きな数字の`Sequence`番号でこのトランザクションを送信して既存のトランザクションを置き換えないようにするか、別のサーバーへ送信を試みることができます。[新規: rippled 0.70.2][] | +| `telCAN_NOT_QUEUE_FULL` | このトランザクションは[オープンレジャーコスト](transaction-cost.html)を満たしておらず、またこのサーバーのトランザクションキューが一杯であるため、サーバーはこのトランザクションをキューに入れませんでした。`Fee`の値を大きくして再試行するか、後で試してみるか、別のサーバーへの送信を試みることができます。新しいトランザクションのトランザクションコスト([手数料レベル](transaction-cost.html#手数料レベル)で評価)は、キュー内でトランザクションコストが最も低いトランザクションよりも高くなければなりません。[新規: rippled 0.70.2][] | +| `telFAILED_PROCESSING` | トランザクションの処理中に不明なエラーが発生しました。 | +| `telINSUF_FEE_P` | トランザクションの`Fee`が、サーバーの負荷レベルに基づいて定められるサーバーの現在の[トランザクションコスト](transaction-cost.html)要件を満たすのに十分な値ではありあません。 | +| `telLOCAL_ERROR` | 不明なローカルエラー。 | +| `telNO_DST`_`PARTIAL` | トランザクションは、新しいアカウントに資金を供給するXRPの支払ですが、[tfPartialPaymentフラグ](partial-payments.html)が有効になっていました。これは許可されていません。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/tem-codes.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/tem-codes.ja.md new file mode 100644 index 0000000000..90bbd9d096 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/tem-codes.ja.md @@ -0,0 +1,47 @@ +# temコード + +これらのコードは、トランザクションの形式が正しくないため、XRP Ledgerプロトコルに基づきトランザクションが正常に完了しないことを示します。これらには-299から-200までの数値が含まれています。実際のエラーに対して数値は変更される可能性がありますので、これに頼らないでください。 + +**ヒント:** `tem`コードが付いているトランザクションはレジャーには適用されません。またこのようなトランザクションが原因でXRP Ledgerの状態が変わることはありません。有効なトランザクションに関するルールが変更されない限り、`tem`コードが最終的な結果となります。(例えば、[Amendment](amendments.html)の有効化前に当該のAmendmentの機能を使用すると`temDISABLED`になります。後日Amendmentが有効化されると、エラーになったトランザクションは有効となり、正常に処理される可能性があります。) + +| コード | 説明 | +|:-----------------------------|:----------------------------------------------| +| `temBAD_AMOUNT` | トランザクションにより指定された額(宛先への[Payment][]の`Amount`または`SendMax`の金額など)が無効でした。マイナスの金額が指定された可能性があります。 | +| `temBAD_AUTH_MASTER` | このトランザクションの署名に使用されたキーが、トランザクションの送信元アカウントのマスターキーと一致していません。また、アカウントに[レギュラーキー](cryptographic-keys.html)セットがありません。 | +| `temBAD_CURRENCY` | トランザクションの通貨フィールドが誤って指定されています。正しいフォーマットについては、[通貨額の指定][Currency Amount]を参照してください。 | +| `temBAD_EXPIRATION` | トランザクションの有効期限の値が誤って指定されています([OfferCreateトランザクション][]など)。あるいは、トランザクションに必須の有効期限値が指定されていません(例えば、[EscrowCreateトランザクション][]の作成過程などで)。 | +| `temBAD_FEE` | トランザクションで`Fee`の値が誤って指定されています(例えば、XRP以外の通貨やマイナスの額のXRPを指定するなど)。 | +| `temBAD_ISSUER` | 要求に指定されている通貨の`issuer`フィールドが、トランザクションにて誤って指定されています。 | +| `temBAD_LIMIT` | [TrustSetトランザクション][]でトラストラインの`LimitAmount`値が誤って指定されています。 | +| `temBAD_OFFER` | [OfferCreateトランザクション][]で無効なオファーが指定されています(XRPをXRP自身と取引するオファー、マイナスの額のオファーなど)。 | +| `temBAD_PATH` | [Paymentトランザクション][]の1つ以上の[パス](paths.html)が誤って指定されています。例えば、XRPのイシュアーが含まれていたり、アカウントが異なる方法で指定されたりするなど。 | +| `temBAD_PATH_LOOP` | [Paymentトランザクション][]で[パス](paths.html)の1つがループとしてマークされているため、限られた時間内に処理できません。 | +| `temBAD_SEND_XRP_LIMIT` | [Paymentトランザクション][]で、XRP間の直接支払に[tfLimitQuality](payment.html#クオリティの制限)フラグが使用されましたが、XRP間の支払いでは通貨の取引は行われません。 | +| `temBAD_SEND_XRP_MAX` | [Payment トランザクション][]で、XRP間の直接支払に`SendMax`フィールドが指定されていますが、XRPの送金ではSendMaxは不要です。(SendMaxでXRPが有効となるのは、宛先への`Amount`がXRPではない場合のみです。) | +| `temBAD_SEND_XRP_NO_DIRECT` | [Paymentトランザクション][]で、XRP間の直接支払に[tfNoDirectRipple](payment.html#paymentのフラグ)フラグが使用されていますが、XRP間の支払いは常に直接行われます。 | +| `temBAD_SEND_XRP_PARTIAL` | [Paymentトランザクション][]で、XRP間の直接支払に [tfPartialPayment](partial-payments.html)フラグが使用されていますが、XRP間の直接支払では常に全額が送金されます。 | +| `temBAD_SEND_XRP_PATHS` | [Paymentトランザクション][]で、XRP送金時の`Paths`が指定されていますが、XRP間の支払いは常に直接行われます。 | +| `temBAD_SEQUENCE` | トランザクションは、トランザクション自体の`Sequence`番号よりも大きいシーケンス番号を参照します。例えば、取り消したいオファーは、そのオファーを取り消すトランザクションよりも後に置く必要があります。 | +| `temBAD_SIGNATURE` | このトランザクションを承認するための署名がないか、または署名の形式が適切ではありません。(適切な形式の署名がアカウントで承認されない場合は、[tecNO_PERMISSION](tec-codes.html)を参照してください。) | +| `temBAD_SRC_ACCOUNT` | このトランザクションの送信元の`Account`(「支払元アカウント」)の[アカウント](accounts.html)アドレスは適切な形式ではありません。 | +| `temBAD_TRANSFER_RATE` | [AccountSetトランザクションの`TransferRate`フィールド](accountset.html#transferrate)のフォーマットが適切ではないか、または許容範囲外です。 | +| `temCANNOT_PREAUTH_SELF` | [DepositPreauthトランザクション][]の送信者は、事前承認対象のアカウントとしても指定されていました。自分自身を事前承認することはできません。 | +| `temDST_IS_SRC` | トランザクションで宛先アドレスがトランザクションの送信元`Account`として誤って指定されていました。これにはトラストライン(支払先アドレスは`LimitAmount`の`issuer`フィールド)とPayment Channel(支払先アドレスは`Destination`フィールド)などがあります。 | +| `temDST_NEEDED` | トランザクションで宛先が誤って省略されていました。これは、[Paymentトランザクション][]の`Destination`フィールド、または`TrustSet`トランザクションの`LimitAmount`フィールドの`issuer`サブフィールドで起こり得ます。 | +| `temINVALID` | その他の理由により、トランザクションは無効です。例えば、トランザクションIDのフォーマットや署名の形式が正しくないなど、トランザクションを解釈する過程で何らかの誤った処理が発生した可能性があります。 | +| `temINVALID_FLAG` | トランザクションに指定されている[フラグ](transaction-common-fields.html#flagsフィールド)が存在していないか、または矛盾するフラグの組み合わせが指定されています。 | +| `temMALFORMED` | トランザクションのフォーマットで不明な問題が発生しました。 | +| `temREDUNDANT` | トランザクションは処理を行いません。例えば、送信側アカウントに支払いを直接送金する場合や、同一イシュアーの同一通貨を売買するオファーを作成する場合などです。 | +| `temREDUNDANT_SEND_MAX` | [削除: rippled 0.28.0][] | +| `temRIPPLE_EMPTY` | [Paymentトランザクション][]に指定されている`Paths`フィールドが空ですが、この支払いを完了するにはパスが必要です。 | +| `temBAD_WEIGHT` | [SignerListSetトランザクション][]に無効な`SignerWeight`が指定されています。例えば、0やマイナス値など。 | +| `temBAD_SIGNER` | [SignerListSetトランザクション][]に指定されている署名者が無効です。例えば、重複するエントリが指定されている場合や、SignerListの所有者がメンバーでもある場合などです。 | +| `temBAD_QUORUM` | [SignerListSetトランザクション][]に無効な`SignerQuorum`値が指定されています。この値が0以下であるか、またはリストのすべての署名者の合計数を超えています。 | +| `temUNCERTAIN` | 内部使用のみ。通常はこのコードは返されません。 | +| `temUNKNOWN` | 内部使用のみ。通常はこのコードは返されません。 | +| `temDISABLED` | このトランザクションには、無効化されているロジックが必要です。通常これは、現行レジャー向けに有効化されていない[Amendment](amendments.html)を使用しようとしていることを意味します。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/ter-codes.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/ter-codes.ja.md new file mode 100644 index 0000000000..25c0b82e98 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/ter-codes.ja.md @@ -0,0 +1,24 @@ +# terコード + +これらのコードは、トランザクションは失敗したけれども、将来そのトランザクションを正常に適用できる可能性があることを示します。通常は、他の仮定トランザクションが先に適用される場合など。これらには-99から-1までの数値が含まれています。実際のエラーに対して数値は変更される可能性がありますので、これに頼らないでください。 + +**注意:** `ter`コードが付いているトランザクションはレジャーには適用されません。またこのようなトランザクションが原因でXRP Ledgerの状態が変わることはありません。ただし、暫定的に失敗したトランザクションは、再適用後に成功するか、または別のコードで失敗する可能性があります。詳細は、[結果のファイナリティー](finality-of-results.html)と[信頼性の高いトランザクション送信](reliable-transaction-submission.html)を参照してください。 + +| コード | 説明 | +|:-----------------|:----------------------------------------------------------| +| `terFUNDS_SPENT` | **廃止予定。** | +| `terINSUF_FEE_B` | トランザクションの送信元アカウントに、トランザクションに指定されている`Fee`の支払いに十分なXRPがありません。 | +| `terLAST` | 内部使用のみ。通常はこのコードは返されません。 | +| `terNO_ACCOUNT` | レジャーのトランザクション送信元アドレスに(まだ)資金が供給されていません。 | +| `terNO_AUTH` | トランザクションでは、`lsfRequireAuth`が有効であるアカウントが発行した通貨を未承認のトラストラインに追加する操作が行われます。たとえば、保有が許可されていない通貨を購入するオファーを出した場合などです。 | +| `terNO_LINE` | 内部使用のみ。通常はこのコードは返されません。 | +| `terNO_RIPPLE` | 内部使用のみ。通常はこのコードは返されません。 | +| `terOWNERS` | トランザクションでは、トランザクションを送信するアカウントの「所有者カウント」はゼロ以外である必要があります。このためトランザクションを正常に完了できません。たとえば、トラストラインや使用可能なオファーがあるアカウントでは、[`lsfRequireAuth`](accountset.html#accountsetのフラグ)フラグを有効にできません。 | +| `terPRE_SEQ` | 現在のトランザクションの`Sequence`番号が、トランザクションを送信するアカウントの現在のシーケンス番号よりも大きな番号です。 | +| `terRETRY` | 再試行可能な不明なエラー。 | +| `terQUEUED` | トランザクションは負荷スケーリングされた[トランザクションコスト](transaction-cost.html)の要件を満たしているが、オープンレジャーの要件を満たしていなかったため、トランザクションは将来のレジャーのキューに入れられました。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/tes-success.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/tes-success.ja.md new file mode 100644 index 0000000000..42ff2476dc --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/tes-success.ja.md @@ -0,0 +1,12 @@ +# tes Success + +`tesSUCCESS`コードは、トランザクションが成功したことを示す唯一のコードです。このコードは、必ずしも処理が期待どおりに終了したことを示すものではありません。(たとえば[OfferCancel][]は、キャンセルするオファーがない場合でも「正常に終了」できます。)`tesSUCCESS`の結果には数値0が使用されます。 + +| コード | 説明 | +|:-----------|:----------------------------------------------------------------| +| `tesSUCCESS` | トランザクションが適用され、他のサーバーに転送されました。検証済みレジャーにこのコードが記録されている場合は、トランザクションの成功が最終的な結果となります。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.ja.md b/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.ja.md new file mode 100644 index 0000000000..81a357a6f6 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.ja.md @@ -0,0 +1,48 @@ +# 取引の結果 + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/protocol/TER.h "ソース") + +`rippled`サーバーは、取引結果の要約を結果コードで示し、結果コードは`engine_result`や`meta.TransactionResult`などのフィールドに記述されます。これらのコードは、それぞれ異なるプレフィクスを付加した複数のカテゴリーに分類されます。 + +| カテゴリー | プレフィクス | 説明 | +|:----------------------|:------------------------|:---------------------------| +| コストの請求のみ | [tec](tec-codes.html) | トランザクションは意図された目的を果さず、[トランザクションコスト](transaction-cost.html)は消却されました。この結果が最終的なものになるのは、検証済みレジャーに記録された場合のみです。 | +| 失敗 | [tef](tef-codes.html) | サーバーの現在の(進行中の)レジャーまたはその後のレジャーに対して、トランザクションを適用できません。すでに適用されているか、レジャーの状態が原因となって、将来の適用が不可能になっています。 | +| ローカルエラー | [tel](tel-codes.html) | 負荷が高いなど、ローカルの状態が原因となって、`rippled`サーバーでエラーが発生しました。サーバーまたは時間を変えて再送信すると、別の応答を得られる可能性があります。 | +| 形式が正しくないトランザクション | [tem](tem-codes.html) | 構文が誤っている、オプションが互いに矛盾している、署名が不正であるなどの原因で、トランザクションが無効になっています。 | +| 再試行 | [ter](ter-codes.html) | トランザクションを適用できませんでしたが、後ほど適用できる可能性があります。 | +| 成功 | [tes](tes-success.html) | (エラーではありません)トランザクションは成功しました。この結果が最終的なものになるのは、検証済みレジャーに記録された場合のみです。 | + +**警告:** トランザクションの暫定的な結果コードは、最終的な結果とは異なるものになる場合があります。暫定的に成功とされたトランザクションが最終的に失敗する場合や、暫定的に失敗とされたトランザクションが最終的に成功する場合もあります。暫定的に失敗とされたトランザクションが、最終的に別のコードで失敗とされる場合もあります。トランザクションの結果が最終的なものとなるタイミングを判断する方法については、[結果のファイナリティー](finality-of-results.html)を参照してください。 + +ローカルエラー(`tel`)と形式が正しくないトランザクション(`tem`)の違いは、プロトコルレベルでのルールの問題です。例えば、トランザクションに含めることができるパスの最大数について、プロトコルでは上限が設定されていないとします。一方、サーバーでは、処理できるパスの数について上限を定義している場合があります。2つのサーバーがあり、設定がそれぞれ異なっている場合、一方はパスが多いという理由でトランザクションの`tel`エラーを返すのに対して、他方のサーバーではトランザクションが正常に処理されることもあります。コンセンサスを獲得したトランザクションを処理できるサーバーが十分にある場合、検証済みレジャーに含まれる可能性はあります。 + +これに対して、`tem`エラーは、設定にかかわらずトランザクションを適用できるサーバーが存在しないことを示唆しています。トランザクションがプロトコルのルールに違反しているか、許容限度を超えてあいまいであるか、完全に無意味なものになっています。形式が正しくないトランザクションが有効なものになる可能性があるのは、プロトコルに変更が生じた場合のみです。例えば、新しい機能が採用された場合、当該の機能を使用するトランザクションは、当該の機能がまだ採用されていない古いソフトウェアを実行しているサーバーによって、形式が正しくないと見なされる可能性があります。 + + +## 即時の応答 + +[submitメソッド][]から返される応答には、トランザクションのローカル処理中に発生した事項を示す、`rippled`サーバーからの暫定的な結果が含まれています。 + +`submit`からの応答に含まれているのは、以下のフィールドです。 + +| フィールド | 値 | 説明 | +|:------------------------|:---------------|:----------------------------------| +| `engine_result` | 文字列 | 結果を分類するコード。例: `tecPATH_DRY` | +| `engine_result_code` | 符号付き整数 | `engine_result`に対応する数値。値そのものは変更される可能性があります。 | +| `engine_result_message` | 文字列 | 発生した事項を説明する、人間が読める形式のメッセージ。このメッセージは、問題を診断する目的で開発者に利用されることを想定したものであり、通知なく変更される可能性があります。 | + +トランザクションをローカルで送信して適用した時点で問題がない場合、応答は以下のような内容になります。 + +```js + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied.Only final in a validated ledger." +``` + +**注記:** この段階で成功の結果が表示されたとしても、トランザクションが完全に成功したことを示すわけではありません。ローカルのサーバーに保持されている暫定バージョンのレジャーに対して、正常に適用されたにすぎません。この段階での失敗の結果も、暫定的なものであり変化する可能性があります。詳細は、[結果のファイナリティー](finality-of-results.html)を参照してください。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/transaction-formats/transaction-types/accountset.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/accountset.ja.md new file mode 100644 index 0000000000..6064e0cbd9 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/accountset.ja.md @@ -0,0 +1,116 @@ +# AccountSet + +[[ソース]
](https://github.com/ripple/rippled/blob/f65cea66ef99b1de149c02c15f06de6c61abf360/src/ripple/app/transactors/SetAccount.cpp "ソース") + +AccountSetトランザクションは、[XRP Ledgerのアカウント](accountroot.html)のプロパティーを修正します。 + +## {{currentpage.name}}のJSONの例 + +```json +{ + "TransactionType": "AccountSet", + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Fee": "12", + "Sequence": 5, + "Domain": "6578616D706C652E636F6D", + "SetFlag": 5, + "MessageKey": "rQD4SqHJtDxn5DDL7xNnojNa3vxS1Jx5gv" +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-----------------|:-----------------|:------------------|:-------------------| +| [ClearFlag][] | 数値 | UInt32 | _(省略可)_ このアカウントについてオプションを無効にするためのフラグの一意識別子。 | +| [Domain][] | 文字列 | Blob | _(省略可)_ このアカウントを保有するドメインのASCII小文字を表現する16進文字列。 | +| EmailHash | 文字列 | Hash128 | _(省略可)_ アバターイメージの生成に使用されるメールアドレスのハッシュ。一般的に、クライアントは[Gravatar](http://en.gravatar.com/site/implement/hash/)を使用してこのイメージを表示しています。 | +| MessageKey | 文字列 | Blob | _(省略可)_ 暗号化されたメッセージをこのアカウントに送信するための公開鍵。 | +| [SetFlag][] | 数値 | UInt32 | _(省略可)_ このアカウントについてオプションを有効にするための整数フラグ。 | +| [TransferRate][] | 符号なし整数 | UInt32 | _(省略可)_ ユーザーがこのアカウントの発行済み通貨を送金するときに請求される手数料。通貨単位の10億分の1で表現されます。手数料なしを意味する特殊なケースの`0`を除いて、`2000000000`より大きくしたり、`1000000000`より小さくしたりすることはできません。 | +| [TickSize][] | 符号なし整数 | UInt8 | _(省略可)_このアドレスによって発行されている通貨が関係するオファーに使用する為替レートの呼値の単位。それらのオファーの為替レートは、この有効桁数へと丸められます。有効な値は`3`から`15`、または無効にするための`0`です_([TickSize Amendment][]が必要です)。_ | +| WalletLocator | 文字列 | Hash256 | _(省略可)_ 使用されません。 | +| WalletSize | 数値 | UInt32 | _(省略可)_ 使用されません。 | + +[ClearFlag]: #accountsetのフラグ +[Domain]: #domain +[SetFlag]: #accountsetのフラグ +[TickSize]: ticksize.html +[TransferRate]: accountset.html#transferrate + +これらのオプションがいずれも指定されていない場合、AccountSetトランザクションは(取引コストの消却以外に)意味がありません。詳細は、[トランザクションのキャンセルまたはスキップ](cancel-or-skip-a-transaction.html)を参照してください。 + +## Domain + +`Domain`フィールドは、ドメインのASCII小文字を表す16進文字列で表現します。例えば、ドメイン*example.com*は`"6578616D706C652E636F6D"`として表現します。 + +`Domain`フィールドをアカウントから削除するには、Domainを空文字列に設定してAccountSetを送信します。 + +アカウントの`Domain`フィールドには任意のドメインを挿入できます。アカウントとドメインが同一の人物または企業に属していることを証明するには、「双方向リンク」を確立することをお勧めします。 + +- 所有するアカウントに対して、所有するドメインを`Domain`フィールドで設定します。 +- そのドメインのWebサイトで、所有アカウントをリストするテキストファイルをホスティングし、必要に応じて、XRP Ledgerの用途に関するその他の情報も記述します。慣例上、このファイルの名前は`ripple.txt`とします。例については、を参照してください。 + **注意:** 中間者攻撃を防止するには、最新のTLS証明書を使用してHTTPSでWebサイトを提供します。 + +## AccountSetのフラグ + +アカウントについて、有効または無効にできる複数のオプションが用意されています。アカウントのオプションは、状況に応じてさまざまなタイプのフラグで表現します。 + +* `AccountSet`タイプのトランザクションについては、`SetFlag`パラメーターとして渡すことでオプションを有効にしたり、`ClearFlag`パラメーターとして渡すことでオプションを無効にしたりできる複数の「AccountSetフラグ」が用意されています(プレフィクスは**asf**)。 +* `AccountSet`タイプのトランザクションについては、`Flags`パラメーターとして渡すことでアカウントの特定のオプションを有効または無効にできる複数のトランザクションフラグが用意されています(プレフィクスは**tf**)。このタイプの利用はお勧めしません。新しいアカウントオプションには、対応するトランザクションフラグ(tf)が存在しません。 +* `AccountRoot`レジャーオブジェクトタイプには、レジャー固有のフラグが用意されています(プレフィクスは**lsf**)。これらのフラグは、特定のレジャーに含まれている特定のアカウントオプションの状態を表します。これらの設定は、トランザクションによって変更されるまで適用されます。 + +アカウントのフラグを有効または無効にする手段としてお勧めするのは、AccountSetトランザクションの`SetFlag`パラメーターと`ClearFlag`パラメーターを使用する方法です。AccountSetのフラグは、名前が**asf**で始まります。 + +どのフラグも、デフォルトでは無効になっています。 + +使用できるAccountSetのフラグは、以下のとおりです。 + +| フラグの名前 | 10進値 | 対応するレジャーフラグ | 説明 | +|:-----------------|:--------------|:--------------------------|:--------------| +| asfAccountTxnID | 5 | (なし) | このアカウントの直近のトランザクションのIDを追跡します。[AccountTxnID](transaction-common-fields.html#accounttxnid)については必須です。 | +| asfDefaultRipple | 8 | lsfDefaultRipple | このアカウントのトラストラインでの[リップリング](rippling.html)をデフォルトで有効にします。[新規: rippled 0.27.3][] | +| asfDepositAuth | 9 | lsfDepositAuth | このアカウントに対して[Deposit Authorization](depositauth.html)を有効にします _([DepositAuth Amendment][]が必要)。_ | +| asfDisableMaster | 4 | lsfDisableMaster | マスターキーペアの使用を禁止します。[レギュラーキー](cryptographic-keys.html)や[署名者リスト](multi-signing.html)など、トランザクションに署名するための別の手段がアカウントで設定されている場合のみ有効にできます。 | +| asfDisallowXRP | 3 | lsfDisallowXRP | XRPがこのアカウントに送信されないようにします(`rippled`ではなくクライアントアプリケーションによって履行されます)。 | +| asfGlobalFreeze | 7 | lsfGlobalFreeze | このアカウントによって発行されたすべての資産を[凍結](freezes.html)します。 | +| asfNoFreeze | 6 | lsfNoFreeze | [個々のトラストラインの凍結またはGlobal Freezeの無効化](freezes.html)の機能を永続的に放棄します。このフラグは、有効にした後は無効にできません。 | +| asfRequireAuth | 2 | lsfRequireAuth | このアドレスによって発行された残高をユーザーが保持することについて、承認を要求します。アドレスにトラストラインが接続されていない場合のみ有効にできます。 | +| asfRequireDest | 1 | lsfRequireDestTag | トランザクションをこのアカウントに送信するための宛先タグを要求します。 | + +`asfDisableMaster`フラグまたは`asfNoFreeze`フラグを有効にするには、マスターキーペアで署名することによって[トランザクションを承認](transaction-basics.html#取引の承認)する必要があります。レギュラーキーペアやマルチ署名を使用することはできません。レギュラーキーペアまたはマルチ署名を使用すると、`asfDisableMaster`を無効にする(つまり、マスターキーペアを再び有効にする)ことができます。[新規: rippled 0.28.0][] + +以下の[トランザクションフラグ](transaction-common-fields.html#flagsフィールド)はAccountSetタイプのトランザクションに固有のもので、同様の目的を果たしますが、使用することはお勧めしません。 + +| フラグの名前 | 16進値 | 10進値 | 後継のAccountSetのフラグ | +|:------------------|:-----------|:--------------|:----------------------------| +| tfRequireDestTag | 0x00010000 | 65536 | asfRequireDest(SetFlag) | +| tfOptionalDestTag | 0x00020000 | 131072 | asfRequireDest(ClearFlag) | +| tfRequireAuth | 0x00040000 | 262144 | asfRequireAuth(SetFlag) | +| tfOptionalAuth | 0x00080000 | 524288 | asfRequireAuth(ClearFlag) | +| tfDisallowXRP | 0x00100000 | 1048576 | asfDisallowXRP(SetFlag) | +| tfAllowXRP | 0x00200000 | 2097152 | asfDisallowXRP(ClearFlag) | + +**注意:** トランザクションに含まれている`tf`フラグと`asf`フラグの数値は、レジャーに含まれている静的なアカウントに設定された値と合致しません。レジャーに含まれているアカウントのフラグを読み取るには、[`AccountRoot`フラグ](accountroot.html#accountrootフラグ)を参照してください。 + + +### 着信トランザクションのブロック + +目的が不明確な着信トランザクションは、顧客による誤りを識別し、誤りに応じて、アカウントへの払い戻しや残高の調整を実施しなければならない場合がある金融機関にとって、不都合な存在です。`asfRequireDest`フラグと`asfDisallowXRP`フラグは、理由が不明確な状態で資金が誤って送金されることのないよう、ユーザーを保護することを目的としています。 + +例えば、宛先タグは通常、金融機関が支払いを受領したときに、保有しているどの残高に入金するのかを識別するために使用されます。宛先タグが省略されていると、入金先のアカウントが明確でない場合があり、払い戻しが必要になるなどの問題が発生します。`asfRequireDest`タグを使用すると、着信するすべての支払いに宛先タグが必ず設定され、他のユーザーから、宛先の不明な支払いが誤って送金される問題が発生しにくくなります。 + +XRP以外の通貨に関しては、それらの通貨のトラストラインを作成しないことで、無用な支払いの受入れを防止できます。XRPでは信頼が必須ではないことから、ユーザーによるアカウントへのXRPの送金を抑止するには、`asfDisallowXRP`フラグを使用します。ただし、このフラグによってアカウントが使用不可になる場合があるため、`rippled`では適用されません(このフラグを無効にしたトランザクションを送信するための十分なXRPがアカウントになかった場合、アカウントは完全に使用不可になります)。代わりに、クライアントアプリケーションでは、`asfDisallowXRP`フラグが有効なアカウントへのXRPの支払いを禁止または抑止します。 + +## TransferRate + +TransferRateフィールドは、ユーザーの発行する通貨を相手方が送金するときに請求する手数料を指定します。詳細は、[送金手数料](transfer-fees.html)を参照してください。 + +`rippled`のWebSocketおよびJSON-RPCのAPIでは、TransferRate(相手方に10億単位の通貨を送金するのに必要な金額)は整数で表現します。例えば、送金手数料が20%である場合、値を`1200000000`と表現します。 値を1000000000未満にすることはできません(この値未満にした場合、トランザクションの送信について金銭の引き渡しが発生することになり、攻撃に利用されるおそれがあります)。1000000000の短縮形として、手数料なしを意味する0を指定できます。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/checkcancel.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/checkcancel.ja.md new file mode 100644 index 0000000000..6e36932d21 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/checkcancel.ja.md @@ -0,0 +1,34 @@ +# CheckCancel +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/CancelCheck.cpp "Source") + +_([Checks Amendment][]が必要です :not_enabled:)_ + +未清算のCheckを取り消し、送金を行わずにレジャーから削除します。Checkの送金元または送金先は、いつでもこのトランザクションタイプを使用してCheckを取り消すことができます。有効期限切れのCheckはすべてのアドレスが取り消すことができます。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo", + "TransactionType": "CheckCancel", + "CheckID": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0", + "Fee": "12" +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:------------|:----------|:------------------|:-------------------------------| +| `CheckID` | 文字列 | Hash256 | 取り消す[Checkレジャーオブジェクト](check.html)のID(64文字の16進文字列)。 | + +## エラーケース + +- `CheckID`により識別されるオブジェクトが存在していないか、またはCheckではない場合、トランザクションは結果コード`tecNO_ENTRY`で失敗します。 +- Checkが有効期限切れではなく、CheckCancelトランザクションの送信者がCheckの送金元または送金先ではない場合、トランザクションは結果コード`tecNO_PERMISSION`で失敗します。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/transaction-formats/transaction-types/checkcash.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/checkcash.ja.md new file mode 100644 index 0000000000..d2b892e12f --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/checkcash.ja.md @@ -0,0 +1,45 @@ +# CheckCash +[[ソース]](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/CashCheck.cpp "Source") + +_([Checks Amendment][]が必要です :not_enabled:)_ + +対応する[CheckCreateトランザクション][]で承認された額まで受領するため、レジャーでCheckオブジェクトの清算を試みます。CheckCashトランザクションでCheckを換金できるのは、Checkの`Destination`アドレスだけです。このCheckの換金方法は、送金先により開始される[ペイメント][]の実行に似ています。 + +Checkに相当する資金があるとは保証されないため、送金元に十分な残高がないか、または資金を送金できるだけの十分な流動性がないことが原因で、Checkの清算が失敗することがあります。このような状況が発生した場合、Checkはレジャーに残り、送金先は後でこのCheckの換金を再試行するか、または異なる額で換金を試みることができます。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy", + "TransactionType": "CheckCash", + "Amount": "100000000", + "CheckID": "838766BA2B995C00744175F69A1B11E32C3DBC40E64801A4056FCBD657F57334", + "Fee": "12" +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-------------|:--------------------|:------------------|:--------------------| +| `CheckID` | 文字列 | Hash256 | 換金する[Checkレジャーオブジェクト](check.html)のID(64文字の16進文字列)。 | +| `Amount` | [通貨額][] | Amount | _(省略可)_ 可能であればCheckを厳密にこの額で清算します。通貨は対応するCheckCreateトランザクションの`SendMax`の通貨と一致している必要があります。このフィールドまたは`DeliverMin`のいずれかを指定する必要があります。 | +| `DeliverMin` | [通貨額][] | Amount | _(省略可)_ Checkをこの額以上の可能な限りの額で清算します。通貨は対応するCheckCreateトランザクションの`SendMax`の通貨と一致している必要があります。このフィールドまたは`Amount`のいずれかを指定する必要があります。 | + +`Amount`または`DeliverMin`のいずれかを指定する***必要があります***が、両方は指定しないでください。 + +## エラーケース + +- CheckCashトランザクションの送信者がCheckの`Destination`ではない場合、トランザクションは結果コード`tecNO_PERMISSION`で失敗します。 +- `CheckID`フィールドにより識別されるCheckが存在していない場合、トランザクションは結果コード`tecNO_ENTRY`で失敗します。 +- `CheckID`フィールドにより識別されるCheckが有効期限切れである場合、トランザクションは結果コード`tecEXPIRED`で失敗します。 +- Checkの送金先でRequireDestフラグが有効であるが、作成されるCheckには送金先タグが指定されていない場合、トランザクションは結果コード`tecDST_TAG_NEEDED`で失敗します。 +- トランザクションで`Amount`と`DeliverMin`の両方が指定または省略される場合、トランザクションは結果コード`temMALFORMED`で失敗します。 +- `Amount`または`DeliverMin` がCheckの通貨(およびXRP以外の通貨の場合はイシュアー)に一致しない場合、トランザクションは結果コード`temBAD_CURRENCY`で失敗します。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/checkcreate.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/checkcreate.ja.md new file mode 100644 index 0000000000..d4bb2117d4 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/checkcreate.ja.md @@ -0,0 +1,47 @@ +# CheckCreate +[[ソース]](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.cpp "Source") + +_([Checks Amendment][]が必要です :not_enabled:)_ + +レジャーにCheckオブジェクトを作成します。これにより指定の送金先は後日換金することができます。このトランザクションの送信者はCheckの送金元です。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "TransactionType": "CheckCreate", + "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo", + "Destination": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy", + "SendMax": "100000000", + "Expiration": 570113521, + "InvoiceID": "6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B", + "DestinationTag": 1, + "Fee": "12" +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-----------------|:--------------------|:------------------|:----------------| +| `Destination` | 文字列 | Account | Checkを換金できる[アカウント](accounts.html)の一意アドレス。 | +| `SendMax` | [通貨額][] | Amount | Checkで送金元から引き落とすことができる送金元通貨の最大額(XRP以外の通貨の[送金手数料](transfer-fees.html)を含む)。Checkは同一通貨の送金先にのみ入金可能です(XRP以外の通貨の場合は同一イシュアーから)。XRP以外の金額の場合、入れ子フィールドの名前にはアルファベットの小文字のみ使用してください。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ Checkの理由を明確にする任意のタグ、または支払先となる、ホスティングされている受取人。 | +| `Expiration` | 数値 | UInt32 | _(省略可)_ Checkが無効になる時刻([Rippleエポック以降の経過秒数][])。 | +| `InvoiceID` | 文字列 | Hash256 | _(省略可)_ このCheckの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | + +## エラーケース + +- `Destination`がトランザクションの送信者である場合、トランザクションは結果コード`temREDUNDANT`で失敗します。 +- `Destination`[アカウント](accounts.html)がレジャーに存在していない場合、トランザクションは結果コード`tecNO_DST`で失敗します。 +- `Destination`アカウントでRequireDestフラグが有効であるが、トランザクションに`DestinationTag`フィールドが含まれていない場合、トランザクションは結果コード`tecDST_TAG_NEEDED`で失敗します。 +- `SendMax`に[凍結](freezes.html)されている発行済み通貨が指定されている場合、トランザクションは結果コード`tecFROZEN`で失敗します。 +- トランザクションの`Expiration`が過去の日時である場合、トランザクションは結果コード`tecEXPIRED`で失敗します。 +- Checkの追加後に送金元が[所有者準備金](reserves.html#所有者準備金)条件を満たすのに十分なXRPを保有していない場合、トランザクションは結果コード`tecINSUFFICIENT_RESERVE`で失敗します。 +- Checkの送金元または送金先のいずれかがレジャーでこれ以上のオブジェクトを所有できない場合、トランザクションは結果コード`tecDIR_FULL`で失敗します。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/depositpreauth.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/depositpreauth.ja.md new file mode 100644 index 0000000000..39fe49b338 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/depositpreauth.ja.md @@ -0,0 +1,46 @@ +# DepositPreauth +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/DepositPreauth.cpp "Source") + +_[DepositPreauth Amendment][]が必要です。_ + +DepositPreauthトランザクションは別のアカウントに対し、このトランザクションの送信者に支払いを送金することを事前承認します。これは、このトランザクションの送信者が[Deposit Authorization](depositauth.html)を使用している(または使用する予定がある)場合にのみ有用です。 + +**ヒント:** このトランザクションを使用して、Deposit Authorizationを有効にする前に特定の取引相手を事前承認できます。これは、Deposit Authorizationの義務化への円滑な移行に役立ちます。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "TransactionType" : "DepositPreauth", + "Account" : "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "Authorize" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "Fee" : "10", + "Flags" : 2147483648, + "Sequence" : 2 +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:--------------|:----------|:------------------|:-----| +| `Authorize` | 文字列 | AccountID | _(省略可)_ 事前承認する送信者のXRP Ledgerアドレス。 | +| `Unauthorize` | 文字列 | AccountID | _(省略可)_ 事前承認を取り消す必要がある送信者のXRP Ledgerアドレス。 | + +`Authorize`または`Unauthorize`_のいずれか_ を指定する必要がありますが、両方は指定しないでください。 + +このトランザクションには以下の制限があります。 + +- アカウントはそのアカウント自体のアドレスを事前承認(または承認解除)できません。このような操作をすると、[`temCANNOT_PREAUTH_SELF`](tem-codes.html)で失敗します。 +- すでに事前承認済みのアカウントを事前承認しようとすると、[`tecDUPLICATE`](tec-codes.html)で失敗します。 +- 事前承認されていないアカウントを承認解除しようとすると、[`tecNO_ENTRY`](tec-codes.html)で失敗します。 +- レジャーで資金が供給されていないアドレスを事前承認しようとすると、[`tecNO_TARGET`](tec-codes.html)で失敗します。 +- 承認を追加すると[DepositPreauthオブジェクト](depositpreauth-object.html)がレジャーに追加されて、[所有者の必要準備金](reserves.html#所有者準備金)に反映されます。トランザクションの送信者に、増額された準備金の支払いに十分なXRPがない場合、トランザクションは[`tecINSUFFICIENT_RESERVE`](tec-codes.html)で失敗します。アカウントの送信者の所有オブジェクトが最大数に達している場合、トランザクションは[`tecDIR_FULL`](tec-codes.html)で失敗します。 + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/escrowcancel.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/escrowcancel.ja.md new file mode 100644 index 0000000000..293b77fb01 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/escrowcancel.ja.md @@ -0,0 +1,37 @@ +# EscrowCancel + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") + +_[Escrow Amendment][]が必要です。_ + +Escrowに留保されているXRPを送金元に返金します。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "TransactionType": "EscrowCancel", + "Owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "OfferSequence": 7, +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:----------------|:----------|:------------------|:---------------------------| +| `Owner` | 文字列 | AccountID | Escrow経由の支払いに資金を供給した支払元アカウントのアドレス。 | +| `OfferSequence` | 数値 | UInt32 | 取り消すEscrowを作成した[EscrowCreateトランザクション][]のトランザクションシーケンス。 | + +EscrowCancelトランザクションはどのアカウントからでも送信できます。 + +* 対応する[EscrowCreateトランザクション][]で`CancelAfter`時刻が指定されていない場合、EscrowCancelトランザクションは失敗します。 +* 指定されていても、`CancelAfter`時刻が最後に閉鎖されたレジャーの閉鎖時刻よりも後である場合は、EscrowCancelトランザクションが失敗します。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/references/rippled-api/transaction-formats/transaction-types/escrowcreate.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/escrowcreate.ja.md new file mode 100644 index 0000000000..10bd8e97e1 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/escrowcreate.ja.md @@ -0,0 +1,45 @@ +# EscrowCreate + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") + +_[Escrow Amendment][]が必要です。_ + +Escrowプロセスが終了または取り消されるまでXRPを隔離します。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "TransactionType": "EscrowCreate", + "Amount": "10000", + "Destination": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "CancelAfter": 533257958, + "FinishAfter": 533171558, + "Condition": "A0258020E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855810100", + "DestinationTag": 23480, + "SourceTag": 11747 +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-----------------|:----------|:------------------|:--------------------------| +| `Amount` | 文字列 | Amount | 送金元の残高から差し引いてエスクローに留保する[XRP、drop単位][Currency Amount]の額。エスクローに留保されたXRPは`Destination`アドレスに送金されるか(`FinishAfter`時刻の経過後)、または送金元に戻されます(`CancelAfter`時刻の経過後)。 | +| `Destination` | 文字列 | AccountID | エスクローに留保されたXRPを受領するアドレス。 | +| `CancelAfter` | 数値 | UInt32 | _(省略可)_ このEscrowの有効期限([Rippleエポック以降の経過秒数][])。この値は変更できません。この時刻の経過後にのみ資金を送金元に返金できます。 | +| `FinishAfter` | 数値 | UInt32 | _(省略可)_ Escrowに留保されたXRPを受取人に対してリリースできる時刻([Rippleエポック以降の経過秒数][])。この値は変更できません。この時刻に達するまでは資金を移動できません。 | +| `Condition` | 文字列 | Blob | _(省略可)_[PREIMAGE-SHA-256 Crypto-condition](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1)を表す16進数値。この条件が満たされている場合にのみ、資金を受取人に送金できます。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ Escrowに留保されている支払いの宛先(宛先アドレスでホスティングされている受取人など) を詳しく指定するための任意のタグ。 | + +`CancelAfter`と`FinishAfter`のいずれかを指定する必要があります。両方を指定する場合は、`FinishAfter`の時刻が`CancelAfter`の時刻よりも前でなければなりません。 + +[fix1571 Amendment][]が有効な場合は、`FinishAfter`、`Condition`のいずれかまたは両方を指定する必要があります。[新規: rippled 1.0.0][] + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/escrowfinish.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/escrowfinish.ja.md new file mode 100644 index 0000000000..09f2ebdf13 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/escrowfinish.ja.md @@ -0,0 +1,44 @@ +# EscrowFinish + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") + +_[Escrow Amendment][]が必要です。_ + +保留中の支払いから受取人へXRPを送金します。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "TransactionType": "EscrowFinish", + "Owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "OfferSequence": 7, + "Condition": "A0258020E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855810100", + "Fulfillment": "A0028000" +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:----------------|:-----------------|:------------------|:--------------------| +| `Owner` | 文字列 | AccountID | 保留中の支払いに資金を供給した支払元アカウントのアドレス。 | +| `OfferSequence` | 符号なし整数 | UInt32 | 終了する保留中の支払いを作成した[EscrowCreateトランザクション][]のトランザクションシーケンス。 | +| `Condition` | 文字列 | Blob | _(省略可)_ 以前に指定された保留中の支払いの[PREIMAGE-SHA-256 Crypto-condition](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1)に一致する16進数値。 | +| `Fulfillment` | 文字列 | Blob | _(省略可)_ 保留中の支払いの`Condition`に一致する[PREIMAGE-SHA-256 Crypto-condition](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1.4)の16進数値。 | + +すべてのアカウントがEscrowFinishトランザクションを送信できます。 + +- 保留中の支払いに`FinishAfter`時刻が設定されている場合、この時刻よりも前にはこれを実行できません。具体的には、対応する[EscrowCreateトランザクション][]で指定されている`FinishAfter`時刻が、最後に閉鎖されたレジャーの閉鎖時刻よりも後の場合、EscrowFinishトランザクションは失敗します。 +- 保留中の支払いに`Condition`が指定されている場合に、その条件に対応する`Fulfillment`を指定しないと、この支払いを実行できません。 +- 有効期限切れの保留中の支払いは実行できません。具体的には、対応する[EscrowCreateトランザクション][]で指定されている`CancelAfter`時刻が、最後に閉鎖されたレジャーの閉鎖時刻よりも前の場合、EscrowFinishトランザクションは失敗します。 + +**注記:** EscrowFinishトランザクションにフルフィルメントが含まれている場合、このトランザクションを送信するための最小[トランザクションコスト](transaction-cost.html)が増加します。トランザクションにフルフィルメントが含まれていない場合、トランザクションコストは標準の10 dropです。トランザクションにフルフィルメントが含まれている場合、トランザクションコストは330 [XRP drop][]に加えて、プリイメージサイズの16バイトごとに更に10 dropです。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/offercancel.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/offercancel.ja.md new file mode 100644 index 0000000000..cf572d12d5 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/offercancel.ja.md @@ -0,0 +1,36 @@ +# OfferCancel + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/CancelOffer.cpp "Source") + +OfferCancelトランザクションは、XRP LedgerからOfferオブジェクトを削除します。 + +## {{currentpage.name}}のJSONの例 + +```json +{ + "TransactionType":"OfferCancel", + "Account":"ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee":"12", + "Flags":0, + "LastLedgerSequence":7108629, + "OfferSequence":6, + "Sequence":7 +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:--------------|:----------|:------------------|:-----------------------------| +| OfferSequence | 数値 | UInt32 | 前のOfferCreateトランザクションのシーケンス番号。指定されている場合は、レジャーでそのトランザクションにより作成されたOfferオブジェクトがすべて取り消されます。指定されたオファーが存在しない場合はエラーと見なされません。 | + +*ヒント:* 古いオファーを削除して新しいオファーに置き換えるには、OfferCancelとOfferCreateを使用する代わりに、`OfferSequence`パラメーターを指定した[OfferCreateトランザクション][]を使用できます。 + +OfferCancelメソッドは、一致するシーケンス番号が見つからない場合でも[tesSUCCESS](tes-success.html)を返します。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/offercreate.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/offercreate.ja.md new file mode 100644 index 0000000000..c609b09154 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/offercreate.ja.md @@ -0,0 +1,65 @@ +# OfferCreate + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/CreateOffer.cpp "Source") + +OfferCreateトランザクションは、効果的な[指値注文](http://en.wikipedia.org/wiki/limit_order)です。OfferCreateは通貨の交換を行う意図を定義するもので、配置時に完全に履行されていない場合は[Offerオブジェクト](offer.html)を作成します。オファーは部分的に履行することもできます。 + +オファーがどのように機能するかについての詳細は、[オファー](offers.html)を参照してください。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "TransactionType": "OfferCreate", + "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "12", + "Flags": 0, + "LastLedgerSequence": 7108682, + "Sequence": 8, + "TakerGets": "6000000", + "TakerPays": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + } +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:---------------|:--------------------|:------------------|:------------------| +| [Expiration][] | 数字 | UInt32 | _(省略可)_ オファーがアクティブでなくなるまでの時間([Rippleエポックからの経過秒数][])。 | +| OfferSequence | 数字 | UInt32 | _(省略可)_ 最初に削除されるオファー([OfferCancel][]と同様に指定されます)。 | +| TakerGets | [通貨額][] | Amount | オファーの作成者によって作成される金額および通貨の種類。 | +| TakerPays | [通貨額][] | Amount | オファーの作成者によって要求される金額および通貨の種類。 | + +[Expiration]: offers.html#オファーの有効期限 + +## OfferCreateフラグ + +OfferCreate型のトランザクションについては、[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)で以下の値が追加でサポートされます。 + +| フラグ名 | 16進数 | 10進数 | 説明 | +|:--------------------|:-----------|:--------------|:--------------------------| +| tfPassive | 0x00010000 | 65536 | 有効な場合、オファーはオファーが完全に一致するオファーを消費せず、代わりにレジャーのOfferオブジェクトになります。それはまだクロスしたオファーを消費します。 | +| tfImmediateOrCancel | 0x00020000 | 131072 | オファーを[IOC注文](http://en.wikipedia.org/wiki/Immediate_or_cancel)として扱います。有効な場合、オファーはレジャーオブジェクトにはなりません。レジャー内の既存のオファーと一致させようとするだけです。即時にオファーがどのオファーとも一致しない場合、どの通貨とも取引せずに「正常に」実行します。この場合、トランザクションは `tesSUCCESS`の[結果コード](transaction-results.html)を返しますが、レジャー内には、[Offerオブジェクト](offer.html)を作成しません。 | +| tfFillOrKill | 0x00040000 | 262144 | オファーを[FOK注文](http://en.wikipedia.org/wiki/Fill_or_kill)として扱います。レジャー内の既存のオファーのみを一致私用とします。またこれは、全`TakerPays`の数量が取得できる場合に限られます。[fix1578 amendment][]が有効な場合でオファーを配置した時に実行できない場合、トランザクションは`tecKILLED`の[結果コード](transaction-results.html)を返します。そうでない場合は、トランザクションは、どの通貨とも取り引きせずにキャンセルされた場合でも`tesSUCCESS`の結果コードを返します。 | +| tfSell | 0x00080000 | 524288 | 取引所で`TakerPays` Amountよりも多く取得することになっても、`TakerGets` Amountを交換します。 | + +次の無効なフラグの組合せは、`temINVALID_FLAG`エラーを返します。 + +* tfImmediateOrCancelとtfFillOrKill + + + + + + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/payment.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/payment.ja.md new file mode 100644 index 0000000000..7037d1564b --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/payment.ja.md @@ -0,0 +1,109 @@ +# Payment +[[ソース]
](https://github.com/ripple/rippled/blob/5425a90f160711e46b2c1f1c93d68e5941e4bfb6/src/ripple/app/transactors/Payment.cpp "ソース") + +Paymentトランザクションは、アカウント間での価値の移動を表現するものです(通過するパスによっては、非可分的に発生する追加的な価値交換を伴うことがあります)。 + +Paymentは、[アカウントを作成](#アカウントの作成)する唯一の手段でもあります。 + +## {{currentpage.name}}のJSONの例 + +```json +{ + "TransactionType" : "Payment", + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Amount" : { + "currency" : "USD", + "value" : "1", + "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" + }, + "Fee": "12", + "Flags": 2147483648, + "Sequence": 2, +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:---------------|:---------------------|:------------------|:-----------------| +| Amount | [通貨額][] | Amount | 送金する通貨額。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。[**tfPartialPayment**フラグ](#paymentのフラグ)が設定されている場合は、この金額を _上限_ とする金額を送金します。 | +| Destination | 文字列 | Account | 支払いを受取るアカウントの一意アドレス。 | +| DestinationTag | 数値 | UInt32 | _(省略可)_ 宛先(支払先となる、ホスティングされている受取人)への支払い理由を明確にするための任意のタグ。 | +| InvoiceID | 文字列 | Hash256 | _(省略可)_ この支払いの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | +| Paths | パス配列の配列 | PathSet | (省略可。自動入力可能)このトランザクションに使用される[支払いパス](paths.html)の配列。XRP間のトランザクションでは省略する必要があります。 | +| SendMax | [通貨額][] | Amount | _(省略可)_ [送金手数料](transfer-fees.html)、為替レート、[スリッページ](http://en.wikipedia.org/wiki/Slippage_%28finance%29)を含め、このトランザクションに関して支払い元通貨での負担を許容する上限額。[トランザクションの送信コストとして消却されるXRP](transaction-cost.html)は含めないでください。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。複数通貨間の支払いまたは複数の発行を伴う支払いについては、このフィールドを入力する必要があります。XRP間の支払いでは省略する必要があります。 | +| DeliverMin | [通貨額][] | Amount | _(省略可)_ このトランザクションで送金する、宛先通貨での最少金額。[Partial Payments](partial-payments.html)の場合のみ有効になります。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。 | + +## SendMaxおよびAmountで使用する特殊なイシュアーの値 + +ほとんどの場合、XRP以外の[通貨額][]の`issuer`フィールドは、金融機関の[発行アドレス](issuing-and-operational-addresses.html)を示しています。ただし、支払いを記述するにあたって、支払いの`Amount`フィールドと`SendMax`フィールドにある`issuer`フィールドについては、特殊なルールが存在します。 + +* 2つのアドレス間で、同一の通貨に関して存在する残高は常に1つです。つまり、金額の`issuer`フィールドが実際に表しているのは、イシュアンスを作成したアドレスではなく、イシュアンスを換金する相手方であることがあります。 +* 宛先`Amount`フィールドの`issuer`フィールドが`Destination`アドレスと一致している場合、「宛先が受け入れるあらゆるイシュアー」を意味する特殊なケースとして取り扱われます。これには、他のトラストラインで保持されている宛先によって作成されたイシュアンスに加え、宛先が当該アドレスまでトラストラインを延長しているすべてのアドレスが含まれます。 +* `SendMax`フィールドの`issuer`フィールドが送信元アカウントのアドレスと一致している場合、「送信元が使用できるあらゆるイシュアー」を意味する特殊なケースとして取り扱われます。これには、他のアカウントが送信元アカウントまで延長しているトラストラインで新しいイシュアンスを作成すること、送信元アカウントが保持しているイシュアンスを他のイシュアーから送信することが含まれます。 + +## アカウントの作成 + +Payment型のトランザクションでは、資金供給のないアドレスに対して十分なXRPを送金することで、XRP Ledgerに新規のアカウントを作成できます。資金供給のないアドレスに対するその他のトランザクションは、常に失敗します。 + +詳細は、[アカウント](accounts.html#アカウントの作成)を参照してください。 + +## パス + +`Paths`フィールドが存在する場合、Pathフィールドには、 _パスセット_ (パス配列の配列)が記述されていなければなりません。個々のパスは、さまざまな仲介アカウントやオーダーブックを経由して、送信者から受信者へと価値が1つの方向へ流れることを表します。単一のトランザクションで、複数のパスを使用する可能性もあります。例えば、トランザクションで複数のオーダーブックを使用して、最も有利なレートで通貨を交換する場合です。 + +以下の場合を含め、直接の支払いでは`Paths`フィールドを省略する必要があります。 + +* XRP間の送金。 +* 送信者と受信者を接続するトラストライン上での直接送金。 + +`Paths`フィールドを指定すると、サーバーは、提供されたセットと _デフォルトパス_ の中から、使用するパス(指定されたアカウントに接続する上で、最も直行となる経路)をトランザクション処理時に判別します。このように決定された判別は、コストを最小化しようとするものですが、完璧であることは保証されません。 + +`Paths`フィールドを、空の配列としたり、メンバーがすべて空の配列あるような配列としたりすることはできません。 + +詳細は、[Paths](paths.html)を参照してください。 + +## Paymentのフラグ + +Payment型のトランザクションについては、[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)で以下の値が追加でサポートされます。 + +| フラグの名前 | 16進値 | 10進値 | 説明 | +|:-----------------|:-----------|:--------------|:-----------------------------| +| tfNoDirectRipple | 0x00010000 | 65536 | デフォルトパスを使用せず、`Paths`フィールドに含まれているパスのみ使用します。これによりトランザクションは強制的に裁定機会を活用することになります。ほとんどのクライアントでは、これは必要ありません。 | +| tfPartialPayment | 0x00020000 | 131072 | `SendMax`を超えていないのに指定された`Amount`を送金できない場合、即座に失敗とするのではなく、受取られる額を減額します。詳細は、[Partial Payments](partial-payments.html)を参照してください。 | +| tfLimitQuality | 0x00040000 | 262144 | すべての変換で、入力と出力との比率が`Amount`と`SendMax`との比率と同一であるか、さらに有利となるパスのみを採用します。詳細は、[クオリティの制限](#クオリティの制限)を参照してください。 | + +## Partial Payments + +Partial Paymentsを利用すると、受取られる金額を減額することによって、支払いを成功させることができます。Partial Paymentsが有用なのは、追加的なコストを発生させずに[支払いを返金](become-an-xrp-ledger-gateway.html#bouncing-payments)する場合です。その一方で、成功したトランザクションの`Amount`フィールドに、送金された金額が常に正しく記述されていることを前提としている環境において、悪用されるおそれもあります。 + +Partial Paymentsとは、**tfPartialPayment**フラグが有効になっている[Paymentトランザクション][]です。Partial Paymentsは、`SendMax`値を超える金額を送金することなく、`DeliverMin`フィールド以上の正の金額(`DeliverMin`が指定されていない場合、任意の正の金額)を送金する場合に成功します。 + +支払いのメタデータにある[`delivered_amount`](transaction-metadata.html#delivered_amount)フィールドは、宛先アカウントが実際に受け取る通貨の金額を示しています。 + +詳細は、[Partial Payments](partial-payments.html)の全文を参照してください。 + + +## クオリティの制限 + +XRP Ledgerでは、ある通貨での入金額と別の通貨での出金額の比率として、通貨取引の「クオリティ」を定義します。例えば、2米ドルと引き換えに1イギリスポンドを受け取る場合、その交換の「クオリティ」は`0.5`です。 + +[*tfLimitQuality*フラグ](#paymentのフラグ)を使用すると、実行する変換のクオリティについて下限を設定できます。このクオリティの制限は、宛先の`Amount`を`SendMax`の金額(通貨にかかわらず金額のみ)で除算することによって定義します。設定した場合、支払い処理エンジンは、クオリティの制限よりもクオリティ(為替レート)が低い(数値が小さい)パスの使用を回避します。 + +tfLimitQualityフラグは、それ自体、トランザクションが成功する状況を減少させるものになります。具体的には、好ましくない変換が支払いの一部で使用されている場合、支払いにおける変換の*平均*的なクオリティが全体としてクオリティの制限と同一か、それ以上であっても、支払いが拒否されます。支払いがこの形で拒否される場合、[トランザクションの結果](transaction-results.html)は`tecPATH_DRY`です。 + +次の例を考えてみます。100人民元(`Amount` = 100人民元)を最大20米ドル(`SendMax` = 20米ドル)と引き換えに相手方に送金しようとする場合、クオリティの制限は`5`です。あるトレーダーが15米ドルと引き換えに95人民元をオファーしているものの(米ドルあたり約`6.3`人民元の比率)、市場の次善のオファーが2ドルに対して5人民元であるとします(米ドルあたり`2.5`人民元の比率)。両方のオファーを受諾して相手方に100人民元を送金する場合、送信元が負担するコストは17米ドルであり、平均のクオリティは約`5.9`です。 + +tfLimitQualityフラグが設定されていない場合、17米ドルというコストは指定された`SendMax`に収まっているため、このトランザクションは成功します。一方、tfLimitQualityフラグが有効になっている場合は失敗します。2番目のオファーを受諾するためのパスのクオリティは`2.5`であり、`5`というクオリティの制限よりも低いためです。 + +tfLimitQualityフラグが最も有用となるのは、[Partial Payments](partial-payments.html)と組み合わせる場合です。*tfPartialPayment*と*tfLimitQuality*の両方がトランザクションに対して設定されている場合、トランザクションでは、クオリティの制限よりも低い変換を使用することなく、送金可能な最大限の宛先`Amount`が送金されます。 + +95人民元/15米ドルのオファーと5人民元/2米ドルのオファーがある上の例で、トランザクションに関してtfPartialPaymentとtfLimitQualityの両方が有効になっている場合、状況は異なります。20米ドルの`SendMax`および100人民元の宛先`Amount`を維持する場合も、クオリティの制限は`5`です。ただし、実行しようとするのはPartial Paymentsであるため、宛先に対する送金の全額を一度で送金できない場合、トランザクションを失敗とするのではなく、送金可能な最大限の金額が送金されます。つまり、トランザクションでは、クオリティが約`6.3`である95人民元/15米ドルのオファーは受け入れますが、5人民元/2米ドルのオファーはクオリティが`2.5`であり、クオリティの制限の`5`より低いため、拒否します。最終的に、トランザクションで送金されるのは満額の100人民元ではなく95人民元になりますが、不利な為替レートで資金を浪費することを避けられます。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelclaim.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelclaim.ja.md new file mode 100644 index 0000000000..becd2d73ff --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelclaim.ja.md @@ -0,0 +1,63 @@ +# PaymentChannelClaim +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") + +_[PayChan Amendment][]が必要です。_ + +Payment Channelに対しXRPを請求するか、Payment Channelの有効期限を調整するか、またはこの両方の操作を行います。このトランザクションは、指定されたChannelでのトランザクション送信者の役割に応じてさまざまに利用できます。 + +Channelの**支払元アドレス**は以下の操作を実行できます。 + +- 署名済みクレームの有 _無_ にかかわらずChannelから宛先へXRPを送金します。 +- Channelの`SettleDelay`が経過した時点で即時にChannelが有効期限切れになるように設定します。 +- 保留中の`Expiration`時刻をクリアします。 +- クレームを最初に処理するかどうかに関わらず、Channelを即時に閉鎖します。ChannelにXRPが残っている場合、支払元アドレスはそのChannelを即時に閉鎖できません。 + +Channelの**宛先アドレス**は以下の操作を実行できます。 + +- 署名済みクレームを使用してChannelからXRPを受領します。 +- クレームの処理が完了したらChannelを即時に閉鎖し、未請求のXRPをすべてChannelの支払元に返金します。 + +このトランザクションを送信する**すべてのアドレス**は以下の操作を実行できます。 + +- Channelの`Expiration`または`CancelAfter`の時刻が前のレジャーの閉鎖時刻よりも古い場合にはChannelが閉鎖します。有効な形式のPaymentChannelClaimトランザクションでは、トランザクションの内容に関わらず常にこの効果があります。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Channel": "C1AE6DDDEEC05CF2978C0BAD6FE302948E9533691DC749DCDD3B9E5992CA6198", + "Balance": "1000000", + "Amount": "1000000", + "Signature": "30440220718D264EF05CAED7C781FF6DE298DCAC68D002562C9BF3A07C1E721B420C0DAB02203A5A4779EF4D2CCC7BC3EF886676D803A9981B928D3B8ACA483B80ECA3CD7B9B", + "PublicKey": "32D2471DB72B27E3310F355BB33E339BF26F8392D5A93D3BC0FC3B566612DA0F0A" +} +``` + + + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:------------|:----------|:------------------|:-------------------------------| +| `Channel` | 文字列 | Hash256 | Channelの一意のID(64文字の16進数文字列)。 | +| `Balance` | 文字列 | Amount | _(省略可)_ このクレームの処理後にこのChannelから送金される[XRP、drop単位][Currency Amount]。XRPを送金する場合に必須です。Channelからこれまでに送金された総額よりも大きく、署名済みクレームの`Amount`よりも少ない額である必要があります。Channelを閉鎖する場合を除き、指定する必要があります。 | +| `Amount` | 文字列 | Amount | _(省略可)_`Signature`により承認された[XRP、drop単位][Currency Amount]の額。これは、署名済みメッセージの額に一致している必要があります。これは、Channelが利用できるXRPの累計額であり、以前に精算されたXRPを含みます。 | +| `Signature` | 文字列 | Blob | _(省略可)_ クレームの署名です(16進数)。署名付きメッセージには、Channel IDとクレームの額が含まれています。トランザクションの送信者がChannelの支払元アドレスでない場合には必須です。 | +| `PublicKey` | 文字列 | Blob | _(省略可)_ 署名に使用する公開鍵(16進数)。公開鍵はレジャーに保管されているこのChannelの`PublicKey`と一致している必要があります。トランザクションの送信者がChannelの支払元アドレスでない場合には必須です。また`Signature`フィールドは省略されます。(`rippled`がトランザクションをレジャーに適用する前に署名の有効性をチェックできるように、トランザクションにPubKeyが指定されています。) | + + +## PaymentChannelClaimフラグ + +PaymentChannelClaimタイプのトランザクションについては、[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)で以下の値が追加でサポートされます。 + +| フラグ名 | 16進数値 | 10進数値 | 説明 | +|:----------|:-----------|:--------------|:------------------------------------| +| `tfRenew` | 0x00010000 | 65536 | Channelの`Expiration`時刻をクリアします。(`Expiration`は、Channelの変更できない`CancelAfter`時刻とは異なります。)このフラグは、Payment Channelの支払元アドレスだけが使用できます。 | +| `tfClose` | 0x00020000 | 131072 | Channelの閉鎖を要求します。このフラグは、Channelの支払元アドレスと宛先アドレスだけが使用できます。このフラグにより、現在のクレームの処理後にChannelにこれ以上のXRPが割り当てられない場合、または宛先アドレスが使用している場合に、Channelが即時に閉鎖されます。XRPがまだChannelに保有されているときに、支払元アドレスがこのフラグを使用した場合、`SettleDelay`秒の経過後にChannelが閉鎖するようにスケジュールされます。(具体的には、Channelの`Expiration`は、前のレジャーの閉鎖時刻にChannelの`SettleDelay`の時間を加算した時刻に設定されます。ただし、Channelにこの時刻よりも早い`Expiration` 時刻がすでに設定されている場合を除きます。)XRPがまだChannelに保有されているときに、宛先アドレスがこのフラグを使用した場合、クレーム処理後に残っているXRPはすべて支払元アドレスに返金されます。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelcreate.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelcreate.ja.md new file mode 100644 index 0000000000..9bc170929e --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelcreate.ja.md @@ -0,0 +1,40 @@ +# PaymentChannelCreate +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") + +_[PayChan Amendment][]が必要です。_ + +一方向のChannelを作成し、XRPを供給します。このトランザクションを送信するアドレスは、Payment Channelの「支払元アドレス」になります。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "TransactionType": "PaymentChannelCreate", + "Amount": "10000", + "Destination": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SettleDelay": 86400, + "PublicKey": "32D2471DB72B27E3310F355BB33E339BF26F8392D5A93D3BC0FC3B566612DA0F0A", + "CancelAfter": 533171558, + "DestinationTag": 23480, + "SourceTag": 11747 +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-----------------|:----------|:------------------|:--------------------------| +| `Amount` | 文字列 | Amount | 送金元の残高から差し引いてこのChannelに留保する[XRP、drop単位][Currency Amount]の額。このChannelのオープン時には、XRPを`Destination`アドレスにのみ移動できます。Channelが閉鎖すると、未請求のXRPは支払元アドレスの残高に戻されます。 | +| `Destination` | 文字列 | AccountID | このChannelに対するXRPクレームを受け取るアドレス。Channelの「宛先アドレス」とも呼ばれます。送金元(`Account`)と同一にはできません。 | +| `SettleDelay` | 数値 | UInt32 | Channelに未請求のXRPがある場合に、支払元アドレスがそのChannelを閉鎖するまでに待機する時間。 | +| `PublicKey` | 文字列 | Blob | 支払元がこのChannelに対するクレームに署名するときに使用する公開鍵またはキーペア(16進数)。secp256k1公開鍵またはEd25519公開鍵を指定できます。 | +| `CancelAfter` | 数値 | UInt32 | _(省略可)_ このChannelの有効期限([Rippleエポック以降の経過秒数][])。この時刻の経過後にトランザクションがこのChannelを変更しようとすると、このChannelは閉鎖し、Channelは変更されません。この値は変更できません。Channelはこの時刻よりも早い時点で閉鎖できますが、この時刻の経過後にもオープンしたままにすることはできません。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ このPayment Channelの宛先(宛先アドレスのホスティングされている受取人など) を詳しく指定するための任意のタグ。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelfund.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelfund.ja.md new file mode 100644 index 0000000000..d12e151f05 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/paymentchannelfund.ja.md @@ -0,0 +1,32 @@ +# PaymentChannelFund +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") + +_[PayChan Amendment][]が必要です。_ + +オープンPayment ChannelにXRPを追加するか、Channelの有効期限を更新するか、またはこの両方を行います。このトランザクションは、Channelの支払元アドレスだけが使用できます。(他のアドレスからのトランザクションはエラー`tecNO_PERMISSION`で失敗します。) + +PaymentChannelFundの例: + +```json +{ + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "TransactionType": "PaymentChannelFund", + "Channel": "C1AE6DDDEEC05CF2978C0BAD6FE302948E9533691DC749DCDD3B9E5992CA6198", + "Amount": "200000", + "Expiration": 543171558 +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-------------|:----------|:------------------|:------------------------------| +| `Channel` | 文字列 | Hash256 | 資金供給するChannelの一意のID(64文字の16進数文字列)。 | +| `Amount` | 文字列 | Amount | Channelに追加する[XRP、drop単位][Currency Amount]の額。Channelの有効期限を設定し、XRPを追加しない場合は、これを`"0"`に設定します。 | +| `Expiration` | 数値 | UInt32 | _(省略可)_ Channelに新たに設定する`Expiration`の時刻(Rippleエポック以降の経過秒数)。現行時刻にChannelの`SettleDelay`を加えた時刻よりも後であるか、またはChannelの既存の`Expiration`よりも後である必要があります。`Expiration`時刻の経過後には、トランザクションがそのChannelにアクセスするとChannelが閉鎖し、トランザクションの通常の処理は行われません。Channelの閉鎖時には未使用のXRPはすべて支払元アドレスに返金されます。(`Expiration`は、Channelの不変の`CancelAfter`時刻とは別のものです。)詳細は、[PayChannelレジャーオブジェクトタイプ](paychannel.html)を参照してください。 | + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/setregularkey.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/setregularkey.ja.md new file mode 100644 index 0000000000..9fbefc7a14 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/setregularkey.ja.md @@ -0,0 +1,39 @@ +# SetRegularKey + +[[ソース]
](https://github.com/ripple/rippled/blob/4239880acb5e559446d2067f00dabb31cf102a23/src/ripple/app/transactors/SetRegularKey.cpp "Source") + +`SetRegularKey`トランザクションは、アカウントに関連付けられているレギュラーキーペアの割り当て、変更、削除を行います。 + +アカウントを保護するには、レギュラーキーペアをアカウントに割り当て、トランザクションに署名するときに、可能な場合には常にマスターキーペアの代わりにレギュラーキーペアを使用します。レギュラーキーペアが漏えいしても、マスターキーペアが漏えいしていない場合は、`SetRegularKey`トランザクションを使用してアカウントの制御を取り戻すことができます。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "Flags": 0, + "TransactionType": "SetRegularKey", + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Fee": "12", + "RegularKey": "rAR8rR8sUkBoCZFawhkWzY4Y5YoyuznwD" +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-------------|:----------|:------------------|:------------------------------| +| `RegularKey` | 文字列 | AccountID | _(省略可)_ アカウントに割り当てるレギュラーキーペアを示すbase-58エンコード[アドレス][]。省略されている場合は、アカウントから既存のレギュラーキーペアが削除されます。 | + +## 関連項目 + +レギュラーキーペアとマスターキーペアの詳細については、[暗号鍵](cryptographic-keys.html)を参照してください。 + +アカウントへのレギュラーキーペアの割り当てについてのチュートリアルは、[レギュラーキーペアの操作](assign-a-regular-key-pair.html)を参照してください。 + +セキュリティを強化するために[マルチ署名](multi-signing.html)を使用できますが、マルチ署名を使用する場合には[トランザクションコスト][]および[準備金](reserves.html)に追加のXRPが必要となります。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/signerlistset.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/signerlistset.ja.md new file mode 100644 index 0000000000..662fabbae3 --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/signerlistset.ja.md @@ -0,0 +1,59 @@ +# SignerListSet +[[ソース]
](https://github.com/ripple/rippled/blob/ef511282709a6a0721b504c6b7703f9de3eecf38/src/ripple/app/tx/impl/SetSignerList.cpp "Source") + +SignerListSetトランザクションは、トランザクションの[マルチ署名](multi-signing.html)に使用できる署名者のリストを作成、置換、削除します。このトランザクションタイプは[MultiSign Amendment][]により導入されました。[新規: rippled 0.31.0][] + +## {{currentpage.name}}のJSONの例 + +```json +{ + "Flags":0, + "TransactionType":"SignerListSet", + "Account":"rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Fee":"12", + "SignerQuorum":3, + "SignerEntries":[ + { + "SignerEntry":{ + "Account":"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SignerWeight":2 + } + }, + { + "SignerEntry":{ + "Account":"rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SignerWeight":1 + } + }, + { + "SignerEntry":{ + "Account":"raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n", + "SignerWeight":1 + } + } + ] +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:--------------|:----------|:------------------|:-----------------------------| +| SignerQuorum | 数値 | UInt32 | 署名者の重みのターゲット数。このリストの署名者によるマルチ署名は、付与された署名の重みの合計がこの値以上である場合に限り有効となります。SignerListを削除するには、`0`の値を使用します。 | +| SignerEntries | 配列 | 配列 | (削除する場合は省略)このリストの署名者のアドレスと重みを示す[SignerEntryオブジェクト](signerlist.html#signerentryオブジェクト)の配列。SignerListには1~8人のメンバーが含まれている必要があります。リストに1つのアドレスが複数回表示されることはありません。また、トランザクションを送信する`Account`も表示されません。 | + +アカウントは複数のSignerListを所有できません。既存のSignerListが存在する場合は、SignerListSetトランザクションが成功するとその既存のSignerListが置き換えられます。SignerListを削除するには、`SignerQuorum`を`0`に設定し、_かつ_`SignerEntries`フィールドを省略します。このようにしないと、トランザクションは[temMALFORMED](tem-codes.html)エラーで失敗します。SignerListを削除するトランザクションは、削除するSignerListがない場合でも成功したとみなされます。 + +SignerQuorumを満たせない方法でSignerListを作成することはできません。SignerQuorumは0よりも大きく、リストの`SignerWeight`値の合計以下でなければなりません。このようにしないと、トランザクションは[temMALFORMED](tem-codes.html)エラーで失敗します。 + +トランザクションの署名にマスターキー、レギュラーキー、または現行のSignerListを使用できる場合は、これらを使用してSignerListを作成、更新、削除できます。 + +トランザクションに署名する最後の方法をアカウントから削除することはできません。アカウントのマスターキーが無効で([`lsfDisableMaster`フラグ](accountroot.html#accountrootフラグ)が有効な場合)、アカウントで[レギュラーキー](cryptographic-keys.html)が設定されていない場合、アカウントからSignerListを削除できません。その代わりにトランザクションは[`tecNO_ALTERNATIVE_KEY`](tec-codes.html)エラーで失敗します。 + +[MultiSignReserve Amendment][] :not_enabled:が有効な場合、SignerListを作成または置換すると、SignerListオブジェクトでlsfOneOwnerCountフラグが有効になります。このフラグが有効な場合、MultiSignReserve Amendmentに定められているとおり、XRP LedgerはSignerListの[`OwnerCount`](accountroot.html#accountroot-fields)と[所有者準備金](reserves.html#所有者準備金)を減らせます。詳細は、[SignerListのフラグ](signerlist.html#signerlistフラグ)を参照してください。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/rippled-api/transaction-formats/transaction-types/transaction-types.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/transaction-types.ja.md new file mode 100644 index 0000000000..eebc8e0c8a --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/transaction-types.ja.md @@ -0,0 +1,9 @@ +# トランザクションのタイプ + +トランザクションのタイプ(`TransactionType`フィールド)は、トランザクションに関する最も基本的な情報です。トランザクションで、どういったタイプの操作を実行することが想定されているのかを示します。 + +すべてのトランザクションに、特定の共通フィールドが含まれています。 + +* [共通フィールド](transaction-common-fields.html) + +トランザクションのタイプごとに、実行される操作のタイプに関連した追加のフィールドが含まれています。 \ No newline at end of file diff --git a/content/references/rippled-api/transaction-formats/transaction-types/trustset.ja.md b/content/references/rippled-api/transaction-formats/transaction-types/trustset.ja.md new file mode 100644 index 0000000000..db9fdb1b8c --- /dev/null +++ b/content/references/rippled-api/transaction-formats/transaction-types/trustset.ja.md @@ -0,0 +1,55 @@ +# TrustSet + +[[ソース]
](https://github.com/ripple/rippled/blob/master/src/ripple/app/tx/impl/SetTrust.cpp "Source") + +2つのアカウントをリンクするトラストラインを作成または変更します。 + +## {{currentpage.name}} JSONの例 + +```json +{ + "TransactionType": "TrustSet", + "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "12", + "Flags": 262144, + "LastLedgerSequence": 8007750, + "LimitAmount": { + "currency": "USD", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "value": "100" + }, + "Sequence": 12 +} +``` + +{% include '_snippets/tx-fields-intro.md' %} + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:-------------------------|:----------|:------------------|:------------------| +| `LimitAmount` | オブジェクト | Amount | 作成または変更するトラストラインを定義する[通貨額][]フォーマットのオブジェクト。 | +| `LimitAmount`.`currency` | 文字列 | (Amount.currency) | このトラストラインが適用される通貨。3文字の[ISO 4217通貨コード](http://www.xe.com/iso4217.php)または[通貨フォーマット](currency-formats.html)に基づく160ビットの16進数値です。「XRP」は無効です。 | +| `LimitAmount`.`value` | 文字列 | (Amount.value) | このトラストラインに設定される限度を表す引用符で囲んだ10進数値。 | +| `LimitAmount`.`issuer` | 文字列 | (Amount.issuer) | 信頼したいアカウントのアドレス。 | +| `QualityIn` | 数値 | UInt32 | _(省略可)_ このトラストラインの受入額を、1,000,000,000単位当たりのこの数値の割合で評価。値`0`は、残高を額面価格で扱うことを示す省略表現です。 | +| `QualityOut` | 数値 | UInt32 | _(省略可)_ このトラストラインの払出額を、1,000,000,000単位当たりのこの数値の割合で評価。値`0`は、残高を額面価格で扱うことを示す省略表現です。 | + + +## TrustSetのフラグ + +TrustSetタイプのトランザクションについては、[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)で以下の値が追加でサポートされます。 + +| フラグ名 | 16進数値 | 10進数値 | 説明 | +|:----------------|:-----------|:--------------|:------------------------------| +| tfSetfAuth | 0x00010000 | 65536 | 他方の当事者がこのアカウントからのイシュアンスを保有することを承認します。([*asfRequireAuth* AccountSet フラグ](accountset.html#accountsetのフラグ)を使用しない場合は効果がありません。)設定を解除できません。 | +| tfSetNoRipple | 0x00020000 | 131072 | 同一通貨の2つのトラストラインでこのフラグが設定されている場合、これらのトラストライン間でのripplingがブロックされます。(詳細は、[NoRipple](rippling.html)を参照してください。)[fix1578 Amendment][]が有効な場合、トランザクションにこのフラグが使用されていてもNoRippleを有効にできないときは、そのトランザクションは結果コード`tecNO_PERMISSION`で失敗します。このAmendmentが有効ではない場合は、トラストラインでNoRippleを有効にできない場合でもトランザクションの結果が`tesSUCCESS`になることがあります(トランザクションで可能な他の変更を行います)。 | +| tfClearNoRipple | 0x00040000 | 262144 | No-Ripplingフラグをクリアします。(詳細は、[NoRipple](rippling.html)を参照してください。) | +| tfSetFreeze | 0x00100000 | 1048576 | トラストラインを[凍結](freezes.html)します。 | +| tfClearFreeze | 0x00200000 | 2097152 | トラストラインを[凍結解除](freezes.html)します。 | + +トラストラインのAuthフラグは、トラストラインがその所有者のXRP必要準備金に反映されるかどうかを左右しません。ただしAuthフラグを有効にすると、トラストラインがデフォルト状態になることがありません。承認されたトラストラインは削除できません。イシュアーは、トラストラインの限度と残高が0であっても、`tfSetfAuth`フラグだけを使用してトラストラインを事前承認できます。 + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/get-started/look-up-transaction-results.ja.md b/content/tutorials/get-started/look-up-transaction-results.ja.md new file mode 100644 index 0000000000..75d9dc10d3 --- /dev/null +++ b/content/tutorials/get-started/look-up-transaction-results.ja.md @@ -0,0 +1,22 @@ +# トランザクションの結果の確認 + +トランザクションの最終結果を確認するには、[txメソッド][]または[account_txメソッド][]を使用するか、`rippled`の他の応答を使用します。コンセンサスにより検証されたレジャーバージョンがこの応答に使用されていることを示す`"validated": true`を検索します。 + +| フィールド | 値 | 説明 | +|:-----------------------|:--------|:------------------------------------------| +| meta.TransactionResult | 文字列 | 結果を以下のように分類するコード(`tecPATH_DRY`など) | +| validated | ブール値 | この結果が検証済みレジャーの結果であるかどうか。`false`の場合、結果は暫定的です。`true`の場合、結果は最終結果です。 | + +```json + "hash": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "meta": { + ... + "TransactionResult": "tesSUCCESS" + }, + "validated": true +``` + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/use-simple-xrp-payments/reliable-transaction-submission.ja.md b/content/tutorials/use-simple-xrp-payments/reliable-transaction-submission.ja.md new file mode 100644 index 0000000000..d6bc74c054 --- /dev/null +++ b/content/tutorials/use-simple-xrp-payments/reliable-transaction-submission.ja.md @@ -0,0 +1,522 @@ +# 信頼できるトランザクションの送信 + +XRP Ledgerを使用する金融機関やその他のサービスは、ここで説明するベストプラクティスを使用し、迅速で確認可能な方法で、トランザクションが検証または拒否されるようにする必要があります。 信頼できる(ローカルで運営されている)`rippled`サーバーにトランザクションを送信してください。 + +本書で説明されているベストプラクティスを使用すると、アプリケーションはアーカイブ中にトランザクションをXRP Ledgerに送信できます。 + +1. [べき等性](https://en.wikipedia.org/wiki/Idempotence) - トランザクションは、一度のみ処理するか、またはまったく処理しないようにします。 +2. 検証可能性 - アプリケーションはトランザクションの最終結果を判断できます。 + +ベストプラクティスを導入しないと、アプリケーションに以下のエラーが発生する可能性があります。 + +1. 誤って実行されなかったトランザクションを送信する。 +2. 暫定的なトランザクションを、最終的で不変の結果として誤判断する。 +3. レジャーに以前に適用されたトランザクションの正式な結果を検出できない。 + +こういったタイプのエラーは、深刻な問題に繋がる可能性があります。 例えば、以前のPaymentトランザクションを検出できないアプリケーションは、誤ってトランザクションを再送信してしまい、元の支払いが重複してしまう可能性があります。 したがって、本書で説明するテクニックを使用し、アプリケーションが正式なトランザクション結果に基づいてアクションをとることが非常に重要です。 + +## 背景 + +XRP Ledgerプロトコルは、ネットワークのすべてのサーバーで共有されるレジャー(台帳)を提供します。 [コンセンサスと検証のプロセス](https://ripple.com/build/ripple-ledger-consensus-process/)を通じ、ネットワークはトランザクションがレジャーに適用される(または除外される)順序に同意します。 + +正しい形式のトランザクションを信頼できるXRP Ledgerサーバーに送信すると、数秒で検証または拒否されます。 ただし、正しい形式のトランザクションであっても迅速に検証も拒否もされないことがあります。このような特殊なケースは、アプリケーションがトランザクションを送信した後にグルーバル[トランザクションコスト](transaction-cost.html)が増加すると発生することがあります。 トランザクションに指定された額よりもトランザクションコストが増加すると、そのトランザクションは次回の検証済みレジャーに含まれません。後日、グローバルトランザクションコストが下がった場合には、そのトランザクションは後のレジャーに含まれます。トランザクションに有効期限が指定されていない場合には、レジャーへの追加はいつになるか分かりません。 + +電源やネットワークに障害が発生した場合には、送信済みトランザクションのステータスの検出時にさらに多くの問題に直面します。アプリケーションは、トランザクションの適切な送信と、その後の正式結果の適切な受信の両方に十分な注意を払う必要があります。 + + + + +### トランザクションのタイムライン + +XRP Ledgerには、[`rippled` API](rippled-api.html)や[RippleAPI](rippleapi-reference.html)など、トランザクションを送信するためのAPIがいくつかあります。 使用するAPIにかかわらず、トランザクションは以下のようにレジャーに適用されます。 + +1. アカウント所有者は、トランザクションを作成して署名します。 +2. 所有者は、トランザクション候補として、そのトランザクションをネットワークに送信します。 + - 形式が正しくないトランザクションや無意味なトランザクションはただちに拒否されます。 + - 形式が正しいトランザクションは、暫定的に成功し、後で失敗することもあります。 + - 形式が正しいトランザクションは、暫定的に失敗し、後で成功することもあります。 + - 形式が正しいトランザクションは、暫定的に成功し、後で少々異なった形で成功することもあります。(例えば、別のオファーが使用され、暫定的な結果よりも良い(または悪い)為替レートになることがあります。) +3. コンセンサスと検証を通じ、トランザクションがレジャーに適用されます。ネットワークの伝達のコストを適用するために、一部の失敗したトランザクションも適用されることがあります。 +4. 検証されたレジャーにはそのトランザクションが含まれ、その結果がレジャーの状態に反映されます。 + - トランザクション結果は暫定的なものではなくなり、成功または失敗の結果は最終的かつ不変のものとなります。 + +**注記:** `rippled`を介してトランザクションを送信すると、送信コマンドから返される成功ステータスコードによって、`rippled`サーバーがトランザクション候補を受信したことが示されます。このトランザクションは、検証されたレジャーに適用される場合とされない場合があります。 + +APIは、現在の進行中のレジャーにトランザクション候補を適用した結果に基づいて、暫定的な結果を返すことがあります。アプリケーションでは、この結果を、トランザクションの最終的な*不変の*結果と混同してはなりません。 不変の結果は、検証済みのレジャーだけにあります。 アプリケーションは、トランザクション結果を含むレジャーが検証されるまで、トランザクションのステータスを繰り返し照会する必要があります。 + +トランザクションの適用時に、`rippled`サーバーは、*最後に検証されたレジャー*を使用します。これは、すでにネットワーク全体によって検証されたトランザクションに基づくレジャーの状態のスナップショットです。 コンセンサスと検証のプロセスは、新しいトランザクションのセットを、最後に検証されたレジャーに正規の順序で適用します。その結果、新しい検証済みレジャーが出来上がります。 この新しい検証済みレジャーインスタンスとその前のインスタンスがレジャー履歴を形成します。 + +検証済みの各レジャーインスタンスにはシーケンス番号が付けられます。これは、前のインスタンスのシーケンス番号よりも1つ大きい番号です。また、各レジャーには識別用のハッシュ値があります。これは、レジャーの内容から決定される固有の値です。進行中のレジャーには多数のバージョンが存在することがあります。その場合、シーケンス番号は同じですが、ハッシュ値が異なります。検証できるのは、1つのバージョンのみです。 + +各検証済みレジャーには、トランザクションが適用される正規の順序があります。この順序は、レジャーの最終的なトランザクションセットに基づいて決定されます。これと異なり、各`rippled`サーバーの進行中のレジャーでは、トランザクションの受信時に増分計算されます。トランザクションを暫定的に実行する順序は、新しい検証済みレジャーを構築するためにトランザクションを実行する順序とは通常異なります。これが、トランザクションの暫定的な結果が最終結果とは異なる可能性がある理由の1つです。例えば、ある支払いが、同じオファーを使用する別の支払いの前と後のどちらで実行されるかによって、最終的な為替レートが異なることがあります。 + + + +### LastLedgerSequence + +`LastLedgerSequence`は、省略可能な[全トランザクションに適用されるパラメーター](transaction-common-fields.html)です。 このパラメーターは、XRP Ledgerに、トランザクションを特定のレジャーインスタンスで検証する必要があること、またはトランザクションを特定のレジャーインスタンスの前に検証する必要があることを指示します。 XRP Ledgerは、シーケンス番号がトランザクションの`LastLedgerSequence`パラメーターよりも大きいトランザクションをレジャーインスタンスに含めることは決してありません。 + +`LastLedgerSequence`パラメーターを使用すれば、トランザクションが迅速に確認されず、将来のレジャーに含まれるような好ましくないケースを防止できます。 `LastLedgerSequence`パラメーターは、各トランザクションに指定する必要があります。 自動プロセスでは、最後に検証されたレジャーインデックスよりも4つ大きい数値を使用して、トランザクションが予測可能な方法で、かつ迅速に検証または拒否されるようにします。 + +`rippled` APIを使用するアプリケーションは、トランザクションの送信時に、`LastLedgerSequence`を明示的に指定する必要があります。 + +RippleAPIでは、[Transaction Instructions](rippleapi-reference.html#transaction-instructions)で説明されている`maxLedgerVersion`フィールドを使用して`LastLedgerSequence`を指定します。 RippleAPIは、デフォルトで自動的に適切な値を提供します。 期限なしで実行される可能性のあるトランザクションを実行する場合には、`maxLedgerVersion`を`null`に指定して故意に`LastLedgerSequence`を省略できますが、これはお勧めできません。 + + + +## ベストプラクティス + + +### 信頼性の高いトランザクション送信 + +トランザクションを送信するアプリケーションでは、以下のベストプラクティスを使用し、プロセス終了やその他の問題が発生した場合でも信頼性が高い方法でトランザクションを送信する必要があります。 アプリケーションが最終的で検証済みの結果に基づいて処理できるように、アプリケーションのトランザクション結果を確認する必要があります。 + +送信と確認は別々の異なる手続きであり、本書の説明に基づいてこれを実装することができます。 + +1. 送信 - トランザクションがネットワークに送信され、暫定的な結果が戻されます。 +2. 確認 - 検証済みレジャーを確認し、正式な結果が判断されます。 + + +### 送信 + +送信が完了する前に電源障害やネットワーク障害が発生する可能性に備え、送信前にトランザクションの詳細を[保持](https://en.wikipedia.org/wiki/Persistence_%28computer_science%29)しておきます。 再起動時に、保持された値により、トランザクションのステータスを確認することが可能になります。 + +送信プロセスは次のとおりです。 + +1. トランザクションを生成して署名します + - `LastLedgerSequence`パラメーターを指定します +2. 以下を保存して、トランザクション詳細を保持しておきます + - トランザクションハッシュ + - LastLedgerSequence + - 送信者のアドレスとシーケンス番号 + - 送信時における最新の検証済みレジャーインデックス + - 必要に応じて、アプリケーション固有のデータ +3. トランザクションを送信します + + + +### 確認 + +通常の操作中に、アプリケーションは、送信されたトランザクションのステータスをハッシュによって確認できます。または、使用するAPIによっては、トランザクションが確認(または拒否)されたときにその通知を受信できます。 この通常操作は、ネットワーク障害や電源障害などによって中断されることがあります。 そのような中断が発生した場合には、アプリケーションは信頼性の高い方法で、中断前にネットワークに送信された(または送信されなかった)可能性のあるトランザクションのステータスを確認する必要があります。 + +再起動時、または最新の検証済みレジャーの確認時の例を示します(擬似コード): + +``` +For each persisted transaction without validated result: + Query transaction by hash + If (result appears in validated ledger) + # Outcome is final + Persist the final result + If (result code is tesSUCCESS) + Application may act based on successful transaction + Else + The transaction failed (1) + If appropriate for the application and failure type, submit with + new LastLedgerSequence and Fee + + Else if (LastLedgerSequence > newest validated ledger) + # Outcome is not yet final + Wait for more ledgers to be validated + + Else + If (server has continuous ledger history from the ledger when the + transaction was submitted up to and including the ledger + identified by LastLedgerSequence) + The transaction failed (2) + If appropriate for the application, submit with + new LastLedgerSequence and Fee + + Else + # Outcome is final, but not known due to a ledger gap + Wait to acquire continuous ledger history +``` + +#### 失敗のケース + +2つのトランザクション失敗のケース(疑似コードの(1)と(2))の間の違いは、トランザクションが検証されたレジャーに含まれていたかどうかです。いずれのケースにおいても、失敗の処理には十分な注意が必要です。 + +- 失敗のケース(1)では、トランザクションはレジャーに含まれ、[XRPトランザクションコスト](transaction-cost.html)は消却されましたが、それ以外には何も起こりませんでした。この原因としては、流動性の欠如、適切でない[パス](paths.html)、またはその他の状況が考えられます。多くの場合、このような失敗の場合には、同様のトランザクションをすぐに試すと同じ結果が出ることが多いです。状況が変わるのを待ってから送信すると、別の結果が得られることがあります。 + +- 失敗のケース(2)では、トランザクションは検証済みレジャーには含まれないため、何も起こらず、トランザクションコストも消却されませんでした。これは、XRP Ledgerの現在の負荷に対してトランザクションコストが低すぎる、`LastLedgerSequence`が早すぎる、または不安定なネットワーク接続などの状況が原因である可能性があります。 + - 失敗のケース(1)と異なり、このケースでは`LastLedgerSequence`のみを変更(または`Fee`も変更)するだけで、新しいトランザクションが成功する可能性があります。 + - また、トランザクションが成功しないのはレジャーのステータスが原因である可能性もあります。例えば、トランザクションに署名するために使用されたキーペアが送信アドレスで無効になっている場合などです。トランザクションの暫定的な結果が[`tef`-class code](tef-codes.html)の場合には、修正をしない限りそのトランザクションが成功する可能性は低くなります。 + + +#### レジャーのギャップ + +サーバーに、トランザクションが最初に送信されてから、レジャーが`LastLedgerSequence`によって識別された時点までを含む、継続したレジャー履歴がない場合には、トランザクションの最終結果を得られない可能性があります。(サーバーにないレジャーバージョンに結果が含まれている場合、成功したか失敗したかが分かりません。) + +`rippled`サーバーにリソース(CPU/RAM/ディスクIO)の余裕がある場合には、不足しているレジャーバージョンを自動的に取得します。ただし、取得しようとするレジャーが[保管する履歴の設定量](https://github.com/ripple/rippled/blob/develop/cfg/rippled-example.cfg#L581)よりも古い場合には取得されません。ギャップのサイズや、サーバーのリソース使用率に基づき、不足しているレジャーバージョンの取得には数分かかります。[ledger_requestメソッド][]を使用して履歴となっているレジャーバージョンを手動で要求することもできます。 + +あるいは、`s2.ripple.com`にあるRippleの完全履歴サーバーなど、必要なレジャー履歴を含む別の`rippled`サーバーを使用して、トランザクションのステータスを検索することもできます。この目的には、信頼できるサーバーのみを使用してください。不正なサーバーは、トランザクションのステータスや結果について偽の情報を提供するようにプログラムされている可能性があります。 + + +## 技術的応用 + +トランザクションの送信および確認のベストプラクティスを実施するには、アプリケーションで以下を実行する必要があります。 + +1. 署名するアカウントの次のシーケンス番号を判断します + * 各トランザクションにはアカウント固有のシーケンス番号があります。 これにより、アカウントによって署名されたトランザクションの実行順序が保証され、再送信しても同じトランザクションがレジャーに二重に適用されることがなくなります。 +3. `LastLedgerSequence`を決定します + * トランザクションの`LastLedgerSequence`は、最後の検証済みレジャーのシーケンス番号から計算されます。 +3. トランザクションを生成して署名します + * 送信前に、署名されたトランザクションの詳細を保持します。 +4. トランザクションを送信します + * 初期の結果は暫定的なものであり、変化する可能性があります。 +5. トランザクションの最終結果を判断します + * 最終結果は、レジャー履歴における不変部分です。 + +アプリケーションでのこれらのアクションの実行方法は、アプリケーションが使用するAPIによって異なります。 アプリケーションでは、以下のインターフェイスを使用できます。 + +1. [`rippled` API](rippled-api.html) +2. [RippleAPI](rippleapi-reference.html) +3. `rippled`上にレイヤーされた、任意の数の他のソフトウェアAPI + + +### rippled - トランザクションの送信と確認 + +#### アカウントシーケンスの判断 + +`rippled`には、最後に検証されたレジャーでのアカウントのシーケンス番号を知るための[account_infoメソッド][]があります。 + +JSON-RPC要求: + +``` +{ + "method": "account_info", + "params": [ + { + "account": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W", + "ledger": "validated" + } + ] +} +``` + +応答の本文: + +``` +{ + "result": { + "validated": true, + "status": "success", + "ledger_index": 10266396, + "account_data": { + "index": "96AB97A1BBC37F4F8A22CE28109E0D39D709689BDF412FE8EDAFB57A55E37F38", + "Sequence": 4, + "PreviousTxnLgrSeq": 9905632, + "PreviousTxnID": "CAEE0E34B3DB50A7A0CA486E3A236513531DE9E52EAC47CE4C26332CC847DE26", + "OwnerCount": 2, + "LedgerEntryType": "AccountRoot", + "Flags": 0, + "Balance": "49975988", + "Account": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W" + } + } +} +``` + +この例では、最後に検証されたレジャーの時点において(要求の`"ledger": "validated"`と、応答の`"validated": "true"`を参照)、アカウントのシーケンスは**4**です(`"account_data"`の`"Sequence": 4`を参照)。 + +アプリケーションが、このアカウントで署名された3つのトランザクションを送信する場合には、4、5、6のシーケンス番号を使用します。 各トランザクションの検証を待たずに複数のトランザクションを送信するには、アプリケーションで継続的なアカウントシーケンス番号を使用します。 + + +#### 最後に検証されたレジャーの判断 + +[server_stateメソッド][]は、最後に検証されたレジャーのレジャーインデックスを返します。 + +要求: + +``` +{ + "id": "client id 1", + "method": "server_state" +} +``` + +応答: + +``` +{ + "result": { + "status": "success", + "state": { + "validation_quorum": 3, + "validated_ledger": { + "seq": 10268596, + "reserve_inc": 5000000, + "reserve_base": 20000000, + "hash": "0E0901DA980251B8A4CCA17AB4CA6C3168FE83FA1D3F781AFC5B9B097FD209EF", + "close_time": 470798600, + "base_fee": 10 + }, + "server_state": "full", + "published_ledger": 10268596, + "pubkey_node": "n9LGg37Ya2SS9TdJ4XEuictrJmHaicdgTKiPJYi8QRSdvQd3xMnK", + "peers": 58, + "load_factor": 256000, + "load_base": 256, + "last_close": { + "proposers": 5, + "converge_time": 3004 + }, + "io_latency_ms": 2, + "fetch_pack": 10121, + "complete_ledgers": "10256331-10256382,10256412-10268596", + "build_version": "0.26.4-sp3-private" + } + } +} +``` + +この例では、最後に検証されたレジャーのシーケンス番号は10268596(応答の`result.state.validated_ledger`)です。 この例では、レジャー履歴にギャップがあることも示されています。 ここで使用されたサーバーは、ギャップの間(レジャー10256383から10256411)に適用されたトランザクションに関する情報を提供することはできません。 その部分のレジャー履歴を取得するよう設定されていれば、最終的にサーバーで取得できます。 + + +#### トランザクションの生成 + +`rippled`には、トランザクション送信に備えて準備するための[signメソッド][]があります。 このメソッドは信頼できるインスタンスにのみに渡すことができるアカウントの機密情報を必要とします。信頼できる`rippled`インスタンスにのみ渡 この例では、10 FOO(架空の通貨)を別のXRP Ledgerアドレスに発行します。 + +要求: + +``` +{ + "method": "sign", + "params": [ + { + "offline": true, + "secret": "sssssssssssssssssssssssssssss", + "tx_json": { + "Account": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W", + "Sequence": 4, + "LastLedgerSequence": 10268600, + "Fee": 10000, + "Amount": { + "currency": "FOO", + "issuer": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W", + "value": "10" + }, + "Destination": "rawz2WQ8i9FdTHp4KSNpBdyxgFqNpKe8fM", + "TransactionType": "Payment" + } + } + ] +} +``` + +アプリケーションは、`tefPAST_SEQ`エラーを防ぐため、`account_info`への以前の呼び出しで判明した`"Sequence": 4`を使用しています。 + +また、アプリケーションが`server_state`から取得した最後の検証済みレジャーに基づく`LastLedgerSequence`にも注意してください。 バックエンドアプリケーションでは、 *「最後の検証済みレジャーシーケンス + 4」* を使用することをお勧めします。または、 *「現行のレジャー + 3」* の値を使用します。 `LastLedgerSequence`の計算が誤りで、最後の検証済みレジャーの番号よりも小さい場合には、そのトランザクションは`tefMAX_LEDGER`エラーで失敗します。 + +応答: + +``` +{ + "result": { + "tx_json": { + "hash": "395C313F6F11F70FEBAF3785529A6D6DE3F44C7AF679515A7EAE22B30146DE57", + "TxnSignature": "304402202646962A21EC0516FCE62DC9280F79E7265778C571E9410D795E67BB72A2D8E402202FF4AF7B2E2160F5BCA93011CB548014626CAC7FCBEBDB81FE8193CEFF69C753", + "TransactionType": "Payment", + "SigningPubKey": "0267268EE0DDDEE6A862C9FF9DDAF898CF17060A673AF771B565AA2F4AE24E3FC5", + "Sequence": 4, + "LastLedgerSequence": 10268600, + "Flags": 2147483648, + "Fee": "10000", + "Destination": "rawz2WQ8i9FdTHp4KSNpBdyxgFqNpKe8fM", + "Amount": { + "value": "10", + "issuer": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W", + "currency": "FOO" + }, + "Account": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W" + }, + "tx_blob": "12000022800000002400000004201B009CAFB861D4C38D7EA4C68000000000000000000000000000464F4F0000000000AC5FA3BB28A09BD2EC1AE0EED2315060E83D796A68400000000000271073210267268EE0DDDEE6A862C9FF9DDAF898CF17060A673AF771B565AA2F4AE24E3FC57446304402202646962A21EC0516FCE62DC9280F79E7265778C571E9410D795E67BB72A2D8E402202FF4AF7B2E2160F5BCA93011CB548014626CAC7FCBEBDB81FE8193CEFF69C7538114AC5FA3BB28A09BD2EC1AE0EED2315060E83D796A831438BC6F9F5A6F6C4E474DB0D59892E90C2C7CED5C", + "status": "success" + } +} +``` + +トランザクションを送信する前に、アプリケーションでトランザクションのハッシュを保持しておきます。 `sign`メソッドの結果の`tx_json`の下にハッシュが含まれます。 + + + +#### トランザクションの送信 + +`rippled`には、署名されたトランザクションの送信を可能にする、[submitメソッド][]があります。 これは、`sign`メソッドで返された`tx_blob`パラメーターを使用します。 + +要求: + +``` +{ + "method": "submit", + "params": [ + { + "tx_blob": "12000022800000002400000004201B009CAFB861D4C38D7EA4C68000000000000000000000000000464F4F0000000000AC5FA3BB28A09BD2EC1AE0EED2315060E83D796A68400000000000271073210267268EE0DDDEE6A862C9FF9DDAF898CF17060A673AF771B565AA2F4AE24E3FC57446304402202646962A21EC0516FCE62DC9280F79E7265778C571E9410D795E67BB72A2D8E402202FF4AF7B2E2160F5BCA93011CB548014626CAC7FCBEBDB81FE8193CEFF69C7538114AC5FA3BB28A09BD2EC1AE0EED2315060E83D796A831438BC6F9F5A6F6C4E474DB0D59892E90C2C7CED5C" + } + ] +} +``` + +応答: + +``` +{ + "result": { + "tx_json": { + "hash": "395C313F6F11F70FEBAF3785529A6D6DE3F44C7AF679515A7EAE22B30146DE57", + "TxnSignature": "304402202646962A21EC0516FCE62DC9280F79E7265778C571E9410D795E67BB72A2D8E402202FF4AF7B2E2160F5BCA93011CB548014626CAC7FCBEBDB81FE8193CEFF69C753", + "TransactionType": "Payment", + "SigningPubKey": "0267268EE0DDDEE6A862C9FF9DDAF898CF17060A673AF771B565AA2F4AE24E3FC5", + "Sequence": 4, + "LastLedgerSequence": 10268600, + "Flags": 2147483648, + "Fee": "10000", + "Destination": "rawz2WQ8i9FdTHp4KSNpBdyxgFqNpKe8fM", + "Amount": { + "value": "10", + "issuer": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W", + "currency": "FOO" + }, + "Account": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W" + }, + "tx_blob": "12000022800000002400000004201B009CAFB861D4C38D7EA4C68000000000000000000000000000464F4F0000000000AC5FA3BB28A09BD2EC1AE0EED2315060E83D796A68400000000000271073210267268EE0DDDEE6A862C9FF9DDAF898CF17060A673AF771B565AA2F4AE24E3FC57446304402202646962A21EC0516FCE62DC9280F79E7265778C571E9410D795E67BB72A2D8E402202FF4AF7B2E2160F5BCA93011CB548014626CAC7FCBEBDB81FE8193CEFF69C7538114AC5FA3BB28A09BD2EC1AE0EED2315060E83D796A831438BC6F9F5A6F6C4E474DB0D59892E90C2C7CED5C", + "status": "success", + "engine_result_message": "The transaction was applied.", + "engine_result_code": 0, + "engine_result": "tesSUCCESS" + } +} +``` + +これは**初期**結果です。 最終結果は検証済みのレジャーのみにあります。 `"validated": true`フィールドがないことが、これが**不変の結果ではない**ことを示しています。 + + +#### トランザクションの確認 + +トランザクションの結果を取得するために、トランザクションが署名された時に生成されるトランザクションハッシュが[txメソッド][]に渡されます。 + +要求: + +``` +{ + "method": "tx", + "params": [ + { + "transaction": "395C313F6F11F70FEBAF3785529A6D6DE3F44C7AF679515A7EAE22B30146DE57", + "binary": false + } + ] +} +``` + +応答: + +``` +{ + "result": { + "validated": true, + "status": "success", + "meta": { + "TransactionResult": "tesSUCCESS", + "TransactionIndex": 2, + "AffectedNodes": [...] + }, + "ledger_index": 10268599[d], + "inLedger": 10268599, + "hash": "395C313F6F11F70FEBAF3785529A6D6DE3F44C7AF679515A7EAE22B30146DE57", + "date": 470798270, + "TxnSignature": "304402202646962A21EC0516FCE62DC9280F79E7265778C571E9410D795E67BB72A2D8E402202FF4AF7B2E2160F5BCA93011CB548014626CAC7FCBEBDB81FE8193CEFF69C753", + "TransactionType": "Payment", + "SigningPubKey": "0267268EE0DDDEE6A862C9FF9DDAF898CF17060A673AF771B565AA2F4AE24E3FC5", + "Sequence": 4, + "LastLedgerSequence": 10268600, + "Flags": 2147483648, + "Fee": "10000", + "Destination": "rawz2WQ8i9FdTHp4KSNpBdyxgFqNpKe8fM", + "Amount": { + "value": "10", + "issuer": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W", + "currency": "FOO" + }, + "Account": "rG5Ro9e3uGEZVCh3zu5gB9ydKUskCs221W" + } +} +``` + +この応答例には、`"validated": true`があります。これは、トランザクションが検証済みレジャーに含まれていること、つまりトランザクション結果が不変であることを示しています。 さらに、メタデータには、トランザクションがレジャーに適用されたことを示す`"TransactionResult": "tesSUCCESS"`が含まれています。 + +応答に`"validated": true`が含まれていない場合には、結果は暫定的であり変化する可能性があります。 最終結果を取得するには、アプリケーションで`tx`メソッドを再度呼び出し、ネットワークでさらに多くのレジャーインスタンスを検証できるよう十分な時間をかけます。 `LastLedgerSequence`で指定されたレジャーが検証されるまで待たなければならない場合もありますが、そのトランザクションが以前の検証済みレジャーに含まれている場合には、その結果はその時点で不変です。 + + +#### 不明のトランザクションの確認 + +[txメソッド][]への呼び出しに`txnNotFound`エラーが返された場合には、アプリケーションで対処する必要があります。 + +``` +{ + "result": { + "status": "error", + "request": { + "transaction": "395C313F6F11F70FEBAF3785529A6D6DE3F44C7AF679515A7EAE22B30146DE56", + "command": "tx", + "binary": false + }, + "error_message": "Transaction not found.", + "error_code": 24, + "error": "txnNotFound" + } +} +``` + +`txnNotFound`結果コードは、トランザクションがどのレジャーにも含まれていない場合に発生します。 ただし、`rippled`インスタンスに完全なレジャー履歴がない場合や、そのトランザクションが`rippled`インスタンスにまだ伝達されていない場合にも発生します。 これにどのように対処すべきかを判断するため、アプリケーションはさらに照会を行う必要があります。 + +[server_stateメソッド][](最後の検証済みレジャーを判断するために先に使用する)は、`result.state.complete_ledgers`のもとにレジャー履歴が完全かどうかを示します。 + +``` +{ + "result": { + "status": "success", + "state": { + "validation_quorum": 3, + "validated_ledger": { + "seq": 10269447, + "reserve_inc": 5000000, + "reserve_base": 20000000, + "hash": "D05C7ECC66DD6F4FEA3A6394F209EB5D6824A76C16438F562A1749CCCE7EAFC2", + "close_time": 470802340, + "base_fee": 10 + }, + "server_state": "full", + "pubkey_node": "n9LJ5eCNjeUXQpNXHCcLv9PQ8LMFYy4W8R1BdVNcpjc1oDwe6XZF", + "peers": 84, + "load_factor": 256000, + "load_base": 256, + "last_close": { + "proposers": 5, + "converge_time": 2002 + }, + "io_latency_ms": 1, + "complete_ledgers": "10256331-10256382,10256412-10269447", + "build_version": "0.26.4-sp3-private" + } + } +} +``` + +このトランザクションの例では、その時点の最後の検証済みレジャーに基づいて`LastLedgerSequence` 10268600を指定し、4を足します。 不明のトランザクションが完全に失敗したかどうかを判断するには、`rippled`サーバーに、10268597から10268600のレジャーが必要です。 サーバーの履歴にそれらの検証済みレジャーが存在し、**かつ**`tx`が`txnNotFound`が返される場合には、そのトランザクションは失敗であり、今後のレジャーに含めることはできません。 この場合、アプリケーションのロジックで、同じアカウントシーケンスと更新された`LastLedgerSequence`を使用して代わりのトランザクションを作成して送信することが可能です。 + +サーバーは、指定された`LastLedgerSequence`よりも小さい検証済みレジャーシーケンス番号をレポートする場合があります。 その場合、`txnNotFound`に、(a)送信されたトランザクションがまだネットワークに配布されていないこと、または(b)トランザクションがネットワークに配布されたものの、まだ処理されていないことを示します。 最初のケースに対処するために、アプリケーションは再度同じ署名済みのトランザクションを送信できます。 トランザクションには固有のアカウントシーケンス番号がつけられているため、処理されるのは一度のみです。 + +最後に、サーバーにトランザクション履歴のギャップが1つ以上存在する場合があります。上記の応答に示される`completed_ledgers`フィールドは、このrippledインスタンスの10256383から10256411のレジャーが不足していることを示しています。 このトランザクションの例では、(トランザクションの送信時点と`LastLedgerSequence`に基づいて)トランザクションは10268597から10268600のレジャーのみに含まれるため、このギャップはここでは関係ありません。 ただし、必要範囲のレジャーが不足している場合には、`txnNotFound`の結果が不変の結果であるかどうかを判断するために、アプリケーションは別のrippledサーバーに照会する(またはこのサーバーによって不足しているレジャーが取得されるまで待つ)必要があります。 + + +## その他のリソース + +- [トランザクションのフォーマット](transaction-formats.html) +- [トランザクションコスト](transaction-cost.html) +- [XRP Ledger コンセンサスプロセスの概要](consensus.html) +- [コンセンサスの原理とルール](consensus-principles-and-rules.html) + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/use-simple-xrp-payments/send-a-multi-signed-transaction.ja.md b/content/tutorials/use-simple-xrp-payments/send-a-multi-signed-transaction.ja.md new file mode 100644 index 0000000000..21ae81c63c --- /dev/null +++ b/content/tutorials/use-simple-xrp-payments/send-a-multi-signed-transaction.ja.md @@ -0,0 +1,386 @@ +# マルチ署名済みトランザクションの送信 + +マルチ署名済みトランザクションを作成、署名、送信する方法を以下で説明します。 + +## 前提条件 + +- 事前にアドレスの[マルチ署名の設定](set-up-multi-signing.html)をする必要があります。 + +- マルチ署名は使用可能である必要があります。マルチ署名は、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](amendments.html)により2016/06/27以降利用可能になりました。 + + +## 1.トランザクションの作成 + +送信するトランザクションを表すJSONオブジェクトを作成します。`Fee`や`Sequence`をはじめ、このトランザクションに関する _すべての_ 情報を指定する必要があります。また、トランザクションがマルチ署名済みトランザクションであることを示すため、`SigningPubKey`を空の文字列として指定します。 + +マルチ署名済みトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](transaction-cost.html)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](transaction-cost.html)の増加に備えて現行の最小値よりも大きな値を指定できます。 + +マルチ署名が可能なトランザクションの例を以下に示します。 + + { + "TransactionType":"TrustSet", + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "SigningPubKey":"", + "Fee":"30000" + } + +(このトランザクションは、残高上限額が100 USDのrEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQCから rHb9CJAWyB4rj91VRWn96DkukG4bwdtyThへの会計上の関係を作成します。) + + +## 2.1つの署名の取得 + +SlignerListのメンバーの1人のシークレットキーとアドレスを指定した[sign_forメソッド][]を使用して、そのメンバーの署名を取得します。 + +{% include '_snippets/secret-key-warning.md' %} + + + $ rippled sign_for rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW '{ + > "TransactionType":"TrustSet", + > "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + > "Flags":262144, + > "LimitAmount":{ + > "currency":"USD", + > "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + > "value":"100" + > }, + > "Sequence":2, + > "SigningPubKey":"", + > "Fee":"30000" + > }' + Loading:"/home/mduo13/.config/ripple/rippled.cfg" + Connecting to 127.0.0.1:5005 + { + "result" :{ + "status" :"success", + "tx_blob" :"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1F1", + "tx_json" :{ + "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee" :"30000", + "Flags" :262144, + "LimitAmount" :{ + "currency" :"USD", + "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value" :"100" + }, + "Sequence" :2, + "Signers" :[ + { + "Signer" :{ + "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + } + ], + "SigningPubKey" :"", + "TransactionType" :"TrustSet", + "hash" :"A94A6417D1A7AAB059822B894E13D322ED3712F7212CE9257801F96DE6C3F6AE" + } + } + } + +応答の`tx_json`フィールドを保存します。このフィールドの`Signers`フィールドに新しい署名が入力されています。`tx_blob`フィールドの値は無視できます。 + +スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチ署名が有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。 + +## 3.追加の署名の取得 + +追加の署名は平行して取得するか、または順次取得することができます。  + +* 並行して取得する場合: トランザクションの元のJSONを指定した`sign_for`コマンドを使用します。各応答の`Signers`配列に1つの署名が含まれています。 +* 順次取得する場合: 前の`sign_for`応答の`tx_json`値を指定した`sign_for`コマンドを使用します。各応答の既存の`Signers`配列に新しい署名が追加されます。 + +{% include '_snippets/secret-key-warning.md' %} + + + $ rippled sign_for rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v '{ + > "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + > "Fee" :"30000", + > "Flags" :262144, + > "LimitAmount" :{ + > "currency" :"USD", + > "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + > "value" :"100" + > }, + > "Sequence" :2, + > "Signers" :[ + > { + > "Signer" :{ + > "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + > "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + > "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + > } + > } + > ], + > "SigningPubKey" :"", + > "TransactionType" :"TrustSet", + > "hash" :"A94A6417D1A7AAB059822B894E13D322ED3712F7212CE9257801F96DE6C3F6AE" + > }' + Loading:"/home/mduo13/.config/ripple/rippled.cfg" + Connecting to 127.0.0.1:5005 + { + "result" :{ + "status" :"success", + "tx_blob" :"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1E0107321028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B744630440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC181147908A7F0EDD48EA896C3580A399F0EE78611C8E3E1F1", + "tx_json" :{ + "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee" :"30000", + "Flags" :262144, + "LimitAmount" :{ + "currency" :"USD", + "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value" :"100" + }, + "Sequence" :2, + "Signers" :[ + { + "Signer" :{ + "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + }, + { + "Signer" :{ + "Account" :"rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SigningPubKey" :"028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + "TxnSignature" :"30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + } + } + ], + "SigningPubKey" :"", + "TransactionType" :"TrustSet", + "hash" :"BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6" + } + } + } + +構成したSignerListによっては、必要なすべての当事者からの署名を取得するためにこのステップを複数回繰り返す必要があります。 + + +## 4.署名の結合と送信 + +署名を順次収集した場合、最後の`sign_for`応答の`tx_json`ではすべての署名が結合されているので、これを[submit_multisignedメソッド][]の引数として使用できます。 + +署名を並行して収集した場合、すべての署名を含む`tx_json`オブジェクトを手動で作成する必要があります。すべての`sign_for`応答の`Signers`配列の内容を1つの`Signers`配列に結合します。この配列には各署名が含まれます。結合された`Signers`配列を元のトランザクションのJSON値に追加し、これを[submit_multisignedメソッド][]の引数として使用します。 + + $ rippled submit_multisigned '{ + > "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + > "Fee" :"30000", + > "Flags" :262144, + > "LimitAmount" :{ + > "currency" :"USD", + > "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + > "value" :"100" + > }, + > "Sequence" :2, + > "Signers" :[ + > { + > "Signer" :{ + > "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + > "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + > "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + > } + > }, + > { + > "Signer" :{ + > "Account" :"rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + > "SigningPubKey" :"028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + > "TxnSignature" :"30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + > } + > } + > ], + > "SigningPubKey" :"", + > "TransactionType" :"TrustSet", + > "hash" :"BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6" + > }' + Loading:"/home/mduo13/.config/ripple/rippled.cfg" + Connecting to 127.0.0.1:5005 + { + "result":{ + "engine_result":"tesSUCCESS", + "engine_result_code":0, + "engine_result_message":"The transaction was applied.Only final in a validated ledger.", + "status":"success", + "tx_blob":"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1E0107321028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B744630440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC181147908A7F0EDD48EA896C3580A399F0EE78611C8E3E1F1", + "tx_json":{ + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee":"30000", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "Signers":[{ + "Signer":{ + "Account":"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey":"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature":"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + }, { + "Signer":{ + "Account":"rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SigningPubKey":"028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + "TxnSignature":"30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + } + }], + "SigningPubKey":"", + "TransactionType":"TrustSet", + "hash":"BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6" + } + } + } + + +応答の`hash`値をメモしておきます。これにより、後でトランザクションの結果を確認できます。(この例ではハッシュは`BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6`です。) + + +## 5.レジャーの閉鎖 + +本番環境のネットワークを使用している場合は、レジャーが自動的に閉鎖するまで4~7秒待つことがあります。 + +スタンドアロンモードで`rippled`を実行している場合は、[ledger_acceptメソッド][]を使用してレジャーを手動で閉鎖します。 + + $ rippled ledger_accept + Loading:"/home/mduo13/.config/ripple/rippled.cfg" + Connecting to 127.0.0.1:5005 + { + "result" :{ + "ledger_current_index" :7, + "status" :"success" + } + } + + +## 6.トランザクション結果の確認 + +`submit_multisigned`コマンドの応答のハッシュ値を使用して、[txメソッド][]でトランザクションを検索します。特に`TransactionResult`が文字列`tesSUCCESS`であることを確認してください。 + +本番環境のネットワークでは、`validated`フィールドがブール値`true`に設定されていることも確認する必要があります。このフィールドが`true`ではない場合は、コンセンサスプロセスの完了までしばらく待機する必要があるか、または何らかの理由でトランザクションをレジャーに記録できない可能性があります。 + +スタンドアロンモードでは、サーバーは手動で閉鎖されたレジャーを自動的に`validated`とみなします。 + + $ rippled tx BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6 + Loading:"/home/mduo13/.config/ripple/rippled.cfg" + Connecting to 127.0.0.1:5005 + { + "result":{ + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee":"30000", + "Flags":262144, + "LimitAmount":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"100" + }, + "Sequence":2, + "Signers":[{ + "Signer":{ + "Account":"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey":"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature":"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + }, { + "Signer":{ + "Account":"rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SigningPubKey":"028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + "TxnSignature":"30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + } + }], + "SigningPubKey":"", + "TransactionType":"TrustSet", + "date":512172510, + "hash":"BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6", + "inLedger":6, + "ledger_index":6, + "meta":{ + "AffectedNodes":[{ + "ModifiedNode":{ + "LedgerEntryType":"AccountRoot", + "LedgerIndex":"2B6AC232AA4C4BE41BF49D2459FA4A0347E1B543A4C92FCEE0821C0201E2E9A8", + "PreviousTxnID":"B7E1D33DB7DEA3BB65BFAB2C80E02125F47FCCF6C957A7FDECD915B3EBE0C1DD", + "PreviousTxnLgrSeq":4 + } + }, { + "CreatedNode":{ + "LedgerEntryType":"RippleState", + "LedgerIndex":"93E317B32022977C77810A2C558FBB28E30E744C68E73720622B797F957EC5FA", + "NewFields":{ + "Balance":{ + "currency":"USD", + "issuer":"rrrrrrrrrrrrrrrrrrrrBZbvji", + "value":"0" + }, + "Flags":2162688, + "HighLimit":{ + "currency":"USD", + "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value":"0" + }, + "LowLimit":{ + "currency":"USD", + "issuer":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "value":"100" + } + } + } + }, { + "ModifiedNode":{ + "FinalFields":{ + "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Balance":"999960000", + "Flags":0, + "OwnerCount":6, + "Sequence":3 + }, + "LedgerEntryType":"AccountRoot", + "LedgerIndex":"A6B1BA6F2D70813100908EA84ABB7783695050312735E2C3665259F388804EA0", + "PreviousFields":{ + "Balance":"999990000", + "OwnerCount":5, + "Sequence":2 + }, + "PreviousTxnID":"8FDC18960455C196A8C4DE0D24799209A21F4A17E32102B5162BD79466B90222", + "PreviousTxnLgrSeq":5 + } + }, { + "ModifiedNode":{ + "FinalFields":{ + "Flags":0, + "Owner":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "RootIndex":"C2728175908D82FB1DE6676F203D8D3C056995A9FA9B369EF326523F1C65A1DE" + }, + "LedgerEntryType":"DirectoryNode", + "LedgerIndex":"C2728175908D82FB1DE6676F203D8D3C056995A9FA9B369EF326523F1C65A1DE" + } + }, { + "CreatedNode":{ + "LedgerEntryType":"DirectoryNode", + "LedgerIndex":"D8120FC732737A2CF2E9968FDF3797A43B457F2A81AA06D2653171A1EA635204", + "NewFields":{ + "Owner":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "RootIndex":"D8120FC732737A2CF2E9968FDF3797A43B457F2A81AA06D2653171A1EA635204" + } + } + }], + "TransactionIndex":0, + "TransactionResult":"tesSUCCESS" + }, + "status":"success", + "validated": true + } + } + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md b/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md new file mode 100644 index 0000000000..eb24814513 --- /dev/null +++ b/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md @@ -0,0 +1,605 @@ +# 取引所としてのXRPの上場 + +本書では、取引所がXRPを上場するために必要なステップを説明します。 + +## Alpha Exchange + +本書での説明目的で、架空の企業である _Alpha Exchange_ を使用して、XRPを上場するために必要な手順の概要を説明します。本書では、Alpha Exchangeは以下のような取引所です。 + +* 現在BTC/USDの上場を専門としています + +* BTC/XRPとXRP/USDの取引ペアの追加を希望しています + +* すべての顧客の残高を保持しています + +* サポートしている各通貨の残高を保持しています + +### ユーザーの利益 + +Alpha Exchangeは、BTC/XRPおよびXRP/USDの取引ペアを上場することを希望しています。理由の1つとして、これらのペアがユーザーにとって有用なものであることが挙げられます。特に、このサポートによりユーザーは以下ができるようになります。 + +* XRP Ledger _から_ Alpha Exchange _に_ XRPを入金できます + +* Alpha Exchange _から_ XRP Ledger _に_ XRPを送金できます + +* XRPをBTCやUSDなどの他の通貨と交換できます + +## XRPをサポートするための前提条件 + +XRPをサポートするために、Alpha Exchangeでは以下を行う必要があります。 + +* 新しい[アカウント](#アカウント)を作成して維持します + +* [バランスシート](#バランスシート)を作成して維持します + +関連項目: + +* [ゲートウェイコンプライアンス](become-an-xrp-ledger-gateway.html#ゲートウェイコンプライアンス) — ゲートウェイと取引所は異なりますが、取引所は地域の規制に準拠し、適切な当局の監督下になければなりません。 + +* [Requirements for Sending to XRP Ledger](become-an-xrp-ledger-gateway.html#requirements-for-sending-to-xrp-ledger) + +* [Requirements for Receiving from XRP Ledger](become-an-xrp-ledger-gateway.html#requirements-for-receiving-from-xrp-ledger) + +* [ゲートウェイの注意事項](become-an-xrp-ledger-gateway.html#precautions) + +### Partial Payments + +追加の前に、取引所は[Partial Payments](partial-payments.html)機能について知っておく必要があります。この機能を使用すると、XRP Ledgerのユーザーは、`SendMax`を増やさずに、受取金額を減額して、支払いを正常に送信できます。この機能は、送信者側に追加費用が発生せず、[支払いの返金](become-an-xrp-ledger-gateway.html#bouncing-payments)に便利です。 + +#### Partial Paymentsに関する警告 + +[tfPartialPaymentフラグ](payment.html#paymentのフラグ)が有効にされると、`Amount`フィールド **_は受取り金額とは同じでなくなることがあります_** 。支払いのメタデータにある`delivered_amount`フィールドは、宛先アカウントが実際に受け取る通貨の金額を示しています。支払いを受信するときに、Amountフィールドの代わりに、`delivered_amount`を使用してアカウントで受信した金額を判断します。 + +**警告:** この機能が悪用されることがあります。詳細については、[Partial Payments](partial-payments.html)を参照してください。 + +### アカウント + +XRPは、XRP Ledgerの _アカウント_ ( _ウォレット_ や _アドレス_ とも呼ばれる)で保持されます。XRP Ledgerのアカウントは、例えばBitcoinのような、アカウントに経費がほとんどまたは一切かからない他のブロックチェーンの台帳とは異なります。XRP Ledgerでは、アカウントは[決して削除できず](accounts.html#アカウントの永続性)、各アカウントは個別の、他の人に送信することのできない、[XRPの準備金](reserves.html)を保持する必要があります。このような理由から、Rippleでは利用機関に対し、必要のない過剰なアカウントを作成しないように勧めています。 + + + +Rippleが推奨するベストプラクティスに従い、Alpha Exchangeは、XRP Ledgerに最低2つのアカウントを作成する必要があります。シークレットキーが悪用された場合の危険を最小限にとどめるため、Rippleでは、[ _コールドアカウント_ 、 _ホットアカウント_ 、 _ウォームアカウント_ ](https://ripple.com/build/issuing-operational-addresses/)(それぞれコールドウォレット、ホットウォレット、ウォームウォレットとも呼ばれる)の作成をお勧めしています。コールド/ホット/ウォームのモデルは、セキュリティと利便性のバランスをとるためのものです。XRPを上場する取引所は、以下のアカウントを作成する必要があります。 + +* 大部分のXRPと顧客の資金を維持する[ _コールドウォレット_ ](issuing-and-operational-addresses.html#発行アドレス)。取引所にとって、これはユーザーが[預入れ](#取引所へのxrpの入金)をするアドレスです。 セキュリティを最適化するため、このアカウントのシークレットキーはオフラインにする必要があります。 + + 取引所のコールドウォレットが悪用されると、以下のような結果が生じるおそれがあります。 + + * 不正使用者が、コールドウォレットの全XRPにアクセスできます。 + + * マスターキーが悪用されると、不正使用者は(マスターキーを無効にし、新しいレギュラーキーや署名者リストを設定することにより)そのコールドウォレットを恒久的に制御できます。これにより、その不正使用者は今後そのコールドウォレットで受信するすべてのXRPも制御できるようになります。 + + * このような事態が発生した場合には、取引所は新しいコールドウォレットアドレスを作成し、顧客にその新しいアドレスを伝える必要があります。 + + * レギュラーキーや署名者リストが悪用された場合には、取引所はコールドウォレットの制御を取り戻すことができます。ただし、不正使用者の行為の中には、以下のように簡単に元に戻せないものもあります。 + + * 不正使用者が、コールドウォレットを使用してXRP Ledgerで通貨を発行しても、その通貨の価値はだれにも認められません。(取引所が明示的にゲートウェイでもあると示した場合を除きます)。 + + * 不正使用者が、アカウントにasfRequireAuthフラグを設定した場合。この設定は解除できません。ただし、これは通貨の発行のみに関係し、ゲートウェイではない取引所には影響しません。不正使用者がマスターキーで設定または設定解除したその他の設定は、元に戻すことができます。 + +* 顧客のXRP出金や入金を管理する、日常業務を遂行するための1つ以上の[ _ホットウォレット_ ](issuing-and-operational-addresses.html#運用アドレス)。例えば、ホットウォレットがあれば、取引所はこの種のXRPの自動送金を安全にサポートできます。出金要求にただちに応じるため、ホットウォレットはオンラインである必要があります。 + + 不正使用されたホットウォレットによって発生するおそれのある結果についての詳細は、[Operational Account Compromise](issuing-and-operational-addresses.html#operational-address-compromise)を参照してください。 + +* オプションとして、コールドウォレットとホットウォレットの間で追加のセキュリティ層を提供する、1つ以上のウォームウォレット。ホットウォレットとは異なり、ウォームウォレットのシークレットキーはオンラインである必要はありません。さらに、ウォームウォレットのシークレットキーを複数の人に分散し、[マルチ署名](multi-signing.html)を導入してセキュリティを強化することもできます。 + + 不正使用されたウォームウォレットによって発生するおそれのある結果についての詳細は、[スタンバイアドレスの漏えい](issuing-and-operational-addresses.html#スタンバイアドレスの漏えい)を参照してください。 + + +関連項目: + +* ["Suggested Business Practices" in the _Gateway Guide_](become-an-xrp-ledger-gateway.html#suggested-business-practices) + +* [発行アドレスと運用アドレス](issuing-and-operational-addresses.html) + +* [アカウントの作成](accounts.html#アカウントの作成) + +* [準備金](reserves.html) + +### バランスシート + +顧客のXRPを管理するため、Alpha Exchangeは各顧客のXRP残高と自身の保有残高を追跡する必要があります。このためには、Alpha Exchangeは別のバランスシートまたは会計システムを作成し、維持する必要があります。以下の表は、このバランスシートを説明するものです。 + +新しいXRP Ledgerアカウント( _Alpha Hot_ 、 _Alpha Warm_ 、 _Alpha Cold_ )が、「*XRP LedgerのXRP残高*」表の*ユーザー*列に示されています。 + +「*Alpha ExchangeのXRP残高*」表は、新しい追加のバランスシートを表します。Alpha Exchangeのソフトウェアは、この会計システムでユーザーのXRP残高を管理します。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
XRP Ledgerの +XRP残高Alpha Exchange +のXRP残高
ユーザー残高アカウント番号ユーザー残高
Dave25,000123Alice0
Edward45,000456Bob0
Charlie50,000789Charlie0
Alpha Hot0...
Alpha Warm0
Alpha Cold0
...
+ +#### XRPの額 + +XRPの額は、XRP Ledgerで、符号なし整数の _drop_ として示されます。1XRPは1,000,000 dropです。Rippleでは、ソフトウェアでXRP残高をdropの整数値として格納し、これらの数値に整数演算を実行することをお勧めしています。ただし、ユーザーインターフェイスでは残高をXRPの単位で表示すべきです。 + +1drop(.000001XRP)はこれ以上分割できません。XRPと他の資産の間でFXレートを計算して表示するときには、この点にご注意ください。 + +詳細は、[通貨額の指定][]を参照してください。 + +#### 台帳上と台帳外 + + _Alpha Exchange_ のような取引所では、XRPは「台帳上」または「台帳外」に存在します。 + +* **台帳上のXRP**: XRP保有者のパブリック[アドレス](accounts.html#アドレス)を指定し、パブリックのXRP Ledgerを通じて照会できるXRP。これらの残高の取引相手はXRP Ledgerです。詳細については、[XRP](xrp.html)を参照してください。 + +* **台帳外のXRP**: 取引所の会計システムに保持されている、取引所のインターフェイスで照会できるXRP。台帳外のXRP残高はクレジットペースです。取引相手は、XRPを保有している取引所です。 + + 台帳外のXRP残高は、取引所の参加者の間で取引されます。このような取引をサポートするため、取引所は取引で使用可能な、 _台帳外_ のXRP合計金額に等しい _台帳上_ のXRP残高を保持する必要があります。 + + +## 資金の流れ + +残りのセクションでは、ユーザーによる入金、取引、XRP残高の換金の過程で、Alpha Exchangeが管理するアカウントを通じて資金がどのように流れるのかを説明します。資金の流れを解説するため、本書では、[「バランスシート」セクション](#バランスシート)で使用した表を使用します。 + +取引所の一般的な資金の流れには、主要な4つステップが伴います。 + +1. [取引所へのXRPの入金](#取引所へのxrpの入金) + +2. [XRPの保有高のリバランス](#xrpの保有高のリバランス) + +3. [取引所からのXRPの出金](#取引所からのxrpの出金) + +4. [取引所でのXRPの取引](#取引所でのxrpの取引) + + +このリストには、取引所の[前提条件](#xrpをサポートするための前提条件)が含まれていません。 + +この時点で、 _Alpha Exchange_ はXRP Ledgerの[ホットウォレット、ウォームウォレット、コールドウォレット](#アカウント)を作成し、それらをバランスシートに追加しましたが、ユーザーからの入金はまだ受け付けていません。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
XRP Ledgerの +XRP残高Alpha Exchange +のXRP残高
ユーザー残高アカウント番号ユーザー残高
Dave25,000123Alice0
Edward45,000456Bob0
Charlie50,000789Charlie0
Alpha Hot0...
Alpha Warm0
Alpha Cold0
...
+ + +### 取引所へのXRPの入金 + +[台帳外のXRP残高](#on-ledger-and-off-ledger)を追跡するには、取引所は新しい[バランスシート](#バランスシート)(または類似の会計システム)を作成する必要があります。以下の表は、ユーザーがXRPを入金するにつれ、Alpha Exchangeの新しいバランスシートで発生する残高の変化を示すものです。 + +CharlieというユーザーがAlpha Exchangeに50,000XRPを入金したいと希望しています。これには、以下のステップが伴います。 + +1. Charlieは50,000XRPの支払いを([RippleAPI](rippleapi-reference.html)または類似のソフトウェアを使用して)、Alpha Exchangeの[コールドウォレット](#アカウント)に送信します。 + + a. Charlieは識別子(このケースでは`789`)を支払いに追加し、Alpha Exchangeにある自身のアカウントに関連付けます。これは、[ _宛先タグ_ ](become-an-xrp-ledger-gateway.html#source-and-destination-tags)と呼ばれます。(これを使用するには、Alpha Exchangeは、すべての入金でCharlieのような宛先タグを必要とするように、すべてのアカウントでasfRequireDestフラグをオンに設定している必要があります。詳細については、[AccountSet Flags](accountset.html#accountsetのフラグ)を参照してください。) + +2. Alpha Exchangeのソフトウェアは、受信される支払を検出し、`789`をチャーリーのアカウントの宛先タグとして認識します。 + +3. 受信される支払を検出すると、Alpha Exchangeのソフトウェアは、入金された50,000XRPがCharlieによって管理されるものであることを示すようにバランスシートを更新します。 + + Charlieは、これで、取引所で最大50,000XRPまで使用できます。例えば、XRPをBTCやその他のAlpha Exchangeでサポートされている通貨と取引するオファー(注文)を作成できます。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
XRP Ledgerの +XRP残高Alpha Exchange +のXRP残高
ユーザー残高アカウント番号ユーザー残高
Dave25,000123Alice0
Edward45,000456Bob0
Charlie100,000 +
50,000
789Charlie0 +
50,000
Alpha Hot0...
Alpha Warm0
Alpha Cold0 +
50,000
...
+ + +### 取引所でのXRPの取引 + +Alpha Exchangeユーザー(Charlieなど)は、Alpha Exchangeでクレジットベースの残高を取引できます。Alpha Exchangeは、これらの取引の作成時に、新しいバランスシートでユーザーの残高を追跡する必要があります。これらの取引は、 _台帳外_ であり、XRP Ledgerから独立しています。このため、この残高の変化はXRP Ledgerには記録されません。 + +XRPを自身のXRP Ledgerアカウントに保有している顧客は、XRP Ledgerに組み込まれた分散型取引所 を使用して、ゲートウェイによって発行された通貨を取引することもできます。XRP Ledger _上_ での取引の詳細は、[オファーのライフサイクル](offers.html#オファーのライフサイクル)を参照してください。 + + +### XRPの保有高のリバランス + +取引所は、いつでもホットウォレットとコールドウォレットの間で残高を調整できます。各残高調整には、[トランザクションコスト](transaction-cost.html)がかかりますが、それ以外にはすべてのアカウントの合計残高に影響はありません。台帳上の合計残高は、取引所で取引に使用できる合計残高を常に上回る必要があります。(XRP Ledgerのトランザクションコストをカバーできるだけの十分な余剰が必要です。) + +以下の表は、(XRP Ledgerで[Paymentトランザクション][]を介した)Alpha Exchangeのコールドウォレットとホットウォレットの間での80,000XRPの残高調整を示すものです。コールドウォレットから引き落としが行われ、ホットウォレットに入金が行われました。この支払いを逆にすると(ホットウォレットから引き落としが行われ、コールドウォレットに入金が行われる)、ホットウォレットの残高は減少します。このような残高調整は、取引所がオンラインホットウォレットにXRPを保持することに関連するリスクを抑えるために役立ちます。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Alpha Exchangeの +台帳外のXRP残高Alpha Exchangeの台帳上のXRP残高
アカウント番号ユーザー残高XRP Ledgerアカウント残高
123Alice80,000ホット0 +
80,000
456Bob50,000ウォーム0
….….
789Charlie50,000コールド180,000 +
100,000
......
+ + +### 取引所からのXRPの出金 + +出金により、取引所のユーザーは、取引所の台帳外バランスシートから、XRP LedgerのアカウントにXRPを移動できます。 + +この例では、Charlieは、Alpha Exchangeから25,000XRPを出金します。これには、以下のステップが伴います。 + +1. Charlieは、Alpha ExchangeのWebサイトでプロセスを開始します。彼は、25,000XRPをXRP Ledgerの特定のアカウント(以下の表では、「Charlie XRP Ledger」という名前)に送金する指示を出します。 + +2. Charlieの指示に対応し、Alpha Exchangeは以下の作業を実行します。 + + A. その金額(25,000XRP)を台帳外バランスシートのCharlieのアカウントから引き出します。 + + B. XRP Ledgerで、Alpha ExchangeのホットウォレットからCharlieのXRP Ledgerアカウントに同じ金額(25,000XRP)の支払いを送信します。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
XRP Ledger台帳上のXRP残高Alpha Exchangeの +台帳外のXRP残高Alpha Exchangeの台帳上のXRP残高
ユーザー残高アカウント番号ユーザー残高XRP Ledgerアカウント残高
Dave25,000123Alice80,000ホット80,000 +
55,000
Edward45,000456Bob50,000ウォーム0
….….….
CharlieのXRP Ledger50,000 +
75,000
789Charlie50,000 +
25,000
コールド100,000
.........
+ + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/xrp-ledger-businesses/list-your-exchange-on-xrp-charts.ja.md b/content/tutorials/xrp-ledger-businesses/list-your-exchange-on-xrp-charts.ja.md new file mode 100644 index 0000000000..f314db26db --- /dev/null +++ b/content/tutorials/xrp-ledger-businesses/list-your-exchange-on-xrp-charts.ja.md @@ -0,0 +1,189 @@ +# XRP Chartsへの取引所の登録 + +XRP Chartsは、XRP Ledgerネットワークとそのアカウントおよびトランザクションに関するデータの他に、外部取引所の[XRPマーケットデータ](https://xrpcharts.ripple.com/#/xrp-markets)も提供します。このチュートリアルでは、各自の取引所とそのXRP取引、およびオーダーブックのデータをXRP Chartsに登録する方法を説明します。 + +XRP Chartsの取引所リストに掲載されるには、以下のデータを使用可能にしておく必要があります。取引所に、以下のデータを提供できる既存のRESTful APIエンドポイントがある場合は、タスク1と2を実行する際に必要な開発作業はほとんどありません。 + +1. [最近実行された取引を返すRESTful APIエンドポイントの提供](#最近実行された取引を返すrestful-apiエンドポイントの提供)。 + +2. [現行オーダーブックのデータを返すRESTful APIエンドポイントの提供](#現行オーダーブックのデータを返すrestful-apiエンドポイントの提供)。 + +次に、[XRP Chartsへの取引所登録依頼の送信](#xrp-chartsへの取引所登録依頼の送信)を行う必要があります。 + +エンドポイントの仕様についてのご質問は、までお問い合わせください。 + + +## 最近実行された取引を返すRESTful APIエンドポイントの提供 + +特定のXRPマーケットで実行された最新の500~1,000件の個別取引を返すRESTful APIエンドポイントを提供します。 + +取引の取りこぼしがないようにするため、XRP Chartsはエンドポイントを5~30秒間隔で頻繁に照会します。これは重複する取引データを含む応答を取得することを目的としています。エンドポイントにより適用されるレート制限が、この照会頻度に対応できることを確認してください。XRP Chartsは、取引が重複する場合でも一意の取引データのみを記録します。 + +XRP Chartsがレート制限を上回る頻度でエンドポイントを照会する必要がある場合、XRP Chartsから、レート制限を調整するか、`last_tid`パラメーターを指定するように求められます。 + + +### 要求フォーマット + +以下のような要求フォーマットを指定します。 + +``` +GET {api_base_url}/v1/trades +``` + +#### 認証 + +XRP Chartsでは、一般にアクセス可能なエンドポイントを使用することが望まれます。 + +#### パラメーター + +応答で返される取引をXRP Chartsで絞り込むことを可能にするパラメーターを指定します。パラメーターのフィールド名は一例です。他の名前を使用できます。エンドポイントでは省略可能なパラメーターを指定する必要はありませんが、このようなパラメーターは有用です。 + +| フィールド | 型 | 説明 | +|:-----------|:--------|:------------------------------------------------------| +| `market` | 文字列 | XRPがベース通貨またはクオート通貨のいずれかである特定の市場で実施された取引を返します。提案されるフォーマット(`_`)を使用して、有効な値(`xrp_btc`、`btc_xrp`、`xrp_usd`、`usd_xrp`など)を指定します。 | +| `last_tid` | 整数 | _(省略可)_ 特定の取引IDの後で実行された取引を返します。たとえば、XRP Chartsではこのパラメーターを使用して、サイトデータに記録されている最後の取引セット以降に行われたすべての取引を取得します。これにより、すべての取引が確実に記録されます。 | +| `limit` | 整数 | _(省略可)_ 応答で特定の数の取引のみを返します。 | + + +### 応答フォーマット + +正常に終了した場合の応答は、各取引を表すオブジェクトのJSON配列である必要があります。パラメーターのフィールド名は一例です。他の名前を使用できます。エンドポイントでは省略可能なパラメーターを指定する必要はありませんが、このようなパラメーターは有用です。 + +| フィールド | 型 | 説明 | +|:------------|:-----------------|:--------------------------------------------| +| `price` | 文字列または数値 | 取引の為替レート。 | +| `amount` | 文字列または数値 | 売買するXRPの額。 | +| `timestamp` | 文字列 | [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html)の日時フォーマットまたは[Unixの時刻](https://en.wikipedia.org/wiki/Unix_time)フォーマットでの取引実行時刻。 | +| `tid` | 整数 | _(省略可)_ 取引の一意のID。整数のシーケンス番号であれば理想的です。 | +| `type` | 文字列 | _(省略可)_ 取引のタイプ。有効な値には`buy`や`sell`などがあります。 | +| `size` | 文字列または数値 | _(省略可)_ 取引されたクオート通貨の額。 | +| `count` | 整数 | _(省略可)_ 応答で返す取引オブジェクトの数。 | + + +### 例 + +#### 要求の例 + +``` +GET https://api.example.com/v1/trades?market=xrp_btc&last_tid=75208825&limit=500 +``` + +#### 応答の例 + +```json +{ + "trades":[ + { + "tid":75209326, + "type":"buy", + "price":"0.57201", + "amount":"4954.0744", + "size":"2833.7801", + "timestamp":"2018-10-01T12:35:11.000Z" + }, + ... + { + "tid":75208826, + "type":"sell", + "price":"0.57201", + "amount":"4954.0744", + "size":"2833.7801", + "timestamp":"2018-10-01T12:31:16.000Z" + } + ], + "count":"500" +} +``` + + + +## 現行オーダーブックのデータを返すRESTful APIエンドポイントの提供 + +特定マーケットの現行オーダーブックに関するデータを返すRESTful APIエンドポイントを提供します。 + +XRP Chartsはこのエンドポイントを約30秒間隔で照会します。 + + +### 要求フォーマット + +以下のような要求フォーマットを指定します。 + +``` +GET {api_base_url}/v1/orderbook +``` + +#### 認証 + +XRP Chartsでは、一般にアクセス可能なエンドポイントを使用することが望まれます。 + +#### パラメーター + +以下のパラメーターを指定します。パラメーターのフィールド名は一例です。他の名前を使用できます。 + +| `Field` | 型 | 説明 | +|:---------|:-------|:---------------------------------------------------------| +| `market` | 文字列 | XRPがベース通貨またはクオート通貨のいずれかである現行オーダーブックを返します。提案されるフォーマット(`_`)を使用して、有効な値(`xrp_btc`、`btc_xrp`、`xrp_usd`、`usd_xrp`など)を指定します。 | + + +### 応答フォーマット + +正常に終了した場合の応答は、現行の売値と買値からなる配列とタイムスタンプを含むJSONオブジェクトである必要があります。応答にはオーダーブック全体が含まれている必要はありません。必要とされるのは、マーケットでの現在のXRP流動性を把握するのに十分なデータだけです。パラメーターのフィールド名は一例です。他の名前を使用できます。 + +| フィールド | 型 | 説明 | +|:------------|:-----------------|:--------------------------------------------| +| `timestamp` | 文字列 | [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html)の日時フォーマットまたは[Unixの時刻](https://en.wikipedia.org/wiki/Unix_time)フォーマットの応答送信時刻。 | +| `bids` | オブジェクトの配列 | オーダーブックでの売値。配列の各オブジェクトには、オファーで示された`price`とその価格で使用可能な`amount`が含まれている必要があります。 | +| `asks` | オブジェクトの配列 | オーダーブックでの買値。配列の各オブジェクトには、オファーで示された`price`とその価格で使用可能な`amount`が含まれている必要があります。 | + + +### 例 + +#### 要求の例 + +``` +GET https://api.example.com/v1/orderbook?market=xrp_btc +``` + +#### 応答の例 + +```json +{ + "timestamp":"2018-10-01T12:41:16.000Z", + "bids":[ + { + "price":0.00007103, + "amount":140 + }, + { + "price":0.000071, + "amount":135 + }, + { + "price":0.00007092, + "amount":5266 + } + ], + "asks":[ + { + "price":0.00007108, + "amount":140 + }, + { + "price":0.00007109, + "amount":84 + }, + { + "price":0.0000711, + "amount":10650 + } + ] +} +``` + + + +## XRP Chartsへの取引所登録依頼の送信 + +XRP Chartsへの取引所登録のご依頼は、までご連絡ください。 + +依頼には、APIドキュメントへのリンクを必ず記述してください。 diff --git a/content/use-cases/contribute-code-to-ripple-lib.ja.md b/content/use-cases/contribute-code-to-ripple-lib.ja.md new file mode 100644 index 0000000000..bf05ba5999 --- /dev/null +++ b/content/use-cases/contribute-code-to-ripple-lib.ja.md @@ -0,0 +1,56 @@ +# ripple-libへのコードの提供 + +[RippleAPI](rippleapi-reference.html)の公式クライアントライブラリである`ripple-lib`の機能向上のために、コードまたはバグレポートを提供いただけますか? RippleAPIは、XRP Ledgerとやり取りするためのJavaScript APIです。以下は、コードと機能性の迅速なレビューの実現に向けたロードマップです。 + + + +{% set n = cycler(* range(1,99)) %} + +{{n.next()}} +## [`ripple-lib`リポジトリにアクセスする](https://github.com/ripple/ripple-lib) + +`ripple-lib` はオープンソースプロジェクトです。`ripple-lib`のコードを参照するには、`ripple-lib` GitHubリポジトリにアクセスします。バグの報告またはご協力いただく前に、以下の作業を行いコードと開発者の作業を理解することをお勧めします。 + + +{{n.next()}} +## [`rippled`サーバーを設定して実行する](manage-the-rippled-server.html) + +RippleAPIは、XRP Ledgerとやり取りするためのAPIです。`rippled`は、XRP Ledgerを管理するコアのピアツーピアサーバーです。オプションとして、開発者の作業と機能性を理解するために`rippled`サーバーを設定して実行できます。誰もが自身の`rippled`サーバーを運用して、ネットワークをフォローし、XRP Ledgerの完全なコピーを保持できます。 + + +{{n.next()}} +## [Test Net XRP Ledgerアカウントを取得する](xrp-test-net-faucet.html) + +XRP Test Net Faucetを使用して、XRP Test Networkでテストアカウントを取得します。`rippled`サーバーを設定している場合は、Test Netに接続してテストコールを実行し、XRP Ledgerに慣れましょう。 + + +{{n.next()}} +## [`ripple-lib`開発環境を設定する](get-started-with-rippleapi-for-javascript.html#環境の設置) + +`ripple-lib` ではNode.jsといくつかの依存関係が必要です。[Node.js v10 LTS](https://nodejs.org/en/)および[Yarn](https://yarnpkg.com/en/)などの依存関係管理ツールの使用が推奨されます。また、各自でGitHubの`ripple-lib`リポジトリの専用フォークを作成してください。これにより、公式リポジトリへのプルリクエストを発行できるようになります。 + + +{{n.next()}} +## [最初の`ripple-lib`スクリプトを実行する](get-started-with-rippleapi-for-javascript.html#最初のrippleapiスクリプト) + +`get-account-info.js`スクリプトの内容を確認し、このスクリプトを実行します。このスクリプトを使用すると、RippleAPIスクリプトがどのように機能するかを把握し、RippleAPIインターフェイスの動作を検証できます。 + + +{{n.next()}} +## [コードを提供する](https://github.com/ripple/ripple-lib/pulls) + +`ripple-lib`を理解すると、その改善に関するアイデアが浮かぶこともあるかと思います。 + +XRP Ledgerで開発作業を進めておられると思いますが、`ripple-lib`がご使用のアプリケーションに必要な機能を提供できるよう、コードを提供することもできます。 + +アイデアが必要な場合は、[Help Wantedイシュー](https://github.com/ripple/ripple-lib/issues?utf8=%E2%9C%93&q=label%3A%22help+wanted%22)のリストを参照してください。 + +`ripple-lib`リポジトリにアクセスして課題やプルリクエストを登録します。 + + +{{n.next()}} +## [バグを報告する](https://github.com/ripple/ripple-lib/issues) + +`ripple-lib`を検証していくうちに、意図されているとおりに機能していないと思われるコードが見つかることがあります。バグを報告するには、`ripple-lib`リポジトリで[課題を登録](https://github.com/ripple/ripple-lib/issues)します。 + +セキュリティ関連のバグの報告については、Rippleの[Bug Bountyプログラム](https://ripple.com/bug-bounty/)を通じて責任を持って是非公開いただけるようお願い致します。 diff --git a/content/use-cases/contribute-code-to-rippled.ja.md b/content/use-cases/contribute-code-to-rippled.ja.md new file mode 100644 index 0000000000..ce0edff554 --- /dev/null +++ b/content/use-cases/contribute-code-to-rippled.ja.md @@ -0,0 +1,55 @@ +# rippledへのコードの提供 + +XRP Ledgerを管理するピアツーピアのコアサーバーである`rippled`の機能向上のために、コードまたはバグレポートを提供いただけますか? 以下は、コードと機能性の迅速なレビューの実現に向けたロードマップです。 + + +{% set n = cycler(* range(1,99)) %} + +{{n.next()}} +## [`rippled`リポジトリにアクセスする](https://github.com/ripple/rippled) + +`rippled` はオープンソースプロジェクトです。`rippled`のコードを参照するには、`rippled` GitHubリポジトリにアクセスします。バグの報告またはご協力いただく前に、以下の作業を行いコードと開発者の作業を理解することをお勧めします。 + + +{{n.next()}} +## [`rippled`サーバーを設定、実行する](manage-the-rippled-server.html) + +`rippled`サーバーを設定および実行して、XRP Ledgerを管理するこのピアツーピアのコアサーバーの開発者の作業と機能を理解します。誰もが自身の`rippled`サーバーを運用して、ネットワークをフォローし、XRP Ledgerの完全なコピーを保持できます。 + + +{{n.next()}} +## [XRP Ledger統合ツールを試す](get-started-with-the-rippled-api.html) + +XRP Ledgerとの統合を支援するさまざまなツールがあります。WebSocketおよびJSON-RPC APIエンドポイントから`ripple-lib` JavaScriptライブラリまで、開発者コミュニティに提供されているさまざまな統合ツールを試してみてください。 + + +{{n.next()}} +## [サンドボックスXRP Ledgerアカウントを取得する](xrp-test-net-faucet.html) + +XRP Ledger Test Netを使用してサンドボックスアカウントを取得します。`rippled server`をTest Netに接続し、テストコールを実行してXRP Ledgerに慣れましょう。 + + +{{n.next()}} +## 開発環境を設定する + +`rippled`開発環境は、C++コンパイラー、`rippled`のコンパイルに必要なライブラリ(Boostなど)へのアクセス、ソースファイルを変更するためのエディターを提供します。[`rippled`リポジトリ](https://github.com/ripple/rippled)で、最新の推奨ツールを確認してください。また、各自でGitHubの`rippled`リポジトリの専用フォークを作成してください。これにより、公式リポジトリへプルリクエストを発行できるようになります。 + + +{{n.next()}} +## [`rippled`のコーディングスタイルを理解する](https://github.com/ripple/rippled/blob/develop/docs/CodingStyle.md) + +`rippled`にコードを提供する前に、`rippled`リポジトリで使用されているコーディング基準を理解しておいてください。コーディング基準は徐々に進化しており、コードレビューを通じて伝達されます。いくつかの点については、他よりも厳しく適用されます。 + + +{{n.next()}} +## [コードを提供する](https://github.com/ripple/rippled/pulls) + +`rippled`を理解できたので、rippledの改善に関するアイデアが浮かんでくることもあるかと思います。XRP Ledgerで開発作業を行っていて、ご使用のアプリケーションに必要な機能をXRP Ledgerが提供できるようにするコードの提供を希望されているかもしれません。`rippled`リポジトリにアクセスして課題やプルリクエストを登録します。 + + +{{n.next()}} +## [バグを報告する](https://github.com/ripple/rippled/issues) + +`rippled`を検証する過程で、意図したとおりに機能していないと思われるコードが見つかることがあります。バグを報告するには、`rippled`リポジトリで[課題を登録](https://github.com/ripple/rippled/issues)します。 + +セキュリティ関連のバグの報告については、Rippleの[Bug Bountyプログラム](https://ripple.com/bug-bounty/)を通じて責任を持ってぜひ公開いただけるようお願い致します。 diff --git a/content/use-cases/list-xrp-in-your-exchange.ja.md b/content/use-cases/list-xrp-in-your-exchange.ja.md new file mode 100644 index 0000000000..c73d229d87 --- /dev/null +++ b/content/use-cases/list-xrp-in-your-exchange.ja.md @@ -0,0 +1,59 @@ +# 取引所でのXRPの上場 + +貴社の取引所にXRPを上場し、ユーザーがXRPを入金、取引、出金できるようにしましょう。以下に、実行する必要のある作業の概要を示します。 + + +{% set n = cycler(* range(1,99)) %} + +{{n.next()}} + +## [XRPを上場するための前提条件を満たす](list-xrp-as-an-exchange.html#xrpをサポートするための前提条件) + +取引所にXRPを効果的かつ安全に上場するために必要な基盤と操作プロセスを用意します。 + +これには、XRP Ledgerアカウントの作成と保護、内部バランスシートの実装、適切なセキュリティー手順の導入、該当規制への準拠が含まれます。 + + +{{n.next()}} + +## [`rippled`サーバーを設定して実行する](manage-the-rippled-server.html) + +`rippled`は、XRP Ledgerを管理するコアのピアツーピアサーバーです。 + +これは必須ではありませんが、取引所のXRP取引プロセスの速度と信頼性を管理するために、独自の`rippled`サーバーを運用することをお勧めします。 + +開発と調査のため最初は1台の`rippled`サーバーから始めます。貴社のユースケースに応じ、例えば、1台のプライベートピアバリデータを持つ複数のクラスターサーバーから構成されるエンタープライズデプロイメントを構築することもできます。 + +[バリデータモードで`rippled`サーバーを実行することにより](run-a-rippled-validator.html)、取引所としてXRP Ledgerネットワークの強化と分散に貢献できます。ご使用の`rippled`サーバーがバリデータの公開リストに含まれていない場合でも、間接的にネットワークに貢献し、評判を高めていくことができます。 + + +{{n.next()}} + +## [XRP Ledgerインテグレーションツールを試す](get-started-with-the-rippled-api.html) + +XRP Ledgerとのインテグレーションを支援する様々なツールがあります。 + +WebSocketやJSON-RPC APIエンドポイントからRippleAPI JavaScriptライブラリーまで、貴社のテクノロジーに合ったインテグレーションモードを選択できます。 + + +{{n.next()}} + +## [サンドボックスXRP Ledgerアカウントを取得する](xrp-test-net-faucet.html) + +XRP Ledger Test Netを使用してサンドボックスアカウントを取得しましょう。ご使用の`rippled`サーバーをTest Netに接続し、テストコールを実行してXRP Ledgerに慣れましょう。実際のXRPで取引する準備ができたら、ライブのXRP Ledgerでの取引に切り替えられます。 + + +{{n.next()}} + +## [インテグレーションを理解してコーディングし、資金の流れをサポートする](list-xrp-as-an-exchange.html#資金の流れ) + +XRPの上場をサポートするために、XRP Ledgerとのインテグレーションをコーディングし、XRPを取引所に入金し、取引所でのXRPの取引、XRPの保有高のリバランス、取引所からのXRPの出金を可能にします。 + + +### 関連タスク + +- [`rippled`へのコントリビュートコード](contribute-code-to-rippled.html) +- [新しいレジャーバージョンの情報取得](subscription-methods.html) +- [容量の計画](capacity-planning.html) +- [XRP Ledgerアカウントのトランザクション履歴の検索](tx_history.html) + diff --git a/content/use-cases/run-a-rippled-validator.ja.md b/content/use-cases/run-a-rippled-validator.ja.md new file mode 100644 index 0000000000..e3dbb6b910 --- /dev/null +++ b/content/use-cases/run-a-rippled-validator.ja.md @@ -0,0 +1,54 @@ +# rippledバリデータの実行 + +各`rippled`サーバー(スタンドアロンモードで実行されているのではない)は、ピアのネットワークに接続し、暗号化署名されたトランザクションを中継し、共有のグローバル台帳の完全なローカルコピーを維持します。バリデータモードで実行されている`rippled`サーバーはコンセンサスプロセスに参加し、相互接続された共謀しない信頼できる特定のセットのバリデータのネットワークを形成します。以下に、`rippled`バリデータを実行するために必要な作業の概要を示します。 + + +{% set n = cycler(* range(1,99)) %} + +{{n.next()}} + +## [バリデータを実行することの意味を理解する](rippled-server-modes.html#バリデータを運用する理由) + +貴社または貴社の組織がXRP Ledgerを使用する場合、バリデータとしてコンセンサスプロセスに参加し、信頼できるバリデータとして進行中のXRP Ledgerの分散化を支援することは貴社にとっても利益となります。 + +また独立した開発者であれば、XRP Ledgerネットワークをサポートするテクノロジーに触れる、あるいは参画する手段としてバリデータとなることがあるかも知れません。 + +バリデータの多様性は重要ですが、すべてのバリデータが広く信頼されるわけではありません。バリデータリストの発行者は、バリデータリストに載せる前に、厳しい条件を満たすように求めることがあります。 + +それにもかかわらず、バリデータそれぞれがXRP Ledgerの長期にわたる健全性と分散化に貢献することになります。 + + +{{n.next()}} + +## [`rippled`サーバーを設定して実行する](manage-the-rippled-server.html) + +`rippled`サーバーをインストールして実行します。ネットワークに従い、XRP Ledgerの完全なコピーを保持する、独自の`rippled`サーバーを誰もが実行できます。 + +構成ガイダンスおよびネットワーク要件とハードウェア要件については、[容量の計画](capacity-planning.html)を参照してください。 + + +{{n.next()}} + +## [rippledサーバーで検証を有効にする](run-rippled-as-a-validator.html) + +バリデータモードで実行するように`rippled`サーバーを設定するには、バリデータキーペアを生成し、それを`rippled.cfg`ファイルに追加します。 + + +{{n.next()}} + +## [ストックrippledサーバーをプロキシとして設定する](run-rippled-as-a-validator.html#プロキシを使用した接続) + +DDoS攻撃から本番環境のバリデータを保護するため、ストックの`rippled`サーバーをバリデータと外部ネットワークの間のプロキシーとして使用できます。 + + +{{n.next()}} + +## [バリデータを制御するWebドメインと関連付ける](run-rippled-as-a-validator.html#6-provide-domain-verification) + +ネットワークの参加者は、管理者が不明なバリデータを信頼しません。この問題に対応するため、バリデータをご使用のWebドメインと関連付けます。 +また、[XRP Charts Validator Registry](https://xrpcharts.ripple.com/#/validators)のようなバリデータ追跡サービスにバリデータをリストしてもらうのも1つの方法です。 + + +### 関連タスク + +- [`rippled`へのコントリビュートコード](contribute-code-to-rippled.html) diff --git a/content/use-cases/use-cases.ja.md b/content/use-cases/use-cases.ja.md new file mode 100644 index 0000000000..2ab350ffc1 --- /dev/null +++ b/content/use-cases/use-cases.ja.md @@ -0,0 +1,27 @@ +# ユースケース + +これらのロードマップでは、ユースケースの実装を作業単位で説明します。 + +ユーザーの間で最も人気の高いユースケースの一部を以下に示します。 + +* **[rippledバリデータの実行](run-a-rippled-validator.html)** + + `rippled`サーバーをインストールし、バリデータモードで実行、保守する手順を説明します。 + +* **[各自の取引所へのXRPの上場](list-xrp-in-your-exchange.html)** + + XRP Ledgerと統合し、XRPを各自の取引所に上場できるようにします。これによりユーザーがXRPの預入と引出を実行できるようになります。 + +* **[`rippled`へのコードの提供](contribute-code-to-rippled.html)** + + XRP Ledgerピアツーピアネットワークの中心となる`rippled`のオープンソースリファレンスサーバー実装の改善にご協力ください。 + +* **[`ripple-lib`へのコードの提供](contribute-code-to-ripple-lib.html)** + + RippleAPIの公式クライアントライブラリである`ripple-lib`の改善にご協力ください。 + +* **[スマートコントラクトとしてのEscrowの使用](use-an-escrow-as-a-smart-contract.html)** + + XRP LedgerのEscrow機能を使用してスマートコントラクトを提供する方法を説明します。 + +このページに記載されていないケースのロードマップをご希望の場合は、以下よりお問い合わせください。[お問い合わせ>](mailto:docs@ripple.com) diff --git a/dactyl-config.yml b/dactyl-config.yml index f19266d858..17f01ea177 100644 --- a/dactyl-config.yml +++ b/dactyl-config.yml @@ -1202,6 +1202,14 @@ pages: blurb: Find the results of previously-submitted transactions. targets: - en + + - md: tutorials/get-started/look-up-transaction-results.ja.md + html: look-up-transaction-results.html + funnel: Docs + doc_type: Tutorials + category: Get Started + blurb: Find the results of previously-submitted transactions. #TODO:translate + targets: - ja - md: tutorials/get-started/monitor-incoming-payments-with-websocket.md @@ -1249,6 +1257,14 @@ pages: blurb: Build a system that can submit transactions to the XRP Ledger and get their final results safely and quickly. targets: - en + + - md: tutorials/use-simple-xrp-payments/reliable-transaction-submission.ja.md + html: reliable-transaction-submission.html + funnel: Docs + doc_type: Tutorials + category: Use Simple XRP Payments + blurb: Build a system that can submit transactions to the XRP Ledger and get their final results safely and quickly. #TODO:translate + targets: - ja # Redirect for this page's new home outside of tutorials @@ -1340,6 +1356,14 @@ pages: blurb: Send a transaction authorized with multiple signatures. targets: - en + + - md: tutorials/use-simple-xrp-payments/send-a-multi-signed-transaction.ja.md + html: send-a-multi-signed-transaction.html + funnel: Docs + doc_type: Tutorials + category: Manage Account Settings + blurb: Send a transaction authorized with multiple signatures. #TODO:translate + targets: - ja - md: tutorials/manage-account-settings/require-destination-tags.md @@ -1653,9 +1677,17 @@ pages: funnel: Docs doc_type: Tutorials category: XRP Ledger Businesses - blurb: Using a fictitious business called Alpha Exchange, this tutorial demonstrates the high-level steps required to list XRP. + blurb: Learn the high-level steps required to list XRP on a digital asset exchange. targets: - en + + - md: tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.md + html: list-xrp-as-an-exchange.html + funnel: Docs + doc_type: Tutorials + category: XRP Ledger Businesses + blurb: Learn the high-level steps required to list XRP on a digital asset exchange. #TODO: translate + targets: - ja - md: tutorials/xrp-ledger-businesses/list-your-exchange-on-xrp-charts.md @@ -1663,9 +1695,17 @@ pages: funnel: Docs doc_type: Tutorials category: XRP Ledger Businesses - blurb: This tutorial describes how to have your exchange and its XRP trade and order book data listed on XRP Charts. + blurb: Have your exchange and its XRP trade and order book data listed on XRP Charts. targets: - en + + - md: tutorials/xrp-ledger-businesses/list-your-exchange-on-xrp-charts.md + html: list-your-exchange-on-xrp-charts.html + funnel: Docs + doc_type: Tutorials + category: XRP Ledger Businesses + blurb: Have your exchange and its XRP trade and order book data listed on XRP Charts. #TODO:translate + targets: - ja - md: tutorials/xrp-ledger-businesses/become-an-xrp-ledger-gateway.md @@ -2256,6 +2296,16 @@ pages: template: template-landing-children.html targets: - en + + - md: references/rippled-api/api-conventions/api-conventions.ja.md + html: api-conventions.html + blurb: rippled APIのデータ型とフォーマットについて説明します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + template: template-landing-children.html + targets: - ja - md: references/rippled-api/api-conventions/basic-data-types.md @@ -2267,6 +2317,15 @@ pages: blurb: Format and meaning of fundamental data types like addresses, ledger index, and currency codes. targets: - en + + - md: references/rippled-api/api-conventions/basic-data-types.ja.md + html: basic-data-types.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: さまざまなタイプのオブジェクトがそれぞれ異なる方法で一意に識別されます。 + targets: - ja - md: references/rippled-api/api-conventions/base58-encodings.md @@ -2278,6 +2337,15 @@ pages: blurb: Formats for representing cryptographic keys and related data in base58 format. targets: - en + + - md: references/rippled-api/api-conventions/base58-encodings.ja.md + html: base58-encodings.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Formats for representing cryptographic keys and related data in base58 format. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/currency-formats.md @@ -2289,6 +2357,15 @@ pages: blurb: Precision and range for currency numbers, plus formats of custom currency codes. targets: - en + + - md: references/rippled-api/api-conventions/currency-formats.ja.md + html: currency-formats.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Precision and range for currency numbers, plus formats of custom currency codes. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/error-formatting.md @@ -2300,6 +2377,15 @@ pages: blurb: Error formats and common error codes for WebSocket, JSON-RPC, and Commandline interfaces. targets: - en + + - md: references/rippled-api/api-conventions/error-formatting.ja.md + html: error-formatting.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Error formats and common error codes for WebSocket, JSON-RPC, and Commandline interfaces. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/markers-and-pagination.md @@ -2311,6 +2397,15 @@ pages: blurb: Convention for paginating large queries into multiple responses. targets: - en + + - md: references/rippled-api/api-conventions/markers-and-pagination.ja.md + html: markers-and-pagination.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Convention for paginating large queries into multiple responses. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/modifying-the-ledger.md @@ -2322,6 +2417,15 @@ pages: blurb: Why and how only transactions can modify the ledger. targets: - en + + - md: references/rippled-api/api-conventions/modifying-the-ledger.ja.md + html: modifying-the-ledger.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Why and how only transactions can modify the ledger. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/request-formatting.md @@ -2333,6 +2437,15 @@ pages: blurb: Standard request format, with examples, for the WebSocket, JSON-RPC, and Commandline interfaces. targets: - en + + - md: references/rippled-api/api-conventions/request-formatting.ja.md + html: request-formatting.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Standard request format, with examples, for the WebSocket, JSON-RPC, and Commandline interfaces. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/response-formatting.md @@ -2344,6 +2457,15 @@ pages: blurb: Standard response format, with examples, for the WebSocket, JSON-RPC, and Commandline interfaces. targets: - en + + - md: references/rippled-api/api-conventions/response-formatting.ja.md + html: response-formatting.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Standard response format, with examples, for the WebSocket, JSON-RPC, and Commandline interfaces. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/rippled-server-states.md @@ -2355,6 +2477,15 @@ pages: blurb: Definitions of state information reported in some API methods. targets: - en + + - md: references/rippled-api/api-conventions/rippled-server-states.ja.md + html: rippled-server-states.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Definitions of state information reported in some API methods. #TODO:translate + targets: - ja - md: references/rippled-api/api-conventions/serialization.md @@ -2366,6 +2497,15 @@ pages: blurb: Conversion between JSON and canonical binary format for XRP Ledger transactions and other objects. targets: - en + + - md: references/rippled-api/api-conventions/serialization.ja.md + html: serialization.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: API Conventions + blurb: Conversion between JSON and canonical binary format for XRP Ledger transactions and other objects. #TODO:translate + targets: - ja # rippled Public Methods @@ -2379,6 +2519,15 @@ pages: blurb: Get data from the XRP Ledger and submit transactions using these public API methods. targets: - en + + - md: references/rippled-api/public-rippled-methods/public-rippled-methods.ja.md + html: public-rippled-methods.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + blurb: パブリックAPIメソッドを使用して、rippledサーバーと直接通信します。 + targets: - ja - name: Account Methods @@ -2404,6 +2553,16 @@ pages: blurb: Get a list of payment channels where the account is the source of the channel. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_channels.ja.md + html: account_channels.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: アカウントのPayment Channelに関する情報を返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/account_currencies.md @@ -2416,6 +2575,16 @@ pages: blurb: Get a list of currencies an account can send or receive. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_currencies.ja.md + html: account_currencies.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: アカウントが送金または受領できる通貨のリストを返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/account_info.md @@ -2428,6 +2597,16 @@ pages: blurb: Get basic data about an account. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_info.ja.md + html: account_info.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: アカウントとそのアクティビティおよびXRP残高についての情報を取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/account_lines.md @@ -2440,6 +2619,16 @@ pages: blurb: Get info about an account's trust lines. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_lines.ja.md + html: account_lines.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: アカウントのトラストラインに関する情報を返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/account_objects.md @@ -2452,6 +2641,16 @@ pages: blurb: Get all ledger objects owned by an account. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_objects.ja.md + html: account_objects.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: アカウントが所有するすべてのオブジェクトを返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/account_offers.md @@ -2464,6 +2663,16 @@ pages: blurb: Get info about an account's currency exchange offers. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_offers.ja.md + html: account_offers.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: Get info about an account's currency exchange offers. + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/account_tx.md @@ -2476,6 +2685,16 @@ pages: blurb: Get info about an account's transactions. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/account_tx.ja.md + html: account_tx.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: 指定したアカウントに関連するトランザクションのリストを取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/gateway_balances.md @@ -2488,6 +2707,16 @@ pages: blurb: Calculate total amounts issued by an account. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/gateway_balances.ja.md + html: gateway_balances.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: 特定のアカウントから発行された残高の合計を計算します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/account-methods/noripple_check.md @@ -2500,6 +2729,16 @@ pages: blurb: Get recommended changes to an account's DefaultRipple and NoRipple settings. targets: - en + + - md: references/rippled-api/public-rippled-methods/account-methods/noripple_check.ja.md + html: noripple_check.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Account Methods + blurb: アカウントのDefaultRippleフィールドとそのトラストラインのNoRippleフラグの状態を、推奨される設定と比較して迅速にチェックします。 + targets: - ja - name: Ledger Methods @@ -2525,6 +2764,16 @@ pages: blurb: Get info about a ledger version. targets: - en + + - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger.ja.md + html: ledger.html # Watch carefully for clashes w/ this filename + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Ledger Methods + blurb: 公開レジャーに関する情報を取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_closed.md @@ -2537,6 +2786,16 @@ pages: blurb: Get the latest closed ledger version. targets: - en + + - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_closed.ja.md + html: ledger_closed.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Ledger Methods + blurb: 最新の閉鎖済みレジャーの一意のIDを返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_current.md @@ -2549,6 +2808,16 @@ pages: blurb: Get the current working ledger version. targets: - en + + - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_current.ja.md + html: ledger_current.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Ledger Methods + blurb: 現在進行中のレジャーの一意のIDを返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_data.md @@ -2561,6 +2830,16 @@ pages: blurb: Get the raw contents of a ledger version. targets: - en + + - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_data.ja.md + html: ledger_data.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Ledger Methods + blurb: 指定されたレジャーの内容を取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_entry.md @@ -2573,6 +2852,16 @@ pages: blurb: Get one element from a ledger version. targets: - en + + - md: references/rippled-api/public-rippled-methods/ledger-methods/ledger_entry.ja.md + html: ledger_entry.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Ledger Methods + blurb: XRP Ledgerの1つのレジャーオブジェクトを生フォーマットで返します。 + targets: - ja - name: Transaction Methods @@ -2598,6 +2887,16 @@ pages: blurb: Cryptographically sign a transaction. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/sign.ja.md + html: sign.html # watch for clashes w/ this filename + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: トランザクションの署名済みバイナリー表現を返します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/transaction-methods/sign_for.md @@ -2610,6 +2909,16 @@ pages: blurb: Contribute to a multi-signature. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/sign_for.ja.md + html: sign_for.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: マルチ署名済みトランザクションの署名を1つ提供します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/transaction-methods/submit.md @@ -2622,6 +2931,16 @@ pages: blurb: Send a transaction to the network. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/submit.ja.md + html: submit.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: トランザクションを適用し、トランザクションの確認と将来のレジャーへの記録が行われるように、ネットワークに送信します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/transaction-methods/submit_multisigned.md @@ -2634,6 +2953,16 @@ pages: blurb: Send a multi-signed transaction to the network. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/submit_multisigned.ja.md + html: submit_multisigned.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: マルチ署名済みトランザクションを適用し、このトランザクションをネットワークに送信します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/transaction-methods/transaction_entry.md @@ -2646,6 +2975,16 @@ pages: blurb: Retrieve info about a transaction from a particular ledger version. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/transaction_entry.ja.md + html: transaction_entry.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: 特定のレジャーバージョンから1つのトランザクションに関する情報を取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/transaction-methods/tx.md @@ -2658,6 +2997,16 @@ pages: blurb: Retrieve info about a transaction from all the ledgers on hand. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/tx.ja.md + html: tx.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: 1つのトランザクションに関する情報を取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/transaction-methods/tx_history.md @@ -2670,6 +3019,16 @@ pages: blurb: Retrieve info about all recent transactions. targets: - en + + - md: references/rippled-api/public-rippled-methods/transaction-methods/tx_history.ja.md + html: tx_history.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Transaction Methods + blurb: 直近に作成されたトランザクションの一部を取得します。 + targets: - ja - name: Path and Order Book Methods @@ -2695,6 +3054,16 @@ pages: blurb: Get info about offers to exchange two currencies. targets: - en + + - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/book_offers.ja.md + html: book_offers.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Path and Order Book Methods + blurb: オーダーブックと呼ばれる、2つの通貨間のオファーのリストを取得します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/deposit_authorized.md @@ -2707,6 +3076,16 @@ pages: blurb: Check whether an account is authorized to send money directly to another. targets: - en + + - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/deposit_authorized.ja.md + html: deposit_authorized.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Path and Order Book Methods + blurb: あるアカウントに別のアカウントへ支払を直接送金する権限があるかどうかを示します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/path_find.md @@ -2719,6 +3098,16 @@ pages: blurb: Find a path for a payment between two accounts and receive updates. targets: - en + + - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/path_find.ja.md + html: path_find.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Path and Order Book Methods + blurb: トランザクションが実行される可能性のあるパスを探索し、時間の経過とともにパスが変化する場合に更新を定期的に送信します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/ripple_path_find.md @@ -2731,6 +3120,16 @@ pages: blurb: Find a path for payment between two accounts, once. targets: - en + + - md: references/rippled-api/public-rippled-methods/path-and-order-book-methods/ripple_path_find.ja.md + html: ripple_path_find.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Path and Order Book Methods + blurb: すぐに利用できるペイメントパスを含む1つの応答を返します。 + targets: - ja - name: Payment Channel Methods @@ -2756,6 +3155,16 @@ pages: blurb: Sign a claim for money from a payment channel. targets: - en + + - md: references/rippled-api/public-rippled-methods/payment-channel-methods/channel_authorize.ja.md + html: channel_authorize.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Payment Channel Methods + blurb: 特定額のXRPをPayment Channelから清算するときに使用できる署名を作成します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/payment-channel-methods/channel_verify.md @@ -2768,6 +3177,16 @@ pages: blurb: Check a payment channel claim's signature. targets: - en + + - md: references/rippled-api/public-rippled-methods/payment-channel-methods/channel_verify.ja.md + html: channel_verify.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Payment Channel Methods + blurb: 特定額のXRPをPayment Channelから清算するときに使用できる署名の有効性を検証します。 + targets: - ja - name: Subscription Methods @@ -2793,6 +3212,16 @@ pages: blurb: Listen for updates about a particular subject. targets: - en + + - md: references/rippled-api/public-rippled-methods/subscription-methods/subscribe.ja.md + html: subscribe.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Subscription Methods + blurb: 特定のイベントが発生した場合に、定期的に通知するようサーバーに要求します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/subscription-methods/unsubscribe.md @@ -2802,9 +3231,19 @@ pages: supercategory: rippled API category: Public rippled Methods subcategory: Subscription Methods - blurb: Stop listening for updates about a particular subject. + blurb: 特定のサブスクリプションまたは一連のサブスクリプションへのメッセージ送信の停止を指示します。 targets: - en + + - md: references/rippled-api/public-rippled-methods/subscription-methods/unsubscribe.ja.md + html: unsubscribe.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Subscription Methods + blurb: Stop listening for updates about a particular subject. + targets: - ja - name: Server Info Methods @@ -2830,6 +3269,16 @@ pages: blurb: Get information about transaction cost. targets: - en + + - md: references/rippled-api/public-rippled-methods/server-info-methods/fee.ja.md + html: fee.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Server Info Methods + blurb: トランザクションコストに関するオープンレジャーの要件の現在の状態を報告します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/server-info-methods/server_info.md @@ -2842,6 +3291,16 @@ pages: blurb: Retrieve status of the server in human-readable format. targets: - en + + - md: references/rippled-api/public-rippled-methods/server-info-methods/server_info.ja.md + html: server_info.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Server Info Methods + blurb: rippledサーバーについての各種情報を、人間が読めるフォーマットでサーバーに要求します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/server-info-methods/server_state.md @@ -2854,6 +3313,16 @@ pages: blurb: Retrieve status of the server in machine-readable format. targets: - en + + - md: references/rippled-api/public-rippled-methods/server-info-methods/server_state.ja.md + html: server_state.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Server Info Methods + blurb: rippledサーバーの現在の状態に関するさまざまな機械可読の情報を問い合わせます。 + targets: - ja - name: Utility Methods @@ -2879,6 +3348,16 @@ pages: blurb: Pass JSON through the commandline. targets: - en + + - md: references/rippled-api/public-rippled-methods/utility-methods/json.ja.md + html: json.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Utility Methods + blurb: コマンドのパラメーターをJSON値として受け入れ、他のコマンドを実行します。 + targets: - ja - md: references/rippled-api/public-rippled-methods/utility-methods/ping.md @@ -2891,6 +3370,16 @@ pages: blurb: Confirm connectivity with the server. targets: - en + + - md: references/rippled-api/public-rippled-methods/utility-methods/ping.ja.md + html: ping.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Utility Methods + blurb: 確認応答を返します。これにより、接続のステータスと遅延をテストできます。 + targets: - ja - md: references/rippled-api/public-rippled-methods/utility-methods/random.md @@ -2903,6 +3392,16 @@ pages: blurb: Generate a random number. targets: - en + + - md: references/rippled-api/public-rippled-methods/utility-methods/random.md + html: random.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Public rippled Methods + subcategory: Utility Methods + blurb: クライアントが乱数生成のエントロピー生成源として使用する乱数を提供します。 + targets: - ja - md: references/rippled-api/admin-rippled-methods/admin-rippled-methods.md @@ -2914,6 +3413,15 @@ pages: blurb: Administer a rippled server with these admin API methods. targets: - en + + - md: references/rippled-api/admin-rippled-methods/admin-rippled-methods.ja.md + html: admin-rippled-methods.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + blurb: Administer a rippled server with these admin API methods. #TODO:translate + targets: - ja - name: Key Generation Methods @@ -2939,6 +3447,16 @@ pages: subcategory: Key Generation Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/key-generation-methods/validation_create.ja.md + html: validation_create.html + blurb: rippledサーバーがネットワークに対して自身の身元を識別させるのに使用できる暗号鍵を生成します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Key Generation Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/key-generation-methods/wallet_propose.md @@ -2951,6 +3469,16 @@ pages: subcategory: Key Generation Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/key-generation-methods/wallet_propose.ja.md + html: wallet_propose.html + blurb: キーペアとXRP Ledgerアドレスを生成します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Key Generation Methods + targets: - ja - name: Logging and Data Management Methods @@ -2976,6 +3504,16 @@ pages: subcategory: Logging and Data Management Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/can_delete.ja.md + html: can_delete.html + blurb: Allow online deletion of ledgers up to a specific ledger. #TODO: translate + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Logging and Data Management Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/crawl_shards.md @@ -3000,6 +3538,16 @@ pages: subcategory: Logging and Data Management Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/download_shard.ja.md + html: download_shard.html + blurb: Download a specific shard of ledger history. #TODO:translate + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Logging and Data Management Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_cleaner.md @@ -3012,6 +3560,16 @@ pages: subcategory: Logging and Data Management Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_cleaner.ja.md + html: ledger_cleaner.html + blurb: レジャークリーナーを制御し、レジャーデータベースの破損を検出して修復できる非同期メンテナンスをする。 #TODO:translation check + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Logging and Data Management Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_request.md @@ -3024,6 +3582,16 @@ pages: subcategory: Logging and Data Management Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/ledger_request.ja.md + html: ledger_request.html + blurb: サーバーに対し接続しているピアから特定のレジャーバージョンを取得するように指示します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Logging and Data Management Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/log_level.md @@ -3036,6 +3604,16 @@ pages: subcategory: Logging and Data Management Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/log_level.ja.md + html: log_level.html + blurb: ログ詳細レベルを変更するか、現在のログレベルを返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Logging and Data Management Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/logrotate.md @@ -3048,6 +3626,16 @@ pages: subcategory: Logging and Data Management Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/logging-and-data-management-methods/logrotate.ja.md + html: logrotate.html + blurb: ログファイルを閉じて再度開きます。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Logging and Data Management Methods + targets: - ja - name: Server Control Methods @@ -3073,6 +3661,16 @@ pages: subcategory: Server Control Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/server-control-methods/connect.ja.md + html: connect.html + blurb: 特定のピアrippledサーバーに強制的に接続します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Server Control Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/server-control-methods/ledger_accept.md @@ -3085,6 +3683,16 @@ pages: subcategory: Server Control Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/server-control-methods/ledger_accept.ja.md + html: ledger_accept.html + blurb: スタンドアロンモードでサーバーが現在処理中のレジャーを強制的に終了し、次のレジャー番号に進むようにします。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Server Control Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/server-control-methods/stop.md @@ -3097,11 +3705,21 @@ pages: subcategory: Server Control Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/server-control-methods/stop.ja.md + html: stop.html + blurb: サーバーのグレースフルシャットダウンを行います。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Server Control Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/server-control-methods/validation_seed.md html: validation_seed.html - blurb: Temporarily set key to be used for validating. + blurb: REMOVED. Temporarily set key to be used for validating. funnel: Docs doc_type: References supercategory: rippled API @@ -3109,6 +3727,16 @@ pages: subcategory: Server Control Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/server-control-methods/validation_seed.ja.md + html: validation_seed.html + blurb: 無効。rippledが検証の署名に使用するシークレット値を一時的に設定します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Server Control Methods + targets: - ja - name: Status and Debugging Methods @@ -3124,7 +3752,6 @@ pages: - en - ja - - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/consensus_info.md html: consensus_info.html blurb: Get information about the state of consensus as it happens. @@ -3135,6 +3762,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/consensus_info.ja.md + html: consensus_info.html + blurb: デバッグのためのコンセンサスプロセスに関する情報を返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/feature.md @@ -3147,6 +3784,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/feature.ja.md + html: feature.html + blurb: Amendmentに関してこのサーバーが認識している情報を返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/fetch_info.md @@ -3159,6 +3806,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/fetch_info.ja.md + html: fetch_info.html + blurb: このサーバーが現在ネットワークからフェッチしているオブジェクトに関する情報を返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/get_counts.md @@ -3171,6 +3828,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/get_counts.ja.md + html: get_counts.html + blurb: サーバーの健全性に関するさまざまな統計情報を提供します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/peers.md @@ -3183,6 +3850,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/peers.ja.md + html: peers.html + blurb: ピアプロトコルでこのサーバーに現在接続されているその他のすべてのrippledサーバーのリストを返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/print.md @@ -3195,6 +3872,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/print.ja.md + html: print.html + blurb: さまざまな内部サブシステムの現在の状況を返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validator_list_sites.md @@ -3207,6 +3894,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validator_list_sites.ja.md + html: validator_list_sites.html + blurb: バリデータリストを処理するサイトのステータス情報を返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validators.md @@ -3219,6 +3916,16 @@ pages: subcategory: Status and Debugging Methods targets: - en + + - md: references/rippled-api/admin-rippled-methods/status-and-debugging-methods/validators.ja.md + html: validators.html + blurb: サーバーが使用する公開済みの信頼できるバリデータの最新リストに関する情報を返します。 + funnel: Docs + doc_type: References + supercategory: rippled API + category: Admin rippled Methods + subcategory: Status and Debugging Methods + targets: - ja - name: Ledger Data Formats @@ -3242,6 +3949,15 @@ pages: blurb: A unique header that describes the contents of a ledger version. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-header.ja.md + html: ledger-header.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + blurb: A unique header that describes the contents of a ledger version. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-ids.md @@ -3253,6 +3969,15 @@ pages: blurb: All objects in a ledger's state tree have a unique ID. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-ids.ja.md + html: ledger-object-ids.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + blurb: All objects in a ledger's state tree have a unique ID. #TODO:translate + targets: - ja - name: Ledger Object Types @@ -3278,6 +4003,16 @@ pages: blurb: The settings, XRP balance, and other metadata for one account. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/accountroot.ja.md + html: accountroot.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: The settings, XRP balance, and other metadata for one account. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/amendments.md @@ -3290,6 +4025,16 @@ pages: blurb: Singleton object with status of enabled and pending amendments. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/amendments.ja.md + html: amendments-object.html #amendments.html is taken by the concept page + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: Singleton object with status of enabled and pending amendments. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/check.md @@ -3303,6 +4048,17 @@ pages: status: not_enabled targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/check.ja.md + html: check.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: A check that can be redeemed for money by its destination. #TODO:translate + status: not_enabled + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/depositpreauth.md @@ -3315,6 +4071,16 @@ pages: blurb: A record of preauthorization for sending payments to an account that requires authorization. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/depositpreauth.ja.md + html: depositpreauth-object.html #depositpreauth.html is taken by the tx type + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: A record of preauthorization for sending payments to an account that requires authorization. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/directorynode.md @@ -3327,6 +4093,16 @@ pages: blurb: Contains links to other objects. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/directorynode.ja.md + html: directorynode.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: Contains links to other objects. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/escrow.md @@ -3339,6 +4115,16 @@ pages: blurb: Contains XRP held for a conditional payment. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/escrow.ja.md + html: escrow-object.html #escrow.html is taken by the concept page + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: Contains XRP held for a conditional payment. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/feesettings.md @@ -3351,6 +4137,16 @@ pages: blurb: Singleton object with consensus-approved base transaction cost and reserve requirements. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/feesettings.ja.md + html: feesettings.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: Singleton object with consensus-approved base transaction cost and reserve requirements. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/ledgerhashes.md @@ -3363,6 +4159,16 @@ pages: blurb: Lists of prior ledger versions' hashes for history lookup. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/ledgerhashes.ja.md + html: ledgerhashes.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: Lists of prior ledger versions' hashes for history lookup. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/offer.md @@ -3375,6 +4181,16 @@ pages: blurb: An order to make a currency trade. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/offer.ja.md + html: offer.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: An order to make a currency trade. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/paychannel.md @@ -3387,6 +4203,16 @@ pages: blurb: A channel for asynchronous XRP payments. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/paychannel.ja.md + html: paychannel.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: A channel for asynchronous XRP payments. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/ripplestate.md @@ -3399,6 +4225,16 @@ pages: blurb: Links two accounts, tracking the balance of one currency between them. The concept of a trust line is an abstraction of this object type. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/ripplestate.ja.md + html: ripplestate.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: Links two accounts, tracking the balance of one currency between them. The concept of a trust line is an abstraction of this object type. #TODO:translate + targets: - ja - md: references/rippled-api/ledger-data-formats/ledger-object-types/signerlist.md @@ -3411,6 +4247,16 @@ pages: blurb: A list of addresses for multi-signing transactions. targets: - en + + - md: references/rippled-api/ledger-data-formats/ledger-object-types/signerlist.ja.md + html: signerlist.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Ledger Data Formats + subcategory: Ledger Object Types + blurb: A list of addresses for multi-signing transactions. #TODO:translate + targets: - ja - md: references/rippled-api/transaction-formats/transaction-formats.md @@ -3423,6 +4269,16 @@ pages: template: template-landing-children.html targets: - en + + - md: references/rippled-api/transaction-formats/transaction-formats.ja.md + html: transaction-formats.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + blurb: トランザクションは、XRP Ledgerを変更する唯一の方法です。 + template: template-landing-children.html + targets: - ja - md: references/rippled-api/transaction-formats/transaction-common-fields.md @@ -3434,6 +4290,15 @@ pages: blurb: These common fields can be provided on any XRP Ledger transaction. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-common-fields.ja.md + html: transaction-common-fields.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + blurb: どのトランザクションについても、共通する一連のフィールドがあります。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/transaction-types.md @@ -3447,6 +4312,17 @@ pages: template: template-landing-children.html targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/transaction-types.ja.md + html: transaction-types.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: トランザクションのタイプは、どういったタイプの操作を実行することが想定されているのかを示します。 + template: template-landing-children.html + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/accountset.md @@ -3459,6 +4335,16 @@ pages: blurb: Set options on an account. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/accountset.ja.md + html: accountset.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: XRP Ledgerのアカウントのプロパティーを修正します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/checkcancel.md @@ -3472,6 +4358,17 @@ pages: status: not_enabled targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/checkcancel.ja.md + html: checkcancel.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: 未清算のCheckを取り消し、送金を行わずにレジャーから削除します。 + status: not_enabled + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/checkcash.md @@ -3485,6 +4382,17 @@ pages: status: not_enabled targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/checkcash.ja.md + html: checkcash.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: レジャーでCheckオブジェクトの清算を試みます。 + status: not_enabled + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/checkcreate.md @@ -3498,6 +4406,17 @@ pages: status: not_enabled targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/checkcreate.ja.md + html: checkcreate.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: レジャーにCheckオブジェクトを作成します + status: not_enabled + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/depositpreauth.md @@ -3510,6 +4429,16 @@ pages: blurb: Preauthorizes an account to send payments to this one. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/depositpreauth.ja.md + html: depositpreauth.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: DepositPreauthトランザクションは別のアカウントに対し、このトランザクションの送信者に支払いを送金することを事前承認します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/escrowcancel.md @@ -3522,6 +4451,16 @@ pages: blurb: Reclaim escrowed XRP. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/escrowcancel.ja.md + html: escrowcancel.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: Escrowに留保されているXRPを送金元に返金します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/escrowcreate.md @@ -3531,9 +4470,19 @@ pages: supercategory: rippled API category: Transaction Formats subcategory: Transaction Types - blurb: Create an escrowed XRP payment. + blurb: Create an escrowed XRP payment. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/escrowcreate.ja.md + html: escrowcreate.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: Escrowプロセスが終了または取り消されるまでXRPを隔離します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/escrowfinish.md @@ -3546,6 +4495,16 @@ pages: blurb: Deliver escrowed XRP to recipient. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/escrowfinish.ja.md + html: escrowfinish.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: 保留中の支払いから受取人へXRPを送金します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/offercancel.md @@ -3558,6 +4517,16 @@ pages: blurb: Withdraw a currency-exchange order. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/offercancel.ja.md + html: offercancel.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: XRP LedgerからOfferオブジェクトを削除します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/offercreate.md @@ -3570,6 +4539,16 @@ pages: blurb: Submit an order to exchange currency. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/offercreate.ja.md + html: offercreate.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: OfferCreateは通貨の交換を行う意図を定義するもので、配置時に完全に履行されていない場合はOfferオブジェクトを作成します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/payment.md @@ -3582,6 +4561,16 @@ pages: blurb: Send funds from one account to another. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/payment.ja.md + html: payment.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: アカウント間での価値の移動します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/paymentchannelclaim.md @@ -3594,6 +4583,16 @@ pages: blurb: Claim money from a payment channel. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/paymentchannelclaim.ja.md + html: paymentchannelclaim.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: Payment Channelに対しXRPを請求します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/paymentchannelcreate.md @@ -3606,6 +4605,16 @@ pages: blurb: Open a new payment channel. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/paymentchannelcreate.ja.md + html: paymentchannelcreate.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: 一方向のChannelを作成し、XRPを供給します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/paymentchannelfund.md @@ -3618,6 +4627,16 @@ pages: blurb: Add more XRP to a payment channel. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/paymentchannelfund.ja.md + html: paymentchannelfund.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: オープンPayment ChannelにXRPを追加します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/setregularkey.md @@ -3630,6 +4649,16 @@ pages: blurb: Add, remove, or modify an account's regular key pair. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/setregularkey.ja.md + html: setregularkey.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: アカウントに関連付けられているレギュラーキーペアの割り当て、変更、削除を行います。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/signerlistset.md @@ -3642,6 +4671,16 @@ pages: blurb: Add, remove, or modify an account's multi-signing list. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/signerlistset.ja.md + html: signerlistset.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: トランザクションのマルチ署名に使用できる署名者のリストを作成、置換、削除します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-types/trustset.md @@ -3654,6 +4693,16 @@ pages: blurb: Add or modify a trust line. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-types/trustset.ja.md + html: trustset.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Types + blurb: 2つのアカウントをリンクするトラストラインを作成または変更します。 + targets: - ja - md: references/rippled-api/transaction-formats/pseudo-transaction-types/pseudo-transaction-types.md @@ -3667,6 +4716,17 @@ pages: template: template-landing-children.html targets: - en + + - md: references/rippled-api/transaction-formats/pseudo-transaction-types/pseudo-transaction-types.ja.md + html: pseudo-transaction-types.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Pseudo-Transaction Types + blurb: Formats of pseudo-transactions that validators sometimes apply to the XRP Ledger. #TODO:translate + template: template-landing-children.html + targets: - ja - md: references/rippled-api/transaction-formats/pseudo-transaction-types/enableamendment.md @@ -3679,6 +4739,16 @@ pages: blurb: Enable a change in transaction processing. targets: - en + + - md: references/rippled-api/transaction-formats/pseudo-transaction-types/enableamendment.ja.md + html: enableamendment.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Pseudo-Transaction Types + blurb: トランザクション処理を変更するAmendmentプロセスの進行状況を追跡します。 + targets: - ja - md: references/rippled-api/transaction-formats/pseudo-transaction-types/setfee.md @@ -3691,6 +4761,16 @@ pages: blurb: Change global reserve and transaction cost settings. targets: - en + + - md: references/rippled-api/transaction-formats/pseudo-transaction-types/setfee.ja.md + html: setfee.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Pseudo-Transaction Types + blurb: 手数料投票の結果としてトランザクションコストまたはアカウント準備金の要件が変更されます。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/transaction-results.md @@ -3703,6 +4783,16 @@ pages: blurb: Learn how to interpret rippled server transaction results. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/transaction-results.ja.md + html: transaction-results.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: Learn how to interpret rippled server transaction results. #TODO:translate + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/tec-codes.md @@ -3715,6 +4805,16 @@ pages: blurb: tec codes indicate that the transaction failed, but it was applied to a ledger to deduct the transaction cost. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/tec-codes.ja.md + html: tec-codes.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: tecコードは、トランザクションは失敗したものの、トランザクションコストを適用するために、このトランザクションがレジャーに適用されたことを示します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/tef-codes.md @@ -3727,6 +4827,16 @@ pages: blurb: tef codes indicate that the transaction failed and was not included in a ledger, but the transaction could have succeeded in some theoretical ledger. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/tef-codes.ja.md + html: tef-codes.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: tefコードは、トランザクションが失敗してレジャーに記録されなかったが、一部の理論上のレジャーでは正常に完了できた可能性があることを示します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/tel-codes.md @@ -3739,6 +4849,16 @@ pages: blurb: tel codes indicate an error in the local server processing the transaction. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/tel-codes.ja.md + html: tel-codes.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: telコードは、トランザクションを処理するローカルサーバーでのエラーを示します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/tem-codes.md @@ -3751,6 +4871,16 @@ pages: blurb: tem codes indicate that the transaction was malformed, and cannot succeed according to the XRP Ledger protocol. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/tem-codes.ja.md + html: tem-codes.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: temコードは、トランザクションの形式が正しくないため、XRP Ledgerプロトコルに基づきトランザクションが正常に完了しないことを示します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/ter-codes.md @@ -3763,6 +4893,16 @@ pages: blurb: ter codes indicate that the transaction failed, but it could apply successfully in the future, usually if some other hypothetical transaction applies first. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/ter-codes.ja.md + html: ter-codes.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: terコードは、トランザクションは失敗したけれども、将来そのトランザクションを正常に適用できる可能性があることを示します。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-results/tes-success.md @@ -3775,6 +4915,16 @@ pages: blurb: tesSUCCESS is the only code that indicates a transaction succeeded. This does not always mean it accomplished what you expected it to do. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-results/tes-success.ja.md + html: tes-success.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + subcategory: Transaction Results + blurb: tesSUCCESSコードは、トランザクションが成功したことを示す唯一のコードです。 + targets: - ja - md: references/rippled-api/transaction-formats/transaction-metadata.md @@ -3786,6 +4936,15 @@ pages: blurb: Transaction metadata describes the outcome of the transaction in detail, regardless of whether the transaction is successful. targets: - en + + - md: references/rippled-api/transaction-formats/transaction-metadata.ja.md + html: transaction-metadata.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Transaction Formats + blurb: トランザクションのメタデータは、トランザクションの処理後にトランザクションに追加されるひとまとまりのデータです。 + targets: - ja - md: references/rippled-api/commandline-usage.md @@ -3808,6 +4967,26 @@ pages: anchor: "#unit-tests" targets: - en + + - md: references/rippled-api/commandline-usage.ja.md + html: commandline-usage.html + funnel: Docs + doc_type: References + supercategory: rippled API + category: Commandline Usage + blurb: Commandline usage options for the rippled server. #TODO:translate + curated_anchors: + - name: 使用できるモード + anchor: "#使用できるモード" + - name: デーモンモードのオプション + anchor: "#デーモンモードのオプション" + - name: スタンドアロンモードのオプション + anchor: "#スタンドアロンモードのオプション" + - name: クライアントモードのオプション + anchor: "#クライアントモードのオプション" + - name: 単体テスト + anchor: "#単体テスト" + targets: - ja - md: references/rippled-api/peer-crawler.md @@ -3883,9 +5062,22 @@ pages: anchor: "#api-conventions" targets: - en - - ja - data-api-only + - md: references/data-api.ja.md + html: data-api.html + funnel: Docs + doc_type: References + category: Data API + blurb: RESTful interface to XRP Ledger analytics and historical data. #TODO:translate + curated_anchors: + - name: APIメソッドリファレンス + anchor: "#apiメソッドリファレンス" + - name: APIの規則 + anchor: "#apiの規則" + targets: + - ja + - md: references/xrp-ledger-toml.md html: xrp-ledger-toml.html funnel: Docs @@ -3915,6 +5107,11 @@ pages: funnel: Use Cases targets: - en + + - md: use-cases/use-cases.ja.md + html: use-cases.html + funnel: Use Cases + targets: - ja - md: use-cases/run-a-rippled-validator.md @@ -3930,6 +5127,19 @@ pages: - use_case targets: - en + + - md: use-cases/run-a-rippled-validator.ja.md + html: run-a-rippled-validator.html + funnel: Use Cases + template: template-use-case.html + useful_background: + - amendments.html + - the-rippled-server.html + - fee-voting.html + - consensus-principles-and-rules.html + filters: + - use_case + targets: - ja - md: use-cases/list-xrp-in-your-exchange.md @@ -3944,6 +5154,18 @@ pages: - use_case targets: - en + + - md: use-cases/list-xrp-in-your-exchange.ja.md + html: list-xrp-in-your-exchange.html + funnel: Use Cases + template: template-use-case.html + useful_background: + - xrp-ledger-overview.html + - reliable-transaction-submission.html + - xrp.html + filters: + - use_case + targets: - ja - md: use-cases/open-a-payment-channel-to-enable-an-inter-exchange-network.md @@ -3972,6 +5194,17 @@ pages: - use_case targets: - en + + - md: use-cases/contribute-code-to-rippled.ja.md + html: contribute-code-to-rippled.html + funnel: Use Cases + template: template-use-case.html + useful_background: + - consensus.html + - amendments.html + filters: + - use_case + targets: - ja - md: use-cases/contribute-code-to-ripple-lib.md @@ -3985,6 +5218,17 @@ pages: - use_case targets: - en + + - md: use-cases/contribute-code-to-ripple-lib.ja.md + html: contribute-code-to-ripple-lib.html + funnel: Use Cases + template: template-use-case.html + useful_background: + - rippleapi-reference.html + - get-started-with-rippleapi-for-javascript.html + filters: + - use_case + targets: - ja - md: use-cases/use-an-escrow-as-a-smart-contract.md @@ -4006,6 +5250,11 @@ pages: funnel: Dev Tools targets: - en + + - md: dev-tools/dev-tools.ja.md + html: dev-tools.html + funnel: Dev Tools + targets: - ja - name: Dev Tools # Redirect page for old broken URL