[JA] Permissioned DEXes

This commit is contained in:
tequ
2025-08-18 15:17:57 +09:00
parent 94686086ee
commit cee145229b
11 changed files with 689 additions and 161 deletions

View File

@@ -10,7 +10,7 @@ labels:
- スマートコントラクト
---
# subscribe
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/Subscribe.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/rpc/handlers/Subscribe.cpp "Source")
`subscribe`メソッドは、特定のイベントが発生した場合に、定期的に通知するようサーバにリクエストします。
@@ -66,42 +66,47 @@ labels:
リクエストには以下のパラメーターが含まれます。
| `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で基本認証を行うためのパスワード。 |
| フィールド | 型 | 必須? | 説明 |
|:--------------------|:-------|:-------|:-----|
| `streams` | 配列 | いいえ | 以下説明するストリームにサブスクライブします。配列の各要素は、ストリームの文字列名でなければなりません。 |
| `accounts` | 配列 | いいえ | 検証済みトランザクションを監視するアカウントの一意の[アドレス][]を持つ配列。サーバは、少なくともこれらのアカウントのいずれかに影響を与えるトランザクションが発生するたびに、`transaction`タイプのメッセージを送信します。 |
| `accounts_proposed` | 配列 | いいえ | `accounts`と同様ですが、まだファイナライズされていないトランザクションを含みます。 |
| `books` | 配列 | いいえ | 更新監視するオーダーブック。配列の各要素は、以下で定義される[book object](#book-objects)でなければなりません。サーバは、トランザクションがこのアカウントに影響を与えるたびに、`transaction`タイプのメッセージを送信します。 |
| `url` | 文字列 | いいえ | Websocketでは省略可、それ以外では必須サーバが各イベントのJSON-RPCコールバックを送信するURL。*管理者専用。* |
| `url_username` | 文字列 | いいえ | コールバックURLで基本認証を行うためのユーザ名。 |
| `url_password` | 文字列 | いいえ | コールバックURLで基本認証を行うためのパスワード。 |
以下のパラメータは廃止予定で、今後予告なしに削除される可能性があります。`user``password``rt_accounts`
以下のパラメータは廃止予定で、今後予告なしに削除される可能性があります。`user``password``rt_accounts`
`streams`パラメータは、以下のデフォルトの情報ストリームへのアクセスを可能にします。
`streams`パラメータは、以下のデフォルトの情報ストリームへのアクセスを可能にします。
- `book_changes` - コンセンサスプロセスが新しい有効なレジャーを作成するたびに、オーダーブックの変更をメッセージで送信します。
- `consensus` - サーバがコンセンサスサイクルのフェーズを変更するたびにメッセージを送信します。
- `ledger` - コンセンサスプロセス新しい検証済みレジャー宣言されるたびにメッセージ送信します。
- `manifests` - バリデータのephemeral署名鍵の更新を受け取るたびにメッセージを送信します。
- `peer_status` - **(管理者専用)** 接続している`rippled`のピアサーバに関する情報(特にコンセンサスプロセスに関する情報)。
- `transactions` - 閉鎖済みレジャーにトランザクションが追加されるたびにメッセージを送信します。
- `transactions_proposed` - 閉鎖済みレジャーにトランザクションが追加される場合や、検証済みレジャーにまだ追加されておらず、今後も追加される見込みのない一部のトランザクションが検証済みレジャーに追加される場合に、メッセージを送信します。提案されたすべてのトランザクションが検証前に表示されるわけではありません。
{% admonition type="info" name="注記" %}[成功しなかったトランザクション](../../../protocol/transactions/transaction-results/index.md) 成功しなかったトランザクションも、スパム対策取引手数料を取るため、検証済みレジャーに含まれます。{% /admonition %}
- `server` - `rippled`サーバのステータス(ネットワーク接続など)が変更されるたびにメッセージを送信します。
- `validations` - サーバがバリデータを信頼しているか否かにかかわらず、サーバが検証メッセージを受信するたびに、メッセージを送信します。(個々の`rippled`は、サーバが少なくとも定数の信頼できるバリデータから検証メッセージを信した時点で、レジャーが検証済みであると宣言します。
| ストリーム名 | メッセージタイプ | 説明 |
|:------------------------|:---------------------|:------------|
| `book_changes` | `bookChanges` | コンセンサスプロセス新しい検証済みレジャー宣言るたびに、オーダーブックの変更をメッセージ送信します。 |
| `consensus` | `consensusPhase` | サーバがコンセンサスサイクルのフェーズを変更するたびにメッセージを送信します。 |
| `ledger` | `ledgerClosed` | コンセンサスプロセスで新しい検証済みレジャーが宣言されるたびにメッセージを送信します。 |
| `manifests` | `manifestReceived` | バリデータのephemeral署名鍵の更新を受け取るたびにメッセージを送信します。 |
| `peer_status` | `peerStatusChange` | **(管理者専用)** 接続している`rippled`のピアサーバに関する情報(特にコンセンサスプロセスに関する情報)。 |
| `transactions` | `transaction` | 閉鎖済みレジャーにトランザクションが追加されるたびにメッセージを送信します。 |
| `transactions_proposed` | `transaction` | 閉鎖済みレジャーにトランザクションが追加される場合や、検証済みレジャーにまだ追加されておらず、今後も追加される見込みのない一部のトランザクションが検証済みレジャーに追加される場合に、メッセージを送信します。提案されたすべてのトランザクションが検証前に表示されるわけではありません。 {% admonition type="info" name="注記" %}[成功しなかったトランザクション](../../../protocol/transactions/transaction-results/index.md) 成功しなかったトランザクションも、スパム対策取引手数料を取るため、検証済みレジャーに含まれます。{% /admonition %} |
| `server` | `serverStatus` | `rippled`サーバのステータス(ネットワーク接続など)が変更されるたびにメッセージを信します。 |
| `validations` | `validationReceived` | サーバがバリデータを信頼しているか否かにかかわらず、サーバが検証メッセージを受信するたびに、メッセージを送信します。(個々の`rippled`は、サーバが少なくとも定数の信頼できるバリデータから検証メッセージを受信した時点で、レジャーが検証済みであると宣言します。) |
{% admonition type="info" name="注記" %}以下のストリームは Clioおよび[レポートモード][]の`rippled`サーバからは利用できません: `server``peer_status``consensus`。これらのストリームを要求すると、どちらも`reportingUnsupported`エラーを返します。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1" %}更新: rippled 1.8.1{% /badge %} {% badge href="https://github.com/XRPLF/clio/releases/tag/2.0.0" %}新規: Clio v2.0{% /badge %}{% /admonition %}
### Bookオブジェクト
`books`配列が指定されている場合、この配列の各要素は、以下のフィールドを持つオブジェクトです。
| `Field` | 型 | 説明 |
| :----------- | :----------- | ---- |
| `taker_gets` | オブジェクト | オファーを受諾するアカウントが受け取る通貨を[金額なしの通貨オブジェクト](../../../protocol/data-types/currency-formats.md#金額なしでの通貨の指定)として指定します。 |
| `taker_pays` | オブジェクト | オファーを受諾するアカウントが支払う通貨を[金額なしの通貨オブジェクト](../../../protocol/data-types/currency-formats.md#金額なしでの通貨の指定)として指定します。 |
| `taker` | 文字列 | オファーを表示するパースペクティブとして使用する一意のアカウントアドレスXRP Ledgerの[base58][]フォーマット)。(これはオファーの資金提供ステータスと手数料に影響します。) |
| `snapshot` | ブール値 | (省略可)`true`の場合は、更新の送信前にサブスクライブした時点でオーダーブックの現在の状態を一度返します。デフォルトは`false` |
| `both` | ブール値 | (省略可)`true`の場合は、オーダーブックの両サイドを返します。デフォルトは`false` |
| フィールド | 型 | 必須? | 説明 |
| :----------- | :-------------------- | :----- | ---- |
| `taker_gets` | オブジェクト | はい | オファーを受諾するアカウントが受け取る通貨を[金額なしの通貨オブジェクト](../../../protocol/data-types/currency-formats.md#金額なしでの通貨の指定)として指定します。 |
| `taker_pays` | オブジェクト | はい | オファーを受諾するアカウントが支払う通貨を[金額なしの通貨オブジェクト](../../../protocol/data-types/currency-formats.md#金額なしでの通貨の指定)として指定します。 |
| `both` | ブール値 | いいえ | `true`の場合は、オーダーブックの両サイドを返します。デフォルトは`false` |
| `domain` | 文字列 - [ハッシュ][] | いいえ | 許可型DEXのレジャーエントリID。指定された場合、対応する[許可型DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md)のみを使用するパスを返します。([PermissionedDEX amendment][] {% not-enabled /%}が必要です) |
| `snapshot` | ブール値 | いいえ | `true`の場合は、更新の送信前にサブスクライブした時点でオーダーブックの現在の状態を一度返します。デフォルトは`false` |
| `taker` | 文字列 | いいえ | オファーを表示するパースペクティブとして使用する一意のアカウントアドレスXRP Ledgerの[base58][]フォーマット)。(これはオファーの資金提供ステータスと手数料に影響します。) |
## レスポンスのフォーマット
@@ -167,7 +172,7 @@ labels:
レジャーストリームメッセージのフィールドは次のとおりです。
| `Field` | 型 | 説明 |
| フィールド | 型 | 説明 |
| :------------------ | :------------------------------ | ---- |
| `type` | 文字列 | `ledgerClosed`は、このメッセージがレジャーストリームからのものであることを示します。 |
| `fee_base` | 数値 | このレジャーバージョン時点の[Referenceトランザクションコスト](../../../../concepts/transactions/transaction-cost.md#referenceトランザクションコスト)[XRPのdrop数][])。このレジャーバージョンに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が含まれている場合は、次のレジャーバージョンから新しいトランザクションコストが適用されます。 |
@@ -212,7 +217,7 @@ labels:
検証ストリームメッセージのフィールドは次のとおりです。
| `Field` | 型 | 説明 |
| フィールド | 型 | 説明 |
| :---------------------- | :------------ | ---- |
| `type` | 文字列 | 値`validationReceived`は、このメッセージが検証ストリームからであることを示します。 |
| `amendments` | 文字列の配列 | (省略される場合があります)このサーバがプロトコルへの追加を求める[Amendment](../../../../concepts/networks-and-servers/amendments.md)。 |
@@ -333,7 +338,7 @@ labels:
{% tab label="API v2" %}
| `Field` | 型 | 説明 |
| フィールド | 型 | 説明 |
|:------------------------|:--------------------------|:-----|
| `close_time_iso` | 文字列 | レジャーの終了時刻をISO 8601の時刻形式で表します。 |
| `type` | 文字列 | `transaction`は、複数の可能なストリームからのトランザクションの通知であることを示します。 |
@@ -352,7 +357,7 @@ labels:
{% tab label="API v1" %}
| `Field` | 型 | 説明 |
| フィールド | 型 | 説明 |
| :---------------------- | :------------------------------ | ---- |
| `type` | 文字列 | `transaction`は、トランザクションの通知であることを示します。この通知はさまざまなストリームから送信される可能性があります。 |
| `engine_result` | 文字列 | 文字列の[トランザクション結果コード](../../../protocol/transactions/transaction-results/index.md) |
@@ -389,7 +394,7 @@ labels:
ピアステータスストリームメッセージは、`rippled`ピアサーバのステータスが変化したイベントを表します。これらのメッセージは、次のフィールドを持つJSONオブジェクトです。
| `Field` | 値 | 説明 |
| フィールド | 値 | 説明 |
| :----------------- | :----- | ---- |
| `type` | 文字列 | `peerStatusChange`は、ピアステータスストリームからのメッセージであることを示します。 |
| `action` | 文字列 | このメッセージが送信される原因となったイベントのタイプ。有効な値については、[ピアステータスイベント](#ピアステータスイベント)をご覧ください。 |
@@ -561,7 +566,7 @@ labels:
オーダーブックストリームメッセージの形式は、[トランザクションストリームメッセージ](#トランザクションストリーム)と同様ですが、`OfferCreate`トランザクションに以下のフィールドも含まれている点が異なります。
| `Field` | 値 | 説明 |
| フィールド | 値 | 説明 |
| :------------------------ | :----- | ---- |
| `transaction.owner_funds` | 文字列 | このOfferCreateトランザクションを送信する`Account`が、このトランザクション実行後に有する`TakerGets`通貨の金額。この通貨額が[フリーズ](../../../../concepts/tokens/fungible-tokens/freezes.md)されているかどうかはチェックされません。<br>[API v2][]では`tx_json.owner_funds`に変更されました。 |
@@ -695,7 +700,7 @@ labels:
[Book Changes]ストリームメッセージのフィールドは以下のとおりです:
| Field | 値 | 説明 |
| フィールド | 値 | 説明 |
|:---------------|:-------------------------|:-----|
| `type` | 文字列 | 値`bookChanges`は、これがBook Changesストリームからのものであることを示します。 |
| `ledger_index` | [レジャーインデックス][] | これらの変更を含むレジャーのレジャーインデックス。 |
@@ -717,7 +722,7 @@ labels:
コンセンサスストリームメッセージのフィールドは次のとおりです。
| `Field` | 型 | 説明 |
| フィールド | 型 | 説明 |
| :---------- | :----- | ---- |
| `type` | 文字列 | `consensusPhase`は、このメッセージがコンセンサスストリームからのものであることを示します。 |
| `consensus` | 文字列 | サーバで実行されている新しいコンセンサスフェーズ。値には、`open``establish``accepted`などがあります。 |