mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 03:35:51 +00:00
fix
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
すべての[XRP Ledgerアカウント](../../concepts/accounts/index.md)には、`Sequence`フィールドに1つのシーケンス番号があり、アカウントがトランザクションを送信し、そのトランザクションが[検証済みレジャー](../../concepts/ledgers/index.md)に記録されるたびに、1ずつ増加します。シーケンス番号は各[トランザクション](../../concepts/transactions/index.md)の`Sequence`フィールドにもあり、そのトランザクションが実行される際にアカウントの現在のシーケンス番号と一致している必要があります。各アカウントで、各シーケンス番号は番号順に一度だけ使用できます。
|
||||
|
||||
[Tickets](../../concepts/accounts/tickets.md) make some exceptions from these rules so that it is possible to send transactions out of the normal order. Tickets represent sequence numbers reserved for later use; a transaction can use a Ticket instead of a normal sequence number.
|
||||
[チケット](../../concepts/accounts/tickets.md) は、通常の順序とは異なるトランザクションを送信できるように、これらのルールにいくつかの例外を設けています。チケットは、後で使用するために予約されたシーケンス番号を表します。トランザクションは、通常のシーケンス番号の代わりにチケットを使用することができます。
|
||||
|
||||
[DeletableAccounts Amendment](/resources/known-amendments.md#deletableaccounts) を適用する場合、アカウントの`Sequence`番号の始まりが、アカウントが作成されたレジャーバージョンの[レジャーインデックス][]と一致します。DeletableAccountsを適用しない場合、どのアカウントの`Sequence`番号も1で始まります。
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ XRP Ledgerでは、サポートされているさまざまなタイプのキー
|
||||
|
||||
## 鍵導出
|
||||
|
||||
キーペアを導出するプロセスは、署名アルゴリズムによって異なります。いずれの場合も、キーは長さが16バイト(128ビット)の _シード_ 値から生成されます。シード値は完全にランダムにする(推奨)か、[SHA-512ハッシュ][ハッシュ]を取得して最初の16バイトを保持することで特定のパスフレーズから導出することができます([SHA-512Hals][]と同様ですが、出力の256ビットではなく128ビットのみを保持します)。
|
||||
キーペアを導出するプロセスは、署名アルゴリズムによって異なります。いずれの場合も、キーは長さが16バイト(128ビット)の _シード_ 値から生成されます。シード値は完全にランダムにする(推奨)か、[SHA-512ハッシュ][ハッシュ]を取得して最初の16バイトを保持することで特定のパスフレーズから導出することができます([SHA-512Half][]と同様ですが、出力の256ビットではなく128ビットのみを保持します)。
|
||||
|
||||
### サンプルコード
|
||||
|
||||
@@ -165,7 +165,7 @@ XRP Ledgerでは、サポートされているさまざまなタイプのキー
|
||||
|
||||
[{% inline-svg file="/docs/img/key-derivation-ed25519.ja.svg" /%}](/docs/img/key-derivation-ed25519.ja.svg "パスフレーズ → シード → 秘密鍵 → プレフィクス + 公開鍵")
|
||||
|
||||
1. シード値の[SHA-512Hals][]を計算します。32バイトの秘密鍵が導出されます。
|
||||
1. シード値の[SHA-512Half][]を計算します。32バイトの秘密鍵が導出されます。
|
||||
|
||||
{% admonition type="success" name="ヒント" %}32バイトの数値はすべて、有効なEd25519秘密鍵です。ただし、秘密鍵として使用する上で安全なのは、十分ランダムに選択された数値のみです。{% /admonition %}
|
||||
|
||||
@@ -199,7 +199,7 @@ XRP Ledgerアカウントキーでのsecp256k1鍵導出に、Ed25519鍵導出よ
|
||||
- シード値(16バイト)
|
||||
- 「ルートシーケンス」値(4バイト)。ビッグエンディアンの符号なし整数。ルートシーケンスの開始値として0を使用します。
|
||||
|
||||
2. 連結された(シード+ルートシーケンス)値の[SHA-512Hals][]を計算します。
|
||||
2. 連結された(シード+ルートシーケンス)値の[SHA-512Half][]を計算します。
|
||||
|
||||
3. 結果が有効なsecp256k1秘密鍵でない場合は、ルートシーケンスを1増やして最初からやり直します。[[ソース]](https://github.com/XRPLF/rippled/blob/fc7ecd672a3b9748bfea52ce65996e324553c05f/src/ripple/crypto/impl/GenerateDeterministicKey.cpp#L103 "Source")
|
||||
|
||||
@@ -226,7 +226,7 @@ XRP Ledgerアカウントキーでのsecp256k1鍵導出に、Ed25519鍵導出よ
|
||||
- `0x00000000000000000000000000000000`(4バイトのゼロ)(この値は、同じファミリーの異なるメンバーの導出に使用することを目的としていましたが、実際には値0のみが使用されます。)
|
||||
- 「キーシーケンス」値(4バイト)。ビッグエンディアンの符号なし整数。キーシーケンスの開始値として0を使用します。
|
||||
|
||||
2. 連結された値の[SHA-512Hals][]を計算します。
|
||||
2. 連結された値の[SHA-512Half][]を計算します。
|
||||
|
||||
3. 結果が有効なsecp256k1秘密鍵でない場合は、キーシーケンスを1増やし、アカウントの仲介銀行(機関)キーペアの導出をやり直します。
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ AccountRootエントリの[準備金](../../../../concepts/accounts/reserves.md)
|
||||
|
||||
## AccountRoot IDのフォーマット
|
||||
|
||||
AccountRootエントリのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
AccountRootエントリのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* Accountスペースキー(`0x0061`)
|
||||
* アカウントのAccountID
|
||||
|
||||
@@ -67,7 +67,7 @@ _([Checks Amendment][]が必要です)_
|
||||
## Check IDのフォーマット
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/Indexes.cpp#L193-L200 "Source")
|
||||
|
||||
`Check`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
`Check`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* Checkスペースキー(`0x0043`)
|
||||
* `Check`オブジェクトを作成した[CheckCreateトランザクション][]の送信者のAccountID。
|
||||
|
||||
@@ -137,12 +137,12 @@ DirectoryNodeのIDを作成するときには、DirectoryNodeが以下のどの
|
||||
* オファーディレクトリの1番目のページ
|
||||
* いずれかのディレクトリの以降のページ
|
||||
|
||||
**所有者ディレクトリまたはNFTオファーディレクトリの1番目のページ**のIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
**所有者ディレクトリまたはNFTオファーディレクトリの1番目のページ**のIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* 所有者ディレクトリのスペースキー(`0x004F`)
|
||||
* `Owner`フィールドのAccountID。
|
||||
|
||||
**オファーディレクトリの1番目のページ**には特殊なIDがあります。このIDの上位192ビットはオーダーブックを定義し、それ以降の64ビットはこのディレクトリ内のオファーの為替レートを定義します。(IDはビッグエンディアンであるため、最初に位置する上位ビットにブックが含まれ、後に位置する下位ビットにクオリティが含まれます。)これにより、最適なオファーから最低のオファーへの順にオーダーブックを反復できます。具体的には、先頭192ビットとは、以下の値がこの順序で連結されている[SHA-512Hals][]の先頭192ビットです。
|
||||
**オファーディレクトリの1番目のページ**には特殊なIDがあります。このIDの上位192ビットはオーダーブックを定義し、それ以降の64ビットはこのディレクトリ内のオファーの為替レートを定義します。(IDはビッグエンディアンであるため、最初に位置する上位ビットにブックが含まれ、後に位置する下位ビットにクオリティが含まれます。)これにより、最適なオファーから最低のオファーへの順にオーダーブックを反復できます。具体的には、先頭192ビットとは、以下の値がこの順序で連結されている[SHA-512Half][]の先頭192ビットです。
|
||||
|
||||
* ブックディレクトリのスペースキー(`0x0042`)
|
||||
* `TakerPaysCurrency`の160ビットの通貨コード
|
||||
@@ -152,7 +152,7 @@ DirectoryNodeのIDを作成するときには、DirectoryNodeが以下のどの
|
||||
|
||||
オファーディレクトリのIDの下位64ビットは、そのディレクトリ内のオファーのTakerPaysの額をTakerGetsの額で割った結果を、XRP Ledgerの内部金額フォーマットの64ビット数値で表したものです。
|
||||
|
||||
**DirectoryNodeがディレクトリの1番目のページではない場合**、DirectoryNodeのIDは、以下の値をこの順序で連結した[SHA-512Hals][]です。
|
||||
**DirectoryNodeがディレクトリの1番目のページではない場合**、DirectoryNodeのIDは、以下の値をこの順序で連結した[SHA-512Half][]です。
|
||||
|
||||
* DirectoryNodeスペースキー(`0x0064`)
|
||||
* ルートDirectoryNodeのID
|
||||
|
||||
@@ -68,7 +68,7 @@ _([Escrow Amendment][]により追加されました。)_
|
||||
|
||||
## Escrow IDのフォーマット
|
||||
|
||||
`Escrow`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
`Escrow`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* Escrowスペースキー(`0x0075`)
|
||||
* `Escrow`オブジェクトを作成した[EscrowCreateトランザクション][]の送信者のAccountID。
|
||||
|
||||
@@ -69,9 +69,9 @@ labels:
|
||||
|
||||
`LedgerHashes`オブジェクトIDには2種類のフォーマットがあります。これは、オブジェクトのサブタイプが「最近の履歴」と「過去の履歴」のいずれであるかに応じて決まります。
|
||||
|
||||
**「最近の履歴」** `LedgerHashes`オブジェクトのIDは、`LedgerHashes`スペースキー(`0x0073`)の[SHA-512Hals][]です。つまり「最近の履歴」のIDは常に`B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B`です。
|
||||
**「最近の履歴」** `LedgerHashes`オブジェクトのIDは、`LedgerHashes`スペースキー(`0x0073`)の[SHA-512Half][]です。つまり「最近の履歴」のIDは常に`B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B`です。
|
||||
|
||||
**「過去の履歴」**`LedgerHashes`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
**「過去の履歴」**`LedgerHashes`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
- `LedgerHashes`スペースキー(`0x0073`)
|
||||
- オブジェクトの`Hashes`配列のフラッグレジャーの32ビット[レジャーインデックス][]を65536で割った値。
|
||||
|
||||
@@ -72,7 +72,7 @@ labels:
|
||||
|
||||
## オファーIDのフォーマット
|
||||
|
||||
`Offer`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
`Offer`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* Offerスペースキー(`0x006F`)
|
||||
* オファーを行うアカウントのAccountID
|
||||
|
||||
@@ -100,7 +100,7 @@ Payment Channelが期限切れになると、新しいトランザクション
|
||||
|
||||
## PayChannel IDのフォーマット
|
||||
|
||||
`PayChannel`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
`PayChannel`オブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* PayChannelスペースキー(`0x0078`)
|
||||
* 支払元アカウントのAccountID
|
||||
|
||||
@@ -116,7 +116,7 @@ XRP Ledgerは遅延評価を使用して所有者準備金を計算していま
|
||||
|
||||
## RippleState IDのフォーマット
|
||||
|
||||
RippleStateオブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Hals][]です。
|
||||
RippleStateオブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512Half][]です。
|
||||
|
||||
* RippleStateスペースキー(`0x0072`)
|
||||
* 低位アカウントのAccountID
|
||||
|
||||
@@ -15,13 +15,13 @@ labels:
|
||||
| フィールド | JSONの型 | [内部の型][] | 説明 |
|
||||
|:-----------------------------|:----------|:------------------|:--------------|
|
||||
| `ledger_index` | 文字列 | UInt32 | レジャーの[レジャーインデックス][レジャーインデックス]。APIメソッドの中には、この番号を引用符で囲んだ整数として表示するメソッドと、ネイティブJSON数値として表示するメソッドがあります。 |
|
||||
| `ledger_hash` | 文字列 | Hash256 | このレジャーバージョンの[SHA-512Hals][]。これは、このレジャーとそのすべての内容の一意のIDとして機能します。 |
|
||||
| `account_hash` | 文字列 | Hash256 | このレジャーの状態ツリー情報の[SHA-512Hals][]。 |
|
||||
| `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` | ブール値 | ブール値 | `true`の場合、このレジャーバージョンはこれ以上新しいトランザクションを受け入れません。(ただし、このレジャーバージョンが未検証の場合は、一連の異なるトランザクションが記録されている別のレジャーバージョンに置き換えられることがあります。) |
|
||||
| `parent_hash` | 文字列 | Hash256 | このバージョンの直前のレジャーバージョンの`ledger_hash`値。直前のレジャーインデックスの異なるバージョンが存在している場合、これはレジャーの生成元を示します。 |
|
||||
| `total_coins` | 文字列 | UInt64 | レジャーのアカウントが保有するXRPの[XRPのdrop数][]の合計。トランザクション手数料により消却されたXRPは除外されます。一部のアカウントは、そのキーを知っている人がいない「ブラックホール」アカウントであるため、流通している実際のXRPの量はこれよりも少なくなります。 |
|
||||
| `transaction_hash` | 文字列 | Hash256 | このレジャーに記録されているトランザクションの[SHA-512Hals][]。 |
|
||||
| `transaction_hash` | 文字列 | Hash256 | このレジャーに記録されているトランザクションの[SHA-512Half][]。 |
|
||||
| `close_time_resolution` | 数値 | Uint8 | `close_time`を丸めるときの最大秒数を示す範囲[2,120]内の整数。 |
|
||||
| [`closeFlags`](#closeフラグ) | (省略) | UInt8 | このレジャーの閉鎖に関連するフラグのビットマップ。 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user