From 8db06f1ebf283a638a051c86d590ff5775f4da88 Mon Sep 17 00:00:00 2001 From: tequ Date: Sun, 26 Mar 2023 14:18:22 +0900 Subject: [PATCH 1/7] [JA] update multisig --- .../amendments/known-amendments.ja.md | 10 +-- .../transaction-malleability.ja.md | 24 +++---- .../introduction/xrp-ledger-overview.ja.md | 4 +- .../accounts/accounts.ja.md | 8 +-- .../accounts/cryptographic-keys.ja.md | 2 +- .../accounts/multi-signing.ja.md | 69 +++++++++++++++---- .../accounts/tickets.ja.md | 2 +- .../transaction-basics.ja.md | 2 +- .../transaction-basics/transaction-cost.ja.md | 10 +-- content/concepts/payment-types/escrow.ja.md | 2 +- content/concepts/tokens/freezes.ja.md | 2 +- .../wallet_propose.ja.md | 6 +- .../signing-methods/sign.ja.md | 2 +- .../signing-methods/sign_for.ja.md | 4 +- .../account-methods/account_info.ja.md | 2 +- .../account-methods/account_objects.ja.md | 2 +- .../public-api-methods.ja.md | 4 +- .../transaction-methods/submit.ja.md | 4 +- .../submit_multisigned.ja.md | 4 +- .../data-types/basic-data-types.ja.md | 2 +- .../ledger-object-types/signerlist.ja.md | 10 +-- .../protocol-reference/serialization.ja.md | 4 +- .../transaction-common-fields.ja.md | 10 +-- .../transaction-results/tec-codes.ja.md | 2 +- .../transaction-results/tef-codes.ja.md | 6 +- .../transaction-types/accountset.ja.md | 2 +- .../transaction-types/setregularkey.ja.md | 2 +- .../transaction-types/signerlistset.ja.md | 6 +- .../assign-a-regular-key-pair.ja.md | 2 +- .../disable-master-key-pair.ja.md | 6 +- .../offline-account-setup.ja.md | 4 +- .../send-a-multi-signed-transaction.ja.md | 18 ++--- .../set-up-multi-signing.ja.md | 26 +++---- .../manage-account-settings/use-tickets.ja.md | 10 +-- .../reliable-transaction-submission.ja.md | 2 +- .../set-up-secure-signing.ja.md | 4 +- .../list-xrp-as-an-exchange.ja.md | 2 +- 37 files changed, 162 insertions(+), 119 deletions(-) diff --git a/content/concepts/consensus-network/amendments/known-amendments.ja.md b/content/concepts/consensus-network/amendments/known-amendments.ja.md index 60d4cf8f15..16f9f52c9a 100644 --- a/content/concepts/consensus-network/amendments/known-amendments.ja.md +++ b/content/concepts/consensus-network/amendments/known-amendments.ja.md @@ -826,11 +826,11 @@ XRP Ledgerの分散型取引所において、オファーの掛け合わせの | デフォルトの投票(最新の安定版) | はい | | Amendment前の機能は廃止? | はい | -トランザクションの承認方法として[マルチ署名](multi-signing.html)を導入します。[`SignerList`レジャーオブジェクトタイプ](signerlist.html)と[`SignerListSet`トランザクションタイプ](signerlistset.html)を作成します。省略可能な`Signers`フィールドをすべてのトランザクションタイプに追加します。一部のトランザクション結果コードを変更します。 +トランザクションの承認方法として[マルチシグ](multi-signing.html)を導入します。[`SignerList`レジャーオブジェクトタイプ](signerlist.html)と[`SignerListSet`トランザクションタイプ](signerlistset.html)を作成します。省略可能な`Signers`フィールドをすべてのトランザクションタイプに追加します。一部のトランザクション結果コードを変更します。 -この修正により、マルチ署名のアドレスからトランザクションを承認できる署名者のリストをそのアドレスに保持できるようになります。このリストには定数があり、1から8で重み付けされた署名者が記載されています。これにより、「5人のうち任意の3人」や「Aの署名とその他任意の2人の署名」などの多様な設定が可能になります。 +この修正により、マルチシグのアドレスからトランザクションを承認できる署名者のリストをそのアドレスに保持できるようになります。このリストには定数があり、1から8で重み付けされた署名者が記載されています。これにより、「5人のうち任意の3人」や「Aの署名とその他任意の2人の署名」などの多様な設定が可能になります。 -署名者は資金供給のあるアドレスでも資金供給のないアドレスでも可能です。署名者リストのうち資金供給のあるアドレスは、レギュラーキー(定義済みの場合)またはマスターキー(無効でない場合)を使用して署名できます。資金供給のないアドレスは、マスターキーを使用して署名できます。マルチ署名済みトランザクションは、レギュラーキーで署名されたトランザクションと同じ権限を持ちます。 +署名者は資金供給のあるアドレスでも資金供給のないアドレスでも可能です。署名者リストのうち資金供給のあるアドレスは、レギュラーキー(定義済みの場合)またはマスターキー(無効でない場合)を使用して署名できます。資金供給のないアドレスは、マスターキーを使用して署名できます。マルチシグトランザクションは、レギュラーキーで署名されたトランザクションと同じ権限を持ちます。 SignerListを持つアドレスは、レギュラーキーが定義されていなくてもマスターキーを無効にすることができます。また、SignerListを持つアドレスは、マスターキーが無効な場合でもレギュラーキーを削除することができます。`tecMASTER_DISABLED`トランザクション結果コードは`tecNO_ALTERNATIVE_KEY`に名前が変更されます。`tecNO_REGULAR_KEY`トランザクション結果コードは廃止となり、`tecNO_ALTERNATIVE_KEY`に代わります。さらに、この修正は以下の新しい[トランザクション結果コード](transaction-results.html)を追加します。 @@ -853,7 +853,7 @@ SignerListを持つアドレスは、レギュラーキーが定義されてい | デフォルトの投票(最新の安定版) | はい | | Amendment前の機能は廃止? | いいえ | -XRP Ledgerアカウントが[マルチ署名](multi-signing.html) SignerListを所有する場合、アカウントに加算される[所有者準備金](reserves.html#所有者準備金)を削減します。 +XRP Ledgerアカウントが[マルチシグ](multi-signing.html) SignerListを所有する場合、アカウントに加算される[所有者準備金](reserves.html#所有者準備金)を削減します。 この修正を行わない場合、SignerListの所有者準備金は、リスト内の署名者数に応じて15~50 XRPの範囲となります。 @@ -974,7 +974,7 @@ XRP Ledgerプロトコルの署名要件を変更し、いかなる場合にも この修正が適用されない場合、トランザクションがsecp256k1署名を使用し、tfFullyCanonicalSigが有効でない場合は、変更可能となります。ほとんどの署名ユーティリティは、デフォルトでtfFullyCanonicalSigを有効にしていますが、例外もあります。 -この修正により、単独署名のトランザクションは展性になりません。(署名者が必要以上の署名を提供した場合、[マルチ署名のトランザクションはまだ展性であるかもしれません](transaction-malleability.html#マルチ署名の展性))。すべてのトランザクションは、tfFullyCanonicalSigフラグに関係なく、署名の完全な正規の形式を使用する必要があります。完全に正規化された署名を作成しない署名ユーティリティはサポートされていません。Ripple社が提供するすべての署名ユーティリティは、少なくとも2014年以降、完全に正規化された署名のみを提供するようになっています。 +この修正により、単独署名のトランザクションは展性になりません。(署名者が必要以上の署名を提供した場合、[マルチシグのトランザクションはまだ展性であるかもしれません](transaction-malleability.html#マルチシグの展性))。すべてのトランザクションは、tfFullyCanonicalSigフラグに関係なく、署名の完全な正規の形式を使用する必要があります。完全に正規化された署名を作成しない署名ユーティリティはサポートされていません。Ripple社が提供するすべての署名ユーティリティは、少なくとも2014年以降、完全に正規化された署名のみを提供するようになっています。 詳しくは、[`rippled` issue #3042](https://github.com/ripple/rippled/issues/3042)を参照してください。 diff --git a/content/concepts/consensus-network/transaction-malleability.ja.md b/content/concepts/consensus-network/transaction-malleability.ja.md index 1b8886c4c1..ad057dcf05 100644 --- a/content/concepts/consensus-network/transaction-malleability.ja.md +++ b/content/concepts/consensus-network/transaction-malleability.ja.md @@ -18,9 +18,9 @@ labels: **[tfFullyCanonicalSigフラグ](transaction-common-fields.html#グローバルフラグ)を使用** して、トランザクションに展性がないことを保証します。[Ed25519キーで署名されている](cryptographic-keys.html#署名アルゴリズム)トランザクションはこの問題に対して脆弱ではありませんが、 _すべての_ トランザクションにこのフラグを使用しても **特に不都合はありません** 。 -2. トランザクションが[マルチ署名済み](multi-signing.html)であり、署名の数が必要以上に多い場合。元々トランザクションに必要な数を上回る署名がされていなかった場合でも、権限のある署名者が追加の署名を提供すると、このトランザクションが展性を得ることがあります。 +2. トランザクションが[マルチシグ](multi-signing.html)であり、署名の数が必要以上に多い場合。元々トランザクションに必要な数を上回る署名がされていなかった場合でも、権限のある署名者が追加の署名を提供すると、このトランザクションが展性を得ることがあります。 - 適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。ガイドラインについては、[マルチ署名の展性の緩和対策](#マルチ署名の展性の緩和対策)を参照してください。 + 適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。ガイドラインについては、[マルチシグの展性の緩和対策](#マルチシグの展性の緩和対策)を参照してください。 ## 背景 @@ -58,12 +58,12 @@ Rippleが公開しているすべてのXRP Ledgerソフトウェア(`rippled` 次の2つの状況においては、RippleのXRP Ledgerの署名実装によってtfFullyCanonicalSigフラグが自動的に有効になりません。次の状況では、フラグを慎重に設定する必要があります。 - ユーザーがトランザクションの`Flags`フィールドを明示的に指定している場合。ビット単位のORを使用してtfFullyCanonicalSig _と_ その他の必要なすべてのフラグを適用します。 -- ユーザーがトランザクションにマルチ署名を提供する場合。マルチ署名の複数の参加者は _厳密に_ 同一のデータに署名する必要があるので、署名コードはtfFullyCanonicalSigフラグを追加するというトランザクションの指示を事前に処理しません。マルチ署名済みトランザクションでは、常にtfFullyCanonicalSigフラグを明示的に有効にしてください。 +- ユーザーがトランザクションにマルチシグを提供する場合。マルチシグの複数の参加者は _厳密に_ 同一のデータに署名する必要があるので、署名コードはtfFullyCanonicalSigフラグを追加するというトランザクションの指示を事前に処理しません。マルチシグトランザクションでは、常にtfFullyCanonicalSigフラグを明示的に有効にしてください。 -### マルチ署名の展性 +### マルチシグの展性 -マルチ署名の明示的で重要な機能として、さまざまな設定によってトランザクションを有効にできるという機能があげられます。たとえば、5人の署名者のうち3人の署名者の署名によってトランザクションを承認できるようにアカウントを設定できます。ただしこの場合、有効なトランザクションにはいくつかのバリエーションが存在する可能性があり、識別用ハッシュは各バリエーションごとに異なります。 +マルチシグの明示的で重要な機能として、さまざまな設定によってトランザクションを有効にできるという機能があげられます。たとえば、5人の署名者のうち3人の署名者の署名によってトランザクションを承認できるようにアカウントを設定できます。ただしこの場合、有効なトランザクションにはいくつかのバリエーションが存在する可能性があり、識別用ハッシュは各バリエーションごとに異なります。 以下のケースはすべて、トランザクション展性の問題につながる可能性があります。 @@ -73,16 +73,16 @@ Rippleが公開しているすべてのXRP Ledgerソフトウェア(`rippled` 権限のある署名者に意図的な悪意がない場合でも、混乱や不適切な調整が原因で、複数の署名者が同じトランザクションの異なる有効バージョンを送信することがあります。 -#### マルチ署名の展性の緩和対策 +#### マルチシグの展性の緩和対策 -**適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。** 通常、以下のような適切な運用セキュリティ対策に従っていれば、マルチ署名でのトランザクション展性の問題を防ぐことができます。 +**適切な運用セキュリティ対策を導入することで、このような問題を防ぐことができます。** 通常、以下のような適切な運用セキュリティ対策に従っていれば、マルチシグでのトランザクション展性の問題を防ぐことができます。 - 必要な数以上の署名を収集しない。 - 必要な数の署名を収集した後でトランザクションを作成する当事者を任命するか、または署名者が事前に定義された順序でトランザクション指示に署名して次に渡せるように「チェーン」を指定する。 -- マルチ署名リストに不要な署名者または信頼できない署名者を追加しない。これは、これらの署名者のキーに関連付けられている`weight`の値が、トランザクションの承認には不十分である場合にも該当する。 +- マルチシグリストに不要な署名者または信頼できない署名者を追加しない。これは、これらの署名者のキーに関連付けられている`weight`の値が、トランザクションの承認には不十分である場合にも該当する。 - トランザクションが異なるハッシュまたは想定外の署名セットを使用して実行される可能性に対処できるよう備える。アカウントから送信されたトランザクションを注意深く監視する([account_txメソッド][]などを使用)。 - アカウントの`Sequence`番号を監視する([account_infoメソッド][]などを使用)。この番号は、アカウントがトランザクションを正常に送信するたびに1ずつ増えますが、それ以外の状況で増えることはありません。番号が想定した番号と一致しない場合は、最近のトランザクションを調べてその原因を確認します。(展性のあるトランザクションの他にも、このような状況が発生することがあります。たとえばトランザクションを送信するように別のアプリケーションを設定する場合などです。不正使用者が秘密鍵にアクセスした可能性もあります。あるいは、アプリケーションでデータが失われ、送信済みのトランザクションが忘れられた可能性もあります。) -- トランザクションを再度作成してマルチ署名済みにする場合は、目的の処理がまだ実行されていないことを手動で確認している場合を除き、`Sequence`番号を変更 _しないでください_ 。 +- トランザクションを再度作成してマルチシグにする場合は、目的の処理がまだ実行されていないことを手動で確認している場合を除き、`Sequence`番号を変更 _しないでください_ 。 - 署名前にtfFullyCanonicalSigフラグが有効であることを確認する。 セキュリティ強化のため、上記のガイドラインにより何重もの保護対策が講じられます。 @@ -92,7 +92,7 @@ Rippleが公開しているすべてのXRP Ledgerソフトウェア(`rippled` XRP Ledgerとのインフターフェイスに使用するソフトウェアから展性のあるトランザクションが送信されると、不正使用者がソフトウェアをだましてトランザクションの最終結果を確認できなくし、(最悪の場合)同額の支払いを複数回送金させることが可能になります。 -シングルシグネチャーを使用していて、tfFullyCanonicalSigフラグを常に有効にしている場合には、このような悪用に対し脆弱ではありません。マルチ署名を使用していて、署名者が必要な数を超える署名を提供する場合には脆弱になります。 +シングルシグネチャーを使用していて、tfFullyCanonicalSigフラグを常に有効にしている場合には、このような悪用に対し脆弱ではありません。マルチシグを使用していて、署名者が必要な数を超える署名を提供する場合には脆弱になります。 ### 悪用シナリオの流れ @@ -103,10 +103,10 @@ XRP Ledgerとのインフターフェイスに使用するソフトウェアか トランザクションでtfFullyCanonicalSigフラグが有効に設定されない状況として以下の3つがあります。 - システムが`Flags`フィールドを明示的に指定し、このフィールドでtfFullyCanonicalSigビットが有効になっていない。 - - トランザクションがマルチ署名済みであり、tfFullyCanonicalSigフラグが明示的に有効にされていない。 + - トランザクションがマルチシグであり、tfFullyCanonicalSigフラグが明示的に有効にされていない。 - システムでトランザクションのフィールドから`Flags`フィールドが省略されているが、署名時にtfFullyCanonicalSigを自動的に有効にしない非標準の実装が使用されている。 - トランザクションがECDSAキーペアで署名されている場合、そのトランザクションは脆弱になります。マルチ署名済みの場合、トランザクションの署名に少なくとも1つのECDSAキーペアが使用される必要があります。 + トランザクションがECDSAキーペアで署名されている場合、そのトランザクションは脆弱になります。マルチシグの場合、トランザクションの署名に少なくとも1つのECDSAキーペアが使用される必要があります。 ほとんどの場合、脆弱なトランザクションには完全に正規である署名が使用されていますが、トランザクションが完全に正規ではない署名を使用していても、フラグはそのトランザクションが有効であると示します。また、限られた時間内に最終結果が判かるように、トランザクションで`LastLedgerSequence`が使用されていることもあります。 diff --git a/content/concepts/introduction/xrp-ledger-overview.ja.md b/content/concepts/introduction/xrp-ledger-overview.ja.md index 8a0018d074..f4c6790a1a 100644 --- a/content/concepts/introduction/xrp-ledger-overview.ja.md +++ b/content/concepts/introduction/xrp-ledger-overview.ja.md @@ -80,9 +80,9 @@ XRP LedgerのConsensusアルゴリズムの動作方法の詳細は、[XRP Ledge ## 安全で適応性のある暗号技術 [安全で適応性のある暗号技術]: #安全で適応性のある暗号技術 -暗号技術は分散システムにおいて最も重要な部分の1つであり、小さな技術的問題が一瞬にして世界中の悪意あるハッカーによる盗難につながる危険性を秘めています。XRP Ledgerは、取引の署名および検証のための業界標準の技術と、何年もの間、数千億USドルにも相当する価値を保護することに成功してきたアルゴリズムを使用しています。また、XRP Ledgerにはマルチ署名機能が備わっているため、バックアップとして多要素認証や複数のユーザー間で分割キーを使用できます。さらに暗号技術の飛躍的な進歩によって古いアルゴリズムが時代遅れになり、新しいアルゴリズムが導入される場合でも、ユーザーはそのままキーを使い続けることができます。 +暗号技術は分散システムにおいて最も重要な部分の1つであり、小さな技術的問題が一瞬にして世界中の悪意あるハッカーによる盗難につながる危険性を秘めています。XRP Ledgerは、取引の署名および検証のための業界標準の技術と、何年もの間、数千億USドルにも相当する価値を保護することに成功してきたアルゴリズムを使用しています。また、XRP Ledgerにはマルチシグ機能が備わっているため、バックアップとして多要素認証や複数のユーザー間で分割キーを使用できます。さらに暗号技術の飛躍的な進歩によって古いアルゴリズムが時代遅れになり、新しいアルゴリズムが導入される場合でも、ユーザーはそのままキーを使い続けることができます。 -詳細は、[暗号鍵](cryptographic-keys.html)および[マルチ署名](multi-signing.html)を参照してください。 +詳細は、[暗号鍵](cryptographic-keys.html)および[マルチシグ](multi-signing.html)を参照してください。 ## スマートコントラクト用の最新機能 diff --git a/content/concepts/payment-system-basics/accounts/accounts.ja.md b/content/concepts/payment-system-basics/accounts/accounts.ja.md index 7854e4af52..0743815a73 100644 --- a/content/concepts/payment-system-basics/accounts/accounts.ja.md +++ b/content/concepts/payment-system-basics/accounts/accounts.ja.md @@ -20,7 +20,7 @@ XRP Ledgerの「アカウント」は、XRPの所有者と[トランザクショ - [トランザクションの承認](transaction-basics.html#トランザクションの承認)方法。以下に例を示します。 - アカウント固有のマスターキーのペア。([無効](accountset.html)にできますが、変更はできません。) - [ローテーションで使用](setregularkey.html)できる「レギュラー」キーペア。 - - [マルチ署名](multi-signing.html)の署名者のリスト。(アカウントのコアデータとは別に保存されます。) + - [マルチシグ](multi-signing.html)の署名者のリスト。(アカウントのコアデータとは別に保存されます。) アカウントのコアデータは、レジャーのデータツリーの[AccountRoot](accountroot.html)レジャーのオブジェクトタイプに保存されます。アカウントは、他の複数のタイプのデータの所有者(または部分的な所有者)になることもできます。 @@ -102,9 +102,9 @@ XRP Ledgerでは、トランザクション(取引)履歴をトランザク - `RippleState`オブジェクト(トラストライン)。アカウントに関連付けられています。 - `DirectoryNode`オブジェクト(特にアカウントの所有オブジェクトを追跡する所有者ディレクトリ)。 - `Offer`オブジェクト。分散型取引所でのアカウントの未処理の取引注文を表すオブジェクト。 -- `PayChannel` アカウントとの間の非同期のPayment Channelを表すオブジェクト。 -- `Escrow` 時間または暗号条件によってロックされ、アカウントとの間の保留中の支払いを表すオブジェクト。 -- `SignerList` [マルチ署名](multi-signing.html)によってアカウントのトランザクションを承認できるアドレスのリストを表すオブジェクト。 +- `PayChannel`アカウントとの間の非同期のPayment Channelを表すオブジェクト。 +- `Escrow`時間または暗号条件によってロックされ、アカウントとの間の保留中の支払いを表すオブジェクト。 +- `SignerList`[マルチシグ](multi-signing.html)によってアカウントのトランザクションを承認できるアドレスのリストを表すオブジェクト。 これらの各オブジェクトの詳細は、[レジャーフォーマットのリファレンス](ledger-data-formats.html)を参照してください。 diff --git a/content/concepts/payment-system-basics/accounts/cryptographic-keys.ja.md b/content/concepts/payment-system-basics/accounts/cryptographic-keys.ja.md index ac1b15920a..7f746de33f 100644 --- a/content/concepts/payment-system-basics/accounts/cryptographic-keys.ja.md +++ b/content/concepts/payment-system-basics/accounts/cryptographic-keys.ja.md @@ -38,7 +38,7 @@ XRP Ledgerでは、[トランザクション](transaction-basics.html)による **シード** -_シード_ 値は、アカウントの実際の秘密鍵(および公開鍵)を[導出する](#鍵導出)ために使用されるコンパクトな値です。`master_key`、`master_seed`、および`master_seed_hex`はすべて、同じシード値を表しますが、フォーマットが異なります。これらのいずれのフォーマットも、[`rippled` API](http-websocket-apis.html)や[その他のXRPLソフトウェア](software-ecosystem.html)で[トランザクションに署名](transaction-basics.html#トランザクションへの署名とトランザクションの送信)するときに使用することができます。キーの先頭に`master_`が付いていますが、このシードが表すキーが必ずしもアカウントのマスターキーであるとは限りません。キーペアは、レギュラーキーだけでなく、マルチ署名のリストのメンバーとしても使用できます。 +_シード_ 値は、アカウントの実際の秘密鍵(および公開鍵)を[導出する](#鍵導出)ために使用されるコンパクトな値です。`master_key`、`master_seed`、および`master_seed_hex`はすべて、同じシード値を表しますが、フォーマットが異なります。これらのいずれのフォーマットも、[`rippled` API](http-websocket-apis.html)や[その他のXRPLソフトウェア](software-ecosystem.html)で[トランザクションに署名](transaction-basics.html#トランザクションへの署名とトランザクションの送信)するときに使用することができます。キーの先頭に`master_`が付いていますが、このシードが表すキーが必ずしもアカウントのマスターキーであるとは限りません。キーペアは、レギュラーキーだけでなく、マルチシグのリストのメンバーとしても使用できます。 シード値はアカウントのその他のあらゆる情報の基盤であるため、慎重に保護する必要があります。アドレスのシード値を知っている人なら誰でも、事実上そのアドレスを完全に制御できます。 diff --git a/content/concepts/payment-system-basics/accounts/multi-signing.ja.md b/content/concepts/payment-system-basics/accounts/multi-signing.ja.md index 93d0511ece..5d59b8221a 100644 --- a/content/concepts/payment-system-basics/accounts/multi-signing.ja.md +++ b/content/concepts/payment-system-basics/accounts/multi-signing.ja.md @@ -1,16 +1,16 @@ --- html: multi-signing.html parent: accounts.html -blurb: マルチ署名を使用することで、トランザクション送信時のセキュリティが強化されます。 +blurb: マルチシグを使用することで、トランザクション送信時のセキュリティが強化されます。 labels: - スマートコントラクト - セキュリティ --- -# マルチ署名 +# マルチシグ -マルチ署名は、複数のシークレットキーを組み合わせて使用してXRP Ledgerの[トランザクションを承認する](transaction-basics.html#トランザクションの承認)手法です。アドレスで有効な承認手法(マルチ署名、[マスターキーペア](cryptographic-keys.html#マスターキーペア)、[レギュラーキーペア](cryptographic-keys.html#レギュラーキーペア)など)を自由に組み合わせて使用できます。(唯一の要件は、 _少なくとも1つの_ 手法を有効にする必要があることです。) +マルチシグは、複数のシークレットキーを組み合わせて使用してXRP Ledgerの[トランザクションを承認する](transaction-basics.html#トランザクションの承認)手法です。アドレスで有効な承認手法(マルチシグ、[マスターキーペア](cryptographic-keys.html#マスターキーペア)、[レギュラーキーペア](cryptographic-keys.html#レギュラーキーペア)など)を自由に組み合わせて使用できます。(唯一の要件は、 _少なくとも1つの_ 手法を有効にする必要があることです。) -マルチ署名には次のメリットがあります。 +マルチシグには次のメリットがあります。 * 複数のデバイスからのキーを要求できます。これにより、不正使用者があなたの代わりにトランザクションを送信するには複数のマシンを悪用しなければならなくなります。 * 複数のユーザー間で1つのアドレスの管理を共有できます。この場合、各ユーザーが、そのアドレスからトランザクションを送信する際に必要な複数のキーのいずれか1つだけを所有します。 @@ -19,25 +19,68 @@ labels: ## 署名者リスト -マルチ署名を使用するには、あなたの代理として署名できるアドレスのリストを作成する必要があります。 +マルチシグを使用するには、あなたの代理として署名できるアドレスのリストを作成する必要があります。 -[SignerListSetトランザクション][]は、あなたのアドレスからのトランザクションを承認できるアドレスを定義します。SignerListには最大8個のアドレスを指定できます。SignerListのquorum値とweight値を使用して、必要な署名の数と組み合わせを制御できます。 +[SignerListSetトランザクション][]は、_署名者リスト_(自分のアドレスからのトランザクションを承認できるアドレスのセット)を定義します。署名者リストには、1~32のアドレスを含めることができます。このリストには、自分のアドレスを含めることはできず、重複して登録することはできません。リストの _Signer Weight_ と _Quorum_ の設定を使用することで、どのような組み合わせでどれだけの署名が必要かを制御することができます。 -## マルチ署名済みトランザクションの送信 +_([ExpandedSignerList amendment][]により更新されました。)_ -マルチ署名済みトランザクションを正常に送信するには、以下のすべての条件を満たす必要があります。 +### Signer Weight -* トランザクションを送信するアドレス(`Account`に指定されるアドレス)は、[レジャーに`SignerList`](signerlist.html)を所有する必要があります。 +リスト内の各署名者にウェイトを割り当てます。ウェイトは、リスト上の他の署名者と比較して、その署名者の相対的な権限を表します。値が高いほど、より多くの権限を持つことになります。個々のウェイト値は、216-1を超えることはできません。 + +### Quorum + +リストの定足数(quorum)の値は、トランザクションを承認するために必要な最小のウェイト合計です。クォーラムは0より大きく、署名者リストのウェイト値の合計以下でなければならない。つまり、与えられた署名者のウェイトでクォーラムを達成することが可能でなければなりません。 + +### Wallet Locator + +また、リスト内の各署名者のエントリに最大256ビットの任意のデータを追加することができます。このデータはネットワークで必要とされたり使用されたりすることはありませんが、スマートコントラクトや他のアプリケーションが署名者に関する他のデータを特定したり確認したりするために使用することができます。 + +_([ExpandedSignerList amendment][]によって追加されました。)_ + +### Signer WeightとQuorumの使用例 + +ウェイトと定足数により、アカウントを管理する責任ある参加者への相対的な信頼と権限に基づき、トランザクションごとに適切なレベルの監視を設定することができます。 + +共有アカウントのユースケースの場合、定足数1のリストを作成し、すべての参加者に1のウェイトを与えることができます。 + +非常に重要なアカウントの場合、定足数を3に設定し、重みを1とする3人の参加者を設定することができます。すべての参加者がトランザクションごとに同意して承認する必要があります。 + +CEOのウェイトを3、副社長3人のウェイトを各2、取締役3人のウェイトを各1に割り当てたとする。このアカウントのトランザクションを承認するには、取締役3名全員(合計ウェイト3)、副社長1名と取締役1名(合計ウェイト3)、副社長2名(合計ウェイト4)、またはCEO(合計ウェイト3)の承認が必要となります。 + +先の3つのユースケースでは、レギュラーキーを設定せずにマスターキーを無効にすることで、マルチシグが唯一の[トランザクションの承認](transaction-basics.html#authorizing-transactions)の方法となるようにします。 + +"バックアッププラン"としてマルチシグリストを作成するシナリオがあるかもしれません。アカウント所有者は、通常、トランザクションにレギュラーキー(マルチシグではない)を使用します。もしアカウント所有者が秘密鍵を紛失した場合、通常の鍵に代わるトランザクションにマルチシグするよう友人に依頼することができます。 + +## マルチシグトランザクションの送信 + +マルチシグトランザクションを正常に送信するには、以下のすべての条件を満たす必要があります。 + +* トランザクションを送信するアドレス(`Account`に指定されるアドレス)は、[レジャーに`SignerList`](signerlist.html)を所有する必要があります。この方法については、[マルチシグを設定する](set-up-multi-signing.html)を参照してください。 * トランザクションに`SigningPubKey`フィールドを空の文字列として含める必要があります。 * トランザクションに、署名の配列が指定されている[`Signers`フィールド](transaction-common-fields.html#signersフィールド)を含める必要があります。 -* `Signers`配列に含まれている署名は、SignerListで定義されている署名と一致している必要があります。 -* 指定された署名で、これらの署名者に関連付けられている`weight`の合計が、SignerListの`quorum`以上である必要があります。 +* `Signers`配列に含まれている署名は、`SignerList`で定義されている署名と一致している必要があります。 +* 指定された署名で、これらの署名者に関連付けられている`weight`の合計が、`SignerList`の`quorum`以上である必要があります。 * [トランザクションコスト](transaction-cost.html)(`Fee`フィールドで指定)は、通常のトランザクションコストの(N+1)倍以上である必要があります。このNは、指定される署名の数です。 * トランザクションのすべてのフィールドは、署名収集前に定義する必要があります。フィールドの[自動入力](transaction-common-fields.html#自動入力可能なフィールド)は実行できません。 -* `Signers` 配列がバイナリ形式で指定される場合、この配列は署名者アドレスの数値に基づいて、低い値から順にソートされている必要があります。(JSONとして提出される場合は、[submit_multisignedメソッド][] がこの処理を自動的に実行します。) +* `Signers`配列がバイナリ形式で指定される場合、この配列は署名者アドレスの数値に基づいて、低い値から順にソートされている必要があります。(JSONとして提出される場合は、[submit_multisignedメソッド][]がこの処理を自動的に実行します。) -詳細は、[マルチ署名の設定](set-up-multi-signing.html)を参照してください。 +詳細は、[マルチシグの設定](set-up-multi-signing.html)を参照してください。 +## 関連項目 + +- **チュートリアル:** + - [マルチシグを設定する](set-up-multi-signing.html) + - [マルチシグトランザクションを送信する](send-a-multi-signed-transaction.html) +- **コンセプト:** + - [暗号鍵](cryptographic-keys.html) + - [マルチシグトランザクションの特別なトランザクションコスト](transaction-cost.html#特別なトランザクションコスト) +- **リファレンス:** + - [SignerListSetトランザクション][] + - [SignerListオブジェクト](signerlist.html) + - [sign_forメソッド][] + - [submit_multisignedメソッド][] {% include '_snippets/rippled-api-links.md' %} {% include '_snippets/tx-type-links.md' %} diff --git a/content/concepts/payment-system-basics/accounts/tickets.ja.md b/content/concepts/payment-system-basics/accounts/tickets.ja.md index fa8a7a747b..de0429ad06 100644 --- a/content/concepts/payment-system-basics/accounts/tickets.ja.md +++ b/content/concepts/payment-system-basics/accounts/tickets.ja.md @@ -60,7 +60,7 @@ XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引 - **Concepts:** - - [マルチ署名](multi-signing.html) + - [マルチシグ](multi-signing.html) - **Tutorials:** - [チケットを使用する](use-tickets.html) - **References:** diff --git a/content/concepts/payment-system-basics/transaction-basics/transaction-basics.ja.md b/content/concepts/payment-system-basics/transaction-basics/transaction-basics.ja.md index 8383ae251a..ee2480e404 100644 --- a/content/concepts/payment-system-basics/transaction-basics/transaction-basics.ja.md +++ b/content/concepts/payment-system-basics/transaction-basics/transaction-basics.ja.md @@ -40,7 +40,7 @@ _トランザクション(取引)_ は、XRP Ledgerを変更する唯一の * 送信元アドレスと数学的に関連付けられている、マスター秘密鍵による単一の署名。[AccountSetトランザクション][]を使用して、マスターキーペアを無効または有効にできます。 * アドレスに関連付けられているレギュラー秘密鍵と一致する単一の署名。[SetRegularKeyトランザクション][]を使用して、レギュラーキーペアを追加、削除、または置き換えることができます。 -* アドレスが所有する署名者のリストと一致する[マルチ署名](multi-signing.html)。[SignerListSetトランザクション][]を使用して、署名者のリストを追加、削除、または置換することができます。 +* アドレスが所有する署名者のリストと一致する[マルチシグ](multi-signing.html)。[SignerListSetトランザクション][]を使用して、署名者のリストを追加、削除、または置換することができます。 署名の種類に関係なく、あらゆるタイプのトランザクションを承認できます。ただし、次の例外があります。 diff --git a/content/concepts/payment-system-basics/transaction-basics/transaction-cost.ja.md b/content/concepts/payment-system-basics/transaction-basics/transaction-cost.ja.md index 629c618d1e..6ada98d267 100644 --- a/content/concepts/payment-system-basics/transaction-basics/transaction-cost.ja.md +++ b/content/concepts/payment-system-basics/transaction-basics/transaction-cost.ja.md @@ -27,7 +27,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ |-----------------------|--------------------------| | [Referenceトランザクション](#referenceトランザクションコスト)(ほとんどのトランザクション) | 10 drop | | [Key Resetトランザクション](#key-resetトランザクション)| 0 | -| [マルチ署名済みトランザクション](multi-signing.html)| 10 drop × (1 + 署名の数) | +| [マルチシグトランザクション](multi-signing.html)| 10 drop × (1 + 署名の数) | | [フルフィルメントを伴うEscrowFinishトランザクション](escrowfinish.html)| 10 drop × (33 + (バイト単位のフルフィルメントサイズ ÷ 16)) | | [AccountDeleteトランザクション](accounts.html#アカウントの削除)| 5,000,000 drop | @@ -61,7 +61,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ 新しいレジャーバージョンごとに、サーバーは前のレジャーのトランザクション数に基づいてオープンレジャーに含めるトランザクション数のソフトリミットを選択します。オープンレジャーコストは、オープンレジャー内のトランザクション数がソフトリミットと等しくなるまでは、スケーリングされていない最低トランザクションコストと同じです。それを超えると、オープンレジャーコストはオープンレジャーに含まれるトランザクションごとに急激に増加します。次のレジャーでは、現行のレジャーにソフトリミットを超えるトランザクションが含まれていれば、サーバーはソフトリミットを高くし、コンセンサスプロセスに5秒より時間が掛かる場合はソフトリミットを低くします。 -オープンレジャーコストの水準は、絶対的なトランザクションコストではなく[標準的なトランザクションコストに比例](#手数料レベル)しています。標準よりも高い要件を持つトランザクションタイプ([マルチ署名済みトランザクション](multi-signing.html)など)は、オープンレジャーコストを満たすために最低限のトランザクションコスト要件を持つトランザクションよりも多く支払う必要があります。 +オープンレジャーコストの水準は、絶対的なトランザクションコストではなく[標準的なトランザクションコストに比例](#手数料レベル)しています。標準よりも高い要件を持つトランザクションタイプ([マルチシグトランザクション](multi-signing.html)など)は、オープンレジャーコストを満たすために最低限のトランザクションコスト要件を持つトランザクションよりも多く支払う必要があります。 関連項目: [`rippled`リポジトリー内のFee Escalationの説明](https://github.com/ripple/rippled/blob/release/src/ripple/app/misc/FeeEscalation.md)。 @@ -73,7 +73,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ ## Referenceトランザクションコスト -「Referenceトランザクション」とは、負荷スケーリング前の[トランザクションコスト](transaction-cost.html)という観点からは、最も安価な(無料ではない)トランザクションと言えます。ほとんどのトランザクションのコストはReferenceトランザクションと同じです。[マルチ署名済みトランザクション](multi-signing.html)など一部のトランザクションでは、このコストの数倍のコストが必要です。オープンレジャーコストが上昇する場合は、コスト水準はトランザクションの基本コストに比例します。 +「Referenceトランザクション」とは、負荷スケーリング前の[トランザクションコスト](transaction-cost.html)という観点からは、最も安価な(無料ではない)トランザクションと言えます。ほとんどのトランザクションのコストはReferenceトランザクションと同じです。[マルチシグトランザクション](multi-signing.html)など一部のトランザクションでは、このコストの数倍のコストが必要です。オープンレジャーコストが上昇する場合は、コスト水準はトランザクションの基本コストに比例します。 ### 手数料レベル @@ -82,7 +82,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ | トランザクション | drop単位の最少コスト | 手数料レベルでの最少コスト | drop単位で倍のコスト | 手数料レベルで倍のコスト | |-------------|-----------------------|----------------------------|----------------------|---------------------------| | Referenceトランザクション(ほとんどのトランザクション) | 10 | 256 | 20 | 512 | -| 4つの署名を持つ[マルチ署名済みトランザクション](multi-signing.html) | 50 | 256 | 100 | 512 | +| 4つの署名を持つ[マルチシグトランザクション](multi-signing.html) | 50 | 256 | 100 | 512 | | [Key Resetトランザクション](transaction-cost.html#key-resetトランザクション) | 0 | (事実上無限) | なし | (事実上無限) | | 32バイトのプリイメージ付きの[EscrowFinishトランザクション](escrowfinish.html)。 | 350 | 256 | 700 | 512 | @@ -126,7 +126,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ * 署名するトランザクションの`Fee`フィールドの正確な値は事前にわかりません。 * `rippled`を使用している場合は、[signメソッド][]の`fee_mult_max`パラメーターと`fee_div_max`パラメーターを使用して、署名しようとしている負荷スケーリングに制限を設定することもできます。 * オフラインのマシンから現在のトランザクションコストを調べることはできません。 -* [マルチ署名](multi-signing.html)の場合、トランザクションコストの自動指定は行えません。 +* [マルチシグ](multi-signing.html)の場合、トランザクションコストの自動指定は行えません。 diff --git a/content/concepts/payment-types/escrow.ja.md b/content/concepts/payment-types/escrow.ja.md index d3bfd02d1b..1b49440bf1 100644 --- a/content/concepts/payment-types/escrow.ja.md +++ b/content/concepts/payment-types/escrow.ja.md @@ -84,7 +84,7 @@ Escrow Amendmentのステータスは、[featureメソッド][]を使用して Escrowが時間のみによってロックされており、Crypto-conditionがない場合、EscrowFinishのコストは、リファレンストランザクションの標準[トランザクションコスト](transaction-cost.html)のみです。 -必要となる追加のトランザクションコストは、フルフィルメントのサイズに比例します。現時点では、フルフィルメントのあるEscrowFinishでは最小トランザクションコストとして、**330 drop([XRPのdrop数](basic-data-types.html#通貨額の指定))と、フルフィルメントのサイズで16バイトあたり10 drop**が必要です。[マルチ署名済み](multi-signing.html)トランザクションの場合、マルチ署名のコストがフルフィルメントのコストに加算されます。 +必要となる追加のトランザクションコストは、フルフィルメントのサイズに比例します。現時点では、フルフィルメントのあるEscrowFinishでは最小トランザクションコストとして、**330 drop([XRPのdrop数](basic-data-types.html#通貨額の指定))と、フルフィルメントのサイズで16バイトあたり10 drop**が必要です。[マルチシグ](multi-signing.html)トランザクションの場合、マルチシグのコストがフルフィルメントのコストに加算されます。 **注記:** 上記の式は、トランザクションのリファレンスコストがXRPの10 dropであることを前提としています。 diff --git a/content/concepts/tokens/freezes.ja.md b/content/concepts/tokens/freezes.ja.md index 8451d3ce26..3dc3a9b18f 100644 --- a/content/concepts/tokens/freezes.ja.md +++ b/content/concepts/tokens/freezes.ja.md @@ -80,7 +80,7 @@ XRP Ledgerは金融機関に対し、その発行資金が表す債務を履行 No Freeze設定は、アドレスに対して発行される通貨と、アドレスから発行される通貨のすべてに適用されます。一部の通貨のみを凍結できるようにしたい場合は、通貨ごとに異なるアドレスを使用してください。 -No Freeze設定は、アドレスのマスターキーのシークレットキーにより署名されたトランザクションでのみ有効にできます。[レギュラーキー](setregularkey.html)または[マルチ署名済みトランザクション](multi-signing.html)を使用してNo Freezeを有効にすることはできません。 +No Freeze設定は、アドレスのマスターキーのシークレットキーにより署名されたトランザクションでのみ有効にできます。[レギュラーキー](setregularkey.html)または[マルチシグトランザクション](multi-signing.html)を使用してNo Freezeを有効にすることはできません。 diff --git a/content/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.ja.md b/content/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.ja.md index a627869cec..98a969b724 100644 --- a/content/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.ja.md +++ b/content/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.ja.md @@ -180,18 +180,18 @@ Connecting to 127.0.0.1:5005 | `master_seed` | 文字列 | これはキーペアの秘密鍵です。このアカウントに関するその他のあらゆる情報が、マスターシードからXRP Ledgerの[base58][]エンコード文字列フォーマットで引き出されます。通常、このフォーマットのキーを使用してトランザクションに署名します。 | | `master_seed_hex` | 文字列 | 16進数形式のマスターシード。単純で広く支持されている秘密鍵表示法。トランザクションの署名に使用できます。 | | `master_key` | 文字列 | **廃止予定** [RFC-1751][]形式のマスターシード。覚えやすく書き留めやすい秘密鍵。トランザクションの署名に使用できます。**注記:** `rippled`の実装では、RFC-1751からデコードした後、RFC-1751にエンコードする前に、キーのバイト順序が逆になります。別のRFC-1751実装を使用して、XRP Ledgerで使用するキーの読み書きを行う場合は、同様にして、`rippled`のRFC-1751エンコーディングとの互換性を保つ必要があります。 | -| `account_id` | 文字列 | XRP Ledgerの[base58][]フォーマットで作成されたアカウントの[アドレス][]。これは公開鍵ではありませんが、公開鍵を2回ハッシュ化したものです。チェックサムも持っているため、タイプミスした場合はほぼ間違いなく無効なアドレスとみなされ、有効だが異なるアドレスとはみなされません。これはXRP LedgerのアカウントのプライマリIDです。支払いを受けるときにこれを人に伝えたり、トランザクションにおいて、自身や、支払先、委託先識別するのに使用します。[マルチ署名のリスト](multi-signing.html)でもこれを使用して、他の署名者を識別します。 | +| `account_id` | 文字列 | XRP Ledgerの[base58][]フォーマットで作成されたアカウントの[アドレス][]。これは公開鍵ではありませんが、公開鍵を2回ハッシュ化したものです。チェックサムも持っているため、タイプミスした場合はほぼ間違いなく無効なアドレスとみなされ、有効だが異なるアドレスとはみなされません。これはXRP LedgerのアカウントのプライマリIDです。支払いを受けるときにこれを人に伝えたり、トランザクションにおいて、自身や、支払先、委託先識別するのに使用します。[マルチシグリスト](multi-signing.html)でもこれを使用して、他の署名者を識別します。 | | `public_key` | 文字列 | XRP Ledgerの[base58][]エンコード文字列フォーマットで作成された、キーペアの公開鍵。`master_seed`から生成されます。 | | `public_key_hex` | 文字列 | これは16進数で作成されたキーペアの公開鍵です。`master_seed`から生成されます。トランザクションの署名を検証する場合、`rippled`にはこの公開鍵が必要です。そのため、署名されたトランザクションのフォーマットの`SigningPubKey`フィールドには公開鍵が入力されています。 | | `warning` | 文字列 | (削除される可能性あり)要求にシード値を指定した場合、このフィールドに安全でない可能性があるという警告が表示されます。[新規: rippled 0.32.0][] | このメソッドを使用してキーペアを生成し、アカウントのレギュラーキーペアとして使用することもできます。アカウントにレギュラーキーペアを割り当てて、それを使用してほとんどのトランザクションに署名し、マスターキーペアをできるだけオフラインにしておくことも可能です。 -レギュラーキーペアとして使用するほかに、マルチ署名のリスト(SignerList)のメンバーとして使用することもできます。 +レギュラーキーペアとして使用するほかに、マルチシグのリスト(SignerList)のメンバーとして使用することもできます。 マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](cryptographic-keys.html)を参照してください。 -マルチ署名の詳細は、[マルチ署名](multi-signing.html)を参照してください。 +マルチシグの詳細は、[マルチシグ](multi-signing.html)を参照してください。 ### 考えられるエラー diff --git a/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign.ja.md b/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign.ja.md index f07cce9621..a673a06654 100644 --- a/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign.ja.md +++ b/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign.ja.md @@ -8,7 +8,7 @@ labels: # sign [[ソース]](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/SignHandler.cpp "ソース") -`sign`メソッドは[JSONフォーマットのトランザクション](transaction-formats.html)と[シード値](cryptographic-keys.html)を受け取り、トランザクションの署名済みバイナリー表現を返します。[マルチ署名済みトランザクション](multi-signing.html)に署名を付与する場合は、代わりに[sign_forメソッド][]を使用します。 +`sign`メソッドは[JSONフォーマットのトランザクション](transaction-formats.html)と[シード値](cryptographic-keys.html)を受け取り、トランザクションの署名済みバイナリー表現を返します。[マルチシグトランザクション](multi-signing.html)に署名を付与する場合は、代わりに[sign_forメソッド][]を使用します。 {% include '_snippets/public-signing-note.md' %} diff --git a/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.ja.md b/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.ja.md index 0ea36317de..f263d1bec9 100644 --- a/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.ja.md +++ b/content/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.ja.md @@ -1,14 +1,14 @@ --- html: sign_for.html parent: signing-methods.html -blurb: マルチ署名済みトランザクションの署名を1つ提供します。 +blurb: マルチシグトランザクションの署名を1つ提供します。 labels: - トランザクション送信 --- # sign_for [[ソース]](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SignFor.cpp "Source") -`sign_for`コマンドは、[マルチ署名済みトランザクション](multi-signing.html)の署名を1つ提供します。 +`sign_for`コマンドは、[マルチシグトランザクション](multi-signing.html)の署名を1つ提供します。 {% include '_snippets/public-signing-note.md' %} diff --git a/content/references/http-websocket-apis/public-api-methods/account-methods/account_info.ja.md b/content/references/http-websocket-apis/public-api-methods/account-methods/account_info.ja.md index 60ddcdeadd..e8f4b80d1b 100644 --- a/content/references/http-websocket-apis/public-api-methods/account-methods/account_info.ja.md +++ b/content/references/http-websocket-apis/public-api-methods/account-methods/account_info.ja.md @@ -181,7 +181,7 @@ rippled account_info r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 true | `Field` | 型 | 説明 | |:-----------------------|:--------|:------------------------------------------| | `account_data` | オブジェクト | このアカウントの情報を含む[AccountRootレジャーオブジェクト](accountroot.html)がレジャーに保管されているとおりに表示されます。 | -| `signer_lists` | 配列 | (要求に`signer_lists`が指定されていて、少なくとも1つのSignerListがアカウントに関連する場合を除いて省略されます。)[マルチ署名](multi-signing.html)用にアカウントに関連付けられた[SignerListレジャーオブジェクト](signerlist.html)の配列。アカウントが所有できるSignerListは最大1つであるため、この配列のメンバーは存在するとすれば、1メンバーのみです。[新規: rippled 0.31.0][] | +| `signer_lists` | 配列 | (要求に`signer_lists`が指定されていて、少なくとも1つのSignerListがアカウントに関連する場合を除いて省略されます。)[マルチシグ](multi-signing.html)用にアカウントに関連付けられた[SignerListレジャーオブジェクト](signerlist.html)の配列。アカウントが所有できるSignerListは最大1つであるため、この配列のメンバーは存在するとすれば、1メンバーのみです。[新規: rippled 0.31.0][] | | `ledger_current_index` | 整数 | (`ledger_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていた最新のレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 | | `ledger_index` | 整数 | (`ledger_current_index`が代わりに指定されている場合は省略されます。)この情報を取得したときに使用されていたレジャーのシーケンス番号。この情報には、これより新しいレジャーの変更は一切含まれません。 | | `queue_data` | オブジェクト | (`queue`が`true`と指定され、現在開いているレジャーを問い合わせている場合を除いて省略されます。)このアカウントによって送信された[キューに入れられたトランザクション](transaction-cost.html#キューに入れられたトランザクション)についての情報。この情報にはローカル`rippled`サーバーの状態が示されますが、コンセンサスネットワーク内の他のサーバーとは異なる場合があります。示される値はキューイングメカニズムによって「大まかに」計算されるため、一部のフィールドは省略される場合があります。 | diff --git a/content/references/http-websocket-apis/public-api-methods/account-methods/account_objects.ja.md b/content/references/http-websocket-apis/public-api-methods/account-methods/account_objects.ja.md index d36e9c7497..e838496c3f 100644 --- a/content/references/http-websocket-apis/public-api-methods/account-methods/account_objects.ja.md +++ b/content/references/http-websocket-apis/public-api-methods/account-methods/account_objects.ja.md @@ -15,7 +15,7 @@ labels: - 現在処理中、資金化されていない、または有効期限切れで削除されていないオーダーの[Offerオブジェクト](offer.html)。(詳細は、[オファーのライフサイクル](offers.html#オファーのライフサイクル)を参照してください。) - このアカウント側がデフォルト状態にないトラストラインの[RippleStateオブジェクト](ripplestate.html)。 -- アカウントの[SignerList](signerlist.html)(アカウントで[マルチ署名](multi-signing.html)が有効な場合)。 +- アカウントの[SignerList](signerlist.html)(アカウントで[マルチシグ](multi-signing.html)が有効な場合)。 - 実行されていないかまたは取り消されていない保留中の支払いの[Escrowオブジェクト](escrow.html)。 - オープンPayment Channelの[PayChannelオブジェクト](paychannel.html)。 - 保留中のCheckの[Checkオブジェクト](check.html)。 diff --git a/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md b/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md index 3da21ad5cd..3922f620af 100644 --- a/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md +++ b/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md @@ -43,9 +43,9 @@ XRP Ledgerのアカウントとは、XRPの保有者と取引の送信者を意 トランザクションだけが、XRP Ledgerの共有されている状態を変更できます。XRP Ledgerに対するすべてのビジネスはトランザクションの形態をとります。以下のメソッドを使用して、トランザクションを処理します。 * **[`sign`](sign.html)** - トランザクションに暗号で署名します。 -* **[`sign_for`](sign_for.html)** - マルチ署名に署名を提供します。 +* **[`sign_for`](sign_for.html)** - マルチシグに署名を提供します。 * **[`submit`](submit.html)** - トランザクションをネットワークに送信します。 -* **[`submit_multisigned`](submit_multisigned.html)** - マルチ署名済みトランザクションをネットワークに送信します。 +* **[`submit_multisigned`](submit_multisigned.html)** - マルチシグトランザクションをネットワークに送信します。 * **[`transaction_entry`](transaction_entry.html)** - レジャーの特定のバージョンからトランザクションについての情報を取得します。 * **[`tx`](tx.html)** - 手元にあるすべてのレジャーからトランザクションについての情報を取得します。 * **[`tx_history`](tx_history.html)** - 最新の全トランザクションについての情報を取得します。 diff --git a/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit.ja.md b/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit.ja.md index 6fcc94a45f..72009d349c 100644 --- a/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit.ja.md +++ b/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit.ja.md @@ -24,7 +24,7 @@ labels: | `Field` | 型 | 説明 | |:------------|:--------|:-----------------------------------------------------| -| `tx_blob` | 文字列 | 送信する署名済みトランザクションの16進表現。[マルチ署名済みトランザクション](multi-signing.html)を送信することもできます。 | +| `tx_blob` | 文字列 | 送信する署名済みトランザクションの16進表現。[マルチシグトランザクション](multi-signing.html)を送信することもできます。 | | `fail_hard` | ブール値 | (省略可。デフォルトはfalse)trueにした場合は、トランザクションがローカルで失敗したときに再試行されず、他のサーバーにも中継されません。 | ### 要求フォーマット @@ -68,7 +68,7 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534 ## 署名と送信モード -このモードでは、トランザクションに署名してただちに送信します。このモードは、テストで使用することを目的としています。[マルチ署名済みトランザクション](multi-signing.html)には使用できません。 +このモードでは、トランザクションに署名してただちに送信します。このモードは、テストで使用することを目的としています。[マルチシグトランザクション](multi-signing.html)には使用できません。 _デフォルトでは、署名と送信モードは[管理者専用](admin-api-methods.html)です。_ サーバーで[パブリック署名が有効になっている](enable-public-signing.html)場合は、パブリックメソッドとして使用できます。 diff --git a/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.ja.md b/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.ja.md index 44f97667e2..49b6dfaae4 100644 --- a/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.ja.md +++ b/content/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.ja.md @@ -1,14 +1,14 @@ --- html: submit_multisigned.html parent: transaction-methods.html -blurb: マルチ署名済みトランザクションを適用し、このトランザクションをネットワークに送信します。 +blurb: マルチシグトランザクションを適用し、このトランザクションをネットワークに送信します。 labels: - トランザクション送信 --- # submit_multisigned [[ソース]](https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/SubmitMultiSigned.cpp "Source") -`submit_multisigned`コマンドは[マルチ署名済み](multi-signing.html)トランザクションを適用し、このトランザクションをネットワークに送信して、今後のレジャーに追加します。([`submit`コマンドを送信専用モードで](submit.html#送信専用モード)使用して、マルチ署名済みトランザクションをバイナリー形式で送信することもできます。) +`submit_multisigned`コマンドは[マルチシグ](multi-signing.html)トランザクションを適用し、このトランザクションをネットワークに送信して、今後のレジャーに追加します。([`submit`コマンドを送信専用モードで](submit.html#送信専用モード)使用して、マルチシグトランザクションをバイナリー形式で送信することもできます。) このコマンドを使用するには、[MultiSign Amendment][]が有効になっている必要があります。[新規: rippled 0.31.0][] diff --git a/content/references/protocol-reference/data-types/basic-data-types.ja.md b/content/references/protocol-reference/data-types/basic-data-types.ja.md index 64106d1f5b..bf90e5c473 100644 --- a/content/references/protocol-reference/data-types/basic-data-types.ja.md +++ b/content/references/protocol-reference/data-types/basic-data-types.ja.md @@ -44,7 +44,7 @@ blurb: さまざまなタイプのオブジェクトがそれぞれ異なる方 | 署名済みのトランザクション | トランザクションの`hash` | `0x54584E00` | `TXN\0` | | メタデータを持つトランザクション | なし | `0x534E4400` | `SND\0` | | 未署名のトランザクション(シングル署名) | なし | `0x53545800` | `STX\0` | -| 未署名のトランザクション(マルチ署名) | なし | `0x534D5400` | `SMT\0` | +| 未署名のトランザクション(マルチシグ) | なし | `0x534D5400` | `SMT\0` | | 検証の投票 | なし | `0x56414C00` | `VAL\0` | | バリデータサブキー認証(「バリデータマニフェスト」) | なし | `0x4D414E00` | `MAN\0` | diff --git a/content/references/protocol-reference/ledger-data/ledger-object-types/signerlist.ja.md b/content/references/protocol-reference/ledger-data/ledger-object-types/signerlist.ja.md index c8b405ece9..c1a828dcdf 100644 --- a/content/references/protocol-reference/ledger-data/ledger-object-types/signerlist.ja.md +++ b/content/references/protocol-reference/ledger-data/ledger-object-types/signerlist.ja.md @@ -1,7 +1,7 @@ --- html: signerlist.html parent: ledger-object-types.html -blurb: マルチ署名トランザクションのアドレスのリストです。 +blurb: マルチシグトランザクションのアドレスのリストです。 labels: - セキュリティ --- @@ -71,11 +71,11 @@ _([MultiSign Amendment][]が必要です。)_ | 名前 | JSONの型 | 内部の型 | 説明 | |:---------------|:----------|:--------------|:--------------------------------| -| `Account` | 文字列 | AccountID | 署名がマルチ署名に提供されるXRP Ledgerアドレス。レジャーの資金供給のあるアドレスである必要はありません。 | -| `SignerWeight` | 数値 | UInt16 | この署名者による署名の重み。マルチ署名は、付与された署名の重みの合計がSignerListの`SignerQuorum`値を超えている場合にのみ有効となります。 | -| `WalletLocator` | 文字列 | Hash256 | (省略可)Arbitrary hexadecimal data. This can be used to identify the signer or for other, related purposes. Added by the [ExpandedSignerList amendment][]. | +| `Account` | 文字列 | AccountID | 署名がマルチシグに提供されるXRP Ledgerアドレス。レジャーの資金供給のあるアドレスである必要はありません。 | +| `SignerWeight` | 数値 | UInt16 | この署名者による署名の重み。マルチシグは、付与された署名の重みの合計がSignerListの`SignerQuorum`値を超えている場合にのみ有効となります。 | +| `WalletLocator` | 文字列 | Hash256 | (省略可)任意の16進数データ。これは署名者を識別するため、または他の関連する目的のために使用することができます。[ExpandedSignerList amendment][]によって追加されました。 | -マルチ署名済みトランザクションを処理する際に、サーバーはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.html)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチ署名を別のマルチ署名の一部として使用することはできません。 +マルチシグトランザクションを処理する際に、サーバーはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.html)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチシグを別のマルチシグの一部として使用することはできません。 ## {{currentpage.name}}のフラグ diff --git a/content/references/protocol-reference/serialization.ja.md b/content/references/protocol-reference/serialization.ja.md index 085d90eb23..49ab2b8e80 100644 --- a/content/references/protocol-reference/serialization.ja.md +++ b/content/references/protocol-reference/serialization.ja.md @@ -34,7 +34,7 @@ curated_anchors: 5. フィールド(プレフィクスを含む)をソート順に連結します。 -その結果、ECDSA(secp256k1楕円曲線を使用)やEd25519などの既知の署名アルゴリズムを使用して署名できるバイナリブロブが1つ作成されます。XRP Ledgerのために、適切なプレフィクス(シングル署名の場合は`0x53545800`、マルチ署名の場合は`0x534D5400`)を使用してデータを[ハッシュ化][ハッシュ]する必要があります。署名後に、指定されている`TxnSignature`フィールドを使用してトランザクションを再度シリアル化する必要があります。 +その結果、ECDSA(secp256k1楕円曲線を使用)やEd25519などの既知の署名アルゴリズムを使用して署名できるバイナリブロブが1つ作成されます。XRP Ledgerのために、適切なプレフィクス(シングル署名の場合は`0x53545800`、マルシグの場合は`0x534D5400`)を使用してデータを[ハッシュ化][ハッシュ]する必要があります。署名後に、指定されている`TxnSignature`フィールドを使用してトランザクションを再度シリアル化する必要があります。 **注記:** XRP Ledgerでは、[レジャーオブジェクト](ledger-object-types.html)や処理済みのトランザクションなど他のタイプのデータを表す場合にも同じシリアル化フォーマットが使用されます。ただし、署名されるトランザクションに追加するのに適切なフィールドは限られています。(たとえば署名自体が指定されている`TxnSignature`フィールドは、署名するバイナリブロブに含まれていてはなりません。)このように、「署名」フィールドとされてオブジェクトに署名するときにオブジェクトに含まれるフィールドもあれば、「非署名」とされてオブジェクトに含まれないフィールドもあります。 @@ -183,7 +183,7 @@ curated_anchors: | [Hash160][] | 17 | 160 | いいえ | 160ビットの任意のバイナリ値。これにより通貨コードまたはイシュアーが定義されます。 | | [Hash256][] | 5 | 256 | いいえ | 256ビットの任意のバイナリ値。これは通常、トランザクション、レジャーバージョン、またはレジャーデータオブジェクトの「SHA-512ハーフ」ハッシュを表します。 | | [PathSet][] | 18 | 可変 | いいえ | [複数通貨間ペイメント](cross-currency-payments.html)の有効な[ペイメントパス](paths.html)のセット。 | -| [STArray][] | 15 | 可変 | いいえ | 可変数のメンバーからなる配列。フィールドによってタイプが異なる場合があります。この例として、[memos](transaction-common-fields.html#memosフィールド)や[マルチ署名](multi-signing.html)で使用される署名者のリストがあります。 | +| [STArray][] | 15 | 可変 | いいえ | 可変数のメンバーからなる配列。フィールドによってタイプが異なる場合があります。この例として、[memos](transaction-common-fields.html#memosフィールド)や[マルチシグ](multi-signing.html)で使用される署名者のリストがあります。 | | [STIssue][] | 24 | 320 | いいえ | :not_enabled: An asset definition, XRP or a token, with no quantity. | | [STObject][] | 14 | 可変 | いいえ | 1つ以上のネストされたフィールドを含むオブジェクト。 | | [UInt8][] | 16 | 8 | いいえ | 8ビットの符号なし整数。 | diff --git a/content/references/protocol-reference/transactions/transaction-common-fields.ja.md b/content/references/protocol-reference/transactions/transaction-common-fields.ja.md index 3e053cffd2..45a388b6ca 100644 --- a/content/references/protocol-reference/transactions/transaction-common-fields.ja.md +++ b/content/references/protocol-reference/transactions/transaction-common-fields.ja.md @@ -19,9 +19,9 @@ labels: | [Flags][] | 符号なし整数 | UInt32 | _(省略可)_ このトランザクションのビットフラグのセット。 | | LastLedgerSequence | 数値 | UInt32 | _(省略可。使用を強く推奨)_ このトランザクションを登録できるレジャーインデックスの最大値。このフィールドを指定することにより、トランザクションが検証または拒否されるのを待たなければならない期間の上限を設定することができます。詳細は、[信頼できるトランザクションの送信](reliable-transaction-submission.html)を参照してください。 | | [Memos][] | オブジェクトの配列 | 配列 | _(省略可)_ このトランザクションの識別に使用される任意の追加情報。 | -| [Signers][] | 配列 | 配列 | _(省略可)_ このトランザクションを承認するための[マルチ署名](multi-signing.html)を表すオブジェクトの配列。 | +| [Signers][] | 配列 | 配列 | _(省略可)_ このトランザクションを承認するための[マルチシグ](multi-signing.html)を表すオブジェクトの配列。 | | SourceTag | 符号なし整数 | UInt32 | _(省略可)_ この支払いの理由、またはこのトランザクションの実行元である送信者を識別するために使用される任意の整数。一般的に、返金については、最初の支払いの`SourceTag`を返金の`DestinationTag`として指定する必要があります。 | -| SigningPubKey | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションへの署名に使用される秘密鍵に対応する公開鍵の16進表現。空文字列の場合は、代わりに`Signers`フィールドにマルチ署名が保持されていることを示します。 | +| SigningPubKey | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションへの署名に使用される秘密鍵に対応する公開鍵の16進表現。空文字列の場合は、代わりに`Signers`フィールドにマルチシグが保持されていることを示します。 | | TxnSignature | 文字列 | Blob | _(署名時に自動追加)_ このトランザクションが、発信元であると主張しているアカウントから発信されたものであることを検証するための署名。 | [自動入力可能]: #自動入力可能なフィールド @@ -75,7 +75,7 @@ AccountTxnIDを使用するには、アカウントの1つ前のトランザク |:--------------------|:-----------|:--------------|:--------------------------| | tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 | -[signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチ署名済みトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 +[signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチシグトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 **警告:** `tfFullyCanonicalSig`を有効にしない場合は、不正使用者がトランザクションの署名を改変して、期待されるものとは別のハッシュを使用してトランザクションを成功させることが理論上可能になります。最悪の場合、同一の支払を何回も送信するようシステムに仕掛けられるおそれがあります。この問題を回避するには、署名するすべてのトランザクションで`tfFullyCanonicalSig`フラグを有効にします。 @@ -128,7 +128,7 @@ MemoTypeフィールドとMemoFormatフィールドには、以下の文字の ## Signersフィールド -`Signers`フィールドには、最大8つのキーペアから取得された署名を保持し、トランザクションを承認するための[マルチ署名](multi-signing.html)が含まれています。`Signers`リストはオブジェクトの配列であり、各オブジェクトが1つの`Signer`フィールドを保持しています。`Signer`フィールドには、以下の入れ子フィールドがあります。 +`Signers`フィールドには、最大8つのキーペアから取得された署名を保持し、トランザクションを承認するための[マルチシグ](multi-signing.html)が含まれています。`Signers`リストはオブジェクトの配列であり、各オブジェクトが1つの`Signer`フィールドを保持しています。`Signer`フィールドには、以下の入れ子フィールドがあります。 | フィールド | 型 | [内部の型][] | 説明 | |:--------------|:-------|:------------------|:--------------------------------| @@ -138,7 +138,7 @@ MemoTypeフィールドとMemoFormatフィールドには、以下の文字の `SigningPubKey`は、`Account`アドレスに関連付けられているキーでなければなりません。参照されている`Account`が、レジャーにあり資金供給済みアカウントである場合、SigningPubKeyには、そのアカウントの現在のレギュラーキー(設定されている場合)を指定できます。また、[lsfDisableMaster](accountroot.html#accountrootのフラグ)フラグが有効になっている場合を除き、そのアカウントのマスターキーを指定することもできます。参照されている`Account`アドレスが、レジャーの資金供給済みのアカウントではない場合、`SigningPubKey`は、そのアドレスに関連付けられているマスターキーでなければなりません。 -署名の検証は大量の演算能力を消費するタスクであるため、マルチ署名済みトランザクションをネットワークに中継するには、追加のXRPがコストとしてかかります。マルチ署名に含まれている署名ごとに、トランザクションに必要な[トランザクションコスト][]が増加します。例えば、トランザクションをネットワークに中継するための現在の最小トランザクションコストが`10000`dropである場合、`Signers`配列に3つのエントリーが含まれているマルチ署名済みトランザクションを中継するには、`Fee`の値を少なくとも`40000`dropにする必要があります。 +署名の検証は大量の演算能力を消費するタスクであるため、マルチシグトランザクションをネットワークに中継するには、追加のXRPがコストとしてかかります。マルチシグに含まれている署名ごとに、トランザクションに必要な[トランザクションコスト][]が増加します。例えば、トランザクションをネットワークに中継するための現在の最小トランザクションコストが`10000`dropである場合、`Signers`配列に3つのエントリーが含まれているマルチシグトランザクションを中継するには、`Fee`の値を少なくとも`40000`dropにする必要があります。 diff --git a/content/references/protocol-reference/transactions/transaction-results/tec-codes.ja.md b/content/references/protocol-reference/transactions/transaction-results/tec-codes.ja.md index 01bcf456cb..543a046d7e 100644 --- a/content/references/protocol-reference/transactions/transaction-results/tec-codes.ja.md +++ b/content/references/protocol-reference/transactions/transaction-results/tec-codes.ja.md @@ -42,7 +42,7 @@ labels: | `tecNO_LINE_INSUF_RESERVE` | 126 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](reserves.html)を参照)このエラーは、取引相手がこのアカウントに対する同一通貨のトラストラインを持っていない場合に発生します。(その他のケースについては`tecINSUF_RESERVE_LINE`を参照してください。) | | `tecNO_LINE_REDUNDANT` | 127 | トランザクションはトラストラインをデフォルト状態に設定しようと試みましたが、トラストラインが存在していなかったため、失敗しました。 | | `tecNO_PERMISSION` | 139 | 送信者にはこの操作を実行する権限がありません。たとえば[EscrowFinishトランザクション][]が`FinishAfter`時刻に達する前に保留中の支払をリリースしようとしたか、送信者が所有していないChannelで誰かが[PaymentChannelFund][]を使用しようとしたか、または[Payment][]が「DepositAuth」フラグが有効になっているアカウントに資金の送金を試みました。 | -| `tecNO_REGULAR_KEY` | 131 | [AccountSetトランザクション][]がマスターキーを無効にしようとしましたが、アカウントにはマスターキー以外で[トランザクションを承認する](transaction-basics.html#トランザクションの承認)方法がありません。[マルチ署名](multi-signing.html)が有効な場合、このコードは廃止予定であり、代わりに`tecNO_ALTERNATIVE_KEY`が使用されます。 | +| `tecNO_REGULAR_KEY` | 131 | [AccountSetトランザクション][]がマスターキーを無効にしようとしましたが、アカウントにはマスターキー以外で[トランザクションを承認する](transaction-basics.html#トランザクションの承認)方法がありません。[マルチシグ](multi-signing.html)が有効な場合、このコードは廃止予定であり、代わりに`tecNO_ALTERNATIVE_KEY`が使用されます。 | | `tecNO_TARGET` | 138 | トランザクションが参照するEscrowレジャーオブジェクトまたはPayChannelレジャーオブジェクトが存在していません。これらのオブジェクトは、これまでに存在したことがないか、すでに削除されています。(たとえば、別の[EscrowFinishトランザクション][]で保留中の支払がすでに実行されている場合などです。)あるいは、支払先アカウントで`asfDisallowXRP`が設定されているため、このアカウントは[PaymentChannelCreate][]トランザクションまたは[EscrowCreate][]トランザクションの宛先に指定できません。 | | `tecOVERSIZE` | 145 | サーバーがこのトランザクションの適用時に大量のメタデータを作成したため、このトランザクションを処理できませんでした。[新規: rippled 0.29.0-hf1][] | | `tecOWNERS` | 132 | トランザクションでは、トランザクションを送信するアカウントの「所有者カウント」はゼロ以外である必要があります。このためトランザクションを正常に完了できません。たとえば、トラストラインや使用可能なオファーがあるアカウントでは、[`lsfRequireAuth`](accountset.html#accountsetのフラグ)フラグを有効にできません。 | diff --git a/content/references/protocol-reference/transactions/transaction-results/tef-codes.ja.md b/content/references/protocol-reference/transactions/transaction-results/tef-codes.ja.md index 2a673d5939..067a4f6b50 100644 --- a/content/references/protocol-reference/transactions/transaction-results/tef-codes.ja.md +++ b/content/references/protocol-reference/transactions/transaction-results/tef-codes.ja.md @@ -18,8 +18,8 @@ labels: | `tefBAD_AUTH` | このアカウントの署名に使用したキーには、このアカウントを変更する権限がありません。(このアカウントが[レギュラーキー](cryptographic-keys.html)として同じキーセットを持っている場合は変更が承認される可能性があります。) | | `tefBAD_AUTH_MASTER` | このトランザクションを承認するために指定された1つの署名がマスターキーと一致していませんが、このアドレスに関連付けられているレギュラーキーもありません。 | | `tefBAD_LEDGER` | トランザクションの処理中に、レジャーが予期しない状態にあることが検出されました。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 | -| `tefBAD_QUORUM` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、そこに含まれるすべての署名の重みの合計が定数を満たしていません。 | -| `tefBAD_SIGNATURE` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、送信側アカウントに関連付けられているSignerListにないアドレスの署名が含まれていました。 | +| `tefBAD_QUORUM` | トランザクションは[マルチシグ](multi-signing.html)トランザクションでしたが、そこに含まれるすべての署名の重みの合計が定数を満たしていません。 | +| `tefBAD_SIGNATURE` | トランザクションは[マルチシグ](multi-signing.html)トランザクションでしたが、送信側アカウントに関連付けられているSignerListにないアドレスの署名が含まれていました。 | | `tefCREATED` | **廃止予定。** | | `tefEXCEPTION` | トランザクションの処理中に、サーバーが予期しない状態になりました。この状態は、予期しない入力(トランザクションのバイナリーデータの形式が大幅に誤っている場合など)が原因となった可能性があります。このエラーを再現できる場合は、修正のため[問題を報告](https://github.com/ripple/rippled/issues)してください。 | | `tefFAILURE` | トランザクション適用中の不明な障害。 | @@ -28,7 +28,7 @@ labels: | `tefMASTER_DISABLED` | トランザクションはアカウントのマスターキーで署名されていましたが、アカウントに`lsfDisableMaster`フィールドが設定されていました。 | | `tefMAX_LEDGER` | トランザクションには[`LastLedgerSequence`](reliable-transaction-submission.html#lastledgersequence)パラメーターが指定されていましたが、現在のレジャーのシーケンス番号はすでに指定値を上回っています。 | | `tefNO_AUTH_REQUIRED` | [TrustSetトランザクション][]がトラストラインを承認済みとしてマークしようとしましたが、対応するアカウントに対して`lsfRequireAuth`フラグが有効になっていないため、承認は不要です。 | -| `tefNOT_MULTI_SIGNING` | トランザクションは[マルチ署名済み](multi-signing.html)トランザクションでしたが、送信側アカウントでSignerListが定義されていません。 | +| `tefNOT_MULTI_SIGNING` | トランザクションは[マルチシグ](multi-signing.html)トランザクションでしたが、送信側アカウントでSignerListが定義されていません。 | | `tefPAST_SEQ` | トランザクションのシーケンス番号は、トランザクションの送信元アカウントの現在のシーケンス番号よりも小さい番号です。 | | `tefTOO_BIG` | レジャー内にある、トランザクションの影響を受けるオブジェクトが多過ぎます。例えば、これは[AccountDeleteトランザクション][]でしたが、削除されるアカウントのレジャーには1,000個を超えるオブジェクトがあります。 | | `tefWRONG_PRIOR` | トランザクションに`AccountTxnID`フィールド(または廃止予定の`PreviousTxnID`フィールド)が含まれていますが、このフィールドに指定されているトランザクションはアカウントの前のトランザクションに一致しません。 | diff --git a/content/references/protocol-reference/transactions/transaction-types/accountset.ja.md b/content/references/protocol-reference/transactions/transaction-types/accountset.ja.md index 603cf6a926..0b6751bd79 100644 --- a/content/references/protocol-reference/transactions/transaction-types/accountset.ja.md +++ b/content/references/protocol-reference/transactions/transaction-types/accountset.ja.md @@ -87,7 +87,7 @@ AccountSetトランザクションは、[XRP Ledgerのアカウント](accountro | asfRequireAuth | 2 | lsfRequireAuth | このアドレスによって発行された残高をユーザーが保持することについて、承認を要求します。アドレスにトラストラインが接続されていない場合のみ有効にできます。 | | asfRequireDest | 1 | lsfRequireDestTag | トランザクションをこのアカウントに送信するための宛先タグを要求します。 | -`asfDisableMaster`フラグまたは`asfNoFreeze`フラグを有効にするには、マスターキーペアで署名することによって[トランザクションを承認](transaction-basics.html#トランザクションの承認)する必要があります。レギュラーキーペアやマルチ署名を使用することはできません。レギュラーキーペアまたはマルチ署名を使用すると、`asfDisableMaster`を無効にする(つまり、マスターキーペアを再び有効にする)ことができます。[新規: rippled 0.28.0][] +`asfDisableMaster`フラグまたは`asfNoFreeze`フラグを有効にするには、マスターキーペアで署名することによって[トランザクションを承認](transaction-basics.html#トランザクションの承認)する必要があります。レギュラーキーペアやマルチシグを使用することはできません。レギュラーキーペアまたはマルチシグを使用すると、`asfDisableMaster`を無効にする(つまり、マスターキーペアを再び有効にする)ことができます。[新規: rippled 0.28.0][] 以下の[トランザクションフラグ](transaction-common-fields.html#flagsフィールド)はAccountSetタイプのトランザクションに固有のもので、同様の目的を果たしますが、使用することはお勧めしません。 diff --git a/content/references/protocol-reference/transactions/transaction-types/setregularkey.ja.md b/content/references/protocol-reference/transactions/transaction-types/setregularkey.ja.md index 1822f3087a..00ff537ba5 100644 --- a/content/references/protocol-reference/transactions/transaction-types/setregularkey.ja.md +++ b/content/references/protocol-reference/transactions/transaction-types/setregularkey.ja.md @@ -38,7 +38,7 @@ labels: アカウントへのレギュラーキーペアの割り当てについてのチュートリアルは、[レギュラーキーペアの操作](assign-a-regular-key-pair.html)を参照してください。 -セキュリティを強化するために[マルチ署名](multi-signing.html)を使用できますが、マルチ署名を使用する場合には[トランザクションコスト][]および[準備金](reserves.html)に追加のXRPが必要となります。 +セキュリティを強化するために[マルチシグ](multi-signing.html)を使用できますが、マルチシグを使用する場合には[トランザクションコスト][]および[準備金](reserves.html)に追加のXRPが必要となります。 {% include '_snippets/rippled-api-links.md' %} diff --git a/content/references/protocol-reference/transactions/transaction-types/signerlistset.ja.md b/content/references/protocol-reference/transactions/transaction-types/signerlistset.ja.md index c131bb25b4..b1db25a8ea 100644 --- a/content/references/protocol-reference/transactions/transaction-types/signerlistset.ja.md +++ b/content/references/protocol-reference/transactions/transaction-types/signerlistset.ja.md @@ -1,14 +1,14 @@ --- html: signerlistset.html parent: transaction-types.html -blurb: トランザクションのマルチ署名に使用できる署名者のリストを作成、置換、削除します。 +blurb: トランザクションのマルチシグに使用できる署名者のリストを作成、置換、削除します。 labels: - セキュリティ --- # SignerListSet [[ソース]](https://github.com/ripple/rippled/blob/ef511282709a6a0721b504c6b7703f9de3eecf38/src/ripple/app/tx/impl/SetSignerList.cpp "Source") -SignerListSetトランザクションは、トランザクションの[マルチ署名](multi-signing.html)に使用できる署名者のリストを作成、置換、削除します。このトランザクションタイプは[MultiSign Amendment][]により導入されました。[新規: rippled 0.31.0][] +SignerListSetトランザクションは、トランザクションの[マルチシグ](multi-signing.html)に使用できる署名者のリストを作成、置換、削除します。このトランザクションタイプは[MultiSign Amendment][]により導入されました。[新規: rippled 0.31.0][] ## {{currentpage.name}}のJSONの例 @@ -47,7 +47,7 @@ SignerListSetトランザクションは、トランザクションの[マルチ | フィールド | JSONの型 | [内部の型][] | 説明 | |:--------------|:----------|:------------------|:-----------------------------| -| SignerQuorum | 数値 | UInt32 | 署名者の重みのターゲット数。このリストの署名者によるマルチ署名は、付与された署名の重みの合計がこの値以上である場合に限り有効となります。SignerListを削除するには、`0`の値を使用します。 | +| SignerQuorum | 数値 | UInt32 | 署名者の重みのターゲット数。このリストの署名者によるマルチシグは、付与された署名の重みの合計がこの値以上である場合に限り有効となります。SignerListを削除するには、`0`の値を使用します。 | | SignerEntries | 配列 | 配列 | (削除する場合は省略)このリストの署名者のアドレスと重みを示す[SignerEntryオブジェクト](signerlist.html#signerentryオブジェクト)の配列。SignerListには1~32人のメンバーが含まれている必要があります。リストに1つのアドレスが複数回表示されることはありません。また、トランザクションを送信する`Account`も表示されません。 | アカウントは複数のSignerListを所有できません。既存のSignerListが存在する場合は、SignerListSetトランザクションが成功するとその既存のSignerListが置き換えられます。SignerListを削除するには、`SignerQuorum`を`0`に設定し、_かつ_`SignerEntries`フィールドを省略します。このようにしないと、トランザクションは[temMALFORMED](tem-codes.html)エラーで失敗します。SignerListを削除するトランザクションは、削除するSignerListがない場合でも成功したとみなされます。 diff --git a/content/tutorials/manage-account-settings/assign-a-regular-key-pair.ja.md b/content/tutorials/manage-account-settings/assign-a-regular-key-pair.ja.md index d36ce15a13..ddae3642f0 100644 --- a/content/tutorials/manage-account-settings/assign-a-regular-key-pair.ja.md +++ b/content/tutorials/manage-account-settings/assign-a-regular-key-pair.ja.md @@ -673,7 +673,7 @@ rippled submit 1200032280000000240000000468400000000000000A73210330E7FC9D56BB25D これで、レギュラーキーペアをアカウントに割り当てるメリットについて理解しました。次に以下の関連トピックとチュートリアルを参照してください。 - [レギュラーキーペアの変更または削除](change-or-remove-a-regular-key-pair.html) -- [マルチ署名の設定](set-up-multi-signing.html) +- [マルチシグの設定](set-up-multi-signing.html) - [発行アドレスと運用アドレス](issuing-and-operational-addresses.html) - [取引所としてのXRPの上場](list-xrp-as-an-exchange.html) diff --git a/content/tutorials/manage-account-settings/disable-master-key-pair.ja.md b/content/tutorials/manage-account-settings/disable-master-key-pair.ja.md index 1cc7d28b84..0950219fd4 100644 --- a/content/tutorials/manage-account-settings/disable-master-key-pair.ja.md +++ b/content/tutorials/manage-account-settings/disable-master-key-pair.ja.md @@ -8,7 +8,7 @@ labels: --- # マスターキーペアの無効化 -このページでは、[アカウント](accounts.html)のアドレスに数学的に関連付けられた[マスターキーペア](cryptographic-keys.html)を無効化する方法について説明します。あなたのアカウントのマスターキーペアが漏洩した可能性がある場合、または[マルチ署名](multi-signing.html)をあなたのアカウントからトランザクションを送信する _唯一_ の方法としたい場合、これを行う必要があります。 +このページでは、[アカウント](accounts.html)のアドレスに数学的に関連付けられた[マスターキーペア](cryptographic-keys.html)を無効化する方法について説明します。あなたのアカウントのマスターキーペアが漏洩した可能性がある場合、または[マルチシグ](multi-signing.html)をあなたのアカウントからトランザクションを送信する _唯一_ の方法としたい場合、これを行う必要があります。 **注意:** マスターキーペアを無効にすると、[トランザクションの承認](transaction-basics.html#トランザクションの承認)の方法の1つが削除されます。マスターキーペアを無効にする前に、レギュラーキーやマルチ・サインなど、他のトランザクションの承認方法のいずれかを使用できることを確認する必要があります。(例えば、[レギュラーキーペアを割り当てた場合](assign-a-regular-key-pair.html)は、そのレギュラーキーで正常にトランザクションを送信できることを確認してください)。XRP Ledgerは分散型であるため、残りの取引承認方法を使用できない場合、誰もあなたのアカウントへのアクセスを回復することができません。 @@ -24,7 +24,7 @@ labels: - あるいは、シード値を知る必要がなく、安全に保存する[専用の署名デバイス](set-up-secure-signing.html#専用の署名デバイスを使用する) を使用します - あなたのアカウントには、マスターキーペア以外のトランザクションを認証する方法が少なくとも1つ必要です。つまり、以下のいずれか、または両方を行う必要があります。 - [レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html). - - [マルチ署名の設定](set-up-multi-signing.html). + - [マルチシグの設定](set-up-multi-signing.html). ## 手順 @@ -305,7 +305,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" -トランザクションが `tecNO_ALTERNATIVE_KEY` という結果で失敗した場合、あなたのアカウントでは現在トランザクションを認証するための別の方法が有効になっていません。[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html) か [マルチ署名を設定](set-up-multi-signing.html) した後、再度マスターキーペアの無効化を試してみてください。 +トランザクションが `tecNO_ALTERNATIVE_KEY` という結果で失敗した場合、あなたのアカウントでは現在トランザクションを認証するための別の方法が有効になっていません。[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html)か [マルチシグを設定](set-up-multi-signing.html) した後、再度マスターキーペアの無効化を試してみてください。 ### {{n.next()}}. 検証の待機 diff --git a/content/tutorials/manage-account-settings/offline-account-setup.ja.md b/content/tutorials/manage-account-settings/offline-account-setup.ja.md index 7fdcbee10f..98f84940b4 100644 --- a/content/tutorials/manage-account-settings/offline-account-setup.ja.md +++ b/content/tutorials/manage-account-settings/offline-account-setup.ja.md @@ -143,7 +143,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" - 定期的なローテーションで使用できる[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.html)。 - ユーザーが送金理由や送金相手をタグ付けせずに送金できないようにするために、[宛先タグを要求する](require-destination-tags.html)。 -- アカウントセキュリティを強化するために、[マルチ署名を設定する](set-up-multi-signing.html)。 +- アカウントセキュリティを強化するために、[マルチシグを設定する](set-up-multi-signing.html)。 - 明示的に承認した送金、または事前に承認した相手からの送金のみを受け取れるようにするために、[DepositAuthを有効にする](depositauth.html)。 - ユーザーがあなたの許可なくあなたへの[トラストライン](trust-lines-and-issuing.html)を開けないようにするために、[RequireAuthを有効にする](authorized-trust-lines.html#requireauthの有効化)。XRP Ledgerの分散型取引所や発行済み通貨機能を使用する予定がない場合は、これを対策として行うことをお勧めします。 - 発行済み通貨[ゲートウェイ](become-an-xrp-ledger-gateway.html)には次のような追加の設定がある場合があります。 @@ -332,7 +332,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" - **チュートリアル:** - [安全な署名の設定](set-up-secure-signing.html) - [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html) - - [マルチ署名の設定](set-up-multi-signing.html) + - [マルチシグの設定](set-up-multi-signing.html) - **リファレンス:** - [基本的なデータタイプ: ](basic-data-types.html#アカウントシーケンス)[ ](basic-data-types.html#アカウントシーケンス)[アカウントシーケンス](basic-data-types.html#アカウントシーケンス) - [account_infoメソッド][] diff --git a/content/tutorials/manage-account-settings/send-a-multi-signed-transaction.ja.md b/content/tutorials/manage-account-settings/send-a-multi-signed-transaction.ja.md index 6ef183c1bf..681e466311 100644 --- a/content/tutorials/manage-account-settings/send-a-multi-signed-transaction.ja.md +++ b/content/tutorials/manage-account-settings/send-a-multi-signed-transaction.ja.md @@ -1,28 +1,28 @@ --- html: send-a-multi-signed-transaction.html parent: manage-account-settings.html -blurb: マルチ署名済みトランザクションを作成、署名、送信する。 +blurb: マルチシグトランザクションを作成、署名、送信する。 labels: - セキュリティ --- -# マルチ署名済みトランザクションの送信 +# マルチシグトランザクションの送信 -マルチ署名済みトランザクションを作成、署名、送信する方法を以下で説明します。 +マルチシグトランザクションを作成、署名、送信する方法を以下で説明します。 ## 前提条件 -- 事前にアドレスの[マルチ署名の設定](set-up-multi-signing.html)をする必要があります。 +- 事前にアドレスの[マルチシグの設定](set-up-multi-signing.html)をする必要があります。 -- マルチ署名は使用可能である必要があります。マルチ署名は、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](amendments.html)により2016/06/27以降利用可能になりました。 +- マルチシグは使用可能である必要があります。マルチシグは、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](amendments.html)により2016/06/27以降利用可能になりました。 ## 1.トランザクションの作成 -送信するトランザクションを表すJSONオブジェクトを作成します。`Fee`や`Sequence`をはじめ、このトランザクションに関する _すべての_ 情報を指定する必要があります。また、トランザクションがマルチ署名済みトランザクションであることを示すため、`SigningPubKey`を空の文字列として指定します。 +送信するトランザクションを表すJSONオブジェクトを作成します。`Fee`や`Sequence`をはじめ、このトランザクションに関する _すべての_ 情報を指定する必要があります。また、トランザクションがマルチシグトランザクションであることを示すため、`SigningPubKey`を空の文字列として指定します。 -マルチ署名済みトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](transaction-cost.html)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](transaction-cost.html)の増加に備えて現行の最小値よりも大きな値を指定できます。 +マルチシグトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](transaction-cost.html)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](transaction-cost.html)の増加に備えて現行の最小値よりも大きな値を指定できます。 -マルチ署名が可能なトランザクションの例を以下に示します。 +マルチシグが可能なトランザクションの例を以下に示します。 { "TransactionType":"TrustSet", @@ -95,7 +95,7 @@ SlignerListのメンバーの1人のシークレットキーとアドレスを 応答の`tx_json`フィールドを保存します。このフィールドの`Signers`フィールドに新しい署名が入力されています。`tx_blob`フィールドの値は無視できます。 -スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチ署名が有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。 +スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。 ## 3.追加の署名の取得 diff --git a/content/tutorials/manage-account-settings/set-up-multi-signing.ja.md b/content/tutorials/manage-account-settings/set-up-multi-signing.ja.md index 24ea7b46e8..3c5bab38b0 100644 --- a/content/tutorials/manage-account-settings/set-up-multi-signing.ja.md +++ b/content/tutorials/manage-account-settings/set-up-multi-signing.ja.md @@ -1,30 +1,30 @@ --- html: set-up-multi-signing.html parent: manage-account-settings.html -blurb: アカウントに署名者リストを追加して、マルチ署名を有効にします。 +blurb: アカウントに署名者リストを追加して、マルチシグを有効にします。 labels: - セキュリティ --- -# マルチ署名の設定 +# マルチシグの設定 -[マルチ署名](multi-signing.html)は、XRP Ledgerの[トランザクション](transaction-basics.html)を承認する3種類の方法の1つです。マルチ署名の他に[レギュラーキーとマスターキー](cryptographic-keys.html)で署名する方法があります。3種類のトランザクション承認方法を自由に組み合わせて使用できるように[アドレス](accounts.html)を設定できます。 +[マルチシグ](multi-signing.html)は、XRP Ledgerの[トランザクション](transaction-basics.html)を承認する3種類の方法の1つです。マルチシグの他に[レギュラーキーとマスターキー](cryptographic-keys.html)で署名する方法があります。3種類のトランザクション承認方法を自由に組み合わせて使用できるように[アドレス](accounts.html)を設定できます。 -このチュートリアルでは、アドレスのマルチ署名を有効にする方法を説明します。 +このチュートリアルでは、アドレスのマルチシグを有効にする方法を説明します。 ## 前提条件 - トランザクションを送信するための十分なXRPが供給されていて、新しい署名者リストの[必要準備金](reserves.html)を満たしている資金供給のあるXRP Ledger[アドレス](accounts.html)が必要です。 - - [MultiSignReserve Amendment][]が有効な場合、マルチ署名を使用するには、使用する署名と署名者の数に関わらず、アカウントの準備金として2 XRPが必要です。(MultiSignReserve Amendmentは**2019年4月7日**以降、本番環境のXRP Ledgerで有効になっています。) + - [MultiSignReserve Amendment][]が有効な場合、マルチシグを使用するには、使用する署名と署名者の数に関わらず、アカウントの準備金として2 XRPが必要です。(MultiSignReserve Amendmentは**2019年4月7日**以降、本番環境のXRP Ledgerで有効になっています。) - - [MultiSignReserve Amendment][]が有効ではないテストネットワークでは、マルチ署名を使用するには[アカウント準備金](reserves.html)に通常よりも多くのXRPが必要となります。必要額は、リストの署名者の数に応じて増加します。 + - [MultiSignReserve Amendment][]が有効ではないテストネットワークでは、マルチシグを使用するには[アカウント準備金](reserves.html)に通常よりも多くのXRPが必要となります。必要額は、リストの署名者の数に応じて増加します。 - XRP Ledgerフォーマットでキーペアを生成するツールを利用できる必要があります。この処理に`rippled`サーバーを使用する場合は、[wallet_proposeメソッド][]が管理者専用であるため、管理者アクセス権限が必要です。 - あるいは、すでにXRP Ledgerアドレスを持っている人をあなたのアドレスの署名者として承認するには、その人または組織のアカウントアドレスを知っている必要があります。 -- マルチ署名は使用可能である必要があります。(MultiSign Amendmentは**2016年6月27日**以降、本番環境のXRP Ledgerで有効になっています。) +- マルチシグは使用可能である必要があります。(MultiSign Amendmentは**2016年6月27日**以降、本番環境のXRP Ledgerで有効になっています。) ## 1. 構成の設計 @@ -58,9 +58,9 @@ labels: ## 3. SignerListSetトランザクションの送信 -通常の方法(シングルシグネチャー)で[SignerListSetトランザクション][]に[署名して送信](transaction-basics.html#トランザクションへの署名とトランザクションの送信)します。これによりSignerListがXRP Ledgerのアドレスに関連付けられるので、これ以降はSignerListの複数メンバーがあなたの代わりにトランザクションに署名するマルチ署名が可能となります。 +通常の方法(シングルシグネチャー)で[SignerListSetトランザクション][]に[署名して送信](transaction-basics.html#トランザクションへの署名とトランザクションの送信)します。これによりSignerListがXRP Ledgerのアドレスに関連付けられるので、これ以降はSignerListの複数メンバーがあなたの代わりにトランザクションに署名するマルチシグが可能となります。 -この例ではSignerListに3人のメンバーが含まれています。また、マルチ署名済みトランザクションにはrsA2LpzuawewSBQXkiju3YQTMzW13pAAdWの署名と、リストの他の2人のメンバーからの少なくとも1つの署名を必要とするように、重みと定数が設定されています。 +この例ではSignerListに3人のメンバーが含まれています。また、マルチシグトランザクションにはrsA2LpzuawewSBQXkiju3YQTMzW13pAAdWの署名と、リストの他の2人のメンバーからの少なくとも1つの署名を必要とするように、重みと定数が設定されています。 {% include '_snippets/secret-key-warning.md' %} @@ -135,7 +135,7 @@ labels: } } -[トランザクションの結果](transaction-results.html)が[**tesSUCCESS**](tes-success.html)であることを確認します。それ以外の場合、トランザクションは失敗しています。スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチ署名が有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。 +[トランザクションの結果](transaction-results.html)が[**tesSUCCESS**](tes-success.html)であることを確認します。それ以外の場合、トランザクションは失敗しています。スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](start-a-new-genesis-ledger-in-stand-alone-mode.html#新しいジェネシスレジャーの設定)を確認してください。 **注記:** [MultiSignReserve Amendment][]が有効ではない場合は、SignerListのメンバーの増加に応じて、アドレスの[所有者準備金](reserves.html#所有者準備金)のXRP額を増加する必要があります。アドレスに十分なXRPがないと、トランザクションは[tecINSUFFICIENT_RESERVE](tec-codes.html)で失敗します。[MultiSignReserve Amendment][]が有効な場合は、SignerListの署名者の数に関係なく[所有者準備金](reserves.html#所有者準備金)として必要なXRPは5 XRPです。関連項目: [SignerListと準備金](signerlist.html#signerlistと準備金) @@ -196,11 +196,11 @@ labels: } } -SignerListが予期した内容で存在していれば、アドレスでマルチ署名ができるようになります。 +SignerListが予期した内容で存在していれば、アドレスでマルチシグができるようになります。 ## 6. その他のステップ -これで、アドレスから[マルチ署名済みトランザクションを送信](send-a-multi-signed-transaction.html)できます。次の操作も実行できます。 +これで、アドレスから[マルチシグトランザクションを送信](send-a-multi-signed-transaction.html)できます。次の操作も実行できます。 * `asfDisableMaster`フラグを使用して[AccountSetトランザクション][]を送信し、アドレスのマスターキーペアを無効化。 * [SetRegularKeyトランザクション][]を送信して[アドレスのレギュラーキーペアを削除](change-or-remove-a-regular-key-pair.html)(レギュラーキーペアをすでに設定している場合)。 @@ -209,7 +209,7 @@ SignerListが予期した内容で存在していれば、アドレスでマル - **コンセプト:** - [暗号鍵](cryptographic-keys.html) - - [マルチ署名](multi-signing.html) + - [マルチシグ](multi-signing.html) - **チュートリアル:** - [rippledのインストール](install-rippled.html) - [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html) diff --git a/content/tutorials/manage-account-settings/use-tickets.ja.md b/content/tutorials/manage-account-settings/use-tickets.ja.md index b169777ddb..a11991bfe3 100644 --- a/content/tutorials/manage-account-settings/use-tickets.ja.md +++ b/content/tutorials/manage-account-settings/use-tickets.ja.md @@ -230,11 +230,11 @@ _JavaScript_ {% include '_snippets/interactive-tutorials/wait-step.md' %} {{ end_step() }} -## マルチ署名で使用する +## マルチシグで使用する -チケットの主な使用例としては、複数の[マルチ署名](multi-signing.html)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。 +チケットの主な使用例としては、複数の[マルチシグ](multi-signing.html)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。 -このシナリオでは、[step8,「チケット付きトランザクションの準備」](#8-チケット付きトランザクションの準備)が若干異なります。準備と署名を一度に行うのではなく、[任意のマルチ署名トランザクションの送信](send-a-multi-signed-transaction.html)の手順に従うことになります。まずトランザクションを準備し、次に信頼できる署名者の間でトランザクションを循環させて署名を集め、最後に署名を組み合わせて最終的なマルチ署名トランザクションを作成します。 +このシナリオでは、[step8,「チケット付きトランザクションの準備」](#8-チケット付きトランザクションの準備)が若干異なります。準備と署名を一度に行うのではなく、[任意のマルチシグトランザクションの送信](send-a-multi-signed-transaction.html)の手順に従うことになります。まずトランザクションを準備し、次に信頼できる署名者の間でトランザクションを循環させて署名を集め、最後に署名を組み合わせて最終的なマルチシグトランザクションを作成します。 複数の異なるトランザクションを処理する場合、それぞれが異なるチケットを使用する限り、この作業を並行して行うことができます。 @@ -243,9 +243,9 @@ _JavaScript_ - **Concepts:** - [チケット](tickets.html) - - [マルチ署名](multi-signing.html) + - [マルチシグ](multi-signing.html) - **Tutorials:** - - [マルチ署名の設定](set-up-multi-signing.html) + - [マルチシグの設定](set-up-multi-signing.html) - [信頼出来るトランザクションの送信](reliable-transaction-submission.html) - **References:** - [account_objects メソッド][] diff --git a/content/tutorials/production-readiness/reliable-transaction-submission.ja.md b/content/tutorials/production-readiness/reliable-transaction-submission.ja.md index 461af74192..c8b6824197 100644 --- a/content/tutorials/production-readiness/reliable-transaction-submission.ja.md +++ b/content/tutorials/production-readiness/reliable-transaction-submission.ja.md @@ -148,7 +148,7 @@ For each persisted transaction without validated result: - 失敗のケース(3)は、予期しない状態を表します。トランザクションが未処理の場合、最新の検証済みレジャーにある送信元アカウントの`Sequence`番号を確認する必要があります。([account_infoメソッド][]を使用して確認できます。)最新の検証済みレジャーにあるアカウントの`Sequence`値がトランザクションの`Sequence`値より大きい場合、同じ`Sequence`値を持つ別のトランザクションが検証済みレジャーに含まれています。システムがこの別のトランザクションを認識していない場合、予期しない状態となり、その原因が特定されるまで処理を停止しなければならなくなります。そうしないと、システムが同じ目標を達成するために複数のトランザクションを送信する可能性があります。行う必要のある手順は、具体的な原因によって変わります。考えられる原因と手順は次のとおりです。 - - 前回送信したトランザクションに[展性](transaction-malleability.html)があり、実際に検証済みレジャーに含まれていたが、予想と異なるハッシュだった場合。この問題は、`tfFullyCanonicalSig`フラグが含まれないフラグのセットを指定した場合か、必要以上の署名者によってマルチ署名されたトランザクションであった場合に起こる可能性があります。これに該当する場合は、その異なるハッシュとトランザクションの最終結果を保存し、通常のアクティビティーを再開します。 + - 前回送信したトランザクションに[展性](transaction-malleability.html)があり、実際に検証済みレジャーに含まれていたが、予想と異なるハッシュだった場合。この問題は、`tfFullyCanonicalSig`フラグが含まれないフラグのセットを指定した場合か、必要以上の署名者によってマルチシグされたトランザクションであった場合に起こる可能性があります。これに該当する場合は、その異なるハッシュとトランザクションの最終結果を保存し、通常のアクティビティーを再開します。 - トランザクションを[キャンセル](cancel-or-skip-a-transaction.html)して置き換えたため、置き換え後のトランザクションが代わりに処理された場合。障害から復旧しようとしている場合、置き換え後のトランザクションでレコードが失われている可能性があります。その場合、当初確認していたトランザクションは恒久的に失敗し、置き換え後のトランザクションの最終結果が検証済みレジャーバージョンに記録されます。両方の最終結果を保存し、他に欠落したトランザクションや置き換えられたトランザクションがないか確認してから、通常のアクティビティーを再開します。 diff --git a/content/tutorials/production-readiness/set-up-secure-signing.ja.md b/content/tutorials/production-readiness/set-up-secure-signing.ja.md index f5b544c4f4..fcb8f1a700 100644 --- a/content/tutorials/production-readiness/set-up-secure-signing.ja.md +++ b/content/tutorials/production-readiness/set-up-secure-signing.ja.md @@ -44,7 +44,7 @@ labels: ローカルマシンが[`rippled`の最小システム要件](system-requirements.html)を満たしていることを確認します。 -2. トランザクションに署名する必要がある場合は、`localhost`または`127.0.0.1`のサーバーに接続します。シングル署名の場合は[signメソッド][]、マルチ署名の場合は[sign_forメソッド][]を使用します。 +2. トランザクションに署名する必要がある場合は、`localhost`または`127.0.0.1`のサーバーに接続します。シングル署名の場合は[signメソッド][]、マルチシグの場合は[sign_forメソッド][]を使用します。 [構成ファイルの例](https://github.com/ripple/rippled/blob/8429dd67e60ba360da591bfa905b58a35638fda1/cfg/rippled-example.cfg#L1050-L1073)では、ローカルループバックネットワーク上(127.0.0.1)のポート5005でJSON-RPC(HTTP)、ポート6006でWebSocket(WS)の接続をリッスンし、接続されるすべてのクライアントを管理者として扱っています。 @@ -133,7 +133,7 @@ Rippleが公開したものでないクライアントライブラリを使用 - **コンセプト:** - [暗号鍵](cryptographic-keys.html) - - [マルチ署名](multi-signing.html) + - [マルチシグ](multi-signing.html) - **チュートリアル:** - [rippledのインストール](install-rippled.html) - [レギュラーキーペアの割り当て](assign-a-regular-key-pair.html) diff --git a/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md b/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md index 4e87848d92..30313a495e 100644 --- a/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md +++ b/content/tutorials/xrp-ledger-businesses/list-xrp-as-an-exchange.ja.md @@ -87,7 +87,7 @@ Rippleが推奨するベストプラクティスに従い、Alpha Exchangeは、 不正使用されたホットウォレットによって発生するおそれのある結果についての詳細は、[Operational Account Compromise](issuing-and-operational-addresses.html#運用アドレスの漏えい)を参照してください。 -* オプションとして、コールドウォレットとホットウォレットの間で追加のセキュリティ層を提供する、1つ以上のウォームウォレット。ホットウォレットとは異なり、ウォームウォレットのシークレットキーはオンラインである必要はありません。さらに、ウォームウォレットのシークレットキーを複数の人に分散し、[マルチ署名](multi-signing.html)を導入してセキュリティを強化することもできます。 +* オプションとして、コールドウォレットとホットウォレットの間で追加のセキュリティ層を提供する、1つ以上のウォームウォレット。ホットウォレットとは異なり、ウォームウォレットのシークレットキーはオンラインである必要はありません。さらに、ウォームウォレットのシークレットキーを複数の人に分散し、[マルチシグ](multi-signing.html)を導入してセキュリティを強化することもできます。 不正使用されたウォームウォレットによって発生するおそれのある結果についての詳細は、[スタンバイアドレスの漏えい](issuing-and-operational-addresses.html#スタンバイアドレスの漏えい)を参照してください。 From 2b9e05931c187c8cb3c7147a21ea33ef1de9529f Mon Sep 17 00:00:00 2001 From: tequ Date: Mon, 17 Apr 2023 11:31:44 +0900 Subject: [PATCH 2/7] [JA] fix account root table --- .../ledger-data/ledger-object-types/accountroot.ja.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md b/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md index 515740c8b5..f68b6b2309 100644 --- a/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md +++ b/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md @@ -37,8 +37,8 @@ labels: `AccountRoot`オブジェクトのフィールドは次のとおりです。 | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | -|:------------------------------|:---------|:------------------|:-------------| -| `Account` | 文字列 | AccountID | はい | この[アカウント](accounts.html)を識別するための(クラシック)アドレスです。。 | +|:------------------------------|:---------|:------------------|:------|:------| +| `Account` | 文字列 | AccountID | はい | この[アカウント](accounts.html)を識別するための(クラシック)アドレスです。 | | `AccountTxnID` | 文字列 | Hash256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](transaction-common-fields.html#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](accountset.html#accountsetのフラグ)を送信してください。 | | `Balance` | 文字列 | Amount | いいえ | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 | | `BurnedNFTokens` | 数値 | UInt32 | いいえ | このアカウントで発行された [非代替性トークン](non-fungible-tokens.html) のうち、バーンしたトークンの総数を表します。この数値は常に `MintedNFTokens` と同じかそれ以下となります。 | From babe32732a6f89ff3929019a5a0cb5f2684c2858 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Mon, 17 Apr 2023 12:08:33 -0700 Subject: [PATCH 3/7] Remove more AMM docs --- assets/js/apitool-methods-ws.js | 38 ++++---- .../automated-market-makers.ja.md | 86 ------------------ .../automated-market-makers.md | 88 ------------------- .../ledger-methods/ledger_entry.md | 67 -------------- .../public-api-methods.ja.md | 1 - .../public-api-methods/public-api-methods.md | 1 - .../ledger-object-types/accountroot.ja.md | 15 ---- .../ledger-object-types/accountroot.md | 17 ---- .../transaction-results/tec-codes.md | 11 +-- .../transaction-results/tem-codes.md | 4 - .../transaction-results/ter-codes.ja.md | 1 - .../transaction-results/ter-codes.md | 1 - dactyl-config.yml | 9 +- 13 files changed, 25 insertions(+), 314 deletions(-) delete mode 100644 content/concepts/decentralized-exchange/automated-market-makers.ja.md delete mode 100644 content/concepts/decentralized-exchange/automated-market-makers.md diff --git a/assets/js/apitool-methods-ws.js b/assets/js/apitool-methods-ws.js index 3f24dafc9b..09bb194876 100644 --- a/assets/js/apitool-methods-ws.js +++ b/assets/js/apitool-methods-ws.js @@ -197,25 +197,25 @@ Request('ledger_entry - AccountRoot', { } }) -Request('ledger_entry - AMM', { - description: "Returns a single Automated Market Maker object in its raw ledger format.", - link: "ledger_entry.html#get-amm-object", - status: "not_enabled", - body: { - "id": "example_get_amm", - "command": "ledger_entry", - "amm": { - "asset": { - "currency": "XRP" - }, - "asset2": { - "currency" : "TST", - "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" - } - }, - "ledger_index": "validated" - } -}) +// Request('ledger_entry - AMM', { +// description: "Returns a single Automated Market Maker object in its raw ledger format.", +// link: "ledger_entry.html#get-amm-object", +// status: "not_enabled", +// body: { +// "id": "example_get_amm", +// "command": "ledger_entry", +// "amm": { +// "asset": { +// "currency": "XRP" +// }, +// "asset2": { +// "currency" : "TST", +// "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" +// } +// }, +// "ledger_index": "validated" +// } +// }) Request('ledger_entry - DirectoryNode', { description: "Returns a directory object in its raw ledger format.", diff --git a/content/concepts/decentralized-exchange/automated-market-makers.ja.md b/content/concepts/decentralized-exchange/automated-market-makers.ja.md deleted file mode 100644 index f232f1ef4c..0000000000 --- a/content/concepts/decentralized-exchange/automated-market-makers.ja.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -html: automated-market-makers.html -parent: decentralized-exchange.html -blurb: 自動マーケットメーカー(AMM)は、資産ペア間の流動性を提供し、分散型取引所のオーダーブックを補完すると同時に、流動性提供者に利益を提供します。 -status: not_enabled -labels: - - XRP - - 分散型取引所 - - AMM ---- - -# 自動マーケットメーカー - -自動マーケットメーカー(AMM)は、XRP Ledgerの分散型取引所において流動性を提供するスマートコントラクトです。個々のAMMは2つの資産のプールを保有し、数式で定められた取引レートでユーザーがその2つの資産間でスワップを可能とします。 - -{% include '_snippets/amm-disclaimer.ja.md' %} - -任意の資産ペアに対して、最大1つのAMMが元帳に存在することができます。AMMはそのペアが存在しない場合、誰でも作成することができ、また既存のAMMに預けることもできます。AMMに資産を預ける人は、流動性供給者(LP/Liquidity Provider)と呼ばれ、AMMから「LPトークン」を受け取ります。LPトークンによって、流動性供給者は以下のことが可能になります。 - -- LPトークンを、AMMのプール内の資産の一部(手数料を含む)と交換する。 -- AMMの手数料設定を変更するために投票する。票は、投票者が保有するLPトークンの数に基づいて重み付けされます。 -- AMMの取引手数料の一時的な割引を得るために、LPトークンの一部を入札する。 - -プール内の2つの資産の取引が比較的活発で均衡している場合、手数料は流動性供給者の収益になります。しかし、資産間の相対価格が変動すると、流動性供給者は[為替リスク](https://www.investopedia.com/terms/c/currencyrisk.asp)により損失を被る可能性があります。 - -## AMMの仕組み - -AMMは2つの異なる資産を保有します。このうち最大でも片方がXRPであり、もう片方または両方は[トークン](tokens.html)となります。この場合、発行者の異なるトークンは異なる資産とみなされます。つまり、通貨コードは同じだが発行者が異なる2つのトークン(「WayGateが発行したFOO」と「StableFooが発行したFOO」は異なる)や、発行者は同じだが通貨コードが異なるトークンに対してAMMが存在する可能性があるということです。また、順番は関係なく、FOO.WayGateからXRPへのAMMは、XRPからFOO.WayGateへのAMMと同一になります。 - -ユーザーが分散型取引所で取引を行う場合、[オファー](offers.html)と[クロスカレンシー決済](cross-currency-payments.html)は自動的にAMMを使用してトランザクションを成立させることが出来ます。トランザクションは低コストで取引を行えるように、オファー、AMM、またはその両方の組み合わせで実行されます。 - -AMMは、プール内の資産残高に基づき取引レートを設定します。AMMに対して取引を行うと、AMMが保有する資産残高の変動に応じて、取引レートが調整されます。一方の資産の量が減れば、その資産の価格が上がり、他方の資産の量が増えれば、その資産の価格が下がります。AMMは、プール内の残高が多いほど、一般的により良い取引レートを提供します。同一取引であればプール内の残高が大きい方がAMMの資産バランスに生じる変化は小さくなるからです。AMMの2つの資産のバランスが崩れれば崩れるほど、交換レートは極端に悪化します。 - -また、AMMは交換レートに加え、一定割合の取引手数料を徴収しています。 - -XRP Ledgerの実装は、重みパラメータを0.5とした _幾何平均_ AMMですので、_定積_ マーケットメーカーのように機能します。 _定積_ AMMの公式や一般的なAMMの経済学についての詳しい説明は、[Kris Machowski's Introduction to Automated Market Makers](https://www.machow.ski/posts/an_introduction_to_automated_market_makers/)をご覧ください。 - -## LPトークン - -AMMの作成者は、最初の流動性供給者となり、AMMのプール内の資産の100%の所有権を表すLPトークンを受け取ります。LPトークンの一部または全部を交換して、現在のプール残高に比例した資産をAMMから引き出せます。(この比率は、人々がAMMに対して取引を行うにつれて変化します)AMMは、同時に両方の資産を引き出す際に手数料はかかりません。 - -例えば、5ETHと5USDでAMMを作成し、その後誰かが1.26USDを1ETHに交換したとすると、現在プールには4ETHと6.26USDが入っています。LPトークンの半分を使用して、2ETHと3.13USDを引き出すことができます。 - -誰でも既存のAMMに資産を預けることができます。預け入れると、その金額に応じて新しいLPトークンを受け取ります。流動性供給者がAMMから引き出すことができる金額は、発行済みのLPトークンの総数に対する流動性提供者のLPトークンの保有割合に基づきます。 - -LPトークンはXRP Ledgerの他のトークンと同様に、様々な[種類の支払い](payment-types.html)で使用したり、分散型取引所で取引したり、新しいAMMの資産として預けることも可能です。(LPトークンを支払い(Payment)として受け取るには、AMMアカウントを発行元として、限度額が0でない[トラストライン](trust-lines-and-issuing.html)を設定する必要があります)。ただし、LPトークンをAMMに直接送る(換金する)には[AMMWithdraw][]トランザクションタイプを使用し、他のタイプの支払いは使用できません。同様に、AMMのプールに資産を送るには、[AMMDeposit][]トランザクションタイプを使用する必要があります。 - -AMMは、発行済のLPトークンがない場合に限り、AMMの資産プールが空になるように設計されています。こうした状況は、[AMMWithdraw][]トランザクションの結果としてのみ発生し、発生した時点でAMMは自動的に削除されます。 - -### LPトークンの通貨コード - -LPトークンは、160ビットの16進法["非標準"フォーマット](currency-formats.html#非標準通貨コード)の特別なタイプの通貨コードを使用します。これらのコードの最初の8ビットは`0x03`です。残りのコードは、2つの資産の通貨コードとその発行者のSHA-512ハッシュで、最初の152ビットまで切り捨てたものです。(資産は、数値の低い通貨と発行者のペアを最初にする「正規化された順序」で配置されます。)その結果、LPトークンは、通貨と発行者のペアを最初にする「正規化された順序」で配置されます。その結果、ある資産ペアのAMMのLPトークンは、予測可能で一貫した通貨コードを持っています。 - -## 取引手数料 - -取引手数料は流動性供給者の収益源であり、プールの資産に対して他者に取引をさせることによる為替リスクを相殺するものです。取引手数料は流動性提供者に直接支払われずにAMMに支払われますが、流動性供給者は自分のLPトークンをAMMのプールの一定割合と交換することができるため、利益を得ることができます。 - -流動性供給者は、投票によって取引手数料を0%から1%まで、0.001%刻みで設定することが出来ます。流動性供給者は取引手数料を適切に設定するインセンティブがあり、手数料が高すぎる場合、トレーダーはより良いレートを得るために代わりにオーダーブックを使用することになります。手数料が低すぎる場合、流動性供給者はこのプールへの貢献に対してメリットが得られなくなります。AMMの各流動性供給者は、その保有するLPトークンの量に比例して、取引手数料への投票権を有します。 - -投票するには、流動性供給者が[AMMVoteトランザクション][]を送信します。誰かが新しい票を入れるたびに、AMMは手数料を再計算し、直近の票の平均を、それらの投票者が保有するLPトークンの数で重み付けしたものにします。この方法では、最大8つの流動性供給者の投票がカウントされます。それ以上の流動性供給者が投票しようとすると、上位8つの投票(保有LPトークンの多い順)だけがカウントされます。流動性供給者のLPトークンのシェアは、様々な理由(例えば[オファー](offers.html)を使ったトークンの取引)で急速に変化しますが、取引手数料は誰かが新しい票を入れるたびに再計算されます(その票がトップ8に入っていない場合でも計算されます)。 - -### オークションスロット - -これまでの自動マーケットメーカーとは異なり、XRP LedgerのAMMのデザインには、流動性供給者が24時間の取引手数料の割引を得るために入札することができる _オークションスロット_ 機能があります。入札はLPトークンで支払う必要があり、落札に使用したLPトークンはAMMに返還されます。一度に複数のアカウントがオークションスロットを保持することはできませんが、落札者は割引を得るために追加で最大4つのアカウントを指定することができます。最低落札価格は設定されていませんが、もしその枠が埋まっている場合は、現在の枠の所有者に競り勝たなければなりません。もし誰かがあなたの入札を退けた場合、残り時間に応じて、落札額の一部が返金されます。アクティブなオークションスロットを保持している限り、そのAMMに対しては取引手数料なしで取引を行うことができます。 - -どのようなAMMであっても、その資産の価格が外部市場で大きく変動すると、トレーダーは裁定取引によってAMMから利益を得ることができ、その結果、流動性供給者は損失を被ることになります。オークションの仕組みは、より多くの価値を流動性供給者に還元し、AMMの価格をより迅速に外部市場とのバランスに戻すことを意図しています。 - -## 台帳上の表示 - -台帳の状態データでは、AMMは複数の[レジャーオブジェクトのタイプ](ledger-object-types.html)で構成されています。 - -- 自動マーケットメーカー自体を記述した[AMMオブジェクト][] - -- AMMのLPトークンを発行し、AMMのXRP(保有している場合)を保有する特別な[AccountRootオブジェクト][] - - このAccountRootのアドレスは、AMMの作成時にランダムに選ばれ、AMMを削除して再作成した場合にも異なるアドレスが選ばれます。これは、AMMのアカウントにユーザーが事前にXRPで資金を供給することを防止するためです。 - -- AMMのプールにあるトークンのAMM専用アカウントへの[トラストライン](trust-lines-and-issuing.html) - -これらのオブジェクトはどのアカウントにも所有されていないため、[準備金要件](reserves.html)は適用されません。ただし、スパムを防ぐため、AMMを作成するための取引には特別な[トランザクションコスト](transaction-cost.html)があり、通常よりも多くのXRPを消費する必要があります。 - - - -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/decentralized-exchange/automated-market-makers.md b/content/concepts/decentralized-exchange/automated-market-makers.md deleted file mode 100644 index 76c7a8f3a1..0000000000 --- a/content/concepts/decentralized-exchange/automated-market-makers.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -html: automated-market-makers.html -parent: decentralized-exchange.html -blurb: Automated Market Makers (AMMs) provide liquidity between asset pairs, complemeting the order books in the decentralized exchange while providing passive income for their liquidity providers. -status: not_enabled -labels: - - XRP - - Decentralized Exchange - - AMM ---- -# Automated Market Makers - -Automated Market Makers (AMMs) are smart contracts that provide liquidity in the XRP Ledger's decentralized exchange. Each AMM holds a pool of two assets and enables users to swap between them at an exchange rate set by a formula. - -{% include '_snippets/amm-disclaimer.md' %} - -For any given pair of assets, there can be up to one AMM in the ledger. Anyone can create the AMM for an asset pair if it doesn't exist yet, or deposit to an existing AMM. Those who deposit assets into an AMM are called _liquidity providers_ (LPs) and receive "LP Tokens" from the AMM. LP Tokens enable liquidity providers to: - -- Redeem their LP Tokens for a share of the assets in the AMM's pool, including fees collected. -- Vote to change the AMM's fee settings. The votes are weighted based on how many LP Tokens the voters hold. -- Bid some of their LP Tokens to receive a temporary discount on the AMM's trading fees. - -When the flow of funds between the two assets in a pool is relatively active and balanced, the fees provide a source of passive income for liquidity providers. However, when the relative price between the assets shifts, the liquidity providers can take a loss on the [currency risk](https://www.investopedia.com/terms/c/currencyrisk.asp). - -## How the AMM Works - -An AMM holds two different assets: at most one of these can be XRP, and one or both of them can be [tokens](tokens.html). Tokens with different issuers are considered different assets for this purpose. This means that there can be an AMM for two tokens with the same currency code but different issuers ("FOO issued by WayGate" is different than "FOO issued by StableFoo"), or the same issuer but different currency codes. The order does not matter; the AMM for FOO.WayGate to XRP is the same as for XRP to FOO.WayGate. - -When users want to trade in the decentralized exchange, their [Offers](offers.html) and [Cross-Currency Payments](cross-currency-payments.html) can automatically use AMMs to complete the trade. A single transaction might execute by matching Offers, AMMs, or a mix of both, depending on what's cheaper. - -An AMM sets its exchange rate based on the balance of assets in the pool. When you trade against an AMM, the exchange rate adjusts based on how much your trade shifts the balance of assets the AMM holds. As its supply of one asset goes down, the price of that asset goes up; as its supply of an asset goes up, the price of that asset goes down. An AMM gives generally better exchange rates when it has larger overall amounts in its pool. This is because any given trade causes a smaller shift in the balance of the AMM's assets. The more a trade unbalances the AMM's supply of the two assets, the more extreme the exchange rate becomes. - -The AMM also charges a percentage trading fee on top of the exchange rate. - -The XRP Ledger's implements a _geometric mean_ AMM with a weight parameter of 0.5, so it functions like a _constant product_ market maker. For a detailed explanation of the _constant product_ AMM formula and the economics of AMMs in general, see [Kris Machowski's Introduction to Automated Market Makers](https://www.machow.ski/posts/an_introduction_to_automated_market_makers/). - - -## LP Tokens - -Whoever creates the AMM becomes the first liquidity provider, and receives LP Tokens that represent 100% ownership of assets in the AMM's pool. They can redeem some or all of those LP Tokens to withdraw assets from the AMM in proportion to the amounts currently there. (The proportions shift over time as people trade against the AMM.) The AMM does not charge a fee when withdrawing both assets. - -For example, if you created an AMM with 5 ETH and 5 USD, and then someone exchanged 1.26 USD for 1 ETH, the pool now has 4 ETH and 6.26 USD in it. You can spend half your LP Tokens to withdraw 2 ETH and 3.13 USD. - -Anyone can deposit assets to an existing AMM. When they do, they receive new LP Tokens based on how much they deposited. The amount that a liquidity provider can withdraw from an AMM is based on the proportion of the AMM's LP Tokens they hold compared to the total number of LP Tokens outstanding. - -LP Tokens are like other tokens in the XRP Ledger, so you can use them in many [types of payments](payment-types.html), trade them in the decentralized exchange, or even deposit them as assets for new AMMs. (To receive LP Tokens as payment, you must set up a [trust line](trust-lines-and-issuing.html) with a nonzero limit with the AMM Account as the issuer.) However, you can _only_ send LP Tokens directly to the AMM (redeeming them) using the [AMMWithdraw][] transaction type, not through other types of payments. Similarly, you can only send assets to the AMM's pool through the [AMMDeposit][] transaction type. - -The AMM is designed so that an AMM's asset pool is empty if and only if the AMM has no outstanding LP Tokens. This situation can only occur as the result of an [AMMWithdraw][] transaction; when it does, the AMM is automatically deleted. - -### LP Token Currency Codes - -LP Tokens use a special type of currency code in the 160-bit hexadecimal ["non-standard" format](currency-formats.html#nonstandard-currency-codes). These codes have the first 8 bits `0x03`. The remainder of the code is a SHA-512 hash, truncated to the first 152 bits, of the two assets' currency codes and their issuers. (The assets are placed in a "canonical order" with the numerically lower currency+issuer pair first.) As a result, the LP Tokens for a given asset pair's AMM have a predictable, consistent currency code. - - -## Trading Fees - -Trading fees are a source of passive income for liquidity providers, and they offset the currency risk of letting others trade against the pool's assets. Trading fees are paid to the AMM, not directly to liquidity providers, but liquidity providers benefit because their LP Tokens can be redeemed for a percentage of the AMM's pool. - -Liquidity providers can vote to set the fee from 0% to 1%, in increments of 0.001%. Liquidity providers have an incentive to set trading fees at an appropriate rate: if fees are too high, trades will use order books to get a better rate instead; if fees are too low, liquidity providers don't get any benefit for contributing to the pool. Each AMM gives its liquidity providers the power to vote on its fees, in proportion to the amount of LP Tokens those liquidity providers hold. - -To vote, a liquidity provider sends an [AMMVote transaction][]. Whenever anyone places a new vote, the AMM recalculates its fee to be an average of the latest votes weighted by how many LP Tokens those voters hold. Up to 8 liquidity providers' votes can be counted this way; if more liquidity providers try to vote then only the top 8 votes (by most LP Tokens held) are counted. Even though liquidity providers' share of LP Tokens can shift rapidly for many reasons (such as trading those tokens using [Offers](offers.html)), the trading fees are only recalculated whenever someone places a new vote (even if that vote is not one of the top 8). - -### Auction Slot - -Unlike any previous Automated Market Makers, the XRP Ledger's AMM design has an _auction slot_ that a liquidity provider can bid on to get a discount on the trading fee for a 24-hour period. The bid must be paid in LP Tokens, which are returned to the AMM. No more than one account can hold the auction slot at a time, but the bidder can name up to 4 more accounts to also receive the discount. There is no minimum bid, but if the slot is currently occupied then you must outbid the current slot holder to displace them. If someone displaces you, you get part of your bid back depending on how much time remains. As long as you hold an active auction slot, you pay a discounted trading fee of 0% when making trades against that AMM. - -With any AMM, when the price of its assets shifts significantly in external markets, traders can use arbitrage to profit off the AMM, which results in a loss for liquidity providers. The auction mechanism is intended to return more of that value to liquidity providers and more quickly bring the AMM's prices back into balance with external markets. - - -## Representation in the Ledger - -In the ledger's state data, an AMM consists of multiple [ledger entries](ledger-object-types.html): - -- An [AMM object][] describing the automated market maker itself. - -- A special [AccountRoot object][] that issues the AMM's LP Tokens, and holds the AMM's XRP (if it has any). - - The address of this AccountRoot is chosen somewhat randomly when the AMM is created, and it is different if the AMM is deleted and re-created. This is to prevent people from funding the AMM account with excess XRP in advance. - -- [Trust lines](trust-lines-and-issuing.html) to the special AMM Account for the tokens in the AMM's pool. - -These objects are not owned by any account, so the [reserve requirement](reserves.html) does not apply to them. However, to prevent spam, the transaction to create an AMM has a special [transaction cost](transaction-cost.html) that requires the sender to burn a larger than usual amount of XRP. - - - -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md b/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md index 4adf36ded9..50d0333e69 100644 --- a/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md +++ b/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md @@ -145,73 +145,6 @@ rippled json ledger_entry '{ "account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 -### Get AMM Object - -_(Automated Market Maker (AMM) functionality is part of the proposed [XLS-30d](https://github.com/XRPLF/XRPL-Standards/discussions/78) extension :not_enabled: to the XRP Ledger protocol. You can use these features on AMM test networks, but there isn't an official amendment and they aren't available on the production Mainnet.)_ - -Retrieve an Automated Market-Maker (AMM) object from the ledger. This is similar to [amm_info method][], but the `ledger_entry` version returns only the ledger entry as stored. - -| Field | Type | Description | -|:-------------|:-----------------|:----------------------| -| `amm` | Object or String | The [AMM](amm.html) to retrieve. If you specify a string, it must be the [object ID](ledger-object-ids.html) of the AMM, as hexadecimal. If you specify an object, it must contain `asset` and `asset2` sub-fields. | -| `amm.asset` | Object | One of the two assets in this AMM's pool, as a [currency object without an amount](currency-formats.html#specifying-without-amounts). | -| `amm.asset2` | Object | The other of the two assets in this AMM's pool, as a [currency object without an amount](currency-formats.html#specifying-without-amounts). | - - - -*WebSocket* - -```json -{ - "id": 3, - "command": "ledger_entry", - "amm": { - "asset": { - "currency": "XRP" - }, - "asset2": { - "currency" : "TST", - "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" - } - } - "ledger_index": "validated" -} -``` - -*JSON-RPC* - -```json -{ - "method": "ledger_entry", - "params": [ - { - "amm": { - "asset": { - "currency": "XRP" - }, - "asset2": { - "currency" : "TST", - "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" - } - }, - "ledger_index": "validated" - } - ] -} -``` - -*Commandline* - -```sh -rippled json ledger_entry '{ "amm": { "asset": { "currency": "XRP" }, "asset2": { "currency" : "TST", "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" } }, "ledger_index": "validated" }' -``` - - - -[Try it! >](websocket-api-tool.html?server=wss%3A%2F%2Famm.devnet.rippletest.net%3A51233%2F#ledger_entry-amm) - - - ### Get DirectoryNode Object Retrieve a [DirectoryNode](directorynode.html), which contains a list of other ledger objects. Can be provided as string (object ID of the Directory) or as an object. diff --git a/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md b/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md index 3da21ad5cd..5e8d234798 100644 --- a/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md +++ b/content/references/http-websocket-apis/public-api-methods/public-api-methods.ja.md @@ -55,7 +55,6 @@ XRP Ledgerのアカウントとは、XRPの保有者と取引の送信者を意 パスは、支払いが送信者から受信者に届くまでに中間ステップでたどる道筋を定義します。パスは、送信者と受信者をオーダーブックを介してつなぐことで、複数通貨間の支払いを可能にします。パスと他のオーダーブックに関しては、以下のメソッドを使用します。 -* **[`amm_info`](amm_info.html)** :not_enabled: - 自動マーケットメイカー(AMM)についての情報を取得します。 * **[`book_offers`](book_offers.html)** - 2つの通貨を交換するオファーに関する情報を取得します。 * **[`deposit_authorized`](deposit_authorized.html)** - あるアカウントが別のアカウントへの支払いの直接送信について承認されているかどうかを調べます。 * **[`nft_buy_offers`](nft_buy_offers.html)** - Retrieve a list of buy offers for a specified NFToken object. diff --git a/content/references/http-websocket-apis/public-api-methods/public-api-methods.md b/content/references/http-websocket-apis/public-api-methods/public-api-methods.md index 532c4f1c00..696e59bb2c 100644 --- a/content/references/http-websocket-apis/public-api-methods/public-api-methods.md +++ b/content/references/http-websocket-apis/public-api-methods/public-api-methods.md @@ -59,7 +59,6 @@ By default, the following methods are [admin-only](admin-api-methods.html). They Paths define a way for payments to flow through intermediary steps on their way from sender to receiver. Paths enable cross-currency payments by connecting sender and receiver through order books. Use these methods to work with paths and other books. -* **[`amm_info`](amm_info.html)** :not_enabled: - Get info about an Automated Market Maker (AMM). * **[`book_offers`](book_offers.html)** - Get info about offers to exchange two currencies. * **[`deposit_authorized`](deposit_authorized.html)** - Look up whether one account is authorized to send payments directly to another. * **[`nft_buy_offers`](nft_buy_offers.html)** - Retrieve a list of buy offers for a specified NFToken object. diff --git a/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md b/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md index 515740c8b5..1ce092d7b8 100644 --- a/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md +++ b/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.ja.md @@ -68,7 +68,6 @@ AccountRootオブジェクトには以下のフラグ値を指定できます。 | フラグ名 | 16進数値 | 10進数値 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | 説明 | |---------------------|--------------|----------|---------------|-------------------------------| -| `lsfAMM`:not_enabled: | `0x00010000` | 33554432 | (なし) | このアカウントは、自動マーケットメーカーのインスタンスです。:not_enabled: | | `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)を有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 | | `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)が有効になっています。) | | `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 | @@ -79,20 +78,6 @@ AccountRootオブジェクトには以下のフラグ値を指定できます。 | `lsfRequireAuth` | `0x00040000` | 262144 | `asfRequireAuth` | このアカウントは、他のユーザーがこのアカウントのトークンを保有することを個別に承認する必要があります。 | | `lsfRequireDestTag` | `0x00020000` | 131072 | `asfRequireDest` | 受信ペイメントには宛先タグの指定が必要です。 | -## AMMの特殊なAccountRootオブジェクト - -{% include '_snippets/amm-disclaimer.ja.md' %} - -[自動マーケットメーカー](automated-market-makers.html) (AMM) は、AMMの詳細の一部を追跡するための[AMMオブジェクト][]に加えて、LPトークンを発行しAMMプール内の資産を保持するためにAccountRootオブジェクトを使用します。AMMに関連するAccountRootのアドレスは、AMMが作成される前にユーザーがそのアドレスを特定し資金を提供できないように、ランダム化されています。AMMのAccountRootは、通常のアカウントとは異なり、以下のような設定で作成されます。 - -- `lsfAMM` **有効** : これは、AccountRootがAMMの一部であり、通常のアカウントでないことを示します。 -- `lsfDisableMaster` **有効** : トランザクションへ署名する手段はありません。これにより、誰もそのアカウントを直接操作することができず、トランザクションを送信することができなくなります。 -- `lsfRequireAuth` **有効** : 事前承認されているアカウントは存在しません。これにより、AMMアカウントに資産を追加する唯一の方法は、[AMMDepositトランザクション][]を使用することであることが保証されます。 -- `lsfDefaultRipple` **有効** : ユーザー間でAMMのLPトークンを送信したり、取引したりすることが可能になります。 - -これらの特殊なアカウントは、[準備金要件](reserves.html)の対象外ですが、AMMのプール内の2つの資産のうちの1つであれば、XRPを保有することができます。 - -LPトークンは他の[トークン](tokens.html)と同様に動作しますが、これらのトークンはAMM関連のトランザクションでも使用することができます。AMMの残高や、AMMに影響を与えたトランザクションの履歴は、通常のアカウントと同じように確認することができます。 ## AccountRoot IDのフォーマット diff --git a/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.md b/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.md index f6471cac26..7afa0e89c1 100644 --- a/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.md +++ b/content/references/protocol-reference/ledger-data/ledger-object-types/accountroot.md @@ -69,7 +69,6 @@ AccountRoot objects can have the following flag values: | Flag Name | Hex Value | Decimal Value | Corresponding [AccountSet Flag](accountset.html#accountset-flags) | Description | |-----------------------------------|--------------|-------------------|-----------------------------------|----| -| `lsfAMM` :not_enabled: | `0x02000000` | 33554432 | (None) | This account is an Automated Market Maker instance. :not_enabled: | | `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | Enable [rippling](rippling.html) on this addresses's trust lines by default. Required for issuing addresses; discouraged for others. | | `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | This account has [DepositAuth](depositauth.html) enabled, meaning it can only receive funds from transactions it sends, and from [preauthorized](depositauth.html#preauthorization) accounts. _(Added by the [DepositAuth amendment][])_ | | `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | Disallows use of the master key to sign transactions for this account. | @@ -85,22 +84,6 @@ AccountRoot objects can have the following flag values: | `lsfRequireDestTag` | `0x00020000` | 131072 | `asfRequireDest` | Requires incoming payments to specify a Destination Tag. | -## Special AMM AccountRoot Objects - -{% include '_snippets/amm-disclaimer.md' %} - -[Automated Market Makers](automated-market-makers.html) (AMMs) use an AccountRoot object to issue their LP Tokens and hold the assets in the AMM pool, and an [AMM object][] for tracking some of the details of the AMM. The address of an AMM's AccountRoot is randomized so that users cannot identify and fund the address in advance of the AMM being created. Unlike normal accounts, AMM AccountRoot objects are created with the following settings: - -- `lsfAMM` **enabled**. This indicates that the AccountRoot is part of an AMM and is not a regular account. -- `lsfDisableMaster` **enabled** and no other means of authorizing transactions. This ensures no one can control the account directly, and it cannot send transactions. -- `lsfRequireAuth` **enabled** and no accounts preauthorized. This ensures that the only way to add money to the AMM Account is using the [AMMDeposit transaction][]. -- `lsfDefaultRipple` **enabled**. This ensures that users can send and trade the AMM's LP Tokens among themselves. - -These special accounts are not subject to the [reserve requirement](reserves.html) but they can hold XRP if it is one of the two assets in the AMM's pool. - -In most other ways, these accounts function like ordinary accounts; the LP Tokens they issue behave like other [tokens](tokens.html) except that those tokens can also be used in AMM-related transactions. You can check an AMM's balances and the history of transactions that affected it the same way you would with a regular account. - - ## AccountRoot ID Format The ID of an AccountRoot object is the [SHA-512Half][] of the following values, concatenated in order: diff --git a/content/references/protocol-reference/transactions/transaction-results/tec-codes.md b/content/references/protocol-reference/transactions/transaction-results/tec-codes.md index 2949879db8..440f96c027 100644 --- a/content/references/protocol-reference/transactions/transaction-results/tec-codes.md +++ b/content/references/protocol-reference/transactions/transaction-results/tec-codes.md @@ -15,14 +15,6 @@ Transactions with `tec` codes destroy the XRP paid as a [transaction cost](trans | Code | Value | Explanation | |:---------------------------|:------|:----------------------------------------| -| `tecAMM_BALANCE` | 163 | -| `tecAMM_DIRECT_PAYMENT` | 169 | The transaction tried to send money directly to an AccountRoot object that is part of an [Automated Market Maker](automated-market-makers.html) (AMM) :not_enabled:. AMM AccountRoot entries cannot send or receive money directly except through [AMMWithdraw][] and [AMMDeposit][] transactions. | -| `tecAMM_EXISTS` | 167 | The [AMMCreate transaction][] :not_enabled: tried to create an [Automated Market Maker](automated-market-makers.html) (AMM) instance that already exists. There can only be at most one AMM per unique currency pair. | -| `tecAMM_FAILED_DEPOSIT` | 164 | The [AMMDeposit transaction][] :not_enabled: failed, probably because the sender does not have enough of the specified assets, or because the deposit requested an effective price that isn't possible with the available amounts. | -| `tecAMM_FAILED_WITHDRAW` | 165 | The [AMMWithdraw transaction][] :not_enabled: failed, probably because the sender does not have enough LP Tokens, or because the withdraw requested an effective price that isn't possible with the available amounts. | -| `tecAMM_FAILED_BID` | 168 | The [AMMBid transaction][] :not_enabled: failed, probably because the price to win the auction was higher than the specified maximum value or the sender's current balance. | -| `tecAMM_FAILED_VOTE` | 170 | The [AMMVote transaction][] :not_enabled: failed, probably because there are already too many votes from accounts that hold more LP Tokens for this AMM. (This can still recalculate the AMM's trading fee.) | -| `tecAMM_INVALID_TOKENS` | 166 | The AMM-related transaction :not_enabled: failed due to insufficient LP Tokens or problems with rounding; for example, depositing a very small amount of assets could fail if the amount of LP Tokens to be returned rounds down to zero. | | `tecCANT_ACCEPT_OWN_NFTOKEN_OFFER` | 157 | The transaction tried to accept an offer that was placed by the same account to buy or sell a [non-fungible token](non-fungible-tokens.html). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | | `tecCLAIM` | 100 | Unspecified failure, with transaction cost destroyed. | | `tecCRYPTOCONDITION_ERROR` | 146 | This [EscrowCreate][] or [EscrowFinish][] transaction contained a malformed or mismatched crypto-condition. | @@ -61,13 +53,12 @@ Transactions with `tec` codes destroy the XRP paid as a [transaction cost](trans | `tecNO_TARGET` | 138 | The transaction referenced an Escrow or PayChannel ledger object that doesn't exist, either because it never existed or it has already been deleted. (For example, another [EscrowFinish transaction][] has already executed the held payment.) Alternatively, the destination account has `asfDisallowXRP` set so it cannot be the destination of this [PaymentChannelCreate][] or [EscrowCreate][] transaction. | | `tecOBJECT_NOT_FOUND` | 160 | One of the objects specified by this transaction did not exist in the ledger. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | | `tecOVERSIZE` | 145 | This transaction could not be processed, because the server created an excessively large amount of [metadata](transaction-metadata.html) when it tried to apply the transaction. [New in: rippled 0.29.0-hf1][] | -| `tecOWNERS` | 132 | The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the [`lsfRequireAuth`](accountset.html#accountset-flags) flag if it has any trust lines or available offers. | +| `tecOWNERS` | 132 | The transaction cannot succeed because the sender already owns objects in the ledger. For example, an account cannot enable the [`lsfRequireAuth`](accountset.html#accountset-flags) flag if it has any trust lines or available offers. | | `tecPATH_DRY` | 128 | The transaction failed because the provided [paths](paths.html) did not have enough liquidity to send anything at all. This could mean that the source and destination accounts are not linked by [trust lines](trust-lines-and-issuing.html). | | `tecPATH_PARTIAL` | 101 | The transaction failed because the provided [paths](paths.html) did not have enough liquidity to send the full amount. | | `tecTOO_SOON` | 152 | The [AccountDelete transaction][] failed because the account to be deleted had a `Sequence` number that is too high. The current ledger index must be at least 256 higher than the account's sequence number. | | `tecUNFUNDED` | 129 | The transaction failed because the account does not hold enough XRP to pay the amount in the transaction _and_ satisfy the additional [reserve](reserves.html) necessary to execute this transaction. | | `tecUNFUNDED_ADD` | 102 | **DEPRECATED.** | -| `tecUNFUNDED_AMM` | 162 | The [AMMCreate transaction][] :not_enabled: failed because the sender does not have enough of the specified assets to fund it. | | `tecUNFUNDED_PAYMENT` | 104 | The transaction failed because the sending account is trying to send more XRP than it holds, not counting the [reserve](reserves.html). | | `tecUNFUNDED_OFFER` | 103 | The [OfferCreate transaction][] failed because the account creating the offer does not have any of the `TakerGets` currency. | diff --git a/content/references/protocol-reference/transactions/transaction-results/tem-codes.md b/content/references/protocol-reference/transactions/transaction-results/tem-codes.md index 1427c28d44..59a29869fd 100644 --- a/content/references/protocol-reference/transactions/transaction-results/tem-codes.md +++ b/content/references/protocol-reference/transactions/transaction-results/tem-codes.md @@ -13,8 +13,6 @@ These codes indicate that the transaction was malformed, and cannot succeed acco | Code | Explanation | |:------------------------------|:----------------------------------------------| -| `temBAD_AMM_OPTIONS` | The AMM-related transaction :not_enabled: specified a combination of parameters that is invalid. | -| `temBAD_AMM_TOKENS` | The AMM-related transaction :not_enabled: specified its LP Tokens in an invalid format or specified LP Tokens for the wrong AMM instance. | | `temBAD_AMOUNT` | An amount specified by the transaction (for example the destination `Amount` or `SendMax` values of a [Payment][]) was invalid, possibly because it was a negative number. | | `temBAD_AUTH_MASTER` | The key used to sign this transaction does not match the master key for the account sending it, and the account does not have a [Regular Key](cryptographic-keys.html) set. | | `temBAD_CURRENCY` | The transaction improperly specified a currency field. See [Specifying Currency Amounts][Currency Amount] for the correct format. | @@ -45,8 +43,6 @@ These codes indicate that the transaction was malformed, and cannot succeed acco | `temREDUNDANT` | The transaction would do nothing; for example, it is sending a payment directly to the sending account, or creating an offer to buy and sell the same currency from the same issuer. | | `temREDUNDANT_SEND_MAX` | [Removed in: rippled 0.28.0][] | | `temRIPPLE_EMPTY` | The [Payment transaction][] includes an empty `Paths` field, but paths are necessary to complete this payment. | -| `temBAD_AMM_OPTIONS` | The transaction specified an invalid combination of options regarding an [Automated Market Maker](automated-market-makers.html) (AMM). :not_enabled: | -| `temBAD_AMM_TOKENS` | The transaction incorrectly specified an [Automated Market Maker](automated-market-makers.html)'s LP Tokens. :not_enabled: | | `temBAD_WEIGHT` | The [SignerListSet transaction][] includes a `SignerWeight` that is invalid, for example a zero or negative value. | | `temBAD_SIGNER` | The [SignerListSet transaction][] includes a signer who is invalid. For example, there may be duplicate entries, or the owner of the SignerList may also be a member. | | `temBAD_QUORUM` | The [SignerListSet transaction][] has an invalid `SignerQuorum` value. Either the value is not greater than zero, or it is more than the sum of all signers in the list. | diff --git a/content/references/protocol-reference/transactions/transaction-results/ter-codes.ja.md b/content/references/protocol-reference/transactions/transaction-results/ter-codes.ja.md index 45d4af4db0..a45abf59da 100644 --- a/content/references/protocol-reference/transactions/transaction-results/ter-codes.ja.md +++ b/content/references/protocol-reference/transactions/transaction-results/ter-codes.ja.md @@ -17,7 +17,6 @@ labels: | `terINSUF_FEE_B` | トランザクションの送信元アカウントに、トランザクションに指定されている`Fee`の支払いに十分なXRPがありません。 | | `terLAST` | 内部使用のみ。通常はこのコードは返されません。 | | `terNO_ACCOUNT` | レジャーのトランザクション送信元アドレスに(まだ)資金が供給されていません。 | -| `terNO_AMM` | The AMM-related transaction :not_enabled: specifies an asset pair that does not currently have an AMM instance. | | `terNO_AUTH` | トランザクションでは、`lsfRequireAuth`が有効であるアカウントが発行した通貨を未承認のトラストラインに追加する操作が行われます。たとえば、保有が許可されていない通貨を購入するオファーを出した場合などです。 | | `terNO_LINE` | 内部使用のみ。通常はこのコードは返されません。 | | `terNO_RIPPLE` | 内部使用のみ。通常はこのコードは返されません。 | diff --git a/content/references/protocol-reference/transactions/transaction-results/ter-codes.md b/content/references/protocol-reference/transactions/transaction-results/ter-codes.md index 611c3b29e4..acfa038d89 100644 --- a/content/references/protocol-reference/transactions/transaction-results/ter-codes.md +++ b/content/references/protocol-reference/transactions/transaction-results/ter-codes.md @@ -17,7 +17,6 @@ These codes indicate that the transaction failed, but it could apply successfull | `terINSUF_FEE_B` | The account sending the transaction does not have enough XRP to pay the `Fee` specified in the transaction. | | `terLAST` | Used internally only. This code should never be returned. | | `terNO_ACCOUNT` | The address sending the transaction is not funded in the ledger (yet). | -| `terNO_AMM` | The AMM-related transaction :not_enabled: specifies an asset pair that does not currently have an AMM instance. | | `terNO_AUTH` | The transaction would involve adding currency issued by an account with `lsfRequireAuth` enabled to a trust line that is not authorized. For example, you placed an offer to buy a currency you aren't authorized to hold. | | `terNO_LINE` | Used internally only. This code should never be returned. | | `terNO_RIPPLE` | Used internally only. This code should never be returned. | diff --git a/dactyl-config.yml b/dactyl-config.yml index 452ab54b01..59a0eba81d 100644 --- a/dactyl-config.yml +++ b/dactyl-config.yml @@ -916,12 +916,13 @@ pages: targets: - ja - - md: concepts/decentralized-exchange/automated-market-makers.md + # Redirect AMM concept to separate site for unreleased features + - name: Automated Market Makers (AMM) + html: automated-market-makers.html + template: pagetype-redirect.html.jinja + redirect_url: https://opensource.ripple.com/docs/xls-30d-amm/automated-market-makers/ targets: - en - - - md: concepts/decentralized-exchange/automated-market-makers.ja.md - targets: - ja - md: concepts/decentralized-exchange/offers.md From eea1a6a0d6ef1a83b42733be76251ba6480c3232 Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Tue, 18 Apr 2023 17:23:56 -0700 Subject: [PATCH 4/7] Contributing: clarify hard-wrapping and code sample line length --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2569c21925..573e66bb12 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -124,7 +124,9 @@ Use the following conventions when creating a page: - The HTML filename and MD filename should match exactly except for the file extension. - The filenames should closely match the title of the page, including words like "and" and "the", but should be in all lowercase with hyphens instead of spaces and punctuation. For example, `cash-a-check-for-an-exact-amount.md`. If you change the title of a page, change the filename too. (If it has already been published at another URL, leave a redirect from the old URL.) - Always start a page with a h1 header. -- Don't use any formatting (like _italics_ or `code font`) in the title of the page +- Don't use any formatting (like _italics_ or `code font`) in the title of the page. +- Don't hard-wrap text in Markdown files. +- For code samples, try to keep lines no longer than 80 columns wide. - When in doubt, follow [Ciro Santilli's Markdown Style Guide (Writability Profile)](https://cirosantilli.com/markdown-style-guide/). - Landing pages should be in subfolders and should have the same filename as the folder. For example, the landing page of the "Accounts" page group should be `accounts/accounts.md` with the HTML filename `accounts.html`. **Don't** use `index.md`. - Don't use tab characters for indentation in Markdown or code samples. Use **4 spaces per indent**, except in **JavaScript** code samples, which should use 2 spaces per indent. From 0853e070ce3251166186358437e1a98ded3128b0 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Thu, 20 Apr 2023 11:54:24 -0700 Subject: [PATCH 5/7] ledger_entry: remove leftover AMM link --- .../public-api-methods/ledger-methods/ledger_entry.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md b/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md index 50d0333e69..ecd202a315 100644 --- a/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md +++ b/content/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md @@ -31,7 +31,6 @@ In addition to the general fields above, you must specify *exactly 1* of the fol - [`index`](#get-ledger-object-by-id) - [`account_root`](#get-accountroot-object) -- [`amm`](#get-amm-object) :not_enabled: - [`directory`](#get-directorynode-object) - [`offer`](#get-offer-object) - [`ripple_state`](#get-ripplestate-object) From a0044486a5651e81aa4384e05a7e617e7afaebcd Mon Sep 17 00:00:00 2001 From: Elliot Lee Date: Mon, 24 Apr 2023 09:30:38 -0700 Subject: [PATCH 6/7] Update check.md - add link to tutorial with example code --- .../protocol-reference/ledger-data/ledger-object-types/check.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/references/protocol-reference/ledger-data/ledger-object-types/check.md b/content/references/protocol-reference/ledger-data/ledger-object-types/check.md index 26211e38ac..7d333c33c2 100644 --- a/content/references/protocol-reference/ledger-data/ledger-object-types/check.md +++ b/content/references/protocol-reference/ledger-data/ledger-object-types/check.md @@ -65,6 +65,8 @@ The ID of a `Check` object is the [SHA-512Half][] of the following values, conca * The `Sequence` number of the [CheckCreate transaction][] that created the `Check` object. If the CheckCreate transaction used a [Ticket](tickets.html), use the `TicketSequence` value instead. +See the tutorial showing how to [Send a Check](send-a-check.html). + {% include '_snippets/rippled-api-links.md' %} {% include '_snippets/tx-type-links.md' %} From fba08a582a199f2c8dc76f7839a61e23791d2cc0 Mon Sep 17 00:00:00 2001 From: Aria Keshmiri <43763415+AKCodez@users.noreply.github.com> Date: Mon, 24 Apr 2023 19:01:57 -0700 Subject: [PATCH 7/7] Funding page - adds accelerator section (#1870) * adds funding page changes * adds link to accelerator page --- template/page-funding.html.jinja | 82 ++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/template/page-funding.html.jinja b/template/page-funding.html.jinja index 767a17758c..2906b01c9e 100644 --- a/template/page-funding.html.jinja +++ b/template/page-funding.html.jinja @@ -212,6 +212,88 @@ + +
+ +
+ +
+
+

{% trans %}XRPL Accelerator{% endtrans %}

+
{% trans %}Advance your project{% endtrans %}
+
+

{% trans %}12-week program for entrepreneurs building on the XRP Ledger to scale their projects into thriving businesses.{% endtrans %}

+ + +
+ +
+
+ +
+
+ +
+
Best for
+

Start-ups building scalable products on XRPL that can capture a large market opportunity

+
+
+ +
+ +
+
Required
+

Strong founding team
Bold, ambitious vision
Ideally an MVP and monetization strategy

+
+
+
+ +
+
Level
+

XRPL advanced developers
Business acumen

+
+
+ + +
+ +
+
Funding Levels
+

$50,000 (grant) + pitch for venture funding

+
+
+
+ + + +
+
+
+ +
+
Required
+

Strong founding team
Bold, ambitious vision
Ideally an MVP and monetization strategy

+
+
+
+
+ +
+
Funding Levels
+

$50,000 (grant) + pitch for venture funding

+
+
+
+ +
+
+ +
+