mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 19:55:54 +00:00
Japanese translation: add remaining files
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# レジャーヘッダー
|
||||
[[ソース]<br>](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)を参照してください。
|
||||
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,18 @@
|
||||
# レジャーオブジェクトID
|
||||
<a id="sha512half"></a>
|
||||
|
||||
レジャーの状態ツリーのすべてのオブジェクトには一意の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ビットプロセッサーでは実行にかかる時間が短くなります。
|
||||
|
||||

|
||||
|
||||
|
||||
## 関連項目
|
||||
|
||||
- XRP Ledgerでは、ハッシュがどのように生成、使用されているかについての詳細は、[ハッシュ](basic-data-types.html#ハッシュ)を参照してください。
|
||||
- レジャーの基本的な説明については、[レジャー](ledgers.html)を参照してください。
|
||||
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,79 @@
|
||||
# AccountRoot
|
||||
[[ソース]<br>](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
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,63 @@
|
||||
# Amendments
|
||||
[[ソース]<br>](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を混同しないでください。)
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,63 @@
|
||||
# Check
|
||||
[[ソース]<br>](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のフォーマット
|
||||
[[ソース]<br>](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トランザクション][]のシーケンス番号。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,49 @@
|
||||
# DepositPreauth
|
||||
[[ソース]<br>](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。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,101 @@
|
||||
# DirectoryNode
|
||||
[[ソース]<br>](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の例
|
||||
|
||||
<!-- MULTICODE_BLOCK_START -->
|
||||
|
||||
*オファーディレクトリー*
|
||||
|
||||
```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"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- MULTICODE_BLOCK_END -->
|
||||
|
||||
## {{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以上の整数値です。)
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,68 @@
|
||||
# Escrow
|
||||
[[ソース]<br>](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トランザクション][]のシーケンス番号。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,49 @@
|
||||
# FeeSettings
|
||||
[[ソース]<br>](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
|
||||
```
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,76 @@
|
||||
# LedgerHashes
|
||||
[[ソース]<br>](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のフォーマット
|
||||
[[ソース]<br>](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`オブジェクトを検索できます。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,74 @@
|
||||
# Offer
|
||||
[[ソース]<br>](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トランザクション][]のシーケンス番号。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,101 @@
|
||||
# PayChannel
|
||||
[[ソース]<br>](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を作成したトランザクションのシーケンス番号
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,109 @@
|
||||
# RippleState
|
||||
[[ソース]<br>](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ビットの通貨コード
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -0,0 +1,103 @@
|
||||
# SignerList
|
||||
[[ソース]<br>](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`)
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
Reference in New Issue
Block a user