mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-12-06 17:27:57 +00:00
[JA] Move files to a dir compatible with Redocly
The new folder will be compatible with both Dactyl and Redocly when it comes to loading the Japanese translation for a given page. Snippets are not moved for now because importing them would require more complex changes to the actual Markdown pages, and wouldn't be cross-compatible anyway (Redocly uses slightly different 'partial' rather than 'include' syntax.)
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
---
|
||||
html: ledger-data-formats.html
|
||||
parent: protocol-reference.html
|
||||
blurb: XRP Ledgerの共有状態を構成する個別のデータオブジェクトについて説明します。
|
||||
---
|
||||
# レジャーのデータ型
|
||||
|
||||
XRP Ledgerに各レジャーバージョンは3つの要素で構成されています:
|
||||
|
||||
* **[レジャーヘッダー](ledger-header.html)**: このレジャーに関してメタデータです。
|
||||
* **[トランザクションセット](transaction-formats.html)**: このレジャーの作成時に、直前のレジャーに適用されたトランザクション。
|
||||
* **[状態データ](ledger-object-types.html)**: このバージョンのレジャーの設定、残高、オブジェクトを含むすべてのレジャーオブジェクト。
|
||||
|
||||
|
||||
## 状態データ
|
||||
|
||||
{% include '_snippets/ledger-objects-intro.ja.md' %}
|
||||
|
||||
{% from '_snippets/macros/page-children.md' import page_children with context %}
|
||||
{{ page_children(pages|selectattr("html", "eq", "ledger-object-types.html")|first, 1, 1, True) }}
|
||||
@@ -1,122 +0,0 @@
|
||||
---
|
||||
html: accountroot.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: あるアカウントの設定、XRP残高、その他のメタデータを表します。
|
||||
labels:
|
||||
- アカウント
|
||||
- XRP
|
||||
---
|
||||
# AccountRoot
|
||||
[[ソース]](https://github.com/xrplf/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の型 | [内部の型][] | 必須? | 説明 |
|
||||
|:------------------------------|:---------|:------------------|:------|:------|
|
||||
| `Account` | 文字列 | AccountID | はい | この[アカウント](accounts.html)を識別するための(クラシック)アドレスです。 |
|
||||
| `AccountTxnID` | 文字列 | Hash256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](transaction-common-fields.html#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](accountset.html#accountsetのフラグ)を送信してください。 |
|
||||
| `AMMID` | 文字列 | Hash256 | いいえ | _([AMM amendment][] :not_enabled:が必要です。)_ 対応するAMMレジャーエントリのレジャーエントリID。アカウント作成時に設定します。AMM以外のアカウントでは常に省略されます。 |
|
||||
| `Balance` | 文字列 | Amount | いいえ | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 |
|
||||
| `BurnedNFTokens` | 数値 | UInt32 | いいえ | このアカウントで発行された [非代替性トークン](non-fungible-tokens.html) のうち、バーンしたトークンの総数を表します。この数値は常に `MintedNFTokens` と同じかそれ以下となります。 |
|
||||
| `Domain` | 文字列 | VariableLength | いいえ | このアカウントに関連付けられたドメイン。JSONでは、ドメインのASCII表現を16進数で表現します。[256バイトを超える長さは使用できません](https://github.com/xrplf/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) |
|
||||
| `EmailHash` | 文字列 | Hash128 | いいえ | メールアドレスのmd5ハッシュ。クライアントはこれを使用してサービス内で[Gravatar](https://ja.gravatar.com/)などのアバターを検索できます。 |
|
||||
| [`Flags`](#accountrootのフラグ) | 数値 | UInt32 | はい | このアカウントに対して有効になっているブールフラグのビットマップ。 |
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | 値`0x0061`で文字列`AccountRoot`にマッピングされ、AccountRootオブジェクトであることを示します。 |
|
||||
| `MessageKey` | 文字列 | VariableLength | いいえ | このアカウントに暗号化されたメッセージを送信するために使用することができる公開鍵です。JSONでは、16進数で指定します。33バイトであることが必要で、最初の1バイトは鍵の種類を表します。secp256k1鍵の場合は`0x02`または`0x03`、Ed25519鍵の場合は`0xED`となります。 |
|
||||
| `MintedNFTokens` | 数値 | UInt32 | いいえ | このアカウントによって、またはこのアカウントのためにMintされた[非代替性トークン](non-fungible-tokens.html) の合計数。 |
|
||||
| `NFTokenMinter` | 文字列 | AccountID | いいえ | このアカウントに代わって[非代替性トークン](non-fungible-tokens.html)をミントできる別のアカウントを表します。 |
|
||||
| `OwnerCount` | 数値 | UInt32 | はい | レジャーでこのアカウントが所有しており、アカウント所有者の準備金に資金を付与するオブジェクトの数。 |
|
||||
| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 |
|
||||
| `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
| `RegularKey` | 文字列 | AccountID | いいえ | このアカウントのトランザクションに署名するときにマスターキーの代わりに使用できる[キーペア](cryptographic-keys.html)のアドレス。この値を変更するには[SetRegularKeyトランザクション][]を使用してください。 |
|
||||
| `Sequence` | 数値 | UInt32 | はい | このアカウントの有効な次のトランザクションの[シーケンス番号](basic-data-types.html#アカウントシーケンス) を表します。 |
|
||||
| `TicketCount` | 数値 | UInt32 | いいえ | このアカウントが台帳に保有する[チケット](tickets.html)の数です。これは、アカウントが一度に250 チケットという上限以内に留まることを保証するために自動的に更新されます。このフィールドは、チケットの数がゼロの場合は省略されます。 _([TicketBatch amendment][]により追加されました)_ |
|
||||
| `TickSize` | 数値 | UInt8 | いいえ | このアドレスが発行した通貨が関わるオファーの為替レートに使用する有効桁数。有効な値は`3`以上`15`以下です。_([TickSize Amendment][]が必要です。)_ |
|
||||
| `TransferRate` | 数値 | UInt32 | いいえ | このアカウントが発行した通貨を他のユーザーが相互に送金する際に、これらのユーザーに請求する[送金手数料](transfer-fees.html)。 |
|
||||
| `WalletLocator` | 文字列 | Hash256 | いいえ | ユーザーが設定できる任意の256bit値。 |
|
||||
| `WalletSize` | 数値 | UInt32 | いいえ | 未使用。(コード上ではこのフィールドをサポートしていますが、設定する方法はありません)。 |
|
||||
|
||||
## AMMの特殊なAccountRootエントリ
|
||||
|
||||
_([AMM amendment][] :not_enabled:が必要です。)_
|
||||
|
||||
[自動マーケットメーカー](automated-market-makers.html)(AMM)は、AMMの詳細の一部を追跡するための[AMMレジャーエントリ](amm.html)に加えて、LPトークンを発行しAMMプール内の資産を保持するためにAccountRootレジャーエントリを使用します。AMMに関連するAccountRootのアドレスは、AMMが作成される前にユーザがそのアドレスを特定し資金を提供できないように、ランダム化されています。AMMのAccountRootは、通常のアカウントとは異なり、以下のような設定で作成されます。
|
||||
|
||||
- `lsfDisableMaster` **有効** : トランザクションへ署名する手段はありません。これにより、誰もそのアカウントを直接操作することができず、トランザクションを送信することができなくなります。
|
||||
- `lsfRequireAuth` **有効** : 事前承認されているアカウントは存在しません。これにより、AMMアカウントに資産を追加する唯一の方法は、[AMMDepositトランザクション][]を使用することであることが保証されます。
|
||||
- `lsfDefaultRipple` **有効** : ユーザ間でAMMのLPトークンを送信したり、取引したりすることが可能になります。
|
||||
|
||||
さらに、AMMのAccountRootエントリには以下の特別なルールが適用されます。
|
||||
|
||||
- このAMM向けの特殊なアカウントは、[準備金要件](reserves.html)の対象外ですが、AMMのプール内の2つの資産のうちの1つであれば、XRPを保有することができます。
|
||||
- チェック、エスクロー、ペイメントチャネルの宛先にはできません。そのようなエントリを作成するトランザクションは結果コード`tecNO_PERMISSION`で失敗します。
|
||||
- ユーザはAMMのLPトークン以外のためにトラストラインを作成することはできません。そのようなトラストラインを作成するトランザクションは結果コード`tecNO_PERMISSION`で失敗します。(AMMはそのプール内のトークンを保持するために2つのトラストラインを持っており、プール内の他の資産がXRPの場合は1つのトラストラインを持っています)。
|
||||
- [Clawback Amendment][]も有効になっている場合においても、トークンの発行者はAMMから資金を回収することはできません。
|
||||
|
||||
LPトークンは他の[トークン](tokens.html)と同様に動作しますが、これらのトークンはAMM関連のトランザクションでも使用することができます。AMMの残高や、AMMに影響を与えたトランザクションの履歴は、通常のアカウントと同じように確認することができます。
|
||||
|
||||
## AccountRootのフラグ
|
||||
|
||||
AccountRootフラグの多くは、[AccountSetトランザクション][]で変更できるオプションに対応しています。ただし、レジャーで使用されるビット値は、トランザクションでそれらのフラグを有効または無効にするために使用される値とは異なります。レジャーのフラグは **lsf`** で始まる名前を持ちます。
|
||||
|
||||
AccountRootオブジェクトは`Flags`フィールドに以下のフラグを指定できます。
|
||||
|
||||
| フラグ名 | 16進数値 | 10進数値 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | 説明 |
|
||||
|-----------------------------------|--------------|----------|-------------------------------------|-------------------------------|
|
||||
| `lsfAllowTrustLineClawback` | `0x80000000` | 2147483648 | `asfAllowTrustLineClawback` | このアカウントの[Clawback](clawing-back-tokens.html)を有効にします。 _([Clawback Amendment][]が必要です。)_ |
|
||||
| `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)を有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 |
|
||||
| `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)が有効になっています。) |
|
||||
| `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 |
|
||||
| `lsfDisallowIncomingCheck` | `0x08000000` | 134217728 | `asfDisallowIncomingCheck` | このアカウントを宛先とするチェックの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
|
||||
| `lsfDisallowIncomingNFTokenOffer` | `0x04000000` | 67108864 | `asfDisallowIncomingNFTokenOffer` | このアカウントを宛先とするNFTokenオファーの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
|
||||
| `lsfDisallowIncomingPayChan` | `0x10000000` | 268435456 | `asfDisallowIncomingPayChan` | このアカウントを宛先とするペイメントチャネルの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
|
||||
| `lsfDisallowIncomingTrustline` | `0x20000000` | 536870912 | `asfDisallowIncomingTrustline` | このアカウントに対するトラストラインの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
|
||||
| `lsfDisallowXRP` | `0x00080000` | 524288 | `asfDisallowXRP` | クライアントアプリケーションはこのアカウントにXRPを送金しないでください。`rippled`により強制されるものではありません。 |
|
||||
| `lsfGlobalFreeze` | `0x00400000` | 4194304 | `asfGlobalFreeze` | このアドレスが発行するすべての資産が凍結されます。 |
|
||||
| `lsfNoFreeze` | `0x00200000` | 2097152 | `asfNoFreeze` | このアドレスは、このアドレスに接続しているトラストラインを凍結できません。一度有効にすると、無効にできません。 |
|
||||
| `lsfPasswordSpent` | `0x00010000` | 65536 | (なし) | このアカウントは無料のSetRegularKeyトランザクションを使用しています。 |
|
||||
| `lsfRequireAuth` | `0x00040000` | 262144 | `asfRequireAuth` | このアカウントは、他のユーザーがこのアカウントのトークンを保有することを個別に承認する必要があります。 |
|
||||
| `lsfRequireDestTag` | `0x00020000` | 131072 | `asfRequireDest` | 受信ペイメントには宛先タグの指定が必要です。 |
|
||||
|
||||
## {{currentpage.name}}の準備金
|
||||
|
||||
AccountRootエントリの[準備金](reserves.html)は、特別なAMM AccountRootの場合を除き、現在の基本準備金である{{target.base_reserve}}です。
|
||||
|
||||
このXRPは他人に送ることはできませんが、[トランザクションコスト][]の一部として利用することができます。
|
||||
|
||||
## AccountRoot IDのフォーマット
|
||||
|
||||
AccountRootエントリのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
|
||||
|
||||
* Accountスペースキー(`0x0061`)
|
||||
* アカウントのAccountID
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,70 +0,0 @@
|
||||
---
|
||||
html: amendments-object.html #amendments.html is taken by the concept page
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 有効化されているAmendmentと保留中のAmendmentのステータスを持つシングルトンオブジェクトです。
|
||||
labels:
|
||||
- ブロックチェーン
|
||||
---
|
||||
# Amendments
|
||||
[[ソース]](https://github.com/XRPLF/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がありません。 |
|
||||
| `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' %}
|
||||
@@ -1,119 +0,0 @@
|
||||
---
|
||||
html: amm.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 自動マーケットメーカー(AMM)インスタンスの定義と詳細。
|
||||
labels:
|
||||
- AMM
|
||||
status: not_enabled
|
||||
---
|
||||
# AMM
|
||||
[[ソース]](https://github.com/xrplf/rippled/blob/c1e4bfb08bcc9f187d794a71d653003a6148dc68/src/ripple/protocol/impl/LedgerFormats.cpp#L265-L275 "Source")
|
||||
|
||||
_([AMM amendment][] :not_enabled:が必要です。)_
|
||||
|
||||
`AMM`レジャーエントリは、単一の[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを表します。これは常に[特殊な AccountRootエントリ](accountroot.html#ammの特殊なaccountrootエントリ)と対になっています。
|
||||
|
||||
|
||||
## AMM JSONの例
|
||||
|
||||
```json
|
||||
{
|
||||
"AMMAccount" : "rE54zDvgnghAoPopCgvtiqWNq3dU5y836S",
|
||||
"Asset" : {
|
||||
"currency" : "XRP"
|
||||
},
|
||||
"Asset2" : {
|
||||
"currency" : "TST",
|
||||
"issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd"
|
||||
},
|
||||
"AuctionSlot" : {
|
||||
"Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm",
|
||||
"AuthAccounts" : [
|
||||
{
|
||||
"AuthAccount" : {
|
||||
"Account" : "rMKXGCbJ5d8LbrqthdG46q3f969MVK2Qeg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"AuthAccount" : {
|
||||
"Account" : "rBepJuTLFJt3WmtLXYAxSjtBWAeQxVbncv"
|
||||
}
|
||||
}
|
||||
],
|
||||
"DiscountedFee" : 0,
|
||||
"Expiration" : 721870180,
|
||||
"Price" : {
|
||||
"currency" : "039C99CD9AB0B70B32ECDA51EAAE471625608EA2",
|
||||
"issuer" : "rE54zDvgnghAoPopCgvtiqWNq3dU5y836S",
|
||||
"value" : "0.8696263565463045"
|
||||
}
|
||||
},
|
||||
"Flags" : 0,
|
||||
"LPTokenBalance" : {
|
||||
"currency" : "039C99CD9AB0B70B32ECDA51EAAE471625608EA2",
|
||||
"issuer" : "rE54zDvgnghAoPopCgvtiqWNq3dU5y836S",
|
||||
"value" : "71150.53584131501"
|
||||
},
|
||||
"TradingFee" : 600,
|
||||
"VoteSlots" : [
|
||||
{
|
||||
"VoteEntry" : {
|
||||
"Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm",
|
||||
"TradingFee" : 600,
|
||||
"VoteWeight" : 100000
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## AMM フィールド
|
||||
|
||||
`AMM`オブジェクトは以下のフィールドを持ちます。
|
||||
|
||||
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|:-----------------|:--------------------|:------------------|:----------|--------------|
|
||||
| `Asset` | オブジェクト | STIssue | はい | このAMMが保有する2つのアセットのうちの1つの定義。JSONでは、`currency`と`issuer`フィールドを持つオブジェクトになります。 |
|
||||
| `Asset2` | オブジェクト | STIssue | はい | このAMMが保有するもう一つの資産の定義。JSONでは、`currency`と`issuer`フィールドを持つオブジェクトになります。 |
|
||||
| `AMMAccount` | 文字列 | AccountID | はい | このAMMの資産を保有する[特殊なアカウント](accountroot.html#ammの特殊なaccountrootエントリ)のアドレス。 |
|
||||
| `AuctionSlot` | オブジェクト | STObject | いいえ | オークションスロットの現在の所有者の詳細。[オークションスロットオブジェクト](#オークションスロットオブジェクト)形式です。|
|
||||
| `LPTokenBalance` | [通貨額][] | Amount | はい | AMMインスタンスの流動性供給者トークンの発行残高の合計。このトークンの保有者は、保有量に比例してAMMの取引手数料に投票したり、取引手数料の徴収とともに増えていくAMMの資産の一部とトークンを交換したりすることができます。 |
|
||||
| `TradingFee` | 数値 | UInt16 | はい | AMMインスタンスに対する取引に課される手数料のパーセンテージを1/100,000の単位で指定します。最大値は1000で、これは1%の手数料となります。 |
|
||||
| `VoteSlots` | 配列 | STArray | いいえ | プールの取引手数料に関する投票を表す、投票オブジェクトのリスト。|
|
||||
|
||||
### オークションスロットオブジェクト
|
||||
|
||||
`AuctionSlot`フィールドは、以下のネストしたフィールドを持つオブジェクトを含んでいます。
|
||||
|
||||
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|:----------------|:--------------------|:------------------|:----------|:--|
|
||||
| `Account` | 文字列 - アドレス | AccountID | はい | このオークションスロットの現在の所有者。 |
|
||||
| `AuthAccounts` | 配列 | STArray | いいえ | AMMインスタンスに対して取引手数料を割引した価格で取引することを許可された、最大4つの追加アカウントのリスト。 |
|
||||
| `DiscountedFee` | 文字列 | UInt32 | はい | オークションの所有者に請求される取引手数料で、`TradingFee`と同じフォーマットです。デフォルトでは0で、オークションスロットの所有者はAMMの標準的な手数料の代わりに、手数料なしで取引できることを意味します。 |
|
||||
| `Price` | [通貨額][] | Amount | はい | オークションスロットの所有者がこのスロットを落札するために支払った金額(LPトークン)。 |
|
||||
| `Expiration` | 文字列 | UInt32 | はい | このスロットの有効期限が切れる[Rippleエポック以降の経過秒数][]で指定した時刻。 |
|
||||
|
||||
## {{currentpage.name}}の準備金
|
||||
|
||||
`{{currentpage.name}}`エントリは準備金が不要です。
|
||||
|
||||
## AMM フラグ
|
||||
|
||||
`AMM`エントリに定義されているフラグはありません。
|
||||
|
||||
## AMM ID フォーマット
|
||||
|
||||
`AMM`エントリのIDは、以下の値を順に繋げた[SHA-512Half][]です。
|
||||
|
||||
1. `AMM`のスペースキー(`0x0041`)
|
||||
2. 第1アセットの発行者のAccountID。
|
||||
3. 第1トークンの160ビットの通貨コード。
|
||||
4. 第2アセットの発行者のAccountID。
|
||||
5. 第2トークンの160ビットの通貨コード。
|
||||
|
||||
XRPの場合、トークン・発行者ともに全て0を使用します。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,70 +0,0 @@
|
||||
---
|
||||
html: check.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 送信先が清算して資金にできるCheckです。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# Check
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L157-L170 "Source")
|
||||
|
||||
_([Checks Amendment][]が必要です)_
|
||||
|
||||
`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 | 最後にこのオブジェクトを変更したトランザクションを含む[レジャーインデックス][]。 |
|
||||
| `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/XRPLF/rippled/blob/master/src/ripple/protocol/impl/Indexes.cpp#L193-L200 "Source")
|
||||
|
||||
`Check`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
|
||||
|
||||
* Checkスペースキー(`0x0043`)
|
||||
* `Check`オブジェクトを作成した[CheckCreateトランザクション][]の送信者のAccountID。
|
||||
* `Check`オブジェクトを作成した[CheckCreateトランザクション][]のシーケンス番号。
|
||||
CheckCreateトランザクションが[Ticket](tickets.html)を使用する場合は、代わりに`TicketSequence`値を使用します。
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,56 +0,0 @@
|
||||
---
|
||||
html: depositpreauth-object.html #depositpreauth.html is taken by the tx type
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 承認を必要とするアカウントへの送金ペイメントの事前承認の記録です。
|
||||
labels:
|
||||
- セキュリティ
|
||||
---
|
||||
# DepositPreauth
|
||||
[[ソース]](https://github.com/XRPLF/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 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
|
||||
|
||||
## DepositPreauth IDのフォーマット
|
||||
|
||||
`DepositPreauth`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
|
||||
|
||||
* 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' %}
|
||||
@@ -1,109 +0,0 @@
|
||||
---
|
||||
html: directorynode.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 他のオブジェクトへのリンクを含みます。
|
||||
labels:
|
||||
- 分散型取引所
|
||||
- データ保持
|
||||
---
|
||||
# DirectoryNode
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L44 "Source")
|
||||
|
||||
`DirectoryNode`オブジェクトタイプは、レジャーの状態ツリー内の他オブジェクトへのリンクのリストを提供します。概念上の1つの _ディレクトリー_ は、1つ以上の各DirectoryNodeオブジェクトが含まれる二重リンクリストの形式になっています。各DirectoryNodeオブジェクトには、他オブジェクトの[ID](ledger-object-ids.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-512ハーフ][]です。
|
||||
|
||||
* 所有者ディレクトリーのスペースキー(`0x004F`)
|
||||
* `Owner`フィールドのAccountID。
|
||||
|
||||
**オファーディレクトリーの1番目のページ**には特殊なIDがあります。このIDの上位192ビットはオーダーブックを定義し、それ以降の64ビットはこのディレクトリー内のオファーの為替レートを定義します。(IDはビッグエンディアンであるため、最初に位置する上位ビットにブックが含まれ、後に位置する下位ビットにクオリティが含まれます。)これにより、最適なオファーから最低のオファーへの順にオーダーブックを反復できます。具体的には、先頭192ビットとは、以下の値がこの順序で連結されている[SHA-512ハーフ][]の先頭192ビットです。
|
||||
|
||||
* ブックディレクトリーのスペースキー(`0x0042`)
|
||||
* `TakerPaysCurrency`の160ビットの通貨コード
|
||||
* `TakerGetsCurrency`の160ビットの通貨コード
|
||||
* `TakerPaysIssuer`のAccountID
|
||||
* `TakerGetsIssuer`のAccountID
|
||||
|
||||
オファーディレクトリーのIDの下位64ビットは、そのディレクトリー内のオファーのTakerPaysの額をTakerGetsの額で割った結果を、XRP Ledgerの内部金額フォーマットの64ビット数値で表したものです。
|
||||
|
||||
**DirectoryNodeがディレクトリーの1番目のページではない場合**(所有者ディレクトリー、オファーディレクトリーのいずれの場合でも)、DirectoryNodeのIDは、以下の値をこの順序で連結した[SHA-512ハーフ][]です。
|
||||
|
||||
* 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' %}
|
||||
@@ -1,75 +0,0 @@
|
||||
---
|
||||
html: escrow-object.html #escrow.html is taken by the concept page
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 条件付き決済のために保有されているXRPを含みます。
|
||||
labels:
|
||||
- Escrow
|
||||
---
|
||||
# Escrow
|
||||
[[ソース]](https://github.com/XRPLF/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 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
|
||||
|
||||
## Escrow IDのフォーマット
|
||||
|
||||
`Escrow`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
|
||||
|
||||
* 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' %}
|
||||
@@ -1,56 +0,0 @@
|
||||
---
|
||||
html: feesettings.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: コンセンサスで承認された基本トランザクションコストと必要準備金があるシングルトンオブジェクトです。
|
||||
labels:
|
||||
- 手数料
|
||||
---
|
||||
# FeeSettings
|
||||
[[ソース]](https://github.com/XRPLF/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指定][通貨額]フォーマットでは***ありません*** 。
|
||||
|
||||
## 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' %}
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
html: ledger-entry-types.html
|
||||
parent: ledger-data-formats.html
|
||||
template: pagetype-category.html.jinja
|
||||
labels:
|
||||
- データ保持
|
||||
---
|
||||
# レジャーオブジェクトのタイプ
|
||||
|
||||
{% include '_snippets/ledger-objects-intro.ja.md' %}
|
||||
@@ -1,83 +0,0 @@
|
||||
---
|
||||
html: ledgerhashes.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 履歴検索用に以前のレジャーバージョンのハッシュをリスト表示します。
|
||||
labels:
|
||||
- ブロックチェーン
|
||||
---
|
||||
# LedgerHashes
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L104-L108 "Source")
|
||||
|
||||
(レジャーバージョンを一意に示す[「ledger 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/XRPLF/rippled/blob/master/src/ripple/protocol/impl/Indexes.cpp#L26-L42)
|
||||
|
||||
`LedgerHashes`オブジェクトIDには2種類のフォーマットがあります。これは、オブジェクトのサブタイプが「最近の履歴」と「過去の履歴」のいずれであるかに応じて決まります。
|
||||
|
||||
**「最近の履歴」** `LedgerHashes`オブジェクトのIDは、`LedgerHashes`スペースキー(`0x0073`)の[SHA-512ハーフ][]です。つまり「最近の履歴」のIDは常に`B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B`です。
|
||||
|
||||
**「過去の履歴」**`LedgerHashes`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
|
||||
|
||||
- `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' %}
|
||||
@@ -1,67 +0,0 @@
|
||||
---
|
||||
html: negativeunl.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 現在オフラインと思われるバリデーターの一覧を表します。
|
||||
labels:
|
||||
- ブロックチェーン
|
||||
---
|
||||
# NegativeUNL
|
||||
|
||||
_([NegativeUNL amendment][]により追加されました。)_
|
||||
|
||||
`NegativeUNL`オブジェクトタイプは、[ネガティブUNL](negative-unl.html)の現在の状態、つまり現在オフラインであると考えられる信頼できるバリデーションのリストを含んでいます。
|
||||
|
||||
各台帳のバージョンには、**最大1つの**`NegativeUNL`オブジェクトが含まれます。無効になっているか、無効になる予定のバリデータがない場合、台帳には`NegativeUNL`オブジェクトは存在しません。
|
||||
|
||||
## {{currentpage.name}} JSONの例
|
||||
|
||||
```json
|
||||
{
|
||||
"DisabledValidators": [
|
||||
{
|
||||
"DisabledValidator": {
|
||||
"FirstLedgerSequence": 1609728,
|
||||
"PublicKey": "ED6629D456285AE3613B285F65BBFF168D695BA3921F309949AFCD2CA7AFEC16FE"
|
||||
}
|
||||
}
|
||||
],
|
||||
"Flags": 0,
|
||||
"LedgerEntryType": "NegativeUNL",
|
||||
"index": "2E8A59AA9D3B5B186B0B9E0F62E6C02587CA74A4D778938E957B6357D364B244"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
`NegativeUNL`オブジェクトは、以下のフィールドを持ちます。
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|:----------------------|:---------|:-----------|:------|:---------------------|
|
||||
| `DisabledValidators` | 配列 | Array | いいえ | `DisabledValidator`オブジェクト(下記参照)は、現在無効になっている信頼できるバリデータを表すリストです。 |
|
||||
| `Flags` | 数値 | UInt32 | はい | 真偽値フラグのビットマップ。NegativeUNLオブジェクトタイプにはフラグが定義されていないため、この値は常に`0`となります。 |
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | `0x004E`は文字列`NegativeUNL`に対応し、このオブジェクトがNegativeUNLであることを意味します。 |
|
||||
| `ValidatorToDisable` | 文字列 | Blob | いいえ | 次回のフラグレジャーで無効化される予定の信頼できるバリデータの公開鍵を表します。 |
|
||||
| `ValidatorToReEnable` | 文字列 | Blob | いいえ | 次回のフラグレジャーで再有効化される予定のネガティブUNLの信頼できるバリデーターの公開鍵を表します。 |
|
||||
|
||||
## DisabledValidatorオブジェクト
|
||||
|
||||
各`DisabledValidator`オブジェクトは無効化されたバリデータ一つ分を表します。JSONでは、`DisabledValidator`オブジェクトは`DisabledValidator`という1つのフィールドを持ち、そのオブジェクトは以下のフィールドを持つ別のオブジェクトを含んでいます。
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][]| 説明 |
|
||||
|:----------------------|:---------|:----------|:----------------------|
|
||||
| `FirstLedgerSequence` | 数値 | UInt32 | バリデータがネガティブUNLに追加されたときの[レジャーインデックス][]を表します。 |
|
||||
| `PublicKey` | 文字列 | Blob | バリデータのマスター公開鍵を16進数で表します。 |
|
||||
|
||||
|
||||
|
||||
## NegativeUNL IDのフォーマット
|
||||
|
||||
`NegativeUNL`オブジェクトのIDは、`NegativeUNL`のスペースキー(`0x004E`)のみのハッシュです。つまり、台帳上の`NegativeUNL`オブジェクトのIDは常に次のようになります。
|
||||
|
||||
```
|
||||
2E8A59AA9D3B5B186B0B9E0F62E6C02587CA74A4D778938E957B6357D364B244
|
||||
```
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,89 +0,0 @@
|
||||
---
|
||||
html: nftokenoffer.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: NFTを売買するオファーを作成する。
|
||||
labels:
|
||||
- Non-fungible Tokens, NFTs
|
||||
---
|
||||
# NFTokenOffer
|
||||
|
||||
`lsfTransferable`フラグが設定されているトークンは、オファーを使って参加者間で転送することができます。`NFTokenOffer`オブジェクトは`NFToken`オブジェクトの購入、売却、または譲渡のオファーを表します。`NFToken`の所有者は`NFTokenCreateOffer`を使用して売買を行うことができます。
|
||||
|
||||
_([NonFungibleTokensV1_1 amendment][]により追加されました)_
|
||||
|
||||
## {{currentpage.name}} JSONの例
|
||||
|
||||
```json
|
||||
{
|
||||
"Amount": "1000000",
|
||||
"Flags": 1,
|
||||
"LedgerEntryType": "NFTokenOffer",
|
||||
"NFTokenID": "00081B5825A08C22787716FA031B432EBBC1B101BB54875F0002D2A400000000",
|
||||
"NFTokenOfferNode": "0",
|
||||
"Owner": "rhRxL3MNvuKEjWjL7TBbZSDacb8PmzAd7m",
|
||||
"OwnerNode": "17",
|
||||
"PreviousTxnID": "BFA9BE27383FA315651E26FDE1FA30815C5A5D0544EE10EC33D3E92532993769",
|
||||
"PreviousTxnLgrSeq": 75443565,
|
||||
"index": "AEBABA4FAC212BF28E0F9A9C3788A47B085557EC5D1429E7A8266FB859C863B3"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### `NFTokenOffer`のフィールド
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|:--------------------|:------------|:------------------|:------|:-----------|
|
||||
| `Amount` | [通貨額][] | AMOUNT | はい | NFTokenに対して見込まれる、または提示される金額です。トークンに`lsfOnlyXRP`フラグが設定されている場合、金額はXRPで指定する必要があります。XRP以外の資産を指定する売却オファーは、0以外の金額を指定する必要があります。XRPを指定する売却オファーは、`無料`にすることができます(つまり、このフィールドは`"0"`とすることができます)。 |
|
||||
| `Destination` | 文字列 | AccountID | いいえ | このオファーの対象となるAccountID。存在する場合、そのアカウントのみがオファーを受け入れることができます。 |
|
||||
| `Expiration` | 数値 | UInt32 | いいえ | オファーが有効でなくなる時刻。値は、リップルエポックからの秒数です。 |
|
||||
| `Flags` | 数値 | UInt32 | はい | このオブジェクトに関連付けられたフラグのセットで、様々なオプションや設定を指定するために使用されます。フラグは、以下の表に示すとおりです。 |
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | レジャーオブジェクトの種類を示します(0x0074)。 |
|
||||
| `NFTokenID` | 文字列 | Hash256 | はい | このオファーが参照するNFTokenオブジェクトのNFTokenID。 |
|
||||
| `NFTokenOfferNode` | 文字列 | UInt64 | いいえ | トークン購入または売却のオファーディレクトリの中で、このトークンが記録されている内部的な台帳です。このフィールドを使用することで、オファーを効率的に削除することができます。 |
|
||||
| `Owner` | 文字列 | AccountID | はい | オファーの作成者であり、所有者であるアカウント。NFTokenの現在の所有者のみがNFTokenの売却オファーを作成できますが、NFTokenの購入オファーはどのアカウントでも作成できます。 |
|
||||
| `OwnerNode` | 文字列 | UInt64 | いいえ | このトークンが記録されているオーナーディレクトリ内のページを示す、内部的な台帳です。このフィールドを使用することで、オファーを効率的に削除することができます。 |
|
||||
| `PreviousTxnID` | 文字列 | Hash256 | はい | このオブジェクトを最も最近更新したトランザクションの識別ハッシュ。 |
|
||||
| `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | このオブジェクトを最も最近更新したトランザクションを含むレジャーのインデックス。 |
|
||||
|
||||
|
||||
|
||||
#### NFTokenOffer フラグ
|
||||
|
||||
|フラグ名 |16進数値 |10進数値|説明 |
|
||||
|------------------|--------------|------|---------|
|
||||
| `lsfSellNFToken `| `0x00000001` | 1 | 有効な場合、オファーは売却オファーとなります。そうでない場合、オファーは購入オファーとなります。 |
|
||||
|
||||
## `NFTokenOffer`トランザクション
|
||||
|
||||
[代替可能トークンに対するOffer](offers.html)とは異なり、`NFTokenOffer`はオーダーブックに保存されず、自動的にマッチングされたり約定されたりすることはありません。買い手は売り手により提示されてた`NFTokenOffer`の受け入れを明示的に選択する必要があります。同様に、売り手は自分が所有する`NFToken`オブジェクトを買いたいと申し出た買い手の`NFTokenOffer`を受け入れることを明示的に選択しなければなりません。
|
||||
|
||||
`NFToken`の取引のためのトランザクションは3つあります。
|
||||
|
||||
- [NFTokenCreateOffer][]
|
||||
- [NFTokenCancelOffer][]
|
||||
- [NFTokenAcceptOffer][]
|
||||
|
||||
|
||||
### `NFTokenOffer`オブジェクトの検索
|
||||
|
||||
各`NFToken`は、2つの[ディレクトリ](directorynode.html)があります。1つはトークンを購入するためのオファー、もう1つはトークンを売却するためのオファーが含まれています。マーケットプレイスやその他のクライアントアプリケーションは、ユーザに対し`NFToken`オブジェクトの取引オファーを提示したり、自動的にマッチングすることができます。
|
||||
|
||||
|
||||
### `NFTokenOffer`の準備金
|
||||
|
||||
各`NFTokenOffer`オブジェクトは、オファーを出すアカウントに1つ分の準備金の増額を要求します。執筆時点では、準備金の増分は2XRPです。この準備金は、オファーをキャンセルすることで取り戻すことができます。
|
||||
|
||||
|
||||
### `NFTokenOfferID`のフォーマット
|
||||
|
||||
`NFTokenOffer`オブジェクトのユニークID(`NFTokenOfferID`)は、以下の値を順番に結合したものです。
|
||||
|
||||
* `NFTokenOffer`のスペースキー、`0x0074`
|
||||
* オファーを出すアカウントの`AccountID`
|
||||
* `NFTokenCreateOffer`トランザクションが生成する`NFTokenCreateOffer`の`Sequence`(または`Ticket`)
|
||||
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,106 +0,0 @@
|
||||
---
|
||||
html: nftokenpage.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: NFTokenを記録するためのレジャー構造。
|
||||
labels:
|
||||
- Non-fungible Tokens, NFTs
|
||||
---
|
||||
# NFTokenPage
|
||||
|
||||
`NFTokenPage` オブジェクトは、同じアカウントが所有する `NFToken` オブジェクトのコレクションを表します。一つのアカウントは複数の `NFTokenPage` 型のレジャーオブジェクトを持つことができ、それらは双方向リストを形成します。
|
||||
|
||||
_([NonFungibleTokensV1_1 amendment][]により追加されました)_
|
||||
|
||||
|
||||
## {{currentpage.name}} JSONの例
|
||||
|
||||
```json
|
||||
{
|
||||
"LedgerEntryType": "NFTokenPage",
|
||||
"PreviousTokenPage":
|
||||
"598EDFD7CF73460FB8C695d6a9397E907378C8A841F7204C793DCBEF5406",
|
||||
"PreviousTokenNext":
|
||||
"598EDFD7CF73460FB8C695d6a9397E9073781BA3B78198904F659AAA252A",
|
||||
"PreviousTxnID":
|
||||
"95C8761B22894E328646F7A70035E9DFBECC90EDD83E43B7B973F626D21A0822",
|
||||
"PreviousTxnLgrSeq":
|
||||
42891441,
|
||||
"NFTokens": [
|
||||
{
|
||||
"NFTokenID":
|
||||
"000B013A95F14B0044F78A264E41713C64B5F89242540EE208C3098E00000D65",
|
||||
"URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469"
|
||||
},
|
||||
/* 更に多くのオブジェクト */
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
ページのサイズを最小にし、ストレージを最適化するために、`Owner`フィールドは存在しません。なぜなら、それはオブジェクトのレジャー識別子の一部としてエンコードされているからです。
|
||||
|
||||
|
||||
## {{currentpage.name}} フィールド
|
||||
|
||||
`NFTokenPage` オブジェクトは、以下の必須フィールドと任意フィールドを持つことができます。
|
||||
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|:--------------------|:----------|:-----------|:----------|:------------|
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | レジャーオブジェクトのタイプを識別文字列です。予約されているレジャーの種類は、0x0050 です。|
|
||||
| `NextPageMin` | 文字列 | Hash256 | いいえ | 次のページの位置情報(もしあれば)。このフィールドの詳細および使用方法については、NFTokenPageID の構築についての説明以降に記載しています。|
|
||||
| `NFTokens` | オブジェクト | TOKEN | はい | この NFTokenPage オブジェクトに含まれる NFToken オブジェクトのコレクション。本仕様では、1 ページあたり 32 の NFToken オブジェクトを上限としています。オブジェクトは、TokenID をソート パラメータとして使用して、低いものから高いものへとソートされた順序で格納されています。|
|
||||
| `PreviousPageMin` | 文字列 | Hash256 | いいえ | 前のページの位置情報(もしあれば)。このフィールドの詳細および使用方法については、NFTokenPageID の構築についての説明以降に記載しています。|
|
||||
| `PreviousTxnID` | 文字列 | HASH256 | いいえ | この NFTokenPage オブジェクトを最も最近変更したトランザクションのトランザクション ID の情報を示します。|
|
||||
| `PreviousTxnLgrSeq` | 数値 | UInt32 | いいえ | この NFTokenPage オブジェクトを最も最近変更したトランザクションを含むレジャーのシーケンスを示します。|
|
||||
|
||||
|
||||
### TokenPage ID のフォーマット
|
||||
|
||||
`NFTokenPage` 識別子は、`NFTokens` に最適で、より効率的なページング構造を採用できるように特別に構築されています。
|
||||
|
||||
`NFTokenPage` の識別子は、そのページの所有者の 160 ビットの `AccountID` と、そのページに特定の `NFTokenID` が含まれるかどうかを示す 96 ビットの値を連結して得られます。
|
||||
|
||||
具体的には、関数 `low96(x)` が 256 ビットの値の下位 96 ビットを返すと仮定すると、`NFTokenID` `A` の NFT は `NFTokenPageID` `B` のページに含めることができるのは `low96(A) >= low96(B)` の場合のみとなります。
|
||||
|
||||
例えば、`000B013A95F14B0044F78A264E41713C64B5F89242540EE208C3098E00000D65`というIDを持つ先ほどのNFTに`low96`関数を適用すると、`42540EE208C3098E00000D65`が返されます。
|
||||
|
||||
この不思議な構造は、SHAMap の構造を利用して、`NFTokenPages` の二重リンクされたリストを反復することなく、個々の `NFToken` オブジェクトを効率的に検索できるようにするものです。
|
||||
|
||||
|
||||
### `NFToken` オブジェクトの検索
|
||||
|
||||
特定の `NFToken` を検索するには、上記のように所有者のアカウントとトークンの `NFTokenID` を使用して `NFTokenPageID` を計算します。識別子がその値以下であるレジャーの項目を検索します。そのエントリーが存在しないか、`NFTokenPage` でない場合、`NFToken` は与えられたアカウントによって保持されていません。
|
||||
|
||||
|
||||
### `NFToken` オブジェクトの追加
|
||||
|
||||
`NFToken` オブジェクトを追加するには、そのオブジェクトが含まれるべき `NFTokenPage` を見つけ(`NFToken` オブジェクトを検索するのと同じテクニックを使用します)、そのページに追加します。`NFToken` を追加した後にページがオーバーフローした場合は、 `next` と `previous` ページを探し (もしあれば)、その 3 ページでバランスをとりながら、必要に応じて新しいページを挿入します。
|
||||
|
||||
|
||||
### `NFToken` オブジェクトの削除
|
||||
|
||||
`NFToken` は同じ手法で削除することもできます。ページ内の `NFToken` の数がある閾値を下回ると、サーバーはそのページを前後のページと統合して準備金を取り戻そうとします。
|
||||
|
||||
|
||||
### `NFTokenPage` オブジェクトの準備金
|
||||
|
||||
`NFTokenPage`ごとに、所有者アカウントに追加で準備金の費用がかかります。つまり、複数のNFTを保有するアカウントでは、NFTあたりの _実効_ 準備金コストは _R_ /32( _R_ は準備金増分)と低くすることが可能です。
|
||||
|
||||
|
||||
### 準備金の実例
|
||||
|
||||
増分準備金の値は、この記事の執筆時点では 2 XRP です。下の表は、あるページが1、8、16、32のNFTを含む場合、トークンごとの _実効_準備金がどの程度になるかを示しています。
|
||||
|
||||
|
||||
| 増分準備金 | 1 NFToken | 8 NFTokens | 16 NFTokens | 32 NFTokens | 64 NFTokens |
|
||||
|:--------------------|:----------|:-----------|:------------|:------------|:------------|
|
||||
| 5 XRP | 5 XRP | 0.625 XRP | 0.3125 XRP | 0.15625 XRP | 0.07812 XRP |
|
||||
| 2 XRP | 2 XRP | 0.25 XRP | 0.125 XRP | 0.0625 XRP | 0.03125 XRP |
|
||||
| 1 XRP | 1 XRP | 0.125 XRP | 0.0625 XRP | 0.03125 XRP | 0.01562 XRP |
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,83 +0,0 @@
|
||||
---
|
||||
html: offer.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 通貨取引を行う注文
|
||||
labels:
|
||||
- 分散型取引所
|
||||
---
|
||||
# Offer
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L57 "Source")
|
||||
|
||||
台帳の`Offer`項目は、XRP Ledgerの[分散型取引所](decentralized-exchange.html)で通貨を交換する[オファー](offers.html)を表しています。(金融ではより伝統的に _オーダー_ として知られています)。[OfferCreateトランザクション][]は台帳にある他のOfferを全額約定できない場合、台帳に`Offer`項目を作成します。
|
||||
|
||||
オファーがネットワーク上の他の活動によって資金不足になることはありますが、元帳には残ります。トランザクションを処理する際、ネットワークはトランザクションが見つけた資金不足のオファーを自動的に削除します。( _トランザクションのみ_ が台帳の状態を変更できるため、削除が行われないと資金不足のオファーが残ってしまいます。)
|
||||
|
||||
詳細は、[オファー](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の型 | [内部の型][] | 必須? | 説明 |
|
||||
|-------------------|-----------|-----------|------|-------|
|
||||
| `Account` | 文字列 | AccountID | はい | このオファーを所有するアカウントのアドレス。 |
|
||||
| `BookDirectory` | 文字列 | Hash256 | はい | このオファーにリンクしている[オファーディレクトリー](directorynode.html)のID。 |
|
||||
| `BookNode` | 文字列 | UInt64 | はい | Offerディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒント。 |
|
||||
| `Expiration` | 数値 | UInt32 | いいえ | (省略可)このオファーが資金不足とみなされる時刻。詳細は、[時間の指定][]を参照してください。 |
|
||||
| `Flags` | 数値 | UInt32 | はい | このオファーに対して有効になっているブール値フラグのビットマップ。 |
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | 値が`0x006F`(文字列`Offer`にマッピング)の場合は、このオブジェクトが通貨取引オーダーを記述することを示す。 |
|
||||
| `OwnerNode` | 文字列 | UInt64 | はい | 所有者ディレクトリーが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒント。**注記:** このオファーには、オファーを含む所有者ディレクトリーへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 |
|
||||
| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 |
|
||||
| `Sequence` | 数値 | UInt32 | はい | `Offer`オブジェクトを作成した[OfferCreate][]トランザクションの`Sequence`値。`Account`とこのフィールドの組み合わせによってこのオファーが識別されます。 |
|
||||
| `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
| `TakerPays` | 文字列またはオブジェクト | Amount | はい | オファー作成者が要求する残額と通貨の種類。 |
|
||||
| `TakerGets` | 文字列またはオブジェクト | Amount | はい | オファー作成者が提供する残額と通貨の種類。 |
|
||||
|
||||
## 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-512ハーフ][]です。
|
||||
|
||||
* Offerスペースキー(`0x006F`)
|
||||
* オファーを行うアカウントのAccountID
|
||||
* オファーを作成した[OfferCreateトランザクション][]のシーケンス番号
|
||||
|
||||
OfferCreateトランザクションが[Ticket](tickets.html)を使用した場合、代わりに`TicketSequence`値を使用します。
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,109 +0,0 @@
|
||||
---
|
||||
html: paychannel.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 非同期XRP支払い用のチャネルです。
|
||||
labels:
|
||||
- Payment Channel
|
||||
---
|
||||
# PayChannel
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/c0a0b79d2d483b318ce1d82e526bd53df83a4a2c/src/ripple/protocol/impl/LedgerFormats.cpp#L180-L198 "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 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
| `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の宛先(宛先アドレスのホスティングされている受取人など) を詳しく指定するための任意のタグ。 |
|
||||
| `DestinationNode` | 文字列 | UInt64 | _(省略可)_ 宛先の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。[fixPayChanRecipientOwnerDir Amendment][]を有効にする前に作成された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-512ハーフ][]です。
|
||||
|
||||
* 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' %}
|
||||
@@ -1,116 +0,0 @@
|
||||
---
|
||||
html: ripplestate.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: 2つのアカウントをリンクし、それらのアカウント間の特定の通貨の残高を追跡します。トラストラインのコンセプトは、このオブジェクトタイプを抽象化することです。
|
||||
labels:
|
||||
- トークン
|
||||
---
|
||||
# RippleState
|
||||
[[ソース]](https://github.com/XRPLF/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](addresses.html#特別なアドレス)に設定されます。 |
|
||||
| `LowLimit` | オブジェクト | Amount | 低位アカウントがトラストラインに設定した限度額。`issuer`は、この限度額を設定した低位アカウントのアドレスです。 |
|
||||
| `HighLimit` | オブジェクト | Amount | 高位アカウントがトラストラインに設定した限度額。`issuer`は、この限度額を設定した高位アカウントのアドレスです。 |
|
||||
| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 |
|
||||
| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
| `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-512ハーフ][]です。
|
||||
|
||||
* 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' %}
|
||||
@@ -1,111 +0,0 @@
|
||||
---
|
||||
html: signerlist.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: マルチシグトランザクションのアドレスのリストです。
|
||||
labels:
|
||||
- セキュリティ
|
||||
---
|
||||
# SignerList
|
||||
[[ソース]](https://github.com/XRPLF/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 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 |
|
||||
| `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`値を超えている場合にのみ有効となります。 |
|
||||
| `WalletLocator` | 文字列 | Hash256 | (省略可)任意の16進数データ。これは署名者を識別するため、または他の関連する目的のために使用することができます。[ExpandedSignerList amendment][]により追加されました。 |
|
||||
|
||||
マルチシグトランザクションを処理する際に、サーバーはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.html)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチシグを別のマルチシグの一部として使用することはできません。
|
||||
|
||||
## {{currentpage.name}}のフラグ
|
||||
|
||||
_([MultiSignReserve Amendment][]が必要です.)_
|
||||
|
||||
SignerListオブジェクトには以下のフラグ値を指定できます。
|
||||
|
||||
| フラグ名 | 16進値 | 10進値 | 説明 |
|
||||
|:-----------------|:-----------|:--------------|:-------------------------------|
|
||||
| lsfOneOwnerCount | 0x00010000 | 65536 | このフラグが有効な場合、SignerListは[所有者準備金](reserves.html#所有者準備金)の1アイテムとしてカウントされます。このフラグが無効な場合、このリストはN+2アイテムとしてカウントされます。このNは、リストに含まれている署名者の数です。[MultiSignReserve Amendment][]が有効になった後で署名者リストを追加または更新すると、このフラグが自動的に有効となります。 |
|
||||
|
||||
## SignerListと準備金
|
||||
|
||||
SignerListは、所有者の[必要準備金](reserves.html)の対象となります。
|
||||
|
||||
[MultiSignReserve Amendment][]が有効ではない場合、SignerList自体が2つのオブジェクトとしてカウントされ、リストの各メンバーが1つのオブジェクトとしてカウントされます。その結果、SignerListに関連付けられている所有者準備金の合計は、1つのトラストライン([RippleState](ripplestate.html))またはレジャーの[Offer](offer.html)オブジェクトで必要な準備金の3~10倍になります。
|
||||
|
||||
[MultiSignReserve Amendment][]が有効となれば、SignerListはそのメンバーの数に関わらず、1つのオブジェクトとしてカウントされます。その結果、SignerListに関連付けられている所有者準備金は、メンバーの数に関わらず5 XRPになります。
|
||||
|
||||
MultiSignReserve Amendmentよりも前に作成されたSignerListの必要準備金は変わりません。新しい準備金を利用するには、[SignerListSetトランザクション][]を送信してSignerListを更新してください。
|
||||
|
||||
## SignerList IDのフォーマット
|
||||
|
||||
SignerListオブジェクトのIDは、以下の値がこの順序で連結されているSHA-512ハーフです。
|
||||
|
||||
* 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' %}
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
html: ticket.html
|
||||
parent: ledger-entry-types.html
|
||||
blurb: チケットは、将来使用するために確保されたアカウントのシーケンス番号を追跡します。
|
||||
labels:
|
||||
- トランザクション送信
|
||||
---
|
||||
# Ticket
|
||||
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/76a6956138c4ecd156c5c408f136ed3d6ab7d0c1/src/ripple/protocol/impl/LedgerFormats.cpp#L155-L164)
|
||||
|
||||
_([TicketBatch amendment][]が必要です)_
|
||||
|
||||
`Ticket`オブジェクトタイプは、将来の使用のために確保されたアカウント[シーケンス番号](basic-data-types.html#アカウントシーケンス)を追跡する[Ticket](tickets.html)を表します。[TicketCreate トランザクション][]で新しいチケットを作成することができます。[New in: rippled 1.7.0][].
|
||||
|
||||
## {{currentpage.name}} JSONの例
|
||||
|
||||
```json
|
||||
{
|
||||
"Account" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de",
|
||||
"Flags" : 0,
|
||||
"LedgerEntryType" : "Ticket",
|
||||
"OwnerNode" : "0000000000000000",
|
||||
"PreviousTxnID" : "F19AD4577212D3BEACA0F75FE1BA1644F2E854D46E8D62E9C95D18E9708CBFB1",
|
||||
"PreviousTxnLgrSeq" : 4,
|
||||
"TicketSequence" : 3
|
||||
}
|
||||
```
|
||||
|
||||
## {{currentpage.name}}フィールド
|
||||
|
||||
`Ticket`オブジェクトのフィールドは次のとおりです。
|
||||
|
||||
| フィールド | JSONの型 | 内部の型 | 説明 |
|
||||
|:--------------------|:----------|:--------------|:---------------------------|
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | 文字列 `Ticket` にマッピングされた値 `0x0054` は、このオブジェクトが {{currentpage.name}} オブジェクトであることを示しています。 |
|
||||
| `Account` | 文字列 | AccountID | このチケットを所有する[アカウント](accounts.html)です。 |
|
||||
| `Flags` | Number | UInt32 | ブール値フラグのビットマップ。Ticketにはフラグが定義されていないため、この値は常に0です。 |
|
||||
| `OwnerNode` | 文字列 | UInt64 | 送金元の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。注記: このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 |
|
||||
| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更した[トランザクション](transactions.html)の識別用ハッシュ。 |
|
||||
| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションを含む[レジャーインデックス][Ledger Index]。 |
|
||||
| `TicketSequence` | 数値 | UInt32 | 本チケットが設定する[シーケンス番号][]。 |
|
||||
|
||||
## {{currentpage.name}} IDのフォーマット
|
||||
|
||||
TicketオブジェクトのIDは、以下の値がこの順序で連結されているSHA-512ハーフです
|
||||
|
||||
* Ticketスペースキー (`0x0054`)
|
||||
* チケットの所有者のアカウントID
|
||||
* チケットの`TicketSequence`
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
@@ -1,48 +0,0 @@
|
||||
---
|
||||
html: ledger-header.html
|
||||
parent: ledger-data-formats.html
|
||||
blurb: レジャーバージョンの内容を記述する一意のヘッダーです。
|
||||
labels:
|
||||
- データ保持
|
||||
- ブロックチェーン
|
||||
---
|
||||
# レジャーヘッダー
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/ledger/ReadView.h#L71 "Source")
|
||||
|
||||
すべてのレジャーバージョンには、その内容を記述する一意のヘッダーが含まれています。[ledgerメソッド][]を使用してレジャーのヘッダー情報を検索できます。レジャーヘッダーの内容を以下に示します。
|
||||
|
||||
| フィールド | JSONの型 | [内部の型][] | 説明 |
|
||||
|:-----------------------------|:----------|:------------------|:--------------|
|
||||
| `ledger_index` | 文字列 | UInt32 | レジャーの[レジャーインデックス][レジャーインデックス]。APIメソッドの中には、この番号を引用符で囲んだ整数として表示するメソッドと、ネイティブJSON数値として表示するメソッドがあります。 |
|
||||
| `ledger_hash` | 文字列 | Hash256 | このレジャーバージョンの[SHA-512ハーフ][]。これは、このレジャーとそのすべての内容の一意のIDとして機能します。 |
|
||||
| `account_hash` | 文字列 | Hash256 | このレジャーの状態ツリー情報の[SHA-512ハーフ][]。 |
|
||||
| `close_time` | 数値 | UInt32 | このレジャーバージョンが閉鎖されたおおよその時刻。Rippleエポック(2000-01-01 00:00:00)以降の経過秒数として示されます。この値は、`close_time_resolution`に基づいて丸められます。 |
|
||||
| `closed` | ブール値 | ブール値 | `true`の場合、このレジャーバージョンはこれ以上新しいトランザクションを受け入れません。(ただし、このレジャーバージョンが未検証の場合は、一連の異なるトランザクションが記録されている別のレジャーバージョンに置き換えられることがあります。) |
|
||||
| `parent_hash` | 文字列 | Hash256 | このバージョンの直前のレジャーバージョンの`ledger_hash`値。直前のレジャーインデックスの異なるバージョンが存在している場合、これはレジャーの生成元を示します。 |
|
||||
| `total_coins` | 文字列 | UInt64 | レジャーのアカウントが保有するXRPの[XRPのdrop数][]の合計。トランザクション手数料により消却されたXRPは除外されます。一部のアカウントは、そのキーを知っている人がいない「ブラックホール」アカウントであるため、流通している実際のXRPの量はこれよりも少なくなります。 |
|
||||
| `transaction_hash` | 文字列 | Hash256 | このレジャーに記録されているトランザクションの[SHA-512ハーフ][]。 |
|
||||
| `close_time_resolution` | 数値 | Uint8 | `close_time`を丸めるときの最大秒数を示す範囲[2,120]内の整数。 |
|
||||
| [`closeFlags`](#closeフラグ) | (省略) | UInt8 | このレジャーの閉鎖に関連するフラグのビットマップ。 |
|
||||
|
||||
|
||||
## レジャーインデックス
|
||||
{% include '_snippets/data_types/ledger_index.ja.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' %}
|
||||
Reference in New Issue
Block a user