diff --git a/@i18n/ja/community/report-a-scam.md b/@i18n/ja/community/report-a-scam.md index fdf8052c2b..aa0688f7ba 100644 --- a/@i18n/ja/community/report-a-scam.md +++ b/@i18n/ja/community/report-a-scam.md @@ -24,7 +24,7 @@ parent: contribute.html - [Uphold](https://support.uphold.com/hc/en-us/requests/new) - [Bitrue](https://www.bitrue.com/exchange-web/footer/contactus.html) -4. 詐欺業者がXRP Ledger上でXRPを他のトークンと交換した場合、そのトークンの発行者に連絡してください。発行者は[詐欺業者のトラストラインを凍結する](../docs/tutorials/use-tokens/freeze-a-trust-line.md)ことができるかもしれません。 +4. 詐欺業者がXRP Ledger上でXRPを他のトークンと交換した場合、そのトークンの発行者に連絡してください。発行者は[詐欺業者のトラストラインを凍結する](../docs/tutorials/tasks/use-tokens/freeze-a-trust-line.md)ことができるかもしれません。 詐欺業者の報告に関する詳細は、[Xrplorer Forensicsのヘルプ](https://xrplorer.com/forensics/help)をご覧ください。 diff --git a/@i18n/ja/concepts/accounts/account-types.md b/@i18n/ja/concepts/accounts/account-types.md index e3dc8a60b3..62a40e4292 100644 --- a/@i18n/ja/concepts/accounts/account-types.md +++ b/@i18n/ja/concepts/accounts/account-types.md @@ -73,8 +73,8 @@ labels: - [アカウント](accounts.md) - [暗号鍵](cryptographic-keys.md) - **チュートリアル:** - - [レギュラーキーペアの割り当て](../../tutorials/manage-account-settings/assign-a-regular-key-pair.md) - - [レギュラーキーペアの変更または削除](../../tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md) + - [レギュラーキーペアの割り当て](../../tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md) + - [レギュラーキーペアの変更または削除](../../tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md) - **リファレンス:** - [account_infoメソッド][] - [SetRegularKeyトランザクション][] diff --git a/@i18n/ja/concepts/accounts/accounts.md b/@i18n/ja/concepts/accounts/accounts.md index 48e8e52882..387669c125 100644 --- a/@i18n/ja/concepts/accounts/accounts.md +++ b/@i18n/ja/concepts/accounts/accounts.md @@ -64,6 +64,6 @@ XRP Ledgerでアカウントを取得する一般的な方法は次のとおり - [AccountRootオブジェクト](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md) - **チュートリアル:** - [アカウント設定の管理(カテゴリー)](../../tutorials/tasks/manage-account-settings/index.md) - - [WebSocketを使用した着信ペイメントの監視](../../tutorials/get-started/monitor-incoming-payments-with-websocket.md) + - [WebSocketを使用した着信ペイメントの監視](../../tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/concepts/accounts/cryptographic-keys.md b/@i18n/ja/concepts/accounts/cryptographic-keys.md index 0a14db3609..5a4a3bbd4b 100644 --- a/@i18n/ja/concepts/accounts/cryptographic-keys.md +++ b/@i18n/ja/concepts/accounts/cryptographic-keys.md @@ -88,7 +88,7 @@ XRP Ledgerは、複数の[暗号署名アルゴリズム](#署名アルゴリズ **注意:** 悪意のある行為者があなたのマスター秘密鍵(またはシード)を知った場合、マスター鍵ペアが無効化されていない限り、彼らはあなたのアカウントを完全にコントロールすることができます。彼らはあなたのアカウントが保持している全ての資金を盗み、その他の回復不能な損害を与えることができます。秘密鍵は慎重に扱ってください! -マスターキーペアは変更できないため、漏えいが発生した場合には無効化せざるを得ません。[マスターキーペアをオフラインで保管](../../tutorials/manage-account-settings/offline-account-setup.md)し、代わりにアカウントのトランザクションの署名用にレギュラーキーペアを設定することを強くお勧めします。マスターキーペアを有効にしておきながらオンラインで使用することで、インターネットを使用してマスターキーペアにアクセスすることはできませんが、緊急時にマスターキーペアを使うことが可能になります。 +マスターキーペアは変更できないため、漏えいが発生した場合には無効化せざるを得ません。[マスターキーペアをオフラインで保管](../../tutorials/tasks/manage-account-settings/offline-account-setup.md)し、代わりにアカウントのトランザクションの署名用にレギュラーキーペアを設定することを強くお勧めします。マスターキーペアを有効にしておきながらオンラインで使用することで、インターネットを使用してマスターキーペアにアクセスすることはできませんが、緊急時にマスターキーペアを使うことが可能になります。 マスターキーペアをオフラインで保管する際には、不正使用者がアクセスできる場所に秘密情報(パスフレーズ、シード、秘密鍵)を保管しないようにします。たとえば、インターネットに一切接続されない物理的に隔離されたマシンに保管したり、紙に記入して安全な場所に保管します。一般的には、インターネットと相互にやり取りをするコンピュータプログラムがアクセスできる範囲内には保管しません。マスターキーペアは、緊急時(漏えいの恐れがある場合や実際に漏えいが発生した場合にレギュラーキーペアを変更するなど)に限り、最も信頼できるデバイスでのみ使用することが理想的です。 @@ -119,7 +119,7 @@ XRP Ledgerアカウントは、_レギュラーキーペア_ と呼ばれるセ レギュラーキーペアは、マスターキーペアと同じ形式です。生成方法も同じです(例えば、[wallet_proposeメソッド][]を使用します)。唯一の違いは、レギュラーキーペアは、トランザクションに署名するアカウントと本質的に結びついていないことです。あるアカウントのマスターキーペアを別のアカウントの通常キーペアとして使用することは可能です(ただし、推奨されるものではありません)。 -[SetRegularKeyトランザクション][]は、アカウントのレギュラーキーペアを割り当てたり変更したりします。レギュラーキーペアの割り当てまたは変更に関するチュートリアルは、[レギュラーキーペアの割り当て](../../tutorials/manage-account-settings/assign-a-regular-key-pair.md)をご覧ください +[SetRegularKeyトランザクション][]は、アカウントのレギュラーキーペアを割り当てたり変更したりします。レギュラーキーペアの割り当てまたは変更に関するチュートリアルは、[レギュラーキーペアの割り当て](../../tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md)をご覧ください ## 署名アルゴリズム @@ -248,8 +248,8 @@ XRP Ledgerアカウントキーでのsecp256k1鍵導出に、Ed25519鍵導出よ - **コンセプト:** - [発行アドレスと運用アドレス](account-types.md) - **チュートリアル:** - - [レギュラーキーペアの割り当て](../../tutorials/manage-account-settings/assign-a-regular-key-pair.md) - - [レギュラーキーペアの変更または削除](../../tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md) + - [レギュラーキーペアの割り当て](../../tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md) + - [レギュラーキーペアの変更または削除](../../tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md) - **リファレンス:** - [SetRegularKeyトランザクション][] - [AccountRootレジャーオブジェクト](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md) diff --git a/@i18n/ja/concepts/accounts/multi-signing.md b/@i18n/ja/concepts/accounts/multi-signing.md index 4616f3927f..56d54756e7 100644 --- a/@i18n/ja/concepts/accounts/multi-signing.md +++ b/@i18n/ja/concepts/accounts/multi-signing.md @@ -58,7 +58,7 @@ CEOのウェイトを3、副社長3人のウェイトを各2、取締役3人の マルチシグトランザクションを正常に送信するには、以下のすべての条件を満たす必要があります。 -* トランザクションを送信するアドレス(`Account`に指定されるアドレス)は、[レジャーに`SignerList`](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md)を所有する必要があります。この方法については、[マルチシグを設定する](../../tutorials/manage-account-settings/set-up-multi-signing.md)を参照してください。 +* トランザクションを送信するアドレス(`Account`に指定されるアドレス)は、[レジャーに`SignerList`](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md)を所有する必要があります。この方法については、[マルチシグを設定する](../../tutorials/tasks/manage-account-settings/set-up-multi-signing.md)を参照してください。 * トランザクションに`SigningPubKey`フィールドを空の文字列として含める必要があります。 * トランザクションに、署名の配列が指定されている[`Signers`フィールド](../../references/protocol/transactions/common-fields.md#signersフィールド)を含める必要があります。 * `Signers`配列に含まれている署名は、`SignerList`で定義されている署名と一致している必要があります。 @@ -67,13 +67,13 @@ CEOのウェイトを3、副社長3人のウェイトを各2、取締役3人の * トランザクションのすべてのフィールドは、署名収集前に定義する必要があります。フィールドの[自動入力](../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)は実行できません。 * `Signers`配列がバイナリ形式で指定される場合、この配列は署名者アドレスの数値に基づいて、低い値から順にソートされている必要があります。(JSONとして提出される場合は、[submit_multisignedメソッド][]がこの処理を自動的に実行します。) -詳細は、[マルチシグの設定](../../tutorials/manage-account-settings/set-up-multi-signing.md)を参照してください。 +詳細は、[マルチシグの設定](../../tutorials/tasks/manage-account-settings/set-up-multi-signing.md)を参照してください。 ## 関連項目 - **チュートリアル:** - - [マルチシグを設定する](../../tutorials/manage-account-settings/set-up-multi-signing.md) - - [マルチシグトランザクションを送信する](../../tutorials/manage-account-settings/send-a-multi-signed-transaction.md) + - [マルチシグを設定する](../../tutorials/tasks/manage-account-settings/set-up-multi-signing.md) + - [マルチシグトランザクションを送信する](../../tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md) - **コンセプト:** - [暗号鍵](cryptographic-keys.md) - [マルチシグトランザクションの特別なトランザクションコスト](../transactions/transaction-cost.md#特別なトランザクションコスト) diff --git a/@i18n/ja/concepts/accounts/reserves.md b/@i18n/ja/concepts/accounts/reserves.md index 072be5d0c2..630fc79e41 100644 --- a/@i18n/ja/concepts/accounts/reserves.md +++ b/@i18n/ja/concepts/accounts/reserves.md @@ -54,7 +54,7 @@ XRP Ledgerでは、スパムや悪意のある使用によって、共有グロ アカウントの所有者準備金を決定するには、増分準備金にアカウントが所有するオブジェクトの数を掛けます。アカウントが所有しているオブジェクトの数を調べるには、[account_infoメソッド][]を呼び出し、`account_data.OwnerCount`を取得します。 -アドレスの必要となる合計準備金を計算するには、`OwnerCount`に`reserve_inc_xrp`を掛け、次に`reserve_base_xrp`を加えます。[この計算をPythonで行うデモ](../../tutorials/build-apps/build-a-desktop-wallet-in-python.md#codeblock-17)があります。 +アドレスの必要となる合計準備金を計算するには、`OwnerCount`に`reserve_inc_xrp`を掛け、次に`reserve_base_xrp`を加えます。[この計算をPythonで行うデモ](../../tutorials/python/build-a-desktop-wallet-in-python.md#codeblock-17)があります。 ## 必要準備金を下回る @@ -76,6 +76,6 @@ XRP Ledgerには、準備金要件を調整する仕組みがあります。こ - [AccountRootオブジェクト][] - [手数料の投票](../consensus-protocol/fee-voting.md) - [SetFee疑似トランザクション][]疑似トランザクション -- [チュートリアル: 必要準備金の計算と表示(Python)](../../tutorials/build-apps/build-a-desktop-wallet-in-python.md#3-display-an-account) +- [チュートリアル: 必要準備金の計算と表示(Python)](../../tutorials/python/build-a-desktop-wallet-in-python.md#3-display-an-account) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/concepts/accounts/tickets.md b/@i18n/ja/concepts/accounts/tickets.md index bfca309173..4eee5c8594 100644 --- a/@i18n/ja/concepts/accounts/tickets.md +++ b/@i18n/ja/concepts/accounts/tickets.md @@ -63,7 +63,7 @@ XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引 - **Concepts:** - [マルチシグ](multi-signing.md) - **Tutorials:** - - [チケットを使用する](../../tutorials/manage-account-settings/use-tickets.md) + - [チケットを使用する](../../tutorials/tasks/manage-account-settings/use-tickets.md) - **References:** - [TicketCreate トランザクション][] - [トランザクションの共通フィールド](../../references/protocol/transactions/common-fields.md) diff --git a/@i18n/ja/concepts/networks-and-servers/index.md b/@i18n/ja/concepts/networks-and-servers/index.md index e2fc14cbc4..2c30fa0209 100644 --- a/@i18n/ja/concepts/networks-and-servers/index.md +++ b/@i18n/ja/concepts/networks-and-servers/index.md @@ -27,7 +27,7 @@ XRP Ledgerを動かすサーバーソフトウェアは、主に2種類ありま * 選択的に支払いパスや通貨交換のオファーを表示または非表示にすることができ、最良の取引を提供せず、彼ら自身の利益を確保する可能性があります。 * もし、アドレスの秘密鍵を送信してしまった場合、サーバーの管理者はあなたに代わって任意のトランザクションを実行し、アドレスが保有するすべての資金を転送または破棄する可能性があります。 -さらに、独自のサーバーを運営することで、[管理者アクセス権限](../../tutorials/get-started/get-started-using-http-websocket-apis.md#管理者アクセス権限)が与えられ、重要な管理者専用コマンドや負荷の高いコマンドを実行することができます。共有サーバーを使用する場合、同じサーバーの他のユーザーとサーバーの計算能力を共有することを考慮しなければいけません。WebSocket APIのコマンドの多くはサーバーに大きな負担をかけるので、サーバーには必要なときにレスポンスを縮小するオプションがあります。サーバーを他人と共有する場合、常に最良の結果を得られるとは限りません。 +さらに、独自のサーバーを運営することで、[管理者アクセス権限](../../tutorials/http-websocket-apis/get-started.md#管理者アクセス権限)が与えられ、重要な管理者専用コマンドや負荷の高いコマンドを実行することができます。共有サーバーを使用する場合、同じサーバーの他のユーザーとサーバーの計算能力を共有することを考慮しなければいけません。WebSocket APIのコマンドの多くはサーバーに大きな負担をかけるので、サーバーには必要なときにレスポンスを縮小するオプションがあります。サーバーを他人と共有する場合、常に最良の結果を得られるとは限りません。 最後に、バリデーションサーバーを運用する場合、パブリックネットワークへのプロキシとしてストックサーバーを使用し、バリデーションサーバーをプライベートネットワークに置いて、ストックサーバーを通してのみ外部にアクセスできるようにすることができます。これにより、バリデーションサーバに侵入することがより困難になります。 diff --git a/@i18n/ja/concepts/networks-and-servers/rippled-server-modes.md b/@i18n/ja/concepts/networks-and-servers/rippled-server-modes.md index 7e0aabe1bb..9199bc46d9 100644 --- a/@i18n/ja/concepts/networks-and-servers/rippled-server-modes.md +++ b/@i18n/ja/concepts/networks-and-servers/rippled-server-modes.md @@ -12,7 +12,7 @@ labels: - [**P2Pモード**](#p2pモード) - ピアツーピアネットワークをフォローし、トランザクションを処理し、ある程度の[レジャー履歴](ledger-history.md)を維持します。このモードは、以下の役割のいずれか、またはすべてを行うように設定することができます。 - [**バリデータ**](#バリデータ) - コンセンサスに参加することで、ネットワークの安全確保に貢献します。 - - [**APIサーバー**](#apiサーバー) - 共有レジャーからデータを読み込んだり、トランザクションを送信したり、レジャーのアクティビティを監視するための[APIアクセス](../../tutorials/get-started/get-started-using-http-websocket-apis.md)を提供します。オプションとして、トランザクションやレジャーの履歴を完全に記録する [**全履歴サーバー**](#全履歴サーバー) とすることができます。 + - [**APIサーバー**](#apiサーバー) - 共有レジャーからデータを読み込んだり、トランザクションを送信したり、レジャーのアクティビティを監視するための[APIアクセス](../../tutorials/http-websocket-apis/get-started.md)を提供します。オプションとして、トランザクションやレジャーの履歴を完全に記録する [**全履歴サーバー**](#全履歴サーバー) とすることができます。 - [**ハブサーバー**](#公開ハブ) - ピアツーピアネットワークの他の多くのメンバー間のメッセージを中継します。 - [**レポートモード**](#レポートモード) - リレーショナルデータベースからのAPIリクエストに対応するための専用モードです。ピアツーピアネットワークには参加しないため、P2Pモードサーバーを実行し、信頼できるgRPC接続を使用してレポートモードサーバーに接続する必要があります。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.7.0" %}新規: rippled 1.7.0{% /badge %} - [**スタンドアロンモード**](#スタンドアロンモード) - テスト用のオフラインモードです。ピアツーピアネットワークに接続せず、コンセンサスも使用しません。 diff --git a/@i18n/ja/concepts/payment-types/checks.md b/@i18n/ja/concepts/payment-types/checks.md index deb04d1158..3fc1e7d5a2 100644 --- a/@i18n/ja/concepts/payment-types/checks.md +++ b/@i18n/ja/concepts/payment-types/checks.md @@ -16,7 +16,7 @@ XRP LedgerのChecks機能を使用すると、指定の受取人による取消 XRP Ledger Checksには有効期限があり、この期限を過ぎると換金できなくなります。受取人が有効期限までにCheckを換金できなかった場合、Checkオブジェクトは誰かに取り消されるまでXRP Ledgerに残ります。有効期限切れになったCheckは誰でも取り消すことができます。有効期限前、あるいはChecksが換金されるまでは、送金元と受取人のみがCheckを取り消すことができます。Checkオブジェクトは、送金元がそのCheckを換金できた時点または誰かが取り消した時点でLedgerから削除されます。 -Checksは[Escrow](escrow.md)と[Payment Channel](../../tutorials/use-specialized-payment-types/use-payment-channels.md)に似ていますが、Checksとこれらの機能の間には重要な相違がいくつかあります。 +Checksは[Escrow](escrow.md)と[Payment Channel](../../tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md)に似ていますが、Checksとこれらの機能の間には重要な相違がいくつかあります。 * Checksではトークンを送金できます。Payment ChannelとEscrowで送金できるのはXRPのみです。 @@ -97,19 +97,19 @@ XRP LedgerのChecksの詳細は、以下を参照してください。 - [CheckCreate][] - [CheckCash][] - [CheckCancel][] -- [Checksのチュートリアル](../../tutorials/use-specialized-payment-types/use-checks/use-checks.md) - - [Checkの送信](../../tutorials/use-specialized-payment-types/use-checks/send-a-check.md) - - [送金元アドレスに基づくChecksの検索](../../tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md) - - [受取人アドレスに基づくChecksの検索](../../tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md) - - [Checkの指定された金額での換金](../../tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md) - - [Checkの変動金額での換金](../../tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md) - - [Checkの取消し](../../tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md) +- [Checksのチュートリアル](../../tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md) + - [Checkの送信](../../tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md) + - [送金元アドレスに基づくChecksの検索](../../tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md) + - [受取人アドレスに基づくChecksの検索](../../tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md) + - [Checkの指定された金額での換金](../../tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md) + - [Checkの変動金額での換金](../../tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md) + - [Checkの取消し](../../tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md) - [Checks Amendment][] 関連機能の詳細については、以下を参照してください。 * [Deposit Authorization](../accounts/depositauth.md) * [Escrow](escrow.md) -* [Payment Channelチュートリアル](../../tutorials/use-specialized-payment-types/use-payment-channels.md) +* [Payment Channelチュートリアル](../../tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/concepts/payment-types/cross-currency-payments.md b/@i18n/ja/concepts/payment-types/cross-currency-payments.md index 6518ab7511..d96b5adb1c 100644 --- a/@i18n/ja/concepts/payment-types/cross-currency-payments.md +++ b/@i18n/ja/concepts/payment-types/cross-currency-payments.md @@ -9,7 +9,7 @@ labels: --- # クロスカレンシー支払い -XRP Ledgerでは、1つ以上のトークンとXRP、またはその両方を交換して、クロスカレンシー支払いができます。[XRPによる直接支払い](../../tutorials/get-started/send-xrp.md)と同様に、このような支払いでは[Paymentトランザクションタイプ][Payment]が使用されます。XRP Ledgerでのクロスカレンシー支払いは完全にアトミックです。つまり、支払いを全額実行するか、またはまったく実行しないかのいずれかになります。 +XRP Ledgerでは、1つ以上のトークンとXRP、またはその両方を交換して、クロスカレンシー支払いができます。[XRPによる直接支払い](../../tutorials/tasks/send-xrp.md)と同様に、このような支払いでは[Paymentトランザクションタイプ][Payment]が使用されます。XRP Ledgerでのクロスカレンシー支払いは完全にアトミックです。つまり、支払いを全額実行するか、またはまったく実行しないかのいずれかになります。 デフォルトでは、クロスカレンシー支払いでは宛先に一定額が送金され、支払元が変動コストを負担します。クロスカレンシー支払いが、[Partial Payments](partial-payments.md)で行われ、一定の送金限度内の変動額が宛先に送金される場合もあります。 diff --git a/@i18n/ja/concepts/payment-types/direct-xrp-payments.md b/@i18n/ja/concepts/payment-types/direct-xrp-payments.md index d7fb1134a6..1e419ed21d 100644 --- a/@i18n/ja/concepts/payment-types/direct-xrp-payments.md +++ b/@i18n/ja/concepts/payment-types/direct-xrp-payments.md @@ -80,8 +80,8 @@ XRP Ledgerでは、支払いを受け取ることができるアドレスは永 ## 関連項目 - **チュートリアル:** - - [XRPの送金(対話型チュートリアル)](../../tutorials/get-started/send-xrp.md) - - [WebSocketを使用した着信ペイメントの監視](../../tutorials/get-started/monitor-incoming-payments-with-websocket.md) + - [XRPの送金(対話型チュートリアル)](../../tutorials/tasks/send-xrp.md) + - [WebSocketを使用した着信ペイメントの監視](../../tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md) - **リファレンス:** - [Paymentトランザクション][] - [トランザクションの結果](../../references/protocol/transactions/transaction-results/transaction-results.md) diff --git a/@i18n/ja/concepts/payment-types/payment-channels.md b/@i18n/ja/concepts/payment-types/payment-channels.md index 86ea9e382e..0706e3733f 100644 --- a/@i18n/ja/concepts/payment-types/payment-channels.md +++ b/@i18n/ja/concepts/payment-types/payment-channels.md @@ -36,7 +36,7 @@ Payment Channelでは本来、そこで売買可能なものにいては、一 ## 関連項目 -- [Payment Channelの使用](../../tutorials/use-specialized-payment-types/use-payment-channels.md): Payment Channelを使用するプロセスを段階的に説明するチュートリアル。 +- [Payment Channelの使用](../../tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md): Payment Channelを使用するプロセスを段階的に説明するチュートリアル。 - [Escrow](escrow.md): 速度が遅い、条件付きの大量XRP決済のための類似機能。 diff --git a/@i18n/ja/concepts/payment-types/sending-payments-to-customers.md b/@i18n/ja/concepts/payment-types/sending-payments-to-customers.md index fc468abba4..20d5350777 100644 --- a/@i18n/ja/concepts/payment-types/sending-payments-to-customers.md +++ b/@i18n/ja/concepts/payment-types/sending-payments-to-customers.md @@ -19,6 +19,6 @@ labels: - `Paths`フィールドを省略します。このフィールドは、発行元から直接送信する場合や、送信するトークンと受信するトークンの通貨コードと発行元が同じである限り、つまり同じステーブルコインである限り、ホットウォレットから設定する必要はありません。`Paths`フィールドは[クロスカレンシー支払い](cross-currency-payments.md)やより長いマルチホップ(rippling)支払いを対象としています。単純に経路探索を行い、トランザクションにパスを設定すると、直接の経路が利用できない場合、支払いは失敗するのではなく、より高価な遠回りのパスを取るかもしれません。悪意のあるユーザはこれを利用して利益を得る可能性があります。 - `tecPATH_DRY`の結果コードが表示された場合、通常、必要なトラストラインを顧客がまだ設定していないか、発行者のripplingが正しく設定されていないことを意味します -XRP Ledger上でステーブルコインやその他のトークンを発行するための詳しいチュートリアルは、[代替可能トークンの発行](../../tutorials/use-tokens/issue-a-fungible-token.md)をご覧ください。 +XRP Ledger上でステーブルコインやその他のトークンを発行するための詳しいチュートリアルは、[代替可能トークンの発行](../../tutorials/tasks/use-tokens/issue-a-fungible-token.md)をご覧ください。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/concepts/tokens/decentralized-exchange/index.md b/@i18n/ja/concepts/tokens/decentralized-exchange/index.md index 40d13322f2..44b8dab418 100644 --- a/@i18n/ja/concepts/tokens/decentralized-exchange/index.md +++ b/@i18n/ja/concepts/tokens/decentralized-exchange/index.md @@ -10,7 +10,7 @@ seo: XRP Ledgerには、世界でおそらく最も古い _分散型取引所_ (「DEX」と略されることもあります)があり、2012年のXRP Ledgerのローンチ以来、現在まで稼働し続けています。この取引所では、ユーザーが[トークン](../index.md)をXRPや他のトークンと売買することができ、ネットワーク自体に課される[手数料](../../transactions/fees.md)はごく僅かです。(いかなる当事者にも支払われることはありません) -**注意:** 誰でも好きな通貨コードやティッカーシンボルで[トークンを発行](../../../tutorials/use-tokens/issue-a-fungible-token.md)して、分散型取引所で販売することができます。トークンを購入する前に必ずデューデリジェンスを行い、発行者に注意を払うようにしてください。さもなければ、価値あるものを手放し、それと引き換えに価値のないトークンを受け取ることになるかもしれません。 +**注意:** 誰でも好きな通貨コードやティッカーシンボルで[トークンを発行](../../../tutorials/tasks/use-tokens/issue-a-fungible-token.md)して、分散型取引所で販売することができます。トークンを購入する前に必ずデューデリジェンスを行い、発行者に注意を払うようにしてください。さもなければ、価値あるものを手放し、それと引き換えに価値のないトークンを受け取ることになるかもしれません。 ## 構造 diff --git a/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md b/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md index af339e67fa..8cbe4d9903 100644 --- a/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md +++ b/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md @@ -87,9 +87,9 @@ No Freeze設定は、アドレスのマスターキーのシークレットキ - **コンセプト:** - [トラストラインとトークンの発行](index.md) - **Tutorials:** - - [No Freezeを有効化](../../../tutorials/use-tokens/enable-no-freeze.md) - - [Global Freezeの実行](../../../tutorials/use-tokens/enact-global-freeze.md) - - [トラストラインの凍結](../../../tutorials/use-tokens/freeze-a-trust-line.md) + - [No Freezeを有効化](../../../tutorials/tasks/use-tokens/enable-no-freeze.md) + - [Global Freezeの実行](../../../tutorials/tasks/use-tokens/enact-global-freeze.md) + - [トラストラインの凍結](../../../tutorials/tasks/use-tokens/freeze-a-trust-line.md) - **References:** - [account_linesメソッド][] - [account_infoメソッド][] diff --git a/@i18n/ja/concepts/tokens/fungible-tokens/stablecoins/configuration.md b/@i18n/ja/concepts/tokens/fungible-tokens/stablecoins/configuration.md index 30937f52e5..f39beb13af 100644 --- a/@i18n/ja/concepts/tokens/fungible-tokens/stablecoins/configuration.md +++ b/@i18n/ja/concepts/tokens/fungible-tokens/stablecoins/configuration.md @@ -8,7 +8,7 @@ labels: --- # ステーブルコイン発行者の設定 -トークンの発行を始める前に、XRP Ledgerアカウントで設定する必要がある項目がいくつかあります。これらの設定の例については、[代替可能トークンの発行](../../../../tutorials/use-tokens/issue-a-fungible-token.md)をご覧ください。 +トークンの発行を始める前に、XRP Ledgerアカウントで設定する必要がある項目がいくつかあります。これらの設定の例については、[代替可能トークンの発行](../../../../tutorials/tasks/use-tokens/issue-a-fungible-token.md)をご覧ください。 設定すべき項目は以下の通りです。 diff --git a/@i18n/ja/concepts/tokens/index.md b/@i18n/ja/concepts/tokens/index.md index 94d78aea93..8bf92eec83 100644 --- a/@i18n/ja/concepts/tokens/index.md +++ b/@i18n/ja/concepts/tokens/index.md @@ -54,7 +54,7 @@ XRP Ledgerにおけるトークンは、[XRPと異なる性質](../../references 発行者は、ユーザがトークンを送金する際に自動で差し引かれる「送金手数料」(transfer-fees.html)を設定することができます。発行者は、自分のトークンを含む取引レートの[ティックサイズ](decentralized-exchange/ticksize.md)を定義することもできます。発行者と一般アカウントのどちらも、トラストラインを[凍結](fungible-tokens/freezes.md)することができ、トラストライン内のトークンの使用方法を制限することができます。( XRPにはこのいずれも適用されません。) -トークン発行の技術的な手順については、[代替可能トークンの発行](../../tutorials/use-tokens/issue-a-fungible-token.md) を参照してください。 +トークン発行の技術的な手順については、[代替可能トークンの発行](../../tutorials/tasks/use-tokens/issue-a-fungible-token.md) を参照してください。 ## 関連項目 @@ -63,7 +63,7 @@ XRP Ledgerにおけるトークンは、[XRPと異なる性質](../../references - [クロスカレンシー支払い](../payment-types/cross-currency-payments.md) - [分散型取引所](decentralized-exchange/index.md) - **チュートリアル:** - - [代替可能トークンの発行](../../tutorials/use-tokens/issue-a-fungible-token.md) + - [代替可能トークンの発行](../../tutorials/tasks/use-tokens/issue-a-fungible-token.md) - [XRP Ledgerゲートウェイの開設](../../use-cases/tokenization/stablecoin-issuer.md) - [トランザクションの結果の確認](../transactions/finality-of-results/look-up-transaction-results.md) - [専門化した支払いタイプの使用](../../tutorials/tasks/use-specialized-payment-types/index.md) diff --git a/@i18n/ja/concepts/tokens/nfts/batch-minting.md b/@i18n/ja/concepts/tokens/nfts/batch-minting.md index 4c9f07e3b5..19a5350627 100644 --- a/@i18n/ja/concepts/tokens/nfts/batch-minting.md +++ b/@i18n/ja/concepts/tokens/nfts/batch-minting.md @@ -28,7 +28,7 @@ NFTokenオブジェクトの初回販売以前の市場活動は、XRP Ledgerに プログラムまたはスクリプトを使用して、一度に多数のトークンをMintします。[チケット](../../accounts/tickets.md)を使えば、1度に200件までのトランザクションを並行して処理することができます。 -実用例としては、チュートリアルの[JavaScriptでNFTをバッチMint](../../../tutorials/quickstart/batch-mint-nfts-using-javascript.md)をご覧ください +実用例としては、チュートリアルの[JavaScriptでNFTをバッチMint](../../../tutorials/javascript/modular-tutorials/nfts/batch-mint-nfts.md)をご覧ください ### メリット diff --git a/@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md b/@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md index 348f7aa78b..22265e0445 100644 --- a/@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md +++ b/@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md @@ -16,7 +16,7 @@ labels: 1. `AccountSet`を使用して、自分の運用するウォレットを発行者の認可Minterとして割り当てます。[代理Mint](authorizing-another-minter.md)を参照してください。 1. 運用アカウントで`NFTokenMint`を使ってトークンをミントします。運用中のウォレットには、発行者のためにMintされたすべてのトークンが保管されます。[Mintのバッチ処理](batch-minting.md)をご覧ください 1. 発行者の認可Minterである自分の運用するウォレットを削除するために、`AccountSet`を使用します。 -1. 発行者アカウントを"ブラックホール化"する。[マスターキーペアの無効化](../../../tutorials/manage-account-settings/disable-master-key-pair.md)をご覧ください。 +1. 発行者アカウントを"ブラックホール化"する。[マスターキーペアの無効化](../../../tutorials/tasks/manage-account-settings/disable-master-key-pair.md)をご覧ください。 この時点で、発行者のアドレスを発行アカウントとする新たなトークンのミントは不可能となります。 diff --git a/@i18n/ja/concepts/transactions/finality-of-results/look-up-transaction-results.md b/@i18n/ja/concepts/transactions/finality-of-results/look-up-transaction-results.md index 6192a24bb9..743a134786 100644 --- a/@i18n/ja/concepts/transactions/finality-of-results/look-up-transaction-results.md +++ b/@i18n/ja/concepts/transactions/finality-of-results/look-up-transaction-results.md @@ -446,7 +446,7 @@ TrustSetトランザクションは、[`RippleState`オブジェクト](../../.. - [結果のファイナリティー](index.md) - トランザクションの成功また失敗が最終的なものとなるタイミングを判断する方法。(簡単な説明: トランザクションが検証済みレジャーにある場合は、その結果とメタデータは最終的なものです。) - **チュートリアル:** - [信頼できるトランザクションの送信](../reliable-transaction-submission.md) - - [WebSocketを使用した着信ペイメントの監視](../../../tutorials/get-started/monitor-incoming-payments-with-websocket.md) + - [WebSocketを使用した着信ペイメントの監視](../../../tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md) - **リファレンス:** - [レジャーオブジェクトタイプのリファレンス](../../../references/protocol/ledger-data/ledger-entry-types/index.md) - レジャーオブジェクトの使用可能なすべてのタイプのフィールド - [トランザクションのメタデータ](../../../references/protocol/transactions/metadata.md) - メタデータフォーマットとメタデータに表示されるフィールドの概要 diff --git a/@i18n/ja/concepts/transactions/index.md b/@i18n/ja/concepts/transactions/index.md index f45e0b7504..f2bf2ca22f 100644 --- a/@i18n/ja/concepts/transactions/index.md +++ b/@i18n/ja/concepts/transactions/index.md @@ -65,7 +65,7 @@ XRP Ledgerにトランザクションを送信するには、いくつかの手 5. `rippled`サーバーはそれらのトランザクションを正規順序で前のレジャーに適用し、それらの結果を共有します。 6. 十分に[信頼できるバリデータ](../networks-and-servers/rippled-server-modes.md#バリデータ)がまったく同じレジャーを作成した場合、そのレジャーは _検証済み_ であると宣言され、そのレジャーの[トランザクションの結果](../../references/protocol/transactions/transaction-results/transaction-results.md)は不変となります。 -XRP決済の送信に関する対話型チュートリアルについては、[Send XRP](../../tutorials/get-started/send-xrp.md)を参照してください。 +XRP決済の送信に関する対話型チュートリアルについては、[Send XRP](../../tutorials/tasks/send-xrp.md)を参照してください。 ### 未署名のトランザクションの例 @@ -205,9 +205,9 @@ XRP Ledgerは、トランザクションオブジェクトが送信元アドレ - [支払いタイプ](../payment-types/index.md) - **チュートリアル:** - [安全な署名の設定](secure-signing.md) - - [XRPの送金](../../tutorials/get-started/send-xrp.md) + - [XRPの送金](../../tutorials/tasks/send-xrp.md) - [トランザクションの結果の確認](finality-of-results/look-up-transaction-results.md) - - [WebSocketを使用した着信ペイメントの監視](../../tutorials/get-started/monitor-incoming-payments-with-websocket.md) + - [WebSocketを使用した着信ペイメントの監視](../../tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md) - [トランザクションの取り消しまたはスキップ](finality-of-results/canceling-a-transaction.md) - [信頼できるトランザクションの送信](reliable-transaction-submission.md) - **リファレンス:** diff --git a/@i18n/ja/concepts/transactions/reliable-transaction-submission.md b/@i18n/ja/concepts/transactions/reliable-transaction-submission.md index 7d4a58142b..c3ba855af9 100644 --- a/@i18n/ja/concepts/transactions/reliable-transaction-submission.md +++ b/@i18n/ja/concepts/transactions/reliable-transaction-submission.md @@ -157,7 +157,7 @@ For each persisted transaction without validated result: **ヒント:** [`AccountTxnID`フィールド](../../references/protocol/transactions/common-fields.md#accounttxnid)を使用すると、このような状況で冗長的なトランザクションが成功しないように防ぐことができます。 - - 不正使用者に秘密鍵を使われてトランザクションを送信された場合。その場合は、可能であれば[キーペアをローテーション](../../tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md)して、送信された他のトランザクションを確認します。また、ネットワークを監査して、その秘密鍵が大規模な侵入やセキュリティ侵害に関係していたかどうかを判断する必要があります。キーペアのローテーションに成功して、不正使用者がアカウントやシステムにアクセスできなくなったら、通常のアクティビティーを再開します。 + - 不正使用者に秘密鍵を使われてトランザクションを送信された場合。その場合は、可能であれば[キーペアをローテーション](../../tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md)して、送信された他のトランザクションを確認します。また、ネットワークを監査して、その秘密鍵が大規模な侵入やセキュリティ侵害に関係していたかどうかを判断する必要があります。キーペアのローテーションに成功して、不正使用者がアカウントやシステムにアクセスできなくなったら、通常のアクティビティーを再開します。 #### レジャーのギャップ diff --git a/@i18n/ja/concepts/transactions/secure-signing.md b/@i18n/ja/concepts/transactions/secure-signing.md index 413aa3997f..3606e3268c 100644 --- a/@i18n/ja/concepts/transactions/secure-signing.md +++ b/@i18n/ja/concepts/transactions/secure-signing.md @@ -48,7 +48,7 @@ labels: [構成ファイルの例](https://github.com/XRPLF/rippled/blob/8429dd67e60ba360da591bfa905b58a35638fda1/cfg/rippled-example.cfg#L1050-L1073)では、ローカルループバックネットワーク上(127.0.0.1)のポート5005でJSON-RPC(HTTP)、ポート6006でWebSocket(WS)の接続をリッスンし、接続されるすべてのクライアントを管理者として扱っています。 - **注意:** 署名に[コマンドラインAPI](../../references/http-websocket-apis/api-conventions/request-formatting.md#コマンドライン形式)を使用する場合は、コマンドラインでないクライアントで[Websocket APIやJSON-RPC APIを使用](../../tutorials/get-started/get-started-using-http-websocket-apis.md)する場合よりもセキュリティが弱くなります。コマンドライン構文を使用すると、秘密鍵がシステムのプロセスリストで他のユーザーに見える可能性があり、シェル履歴にプレーンテキスト形式でキーが保存される可能性があります。 + **注意:** 署名に[コマンドラインAPI](../../references/http-websocket-apis/api-conventions/request-formatting.md#コマンドライン形式)を使用する場合は、コマンドラインでないクライアントで[Websocket APIやJSON-RPC APIを使用](../../tutorials/http-websocket-apis/get-started.md)する場合よりもセキュリティが弱くなります。コマンドライン構文を使用すると、秘密鍵がシステムのプロセスリストで他のユーザーに見える可能性があり、シェル履歴にプレーンテキスト形式でキーが保存される可能性があります。 3. サーバーの使用中は、稼働状態と最新状態を維持して、ネットワークと同期されるようにしておく必要があります。 @@ -139,7 +139,7 @@ labels: - [マルチシグ](../accounts/multi-signing.md) - **チュートリアル:** - [rippledのインストール](../../infrastructure/installation/index.md) - - [レギュラーキーペアの割り当て](../../tutorials/manage-account-settings/assign-a-regular-key-pair.md) + - [レギュラーキーペアの割り当て](../../tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md) - [信頼できるトランザクションの送信](reliable-transaction-submission.md) - [パブリック署名の有効化](../../infrastructure/configuration/enable-public-signing.md) - **リファレンス:** diff --git a/@i18n/ja/concepts/transactions/source-and-destination-tags.md b/@i18n/ja/concepts/transactions/source-and-destination-tags.md index 0b0b93cc1b..fe790bdcaa 100644 --- a/@i18n/ja/concepts/transactions/source-and-destination-tags.md +++ b/@i18n/ja/concepts/transactions/source-and-destination-tags.md @@ -42,12 +42,12 @@ _送信元タグ_と_宛先タグ_は、XRP Ledgerの[支払い](../payment-type ## タグの必須化 -複数の顧客口座への支払いを受け取る可能性があるXRP Ledgerアドレスにとって、宛先タグなしで支払いを受け取ることは問題です。どの顧客に入金すべきかがすぐに分からないため、手作業が必要になったり、誰が受取人であったかを特定するために送金者とやり取りをしなければならなくなったりします。このようなケースを減らすために、[`RequireDest`設定を有効にする](../../tutorials/manage-account-settings/require-destination-tags.md)ことができます。そうすることで、もしユーザが支払先にタグを設定し忘れた場合、XRP Ledgerはその支払いを拒否します。その後、ユーザはそのタグを使って再度支払いを行うことができます。 +複数の顧客口座への支払いを受け取る可能性があるXRP Ledgerアドレスにとって、宛先タグなしで支払いを受け取ることは問題です。どの顧客に入金すべきかがすぐに分からないため、手作業が必要になったり、誰が受取人であったかを特定するために送金者とやり取りをしなければならなくなったりします。このようなケースを減らすために、[`RequireDest`設定を有効にする](../../tutorials/tasks/manage-account-settings/require-destination-tags.md)ことができます。そうすることで、もしユーザが支払先にタグを設定し忘れた場合、XRP Ledgerはその支払いを拒否します。その後、ユーザはそのタグを使って再度支払いを行うことができます。 ## 関連項目 -- [宛先タグの必須化](../../tutorials/manage-account-settings/require-destination-tags.md) +- [宛先タグの必須化](../../tutorials/tasks/manage-account-settings/require-destination-tags.md) - [支払いのタイプ](../payment-types/index.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/concepts/transactions/transaction-cost.md b/@i18n/ja/concepts/transactions/transaction-cost.md index 0123638caa..b8d08846fc 100644 --- a/@i18n/ja/concepts/transactions/transaction-cost.md +++ b/@i18n/ja/concepts/transactions/transaction-cost.md @@ -54,7 +54,7 @@ XRP LedgerをスパムやDoS攻撃から守るため、各トランザクショ ## ローカル負荷コスト -各`rippled`サーバーには、現在の負荷に基づいてコストしきい値が保持されています。送信するトランザクションの`Fee`値が`rippled`サーバーの現在の負荷ベーストランザクションコストより低い場合、そのサーバーはトランザクションの適用も中継もしません。(**注記:** [管理者接続](../../tutorials/get-started/get-started-using-http-websocket-apis.md)を介してトランザクションを送信する場合、トランザクションがスケーリングされていない最低トランザクションコストを満たすかぎり、サーバーはそのトランザクションを適用し、中継します。)トランザクションの`Fee`値が大半のサーバーの要件を満たさないかぎり、そのトランザクションが[コンセンサスプロセス](../consensus-protocol/index.md)を完了する可能性は極めて低くなります。 +各`rippled`サーバーには、現在の負荷に基づいてコストしきい値が保持されています。送信するトランザクションの`Fee`値が`rippled`サーバーの現在の負荷ベーストランザクションコストより低い場合、そのサーバーはトランザクションの適用も中継もしません。(**注記:** [管理者接続](../../tutorials/http-websocket-apis/get-started.md)を介してトランザクションを送信する場合、トランザクションがスケーリングされていない最低トランザクションコストを満たすかぎり、サーバーはそのトランザクションを適用し、中継します。)トランザクションの`Fee`値が大半のサーバーの要件を満たさないかぎり、そのトランザクションが[コンセンサスプロセス](../consensus-protocol/index.md)を完了する可能性は極めて低くなります。 ## オープンレジャーコスト diff --git a/@i18n/ja/docs/_snippets/checkcash-prereqs.md b/@i18n/ja/docs/_snippets/checkcash-prereqs.md index 5e02c9d160..7c48a3040a 100644 --- a/@i18n/ja/docs/_snippets/checkcash-prereqs.md +++ b/@i18n/ja/docs/_snippets/checkcash-prereqs.md @@ -6,4 +6,4 @@ Checkを換金するための前提条件は、正確な金額を換金する場 - 発行済み通貨用のCheckの場合は、ご自身(受取人)にイシュアーに対するトラストラインがある必要があります。このトラストライン上のご自身の限度額は、受け取る金額を追加するための残高より十分高くなければなりません。 - トラストラインと限度額について詳しくは、[トークン](../concepts/tokens/index.md)および[トラストラインと発行](../concepts/tokens/fungible-tokens/index.md)を参照してください。 - [トランザクションに安全に署名できる手段](../concepts/transactions/secure-signing.md)。 -- XRP Ledgerに接続できる[クライアントライブラリ](../references/client-libraries.md)か、それとも[HTTPライブラリ、WebSocketライブラリなど](../tutorials/get-started/get-started-using-http-websocket-apis.md)。 +- XRP Ledgerに接続できる[クライアントライブラリ](../references/client-libraries.md)か、それとも[HTTPライブラリ、WebSocketライブラリなど](../tutorials/http-websocket-apis/get-started.md)。 diff --git a/@i18n/ja/docs/_snippets/post-rippled-install.md b/@i18n/ja/docs/_snippets/post-rippled-install.md index ef2861656a..b7f43d146d 100644 --- a/@i18n/ja/docs/_snippets/post-rippled-install.md +++ b/@i18n/ja/docs/_snippets/post-rippled-install.md @@ -2,7 +2,7 @@ `rippled`ログメッセージの詳細は、[ログメッセージについて](../infrastructure/troubleshooting/understanding-log-messages.md)を参照してください。 -`rippled`が残りのネットワークと同期されたら、ストック`rippled`サーバーが完全に機能するようになります。このサーバーを、ローカル署名やXRP LedgerへのAPIアクセスに使用できます。`rippled`サーバーがネットワークと同期されているかどうかを判別するには、[`rippled`サーバーの状況](../references/http-websocket-apis/api-conventions/rippled-server-states.md)を使用します。[`rippled`のコマンドラインインターフェイス](../tutorials/get-started/get-started-using-http-websocket-apis.md#コマンドライン)を使用すれば、これを迅速にテストできます。 +`rippled`が残りのネットワークと同期されたら、ストック`rippled`サーバーが完全に機能するようになります。このサーバーを、ローカル署名やXRP LedgerへのAPIアクセスに使用できます。`rippled`サーバーがネットワークと同期されているかどうかを判別するには、[`rippled`サーバーの状況](../references/http-websocket-apis/api-conventions/rippled-server-states.md)を使用します。[`rippled`のコマンドラインインターフェイス](../tutorials/http-websocket-apis/get-started.md#コマンドライン)を使用すれば、これを迅速にテストできます。 ```sh rippled server_info diff --git a/@i18n/ja/docs/infrastructure/configuration/configure-amendment-voting.md b/@i18n/ja/docs/infrastructure/configuration/configure-amendment-voting.md index f2173dabbb..c9b7e4e6a5 100644 --- a/@i18n/ja/docs/infrastructure/configuration/configure-amendment-voting.md +++ b/@i18n/ja/docs/infrastructure/configuration/configure-amendment-voting.md @@ -9,7 +9,7 @@ labels: --- # Amendment投票機能の設定 -バリデーターとして設定されたサーバーは、[feature メソッド][]を使ってXRP Ledgerプロトコルの[Amendment](../../concepts/networks-and-servers/amendments.md)に投票することができます。(この方法には[管理者アクセス](../../tutorials/get-started/get-started-using-http-websocket-apis.md#管理者アクセス権限)が必要です). +バリデーターとして設定されたサーバーは、[feature メソッド][]を使ってXRP Ledgerプロトコルの[Amendment](../../concepts/networks-and-servers/amendments.md)に投票することができます。(この方法には[管理者アクセス](../../tutorials/http-websocket-apis/get-started.md#管理者アクセス権限)が必要です). 例えば、「SHAMapV2」Amendmentに反対票を投じるには、以下のコマンドを実行します。 diff --git a/@i18n/ja/docs/infrastructure/configuration/configure-grpc.md b/@i18n/ja/docs/infrastructure/configuration/configure-grpc.md index 257d7bb92f..322c0c19c0 100644 --- a/@i18n/ja/docs/infrastructure/configuration/configure-grpc.md +++ b/@i18n/ja/docs/infrastructure/configuration/configure-grpc.md @@ -49,7 +49,7 @@ gRPCを有効にするには、次の前提条件を満たす必要がありま - [XRP Ledgerの概要](/about/) - [`rippled`サーバのモード](../../concepts/networks-and-servers/rippled-server-modes.md) - **チュートリアル:** - - [HTTP / WebSocketAPIを使ってみる](../../tutorials/get-started/get-started-using-http-websocket-apis.md) + - [HTTP / WebSocketAPIを使ってみる](../../tutorials/http-websocket-apis/get-started.md) - [信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md) - [rippledサーバの管理](../installation/install-rippled-on-ubuntu.md) - **リファレンス:** diff --git a/@i18n/ja/docs/infrastructure/configuration/data-retention/configure-advisory-deletion.md b/@i18n/ja/docs/infrastructure/configuration/data-retention/configure-advisory-deletion.md index 9d1b082619..3382e014da 100644 --- a/@i18n/ja/docs/infrastructure/configuration/data-retention/configure-advisory-deletion.md +++ b/@i18n/ja/docs/infrastructure/configuration/data-retention/configure-advisory-deletion.md @@ -57,7 +57,7 @@ labels: 2. サーバーに対してオンライン削除を指示する[can_deleteメソッド][]の実行をテストします。 - このコマンドの実行には[`rippled`コマンドラインインターフェイス](../../../tutorials/get-started/get-started-using-http-websocket-apis.md#コマンドライン)を使用できます。例: + このコマンドの実行には[`rippled`コマンドラインインターフェイス](../../../tutorials/http-websocket-apis/get-started.md#コマンドライン)を使用できます。例: ``` $ rippled --conf=/etc/opt/ripple/rippled.cfg can_delete now diff --git a/@i18n/ja/docs/infrastructure/configuration/enable-public-signing.md b/@i18n/ja/docs/infrastructure/configuration/enable-public-signing.md index 30ed12c7bb..0af396d1b9 100644 --- a/@i18n/ja/docs/infrastructure/configuration/enable-public-signing.md +++ b/@i18n/ja/docs/infrastructure/configuration/enable-public-signing.md @@ -11,7 +11,7 @@ labels: {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.1.0" %}新規: rippled 1.1.0{% /badge %}デフォルトでは、`rippled`の署名メソッドは管理者接続に限定されています。v1.1.0以前のバージョンの`rippled`のように、署名メソッドをパブリックAPIメソッドとして使用できるようにするには、構成を変更することで、これを使用できるようにします。 -これにより、サーバーが「パブリック」[JSON-RPC接続およびWebSocket接続](../../tutorials/get-started/get-started-using-http-websocket-apis.md)を受け入れる場合は、これらのパブリック接続で以下のメソッドが使用できるようになります。 +これにより、サーバーが「パブリック」[JSON-RPC接続およびWebSocket接続](../../tutorials/http-websocket-apis/get-started.md)を受け入れる場合は、これらのパブリック接続で以下のメソッドが使用できるようになります。 - [sign][signメソッド] - [sign_for][sign_forメソッド] diff --git a/@i18n/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md b/@i18n/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md index 659df32980..4734aa913c 100644 --- a/@i18n/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md +++ b/@i18n/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md @@ -80,7 +80,7 @@ labels: - **チュートリアル:** - [rippledの構成](../configuration/index.md) - [rippledのトラブルシューティング](../troubleshooting/index.md) - - [rippled APIの使用開始](../../tutorials/get-started/get-started-using-http-websocket-apis.md) + - [rippled APIの使用開始](../../tutorials/http-websocket-apis/get-started.md) - **リファレンス:** - [rippled APIリファレンス](../../references/http-websocket-apis/index.md) - [`rippled`コマンドラインの使用](../commandline-usage.md) diff --git a/@i18n/ja/docs/infrastructure/installation/install-rippled-on-ubuntu.md b/@i18n/ja/docs/infrastructure/installation/install-rippled-on-ubuntu.md index d560f809c1..13eb12ca58 100644 --- a/@i18n/ja/docs/infrastructure/installation/install-rippled-on-ubuntu.md +++ b/@i18n/ja/docs/infrastructure/installation/install-rippled-on-ubuntu.md @@ -117,7 +117,7 @@ labels: - **チュートリアル:** - [rippledの構成](../configuration/index.md) - [rippledのトラブルシューティング](../troubleshooting/index.md) - - [rippled APIの使用開始](../../tutorials/get-started/get-started-using-http-websocket-apis.md) + - [rippled APIの使用開始](../../tutorials/http-websocket-apis/get-started.md) - **リファレンス:** - [rippled APIリファレンス](../../references/http-websocket-apis/index.md) - [`rippled`コマンドラインの使用](../commandline-usage.md) diff --git a/@i18n/ja/docs/infrastructure/installation/rippled-1-3-migration-instructions.md b/@i18n/ja/docs/infrastructure/installation/rippled-1-3-migration-instructions.md index b0f4b1b2e9..43fa2f4e14 100644 --- a/@i18n/ja/docs/infrastructure/installation/rippled-1-3-migration-instructions.md +++ b/@i18n/ja/docs/infrastructure/installation/rippled-1-3-migration-instructions.md @@ -119,7 +119,7 @@ Rippleの公式RPMリポジトリとそれを使用するための手順が変 - **チュートリアル:** - [Linuxでの自動更新](update-rippled-automatically-on-linux.md) - [rippledのトラブルシューティング](../troubleshooting/index.md) - - [rippled APIの使用開始](../../tutorials/get-started/get-started-using-http-websocket-apis.md) + - [rippled APIの使用開始](../../tutorials/http-websocket-apis/get-started.md) - **リファレンス:** - [rippled APIリファレンス](../../references/http-websocket-apis/index.md) - [`rippled`コマンドラインの使用](../commandline-usage.md) diff --git a/@i18n/ja/docs/infrastructure/troubleshooting/fix-sqlite-tx-db-page-size-issue.md b/@i18n/ja/docs/infrastructure/troubleshooting/fix-sqlite-tx-db-page-size-issue.md index e81bdd5d95..bdd4fab315 100644 --- a/@i18n/ja/docs/infrastructure/troubleshooting/fix-sqlite-tx-db-page-size-issue.md +++ b/@i18n/ja/docs/infrastructure/troubleshooting/fix-sqlite-tx-db-page-size-issue.md @@ -182,7 +182,7 @@ Terminating thread doJob:AcquisitionDone: unhandled 11. `rippled`サービスが正常に起動したかどうかを確認します。 - [コマンドラインインターフェイス](../../tutorials/get-started/get-started-using-http-websocket-apis.md#コマンドライン)を使用してサーバーの状況を確認できます(サーバーがJSON-RPCリクエストを受け入れないように設定している場合を除く)。次に例を示します。 + [コマンドラインインターフェイス](../../tutorials/http-websocket-apis/get-started.md#コマンドライン)を使用してサーバーの状況を確認できます(サーバーがJSON-RPCリクエストを受け入れないように設定している場合を除く)。次に例を示します。 ``` /opt/ripple/bin/rippled server_info diff --git a/@i18n/ja/docs/references/client-libraries.md b/@i18n/ja/docs/references/client-libraries.md index 01aa0f7f7c..3da222ecac 100644 --- a/@i18n/ja/docs/references/client-libraries.md +++ b/@i18n/ja/docs/references/client-libraries.md @@ -12,10 +12,10 @@ seo: | 言語 | ライブラリ名 | Get Started | APIリファレンス | ソースコード | |---------------------------------|------------------------|--------------|---------------|-------------| -| **Python** | `xrpl-py` | [Pythonを使ってみよう](../tutorials/get-started/get-started-using-python.md) | [API リファレンス](https://xrpl-py.readthedocs.io/) | [リポジトリ](https://github.com/XRPLF/xrpl-py) | -| **JavaScript** / **TypeScript** | `xrpl.js` | [JavaScriptを使ってみよう](../tutorials/get-started/get-started-using-javascript.md) | [API リファレンス](https://js.xrpl.org/) | [リポジトリ](https://github.com/XRPLF/xrpl.js) | +| **Python** | `xrpl-py` | [Pythonを使ってみよう](../tutorials/python/get-started.md) | [API リファレンス](https://xrpl-py.readthedocs.io/) | [リポジトリ](https://github.com/XRPLF/xrpl-py) | +| **JavaScript** / **TypeScript** | `xrpl.js` | [JavaScriptを使ってみよう](../tutorials/javascript/get-started.md) | [API リファレンス](https://js.xrpl.org/) | [リポジトリ](https://github.com/XRPLF/xrpl.js) | | **JavaScript** / **TypeScript** | `xrpl-client` | [触ってみる](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-client) | [リポジトリ](https://github.com/XRPL-Labs/xrpl-client) | | **JavaScript** / **TypeScript** | `xrpl-accountlib` | [触ってみる](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-accountlib) | [リポジトリ](https://github.com/WietseWind/xrpl-accountlib) | | **C++** | `rippled` 署名ライブラリ | [署名ライブラリを使ってみよう](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | ([`rippled`](https://github.com/XRPLF/rippled/))の一部 | -| **Java** | `xrpl4j` | [Javaを使ってみよう](../tutorials/get-started/get-started-using-java.md) | [API リファレンス](https://javadoc.io/doc/org.xrpl/) | [リポジトリ](https://github.com/XRPLF/xrpl4j) | -| **PHP** | `XRPL_PHP` | [PHPを使ってみよう](../tutorials/get-started/get-started-using-php.md) | [XRPL_PHP ドキュメント](https://alexanderbuzz.github.io/xrpl-php-docs/) | [リポジトリ](https://github.com/AlexanderBuzz/xrpl-php) | +| **Java** | `xrpl4j` | [Javaを使ってみよう](../tutorials/java/get-started.md) | [API リファレンス](https://javadoc.io/doc/org.xrpl/) | [リポジトリ](https://github.com/XRPLF/xrpl4j) | +| **PHP** | `XRPL_PHP` | [PHPを使ってみよう](../tutorials/php/get-started.md) | [XRPL_PHP ドキュメント](https://alexanderbuzz.github.io/xrpl-php-docs/) | [リポジトリ](https://github.com/AlexanderBuzz/xrpl-php) | diff --git a/@i18n/ja/docs/references/data-api.md b/@i18n/ja/docs/references/data-api.md index a90cafb7ce..96484be3bd 100644 --- a/@i18n/ja/docs/references/data-api.md +++ b/@i18n/ja/docs/references/data-api.md @@ -14,6 +14,6 @@ nav_omit: true ## Alternatives -アカウント残高や取引履歴のリクエストなど、ほとんどの一般的な操作では、[WebSocket接続](../tutorials/get-started/get-started-using-http-websocket-apis.md#websocket-api)または[JSON-RPC(HTTP POST)](../tutorials/get-started/get-started-using-http-websocket-apis.md#json-rpc)を使用して、セルフホストまたは[公開XRP Ledgerサーバー](../tutorials/get-started/public-servers.md)にリクエストすることとができます。 +アカウント残高や取引履歴のリクエストなど、ほとんどの一般的な操作では、[WebSocket接続](../tutorials/http-websocket-apis/get-started.md#websocket-api)または[JSON-RPC(HTTP POST)](../tutorials/http-websocket-apis/get-started.md#json-rpc)を使用して、セルフホストまたは[公開XRP Ledgerサーバー](../tutorials/public-servers.md)にリクエストすることとができます。 -詳細については、[HTTP / WebSocket APIsの使用を開始する](../tutorials/get-started/get-started-using-http-websocket-apis.md)ページをご覧ください。 +詳細については、[HTTP / WebSocket APIsの使用を開始する](../tutorials/http-websocket-apis/get-started.md)ページをご覧ください。 diff --git a/@i18n/ja/docs/references/http-websocket-apis/admin-api-methods/index.md b/@i18n/ja/docs/references/http-websocket-apis/admin-api-methods/index.md index 4d30f9d0e8..1f63f7d7d2 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/admin-api-methods/index.md +++ b/@i18n/ja/docs/references/http-websocket-apis/admin-api-methods/index.md @@ -10,7 +10,7 @@ labels: `rippled`サーバーと直接通信する際には管理APIメソッドを使用します。管理メソッドは、信頼できるサーバー運用担当者のみを対象としています。管理メソッドには、サーバーの管理、監視、デバッグのためのコマンドが含まれています。 -管理コマンドを使用できるのは、管理者として、`rippled.cfg`ファイルに指定されているホストとポートで`rippled`サーバーに接続している場合に限られます。デフォルトでは、コマンドラインクライアントが管理接続を使用します。`rippled`への接続についての詳細は、[rippled API入門](../../../tutorials/get-started/get-started-using-http-websocket-apis.md)を参照してください。 +管理コマンドを使用できるのは、管理者として、`rippled.cfg`ファイルに指定されているホストとポートで`rippled`サーバーに接続している場合に限られます。デフォルトでは、コマンドラインクライアントが管理接続を使用します。`rippled`への接続についての詳細は、[rippled API入門](../../../tutorials/http-websocket-apis/get-started.md)を参照してください。 ## [キー生成メソッド](key-generation-methods/index.md) diff --git a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/rate-limiting.md b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/rate-limiting.md index 414256289f..06db003033 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/rate-limiting.md +++ b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/rate-limiting.md @@ -10,7 +10,7 @@ labels: `rippled`サーバはAPIクライアントが公開APIにリクエストできるレートを制限できます。レート制限はクライアントのIPアドレスに基づいて行われるため、[ネットワークアドレス変換](https://ja.wikipedia.org/wiki/ネットワークアドレス変換)の背後にいるクライアントは公開IPアドレスに基づく制限を共有します。 -**ヒント:** レート制限は、クライアントが[管理者](../../../tutorials/get-started/get-started-using-http-websocket-apis.md#管理者アクセス権限)として接続されているときには適用されません +**ヒント:** レート制限は、クライアントが[管理者](../../../tutorials/http-websocket-apis/get-started.md#管理者アクセス権限)として接続されているときには適用されません クライアントがレート制限に近づいている場合、サーバーは[APIレスポンス](response-formatting.md)のトップレベルにフィールド`"warning": "load"`というフィールドを[APIレスポンス](response-formatting.md)のトップレベルに追加します。この警告はすべてのレスポンスに追加されるわけではありませんが、サーバはクライアントを切断する前に何度かこのような警告を送ることがあります。 @@ -58,7 +58,7 @@ Server is overloaded - [`rippled`サーバ](../../../concepts/networks-and-servers/index.md) - [ソフトウェアエコシステム](../../../introduction/software-ecosystem.md) - **チュートリアル:** - - [XRP Ledger APIの使用開始](../../../tutorials/get-started/get-started-using-http-websocket-apis.md) + - [XRP Ledger APIの使用開始](../../../tutorials/http-websocket-apis/get-started.md) - [rippledのトラブルシューティング](../../../infrastructure/troubleshooting/index.md) - **リファレンス:** - [rippled APIリファレンス](../index.md) diff --git a/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md b/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md index f053b071e8..f54654d3e0 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md +++ b/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md @@ -227,7 +227,7 @@ rippled account_info rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn validated | `noFreeze` | 真偽値 | `true`の場合、このアカウントは個々のトラストラインを凍結したり、グローバル凍結を行う機能を永久に放棄しています。詳細は[No Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze)をご覧ください。 | | `passwordSpent` | 真偽値 | `false`の場合、このアカウントはトランザクションコスト0の特別な[キーリセットトランザクション](../../../../concepts/transactions/transaction-cost.md#key-resetトランザクション)を送信できます。プロトコルはこのフラグを自動的にオン/オフします。 | | `requireAuthorization` | 真偽値 | `true`の場合、このアカウントは[認可トラストライン](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md)を使って、発行するトークンを保持できる人を制限しています。 | -| `requireDestinationTag` | 真偽値 | `true`の場合、このアカウントは受け取るすべての支払いに[宛先タグ](../../../../tutorials/manage-account-settings/require-destination-tags.md)をリクエストしています。 | +| `requireDestinationTag` | 真偽値 | `true`の場合、このアカウントは受け取るすべての支払いに[宛先タグ](../../../../tutorials/tasks/manage-account-settings/require-destination-tags.md)をリクエストしています。 | `queue_data`パラメーターが存在する場合、以下のフィールドが含まれます。 diff --git a/@i18n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md b/@i18n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md index 82f01727f8..f9cf487cfe 100644 --- a/@i18n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md +++ b/@i18n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md @@ -17,7 +17,7 @@ _([PayChan Amendment][]により追加されました。)_ 有効期限切れになったPayment Channelは、まずレジャーに残ります。これは、レジャーの内容を変更できるのは新しいトランザクションだけであるためです。有効期限の経過後にトランザクションがPayment Channelにアクセスすると、トランザクション処理によりそのPayment Channelは自動的に閉鎖されます。有効期限切れのChannelを閉鎖して未使用のXRPを所有者に返金するには、一部のアドレスがそのChannelにアクセスする新しいPaymentChannelClaimトランザクションまたはPaymentChannelFundトランザクションを送信する必要があります。 -Payment Channelの使用例については、[Payment Channelのチュートリアル](../../../../tutorials/use-specialized-payment-types/use-payment-channels.md)を参照してください。 +Payment Channelの使用例については、[Payment Channelのチュートリアル](../../../../tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md)を参照してください。 ## {% $frontmatter.seo.title %} JSONの例 diff --git a/@i18n/ja/docs/references/protocol/transactions/types/accountset.md b/@i18n/ja/docs/references/protocol/transactions/types/accountset.md index 7cc1b6be0f..bcf61154df 100644 --- a/@i18n/ja/docs/references/protocol/transactions/types/accountset.md +++ b/@i18n/ja/docs/references/protocol/transactions/types/accountset.md @@ -36,7 +36,7 @@ AccountSetトランザクションは、[XRP Ledgerのアカウント](../../led | [`Domain`](#domain) | 文字列 | Blob | _(省略可)_ このアカウントを保有するドメインのASCII小文字を表現する16進文字列。[256バイトを超える長さは使用できません。](https://github.com/XRPLF/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | | `EmailHash` | 文字列 | Hash128 | _(省略可)_ アバターイメージの生成に使用されるメールアドレスのハッシュ。一般的に、クライアントは[Gravatar](http://en.gravatar.com/site/implement/hash/)を使用してこのイメージを表示しています。 | | `MessageKey` | 文字列 | Blob | _(省略可)_ 暗号化されたメッセージをこのアカウントに送信するための公開鍵です。キーを設定するには、正確に33バイトである必要があり、最初のバイトはキーの種類を示します。secp256k1鍵の場合は`0x02`または`0x03`、Ed25519鍵の場合は`0xED`です。キーを削除するには、空の値を使用します。 | -| `NFTokenMinter` | 文字列 | Blob | _(省略可)_ あなたのために[NFTokensをミントする](../../../../tutorials/quickstart/assign-an-authorized-minter-using-javascript.md)ことができる別のアカウント。 _([NonFungibleTokensV1_1 amendment][]により追加されました.)_ | +| `NFTokenMinter` | 文字列 | Blob | _(省略可)_ あなたのために[NFTokensをミントする](../../../../tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md)ことができる別のアカウント。 _([NonFungibleTokensV1_1 amendment][]により追加されました.)_ | | [`SetFlag`](#accountsetのフラグ) | 数値 | UInt32 | _(省略可)_ このアカウントについてオプションを有効にするための整数フラグ。 | | [`TransferRate`](#transferrate) | 符号なし整数 | UInt32 | _(省略可)_ ユーザーがこのアカウントのトークンを送金するときに請求される手数料。通貨単位の10億分の1で表現されます。手数料なしを意味する特殊なケースの`0`を除いて、`2000000000`より大きくしたり、`1000000000`より小さくしたりすることはできません。 | | [`TickSize`](../../../../concepts/tokens/decentralized-exchange/ticksize.md) | 符号なし整数 | UInt8 | _(省略可)_このアドレスによって発行されている通貨が関係するオファーに使用する為替レートの呼値の単位。それらのオファーの為替レートは、この有効桁数へと丸められます。有効な値は`3`から`15`、または無効にするための`0`です_([TickSize Amendment][]により追加されました)。_ | diff --git a/@i18n/ja/docs/references/protocol/transactions/types/setregularkey.md b/@i18n/ja/docs/references/protocol/transactions/types/setregularkey.md index 1525cff8e4..4b3ac12ace 100644 --- a/@i18n/ja/docs/references/protocol/transactions/types/setregularkey.md +++ b/@i18n/ja/docs/references/protocol/transactions/types/setregularkey.md @@ -37,7 +37,7 @@ labels: レギュラーキーペアとマスターキーペアの詳細は、[暗号鍵](../../../../concepts/accounts/cryptographic-keys.md)を参照してください。 -アカウントへのレギュラーキーペアの割り当てについてのチュートリアルは、[レギュラーキーペアの操作](../../../../tutorials/manage-account-settings/assign-a-regular-key-pair.md)を参照してください。 +アカウントへのレギュラーキーペアの割り当てについてのチュートリアルは、[レギュラーキーペアの操作](../../../../tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md)を参照してください。 セキュリティを強化するために[マルチシグ](../../../../concepts/accounts/multi-signing.md)を使用できますが、マルチシグを使用する場合には[トランザクションコスト][]および[準備金](../../../../concepts/accounts/reserves.md)に追加のXRPが必要となります。 diff --git a/@i18n/ja/docs/tutorials/get-started/get-started-using-http-websocket-apis.md b/@i18n/ja/docs/tutorials/http-websocket-apis/get-started.md similarity index 99% rename from @i18n/ja/docs/tutorials/get-started/get-started-using-http-websocket-apis.md rename to @i18n/ja/docs/tutorials/http-websocket-apis/get-started.md index 179ba6edff..5e41a0dd56 100644 --- a/@i18n/ja/docs/tutorials/get-started/get-started-using-http-websocket-apis.md +++ b/@i18n/ja/docs/tutorials/http-websocket-apis/get-started.md @@ -104,7 +104,7 @@ APIメソッドの完全なリストについては、こちらをご覧くだ - [ソフトウェアエコシステム](../../introduction/software-ecosystem.md) - [並列ネットワーク](../../concepts/networks-and-servers/parallel-networks.md) - **チュートリアル:** - - [JavaScriptの使用開始](get-started-using-javascript.md) + - [JavaScriptの使用開始](get-started.md) - [信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md) - [rippledサーバの管理](../../infrastructure/installation/install-rippled-on-ubuntu.md) - **リファレンス:** diff --git a/@i18n/ja/docs/tutorials/get-started/monitor-incoming-payments-with-websocket.md b/@i18n/ja/docs/tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md similarity index 99% rename from @i18n/ja/docs/tutorials/get-started/monitor-incoming-payments-with-websocket.md rename to @i18n/ja/docs/tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md index b15174a5a7..1e68a54083 100644 --- a/@i18n/ja/docs/tutorials/get-started/monitor-incoming-payments-with-websocket.md +++ b/@i18n/ja/docs/tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md @@ -475,7 +475,7 @@ $("#tx_read").click((event) => { ## 次のステップ - [トランザクションの結果の確認](../../concepts/transactions/finality-of-results/look-up-transaction-results.md)で、トランザクションの実行内容を確認し、適切に対応するソフトウェアを構築します。 -- あなた自身のアドレスから[XRPの送金](send-xrp.md)を試します。 +- あなた自身のアドレスから[XRPの送金](../tasks/send-xrp.md)を試します。 - [Escrow](../../concepts/payment-types/escrow.md)、[Checks](../../concepts/payment-types/checks.md)または[Payment Channel](../../concepts/payment-types/payment-channels.md)のような高度なタイプのトランザクションの監視と着信通知へのレスポンスを試します。 diff --git a/@i18n/ja/docs/tutorials/get-started/get-started-using-javascript.md b/@i18n/ja/docs/tutorials/javascript/get-started.md similarity index 98% rename from @i18n/ja/docs/tutorials/get-started/get-started-using-javascript.md rename to @i18n/ja/docs/tutorials/javascript/get-started.md index 77a5d1cb19..23a1209166 100644 --- a/@i18n/ja/docs/tutorials/get-started/get-started-using-javascript.md +++ b/@i18n/ja/docs/tutorials/javascript/get-started.md @@ -152,8 +152,8 @@ XRP Ledgerの[コンセンサス プロセス](../../concepts/consensus-protocol これで、`xrpl.js`を使って、XRP Ledgerに接続したり、ウォレットを生成したり、アカウントの情報を調べたりする方法がわかりました。 次のようなことも可能です。 -* [XRPの送信](send-xrp.md). -* [代替可能トークンの発行](../use-tokens/issue-a-fungible-token.md) +* [XRPの送信](../tasks/send-xrp.md). +* [代替可能トークンの発行](../tasks/use-tokens/issue-a-fungible-token.md) * アカウントに[安全な署名](../../concepts/transactions/secure-signing.md) を設定する。 @@ -163,7 +163,7 @@ XRP Ledgerの[コンセンサス プロセス](../../concepts/consensus-protocol - [XRP Ledger Overview](/about/) - [クライアントライブラリ](../../references/client-libraries.md) - **Tutorials:** - - [XRPの送信](send-xrp.md) + - [XRPの送信](../tasks/send-xrp.md) - **References:** - [`xrpl.js` リファレンス](https://js.xrpl.org/) - [Public API Methods](../../references/http-websocket-apis/public-api-methods/index.md) diff --git a/@i18n/ja/docs/tutorials/javascript/modular-tutorials-in-javascript/index.md b/@i18n/ja/docs/tutorials/javascript/modular-tutorials/index.md similarity index 100% rename from @i18n/ja/docs/tutorials/javascript/modular-tutorials-in-javascript/index.md rename to @i18n/ja/docs/tutorials/javascript/modular-tutorials/index.md diff --git a/@i18n/ja/docs/tutorials/javascript/modular-tutorials-in-javascript/nfts-using-javascript/index.md b/@i18n/ja/docs/tutorials/javascript/modular-tutorials/nfts/index.md similarity index 100% rename from @i18n/ja/docs/tutorials/javascript/modular-tutorials-in-javascript/nfts-using-javascript/index.md rename to @i18n/ja/docs/tutorials/javascript/modular-tutorials/nfts/index.md diff --git a/@i18n/ja/docs/tutorials/get-started/public-servers.md b/@i18n/ja/docs/tutorials/public-servers.md similarity index 91% rename from @i18n/ja/docs/tutorials/get-started/public-servers.md rename to @i18n/ja/docs/tutorials/public-servers.md index 32ea59c3e7..824c163784 100644 --- a/@i18n/ja/docs/tutorials/get-started/public-servers.md +++ b/@i18n/ja/docs/tutorials/public-servers.md @@ -8,7 +8,7 @@ labels: --- # 公開サーバー -[自分で`rippled`サーバーを運営しない](../../infrastructure/installation/index.md)場合は、以下の公開サーバーを利用して、トランザクションを送信したり、レジャーからデータを取得したりすることができます。 +[自分で`rippled`サーバーを運営しない](../infrastructure/installation/index.md)場合は、以下の公開サーバーを利用して、トランザクションを送信したり、レジャーからデータを取得したりすることができます。 | 運営者 | [ネットワーク][] | JSON-RPC URL | WebSocket URL | 尾行 | |:----------|:------------|:-------------|:--------------|:---------------------| diff --git a/@i18n/ja/docs/tutorials/python/modular-tutorials-in-python/index.md b/@i18n/ja/docs/tutorials/python/modular-tutorials/index.md similarity index 100% rename from @i18n/ja/docs/tutorials/python/modular-tutorials-in-python/index.md rename to @i18n/ja/docs/tutorials/python/modular-tutorials/index.md diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/assign-a-regular-key-pair.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md similarity index 98% rename from @i18n/ja/docs/tutorials/manage-account-settings/assign-a-regular-key-pair.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md index 6b0c9ef90e..69bcb872ee 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/assign-a-regular-key-pair.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md @@ -11,7 +11,7 @@ labels: XRP Ledgerでは、アカウントはその後のトランザクションには _レギュラーキーペア_ と呼ばれるセカンダリキーペアで署名することができます。レギュラーキーペアの秘密鍵が漏えいした場合は、秘密鍵を削除または交換できます。その際に、アカウントの秘密鍵以外の設定を変更したり、他のアカウントとの関係を再設定する必要はありません。レギュラーキーペアを積極的にローテーションすることも可能です。(アカウントのアドレスに固有に関連付けられているアカウントのマスターキーペアでは、このような操作は実行できません。) -マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](../../concepts/accounts/cryptographic-keys.md)を参照してください。 +マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](../../../concepts/accounts/cryptographic-keys.md)を参照してください。 このチュートリアルでは、レギュラーキーペアをアカウントに割り当てるために必要な手順を説明します。 @@ -398,7 +398,7 @@ rippled submit 1200052280000000240000000468400000000000000A73210384CA3C528F10C75 {% /tabs %} -レスポンスに含まれるトランザクションの`hash`は、[トランザクションの最終結果を検索する](../../references/http-websocket-apis/public-api-methods/transaction-methods/tx.md)ときに使用できることに注意してください。 +レスポンスに含まれるトランザクションの`hash`は、[トランザクションの最終結果を検索する](../../../references/http-websocket-apis/public-api-methods/transaction-methods/tx.md)ときに使用できることに注意してください。 ## 3. レギュラーキーペアの検証 @@ -675,7 +675,7 @@ rippled submit 1200032280000000240000000468400000000000000A73210330E7FC9D56BB25D - [レギュラーキーペアの変更または削除](change-or-remove-a-regular-key-pair.md) - [マルチシグの設定](set-up-multi-signing.md) -- [発行アドレスと運用アドレス](../../concepts/accounts/account-types.md) -- [取引所としてのXRPの上場](../../use-cases/defi/list-xrp-as-an-exchange.md) +- [発行アドレスと運用アドレス](../../../concepts/accounts/account-types.md) +- [取引所としてのXRPの上場](../../../use-cases/defi/list-xrp-as-an-exchange.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md similarity index 94% rename from @i18n/ja/docs/tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md index 1ee8376991..7775d51fd5 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md @@ -11,19 +11,19 @@ labels: XRP Ledgerでは、アカウントはその後のトランザクションには _レギュラーキーペア_ と呼ばれるセカンダリキーペアで署名することができます。アカウントのレギュラーキーペアが漏えいした場合、またはセキュリティ対策としてレギュラーキーペアを定期的に変更する必要がある場合は、[SetRegularKeyトランザクション][]を使用してアカウントレギュラーキーペアを削除または変更します。 -マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](../../concepts/accounts/cryptographic-keys.md)を参照してください。 +マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](../../../concepts/accounts/cryptographic-keys.md)を参照してください。 ## レギュラーキーペアの変更 既存のレギュラーキーペアを変更する手順は、初めて[レギュラーキーを割り当てる](assign-a-regular-key-pair.md)手順とほぼ同じです。キーペアを生成し、レギュラーキーペアとしてアカウントに割り当てます。これにより既存のレギュラーキーペアが上書きされます。ただし大きく異なる点は、既存のレギュラーキーペアを変更するときには既存のレギュラー秘密鍵を使用して秘密鍵自体を置き換えることができますが、レギュラーキーペアをアカウントに初めて割り当てるときにはアカウントのマスター秘密鍵を使用する必要があることです。 -マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](../../concepts/accounts/cryptographic-keys.md)を参照してください。 +マスターキーペアとレギュラーキーペアの詳細は、[暗号鍵](../../../concepts/accounts/cryptographic-keys.md)を参照してください。 ## レギュラーキーペアの削除 -漏えいしたレギュラーキーペアを単にアカウントから削除する場合は、キーペアを最初に生成する必要はありません。`RegularKey`フィールドを省略した[SetRegularKeyトランザクション][]を使用します。アカウントの別の署名手段(マスターキーペアまたは[署名者リスト](../../concepts/accounts/multi-signing.md))が現在有効になっていない場合は、トランザクションが失敗することに注意してください。 +漏えいしたレギュラーキーペアを単にアカウントから削除する場合は、キーペアを最初に生成する必要はありません。`RegularKey`フィールドを省略した[SetRegularKeyトランザクション][]を使用します。アカウントの別の署名手段(マスターキーペアまたは[署名者リスト](../../../concepts/accounts/multi-signing.md))が現在有効になっていない場合は、トランザクションが失敗することに注意してください。 アカウントのレギュラーキーペアを削除する場合、`SetRegularKey`トランザクションでは、アカウントのマスター秘密鍵(シークレット)または既存のレギュラーキーペアによる署名が必要です。マスター秘密鍵またはレギュラー秘密鍵の送信は危険であるため、トランザクションの署名とネットワークへのトランザクションの送信を切り離した2段階方式でこのトランザクションを実行します。 @@ -362,6 +362,6 @@ rippled submit 1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D {% /tabs %} -場合によっては、`SetRegularKey`トランザクションを使用して、[トランザクションコスト](../../concepts/transactions/transaction-cost.md)を支払わずに[Key Resetトランザクション](../../concepts/transactions/transaction-cost.md#key-resetトランザクション)を送信できます。FeeEscalation Amendmentを有効にすると、Key Resetトランザクションの名目トランザクションコストがゼロであっても、`rippled`は他のトランザクションよりもKey Resetトランザクションを優先します。 +場合によっては、`SetRegularKey`トランザクションを使用して、[トランザクションコスト](../../../concepts/transactions/transaction-cost.md)を支払わずに[Key Resetトランザクション](../../../concepts/transactions/transaction-cost.md#key-resetトランザクション)を送信できます。FeeEscalation Amendmentを有効にすると、Key Resetトランザクションの名目トランザクションコストがゼロであっても、`rippled`は他のトランザクションよりもKey Resetトランザクションを優先します。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/disable-master-key-pair.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/disable-master-key-pair.md similarity index 87% rename from @i18n/ja/docs/tutorials/manage-account-settings/disable-master-key-pair.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/disable-master-key-pair.md index 649132ef66..d43f1331fd 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/disable-master-key-pair.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/disable-master-key-pair.md @@ -9,9 +9,9 @@ labels: --- # マスターキーペアの無効化 -このページでは、[アカウント](../../concepts/accounts/accounts.md)のアドレスに数学的に関連付けられた[マスターキーペア](../../concepts/accounts/cryptographic-keys.md)を無効化する方法について説明します。あなたのアカウントのマスターキーペアが漏洩した可能性がある場合、または[マルチシグ](../../concepts/accounts/multi-signing.md)をあなたのアカウントからトランザクションを送信する _唯一_ の方法としたい場合、これを行う必要があります。 +このページでは、[アカウント](../../../concepts/accounts/accounts.md)のアドレスに数学的に関連付けられた[マスターキーペア](../../../concepts/accounts/cryptographic-keys.md)を無効化する方法について説明します。あなたのアカウントのマスターキーペアが漏洩した可能性がある場合、または[マルチシグ](../../../concepts/accounts/multi-signing.md)をあなたのアカウントからトランザクションを送信する _唯一_ の方法としたい場合、これを行う必要があります。 -**注意:** マスターキーペアを無効にすると、[トランザクションの承認](../../concepts/transactions/index.md#トランザクションの承認)の方法の1つが削除されます。マスターキーペアを無効にする前に、レギュラーキーやマルチ・サインなど、他のトランザクションの承認方法のいずれかを使用できることを確認する必要があります。(例えば、[レギュラーキーペアを割り当てた場合](assign-a-regular-key-pair.md)は、そのレギュラーキーで正常にトランザクションを送信できることを確認してください)。XRP Ledgerは分散型であるため、残りの取引承認方法を使用できない場合、誰もあなたのアカウントへのアクセスを回復することができません。 +**注意:** マスターキーペアを無効にすると、[トランザクションの承認](../../../concepts/transactions/index.md#トランザクションの承認)の方法の1つが削除されます。マスターキーペアを無効にする前に、レギュラーキーやマルチ・サインなど、他のトランザクションの承認方法のいずれかを使用できることを確認する必要があります。(例えば、[レギュラーキーペアを割り当てた場合](assign-a-regular-key-pair.md)は、そのレギュラーキーで正常にトランザクションを送信できることを確認してください)。XRP Ledgerは分散型であるため、残りの取引承認方法を使用できない場合、誰もあなたのアカウントへのアクセスを回復することができません。 **マスターキーペアを無効にするには、マスターキーペアを使用する必要があります。** ただし、他のトランザクションの認証方法を使用してマスターキーペアを _再有効化_ することは可能です。 @@ -20,9 +20,9 @@ labels: アカウントのマスターキーペアを無効にするには、次の前提条件を満たしている必要があります。 -- XRP Ledger[アカウント](../../concepts/accounts/accounts.md)を持ち、そのアカウントからマスターキーペアを用いてトランザクションの署名と提出ができることが必要です。[安全な署名の設定](../../concepts/transactions/secure-signing.md) を参照してください。これには2つの一般的な方法があります。 +- XRP Ledger[アカウント](../../../concepts/accounts/accounts.md)を持ち、そのアカウントからマスターキーペアを用いてトランザクションの署名と提出ができることが必要です。[安全な署名の設定](../../../concepts/transactions/secure-signing.md) を参照してください。これには2つの一般的な方法があります。 - アカウントのマスターシード値を知っている。シード値は一般的に `sn3nxiW7v8KXzPzAqzyHXbSSKNuN9`のような "s" で始まる [base58][] 値で表されます。 - - あるいは、シード値を知る必要がなく、安全に保存する[専用の署名デバイス](../../concepts/transactions/secure-signing.md#専用の署名デバイスを使用する) を使用します + - あるいは、シード値を知る必要がなく、安全に保存する[専用の署名デバイス](../../../concepts/transactions/secure-signing.md#専用の署名デバイスを使用する) を使用します - あなたのアカウントには、マスターキーペア以外のトランザクションを認証する方法が少なくとも1つ必要です。つまり、以下のいずれか、または両方を行う必要があります。 - [レギュラーキーペアを割り当てる](assign-a-regular-key-pair.md). - [マルチシグの設定](set-up-multi-signing.md). @@ -31,7 +31,7 @@ labels: ### 1. トランザクションJSONの作成 -アカウントから、`"SetValue": 4`のフィールドを持つ[AccountSet トランザクション][]を準備します。これは AccountSet フラグ "Disable Master" (`asfDisableMaster`) に対応する値です。このトランザクションの他の必須フィールドは、必須の[共通フィールド](../../references/protocol/transactions/common-fields.md)のみです。例えば、[自動入力可能なフィールド](../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) を省けば、以下のトランザクション指示で十分である。 +アカウントから、`"SetValue": 4`のフィールドを持つ[AccountSet トランザクション][]を準備します。これは AccountSet フラグ "Disable Master" (`asfDisableMaster`) に対応する値です。このトランザクションの他の必須フィールドは、必須の[共通フィールド](../../../references/protocol/transactions/common-fields.md)のみです。例えば、[自動入力可能なフィールド](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) を省けば、以下のトランザクション指示で十分である。 ```json { @@ -41,13 +41,13 @@ labels: } ``` -**ヒント:** [予測可能な時間内にトランザクションの結果を確実に得る](../../concepts/transactions/reliable-transaction-submission.md)ために、`LastLedgerSequence`フィールドも提供することが強く推奨されています。 +**ヒント:** [予測可能な時間内にトランザクションの結果を確実に得る](../../../concepts/transactions/reliable-transaction-submission.md)ために、`LastLedgerSequence`フィールドも提供することが強く推奨されています。 ### 2. トランザクションへの署名 トランザクションの署名には、**マスターキーペア**を使用する必要があります。 -**注意:** 自分が管理していないサーバーに秘密鍵を提出したり、暗号化されていない状態でネットワーク上に送信したりしないでください。これらの例は、[ローカルの `rippled` サーバー](../../concepts/transactions/secure-signing.md#ローカルでrippledを実行する) を使っていることを前提にしています。他の[安全な署名方法](../../concepts/transactions/secure-signing.md)を使っている場合は、これらの手順を変更する必要があります。 +**注意:** 自分が管理していないサーバーに秘密鍵を提出したり、暗号化されていない状態でネットワーク上に送信したりしないでください。これらの例は、[ローカルの `rippled` サーバー](../../../concepts/transactions/secure-signing.md#ローカルでrippledを実行する) を使っていることを前提にしています。他の[安全な署名方法](../../../concepts/transactions/secure-signing.md)を使っている場合は、これらの手順を変更する必要があります。 #### リクエストの例 @@ -498,6 +498,6 @@ else: - 結果が0でない場合は `lsfDisableMaster` の値と等しく、 **マスターキーが正常に無効化されたこと** を示します。 - 結果が0の場合は、そのアカウントのマスターキーが無効になっていないことを示します。 -結果が予想と異なる場合は、前の手順で送信したトランザクションが正常に実行されたかどうかを確認してください。それは、その口座のトランザクション履歴([account_tx メソッド][])の中で最も新しいもので、結果コード `tesSUCCESS` がついているはずです。それ以外の[結果コード](../../references/protocol/transactions/transaction-results/transaction-results.md)が表示された場合、そのトランザクションは正常に実行されませんでした。エラーの原因によっては、これらの手順を最初からやり直した方がよいかもしれません。 +結果が予想と異なる場合は、前の手順で送信したトランザクションが正常に実行されたかどうかを確認してください。それは、その口座のトランザクション履歴([account_tx メソッド][])の中で最も新しいもので、結果コード `tesSUCCESS` がついているはずです。それ以外の[結果コード](../../../references/protocol/transactions/transaction-results/transaction-results.md)が表示された場合、そのトランザクションは正常に実行されませんでした。エラーの原因によっては、これらの手順を最初からやり直した方がよいかもしれません。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/offline-account-setup.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/offline-account-setup.md similarity index 71% rename from @i18n/ja/docs/tutorials/manage-account-settings/offline-account-setup.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/offline-account-setup.md index ff349499fe..95f4a3a2c7 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/offline-account-setup.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/offline-account-setup.md @@ -9,7 +9,7 @@ labels: --- # オフラインでのアカウント設定のチュートリアル -きわめて安全な[署名構成](../../concepts/transactions/secure-signing.md)では、XRP Ledger[アカウント](../../concepts/accounts/accounts.md)の[暗号鍵](../../concepts/accounts/cryptographic-keys.md)をオフラインの物理的に隔離されたマシンに安全に保管します。この構成を設定すると、さまざまなトランザクションに署名して、署名済みトランザクションのみをオンラインコンピューターに転送し、秘密鍵をオンラインにいる不正使用者に見せることなくそれらのトランザクションをXRP Ledgerネットワークに送信できます。 +きわめて安全な[署名構成](../../../concepts/transactions/secure-signing.md)では、XRP Ledger[アカウント](../../../concepts/accounts/accounts.md)の[暗号鍵](../../../concepts/accounts/cryptographic-keys.md)をオフラインの物理的に隔離されたマシンに安全に保管します。この構成を設定すると、さまざまなトランザクションに署名して、署名済みトランザクションのみをオンラインコンピューターに転送し、秘密鍵をオンラインにいる不正使用者に見せることなくそれらのトランザクションをXRP Ledgerネットワークに送信できます。 **注意:** オフラインマシンを保護するためには、適切な運用セキュリティ対策が必要です。例えば、オフラインマシンは信頼できない人がアクセスできない場所に物理的に設置する必要があり、信頼できるオペレーターはマシンに悪用されたソフトウェアを転送しないように注意する必要があります。(例えば、ネットワークに接続されたコンピューターに接続したことがあるUSBドライブは使用してはいけません。) @@ -17,8 +17,8 @@ labels: オフライン署名を使用するには、次の前提条件を満たしている必要があります。 -- オフラインマシンとして使用する1台のコンピューターを用意していること。このマシンは[サポートされているオペレーティングシステム](../../infrastructure/installation/system-requirements.md)でセットアップされている必要があります。オフラインセットアップの手順については、使用するオペレーティングシステムのサポートを参照してください(例: [Red Hat Enterprise Linux DVD ISOインストール手順](https://access.redhat.com/solutions/7227))。使用するソフトウェアと物理メディアがマルウェアに感染していないことを確認します。 -- オンラインマシンとして使用する別のコンピューターを用意していること。このマシンは`rippled`を実行する必要はありませんが、XRP Ledgerネットワークに接続し、共有レジャーの状態についての正確な情報を受信できる必要があります。例えば、[公開サーバーへのWebSocket接続](../get-started/get-started-using-http-websocket-apis.md)を使用できます。 +- オフラインマシンとして使用する1台のコンピューターを用意していること。このマシンは[サポートされているオペレーティングシステム](../../../infrastructure/installation/system-requirements.md)でセットアップされている必要があります。オフラインセットアップの手順については、使用するオペレーティングシステムのサポートを参照してください(例: [Red Hat Enterprise Linux DVD ISOインストール手順](https://access.redhat.com/solutions/7227))。使用するソフトウェアと物理メディアがマルウェアに感染していないことを確認します。 +- オンラインマシンとして使用する別のコンピューターを用意していること。このマシンは`rippled`を実行する必要はありませんが、XRP Ledgerネットワークに接続し、共有レジャーの状態についての正確な情報を受信できる必要があります。例えば、[公開サーバーへのWebSocket接続](../../http-websocket-apis/get-started.md)を使用できます。 - 署名済みのトランザクションバイナリデータをオフラインマシンからオンラインマシンに転送する安全な方法を用意していること。 - その方法の1つは、オフラインマシンでQRコードジェネレーターを使用し、オンラインマシンでQRコードスキャナーを使用することです。(この場合、「オンラインマシン」はスマートフォンなどの携帯デバイスだとよいでしょう。) - 別の方法としては、物理メディアを使ってオフラインマシンからオンラインマシンにファイルをコピーします。この方法を使用する場合、オフラインマシンが悪意のあるソフトウェアに感染するおそれのある物理メディアは使用しないよう注意します。(例えば、オンラインマシンとオフラインマシンで同じUSBドライブを再利用しないようにします。) @@ -29,19 +29,19 @@ labels: ### 1. オフラインマシンの設定 -オフラインマシンには、安全な永続ストレージ(暗号化されたディスクドライブなど)と[トランザクションに署名する](../../concepts/transactions/secure-signing.md)ための方法が必要です。一般的には、必要なソフトウェアをオンラインマシンでダウンロードして、物理メディアを使ってオフラインマシンに転送します。オンラインマシン、物理メディア、ソフトウェア自体がマルウェアに感染していないことを確認する必要があります。 +オフラインマシンには、安全な永続ストレージ(暗号化されたディスクドライブなど)と[トランザクションに署名する](../../../concepts/transactions/secure-signing.md)ための方法が必要です。一般的には、必要なソフトウェアをオンラインマシンでダウンロードして、物理メディアを使ってオフラインマシンに転送します。オンラインマシン、物理メディア、ソフトウェア自体がマルウェアに感染していないことを確認する必要があります。 XRP Ledgerで署名するためのソフトウェアオプションは次のとおりです。 -- パッケージ(`.deb`または`.rpm`。使用するLinuxディストリビューションによって異なる)ファイルから[`rippled`をインストール](../../infrastructure/installation/index.md)し、[スタンドアロンモードで実行します](../../concepts/networks-and-servers/rippled-server-modes.md)。 +- パッケージ(`.deb`または`.rpm`。使用するLinuxディストリビューションによって異なる)ファイルから[`rippled`をインストール](../../../infrastructure/installation/index.md)し、[スタンドアロンモードで実行します](../../../concepts/networks-and-servers/rippled-server-modes.md)。 - [xrpl.js](https://github.com/XRPLF/xrpl.js/)とその依存関係をオフラインでインストールします。例えば、Yarn Package Managerでは、[オフラインでの使用に関して推奨される手順](https://yarnpkg.com/blog/2016/11/24/offline-mirror/)があります。 -- 関連項目: [安全な署名の設定](../../concepts/transactions/secure-signing.md) +- 関連項目: [安全な署名の設定](../../../concepts/transactions/secure-signing.md) オフラインマシンでトランザクションの指示を生成するプロセスを容易にするために、カスタムソフトウェアを設定することもできます。例えば、ソフトウェアで次に使用する[シーケンス番号][]を追跡したり、送信するトランザクションのタイプに応じた設定済みテンプレートを含めるといったことが可能です。 ### 2.暗号鍵の生成 -**オフラインマシン**で、アカウントで使用する[暗号鍵](../../concepts/accounts/cryptographic-keys.md)のペアを生成します。鍵は、単純なパスフレーズやエントロピーが十分でないその他のソースから生成するのではなく、安全なランダム手続きで生成してください。(例えば、`rippled`の[wallet_proposeメソッド][]を使用することができます。) +**オフラインマシン**で、アカウントで使用する[暗号鍵](../../../concepts/accounts/cryptographic-keys.md)のペアを生成します。鍵は、単純なパスフレーズやエントロピーが十分でないその他のソースから生成するのではなく、安全なランダム手続きで生成してください。(例えば、`rippled`の[wallet_proposeメソッド][]を使用することができます。) {% tabs %} @@ -70,7 +70,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" 次の値をメモします。 -- **`account_id`**: これはキーペアに関連付けられているアドレスです。このアドレスは、XRPを供給(このプロセスの先で実行)した後に、XRP Ledgerでの **[アカウント](../../concepts/accounts/accounts.md)アドレス**になります。`account_id`は公開しても安全です。 +- **`account_id`**: これはキーペアに関連付けられているアドレスです。このアドレスは、XRPを供給(このプロセスの先で実行)した後に、XRP Ledgerでの **[アカウント](../../../concepts/accounts/accounts.md)アドレス**になります。`account_id`は公開しても安全です。 - **`master_seed`**: これはキーペアの秘密シード値です。この値は、アカウントからのトランザクションに署名する際に使用します。最高レベルのセキュリティを実現するために、この値をオフラインマシンのディスクに書き込む前に暗号化してください。暗号化キーとして、人間のオペレーターが覚えやすい安全なパスフレーズや、物理的に安全な場所に書き留めたパスフレーズを使います。例えば、適切な重さのサイコロを使用して作成する[ダイスウェアパスフレーズ](https://theworld.com/~reinhold/diceware.html)などがあります。第2の要素として物理セキュリティキーを使用することもできます。この段階で取る対策の程度はご自身で決めてください。 - **`key_type`**: これは、このキーペアに使用する暗号化アルゴリズムです。有効なトランザクションに署名するには、どのようなタイプのキーペアを所有しているかを知る必要があります。デフォルトは`secp256k1`です。 @@ -80,7 +80,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" ### 3.新しいアドレスへの資金の供給 -オンラインマシンから、ステップ1でメモした**アカウントアドレス** に十分なXRPを送金します。詳細は、[アカウントの作成](../../concepts/accounts/accounts.md#アカウントの作成)を参照してください。 +オンラインマシンから、ステップ1でメモした**アカウントアドレス** に十分なXRPを送金します。詳細は、[アカウントの作成](../../../concepts/accounts/accounts.md#アカウントの作成)を参照してください。 **ヒント:** テストの目的で、[Testnet Faucet](/resources/dev-tools/xrp-faucets)を使用して、テスト用のXRPが入った新しいアカウントを取得できます。そのアカウントを使用して、オフラインで生成されたアドレスに資金を供給します。 @@ -129,7 +129,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" オフラインマシンでアカウントの開始シーケンス番号を保存します。オフラインマシンを使用してトランザクションを準備するときは、必ずこの保存されたシーケンス番号を使用し、シーケンス番号を1増やして、新しい値を保存します。 -この方法で複数のトランザクションを前もって準備しておき、署名済みのトランザクションを一度にオンラインマシンに転送して、すべてを送信できます。各トランザクションの形式が有効で、十分な[トランザクションコスト](../../concepts/transactions/transaction-cost.md)を支払っていれば、XRP Ledgerネットワークは最終的にこれらのトランザクションを検証済みレジャーに含めて、共有XRP Ledgerにあるアカウントのシーケンス番号と、オフラインマシンで追跡している「現在の」シーケンス番号と同期が保たれるようにします。(ほとんどのトランザクションでは、ネットワークに送信して15秒以内に最終的な検証済みの結果が得られます。) +この方法で複数のトランザクションを前もって準備しておき、署名済みのトランザクションを一度にオンラインマシンに転送して、すべてを送信できます。各トランザクションの形式が有効で、十分な[トランザクションコスト](../../../concepts/transactions/transaction-cost.md)を支払っていれば、XRP Ledgerネットワークは最終的にこれらのトランザクションを検証済みレジャーに含めて、共有XRP Ledgerにあるアカウントのシーケンス番号と、オフラインマシンで追跡している「現在の」シーケンス番号と同期が保たれるようにします。(ほとんどのトランザクションでは、ネットワークに送信して15秒以内に最終的な検証済みの結果が得られます。) 任意で、現在のレジャーインデックスをオフラインマシンに保存します。この値を使用して、今後のトランザクションに適切な`LastLedgerSequence`値を選択できます。 @@ -142,13 +142,13 @@ Loading: "/etc/opt/ripple/rippled.cfg" - 定期的なローテーションで使用できる[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.md)。 - ユーザーが送金理由や送金相手をタグ付けせずに送金できないようにするために、[宛先タグを要求する](require-destination-tags.md)。 - アカウントセキュリティを強化するために、[マルチシグを設定する](set-up-multi-signing.md)。 -- 明示的に承認した送金、または事前に承認した相手からの送金のみを受け取れるようにするために、[DepositAuthを有効にする](../../concepts/accounts/depositauth.md)。 -- ユーザーがあなたの許可なくあなたへの[トラストライン](../../concepts/tokens/fungible-tokens/index.md)を開けないようにするために、[RequireAuthを有効にする](../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#requireauthの有効化)。XRP Ledgerの分散型取引所やトークン機能を使用する予定がない場合は、これを対策として行うことをお勧めします。 -- [トークン発行者](../../use-cases/tokenization/stablecoin-issuer.md)には次のような追加の設定がある場合があります。 +- 明示的に承認した送金、または事前に承認した相手からの送金のみを受け取れるようにするために、[DepositAuthを有効にする](../../../concepts/accounts/depositauth.md)。 +- ユーザーがあなたの許可なくあなたへの[トラストライン](../../../concepts/tokens/fungible-tokens/index.md)を開けないようにするために、[RequireAuthを有効にする](../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#requireauthの有効化)。XRP Ledgerの分散型取引所やトークン機能を使用する予定がない場合は、これを対策として行うことをお勧めします。 +- [トークン発行者](../../../use-cases/tokenization/stablecoin-issuer.md)には次のような追加の設定がある場合があります。 - トークンを送金するユーザーに対してTransferRateを設定する。 - このアドレスをトークンのみに使用する予定の場合は、XRPペイメントを禁止する。 -この段階では、トランザクションに署名をするだけで、まだ送信しません。各トランザクションに対して、`Fee`([トランザクションコスト](../../concepts/transactions/transaction-cost.md))や`Sequence`([シーケンス番号][])など、通常は自動入力可能なフィールドを含めて、すべてのフィールドに入力する必要があります。一度に複数のトランザクションを準備する場合は、トランザクションの実行順にシーケンシャルに増やした`Sequence`番号を使用する必要があります。 +この段階では、トランザクションに署名をするだけで、まだ送信しません。各トランザクションに対して、`Fee`([トランザクションコスト](../../../concepts/transactions/transaction-cost.md))や`Sequence`([シーケンス番号][])など、通常は自動入力可能なフィールドを含めて、すべてのフィールドに入力する必要があります。一度に複数のトランザクションを準備する場合は、トランザクションの実行順にシーケンシャルに増やした`Sequence`番号を使用する必要があります。 例(RequireAuthを有効にする): @@ -183,7 +183,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" {% /tabs %} -一定の時間内に _すべて_ のトランザクションで最終結果が得られるように、[`LastLedgerSequence`](../../concepts/transactions/reliable-transaction-submission.md#lastledgersequence)フィールドに入力してください。この値は、現行のレジャーインデックス(オンラインマシンから検索する必要がある)と、トランザクションを有効に保つ時間に基づいたものである必要があります。オンラインマシンからオフラインマシンへ、オフラインマシンからオンラインマシンへ切り替える時間を取れるだけの十分に大きな`LastLedgerSequence`値を設定するようにしてください。例えば、現行のレジャーインデックスより256大きな値では、トランザクションは約15分間有効になります。詳細は、[結果のファイナリティー](../../concepts/transactions/finality-of-results/index.md)と[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください。 +一定の時間内に _すべて_ のトランザクションで最終結果が得られるように、[`LastLedgerSequence`](../../../concepts/transactions/reliable-transaction-submission.md#lastledgersequence)フィールドに入力してください。この値は、現行のレジャーインデックス(オンラインマシンから検索する必要がある)と、トランザクションを有効に保つ時間に基づいたものである必要があります。オンラインマシンからオフラインマシンへ、オフラインマシンからオンラインマシンへ切り替える時間を取れるだけの十分に大きな`LastLedgerSequence`値を設定するようにしてください。例えば、現行のレジャーインデックスより256大きな値では、トランザクションは約15分間有効になります。詳細は、[結果のファイナリティー](../../../concepts/transactions/finality-of-results/index.md)と[信頼できるトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md)を参照してください。 ### 7.オンラインマシンへのトランザクションのコピー @@ -194,7 +194,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" ### 8.設定したトランザクションの送信 -次のステップはトランザクションの送信です。ほとんどのトランザクションは、送信後の次の検証済みレジャー(約4秒後)、またはキューに入っている場合はその後のレジャー(10秒未満)で最終結果が得られるはずです。トランザクションの最終結果を追跡する詳細な手順については、[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください。 +次のステップはトランザクションの送信です。ほとんどのトランザクションは、送信後の次の検証済みレジャー(約4秒後)、またはキューに入っている場合はその後のレジャー(10秒未満)で最終結果が得られるはずです。トランザクションの最終結果を追跡する詳細な手順については、[信頼できるトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md)を参照してください。 単純なトランザクションを送信する例: @@ -233,13 +233,13 @@ Loading: "/etc/opt/ripple/rippled.cfg" {% /tabs %} -**ヒント:** 一度に10件を超えるトランザクションを送信しようとしている場合、10件未満のグループに分けて送信すると成功の可能性が高まります。[トランザクションキュー](../../concepts/transactions/transaction-queue.md)では同じ送信者から一度に送信されるトランザクションを10件に制限しているためです。10件の1グループのトランザクションを送信した後に、すべてのトランザクションがキューから出るのを待ってから、次のグループを送信します。 +**ヒント:** 一度に10件を超えるトランザクションを送信しようとしている場合、10件未満のグループに分けて送信すると成功の可能性が高まります。[トランザクションキュー](../../../concepts/transactions/transaction-queue.md)では同じ送信者から一度に送信されるトランザクションを10件に制限しているためです。10件の1グループのトランザクションを送信した後に、すべてのトランザクションがキューから出るのを待ってから、次のグループを送信します。 -[最終的でない結果](../../concepts/transactions/finality-of-results/index.md)が得られて失敗したトランザクションの送信をやり直します。同じトランザクションが2回以上処理される可能性はありません。 +[最終的でない結果](../../../concepts/transactions/finality-of-results/index.md)が得られて失敗したトランザクションの送信をやり直します。同じトランザクションが2回以上処理される可能性はありません。 ### 9.トランザクションの最終ステータスの確認 -送信した各トランザクションについて、トランザクションの[最終結果](../../concepts/transactions/finality-of-results/index.md)をメモします。例えば、[txメソッド][]を使用します。例: +送信した各トランザクションについて、トランザクションの[最終結果](../../../concepts/transactions/finality-of-results/index.md)をメモします。例えば、[txメソッド][]を使用します。例: {% tabs %} @@ -302,9 +302,9 @@ Loading: "/etc/opt/ripple/rippled.cfg" 失敗したトランザクションについては、どうするか決める必要があります。 -- トランザクションが`tefMAX_LEDGER`コードで失敗した場合、トランザクションが処理されるように、より高い[トランザクションコスト](../../concepts/transactions/transaction-cost.md)を指定する必要があります。(これはXRP Ledgerネットワークに負荷がかかっていることを示している可能性があります。)トランザクションを、より高いコストを支払い、より高い`LastLedgerSequence`パラメーター(ある場合)を持つ新しいバージョンに置き換えるのも1つの方法です。 -- トランザクションが[`tem`クラスコードで](../../references/protocol/transactions/transaction-results/tem-codes.md)で失敗した場合は、トランザクションの生成時にスペルミスなどのミスをした可能性があります。トランザクションを再度確認し、有効な形式に置き換えます。 -- トランザクションが[`tec`クラスコード](../../references/protocol/transactions/transaction-results/tec-codes.md)で失敗した場合は、失敗した具体的な理由に応じてケースバイケースで対処する必要があります。 +- トランザクションが`tefMAX_LEDGER`コードで失敗した場合、トランザクションが処理されるように、より高い[トランザクションコスト](../../../concepts/transactions/transaction-cost.md)を指定する必要があります。(これはXRP Ledgerネットワークに負荷がかかっていることを示している可能性があります。)トランザクションを、より高いコストを支払い、より高い`LastLedgerSequence`パラメーター(ある場合)を持つ新しいバージョンに置き換えるのも1つの方法です。 +- トランザクションが[`tem`クラスコードで](../../../references/protocol/transactions/transaction-results/tem-codes.md)で失敗した場合は、トランザクションの生成時にスペルミスなどのミスをした可能性があります。トランザクションを再度確認し、有効な形式に置き換えます。 +- トランザクションが[`tec`クラスコード](../../../references/protocol/transactions/transaction-results/tec-codes.md)で失敗した場合は、失敗した具体的な理由に応じてケースバイケースで対処する必要があります。 調整や置き換えをするトランザクションについては、オフラインマシンに戻るタイミングについての詳細をメモします。 @@ -325,14 +325,14 @@ Loading: "/etc/opt/ripple/rippled.cfg" ## 関連項目 - **コンセプト:** - - [アカウント](../../concepts/accounts/accounts.md) - - [暗号鍵](../../concepts/accounts/cryptographic-keys.md) + - [アカウント](../../../concepts/accounts/accounts.md) + - [暗号鍵](../../../concepts/accounts/cryptographic-keys.md) - **チュートリアル:** - - [安全な署名の設定](../../concepts/transactions/secure-signing.md) + - [安全な署名の設定](../../../concepts/transactions/secure-signing.md) - [レギュラーキーペアの割り当て](assign-a-regular-key-pair.md) - [マルチシグの設定](set-up-multi-signing.md) - **リファレンス:** - - [基本的なデータタイプ: ](../../references/protocol/data-types/basic-data-types.md#アカウントシーケンス)[ ](../../references/protocol/data-types/basic-data-types.md#アカウントシーケンス)[アカウントシーケンス](../../references/protocol/data-types/basic-data-types.md#アカウントシーケンス) + - [基本的なデータタイプ: ](../../../references/protocol/data-types/basic-data-types.md#アカウントシーケンス)[ ](../../../references/protocol/data-types/basic-data-types.md#アカウントシーケンス)[アカウントシーケンス](../../../references/protocol/data-types/basic-data-types.md#アカウントシーケンス) - [account_infoメソッド][] - [signメソッド][] - [submitメソッド][] diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/require-destination-tags.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/require-destination-tags.md similarity index 77% rename from @i18n/ja/docs/tutorials/manage-account-settings/require-destination-tags.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/require-destination-tags.md index 450490b78e..35c8fb462f 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/require-destination-tags.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/require-destination-tags.md @@ -8,7 +8,7 @@ labels: --- # 宛先タグの必須化 -`RequireDest`設定は、送金先を識別する[宛先タグ](../../concepts/transactions/source-and-destination-tags.md)を顧客が付け忘れている場合にあなたのアドレスに[送金](../../concepts/payment-types/index.md)できないようにするためのものです。有効にすると、XRP Ledgerは宛先タグが付いていないあなたのアドレスへの送金を拒否します。 +`RequireDest`設定は、送金先を識別する[宛先タグ](../../../concepts/transactions/source-and-destination-tags.md)を顧客が付け忘れている場合にあなたのアドレスに[送金](../../../concepts/payment-types/index.md)できないようにするためのものです。有効にすると、XRP Ledgerは宛先タグが付いていないあなたのアドレスへの送金を拒否します。 以下は、ローカルでホストされている`rippled`の[submitメソッド][]を使用して、`RequireDest`フラグを有効にする[AccountSetトランザクション][]を送信する例です。 @@ -79,13 +79,13 @@ Content-Type: application/json ## 関連項目 - **コンセプト:** - - [アカウント](../../concepts/accounts/accounts.md) - - [送信元と宛先タグ](../../concepts/transactions/source-and-destination-tags.md) - - [トランザクションコスト](../../concepts/transactions/transaction-cost.md) - - [支払いタイプ](../../concepts/payment-types/index.md) + - [アカウント](../../../concepts/accounts/accounts.md) + - [送信元と宛先タグ](../../../concepts/transactions/source-and-destination-tags.md) + - [トランザクションコスト](../../../concepts/transactions/transaction-cost.md) + - [支払いタイプ](../../../concepts/payment-types/index.md) - **リファレンス:** - [account_infoメソッド][] - [AccountSetトランザクション][] - - [AccountRootのフラグ](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountrootのフラグ) + - [AccountRootのフラグ](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountrootのフラグ) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/send-a-multi-signed-transaction.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md similarity index 96% rename from @i18n/ja/docs/tutorials/manage-account-settings/send-a-multi-signed-transaction.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md index abd9052611..7f0a838630 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/send-a-multi-signed-transaction.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md @@ -14,14 +14,14 @@ labels: - 事前にアドレスの[マルチシグの設定](set-up-multi-signing.md)をする必要があります。 -- マルチシグは使用可能である必要があります。マルチシグは、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](../../concepts/networks-and-servers/amendments.md)により2016/06/27以降利用可能になりました。 +- マルチシグは使用可能である必要があります。マルチシグは、XRP Ledgerコンセンサスプロトコルに対する[**Amendment**](../../../concepts/networks-and-servers/amendments.md)により2016/06/27以降利用可能になりました。 ## 1.トランザクションの作成 送信するトランザクションを表すJSONオブジェクトを作成します。`Fee`や`Sequence`をはじめ、このトランザクションに関する _すべての_ 情報を指定する必要があります。また、トランザクションがマルチシグトランザクションであることを示すため、`SigningPubKey`を空の文字列として指定します。 -マルチシグトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](../../concepts/transactions/transaction-cost.md)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](../../concepts/transactions/transaction-cost.md)の増加に備えて現行の最小値よりも大きな値を指定できます。 +マルチシグトランザクションの`Fee`は、標準の署名済みトランザクションよりもかなり高額ですので、ご注意ください。手数料は通常の[トランザクションコスト](../../../concepts/transactions/transaction-cost.md)の(N+1)倍以上となります(Nは付与する予定の署名数です)。複数のソースから署名を収集するのに時間がかかることがあるため、その間に[トランザクションコスト](../../../concepts/transactions/transaction-cost.md)の増加に備えて現行の最小値よりも大きな値を指定できます。 マルチシグが可能なトランザクションの例を以下に示します。 @@ -100,7 +100,7 @@ Connecting to 127.0.0.1:5005 レスポンスの`tx_json`フィールドを保存します。このフィールドの`Signers`フィールドに新しい署名が入力されています。`tx_blob`フィールドの値は無視できます。 -スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#新しいジェネシスレジャーの設定)を確認してください。 +スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](../../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#新しいジェネシスレジャーの設定)を確認してください。 ## 3.追加の署名の取得 diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/set-up-multi-signing.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/set-up-multi-signing.md similarity index 75% rename from @i18n/ja/docs/tutorials/manage-account-settings/set-up-multi-signing.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/set-up-multi-signing.md index 79b8606164..1853502bb5 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/set-up-multi-signing.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/set-up-multi-signing.md @@ -8,18 +8,18 @@ labels: --- # マルチシグの設定 -[マルチシグ](../../concepts/accounts/multi-signing.md)は、XRP Ledgerの[トランザクション](../../concepts/transactions/index.md)を承認する3種類の方法の1つです。マルチシグの他に[レギュラーキーとマスターキー](../../concepts/accounts/cryptographic-keys.md)で署名する方法があります。3種類のトランザクション承認方法を自由に組み合わせて使用できるように[アドレス](../../concepts/accounts/accounts.md)を設定できます。 +[マルチシグ](../../../concepts/accounts/multi-signing.md)は、XRP Ledgerの[トランザクション](../../../concepts/transactions/index.md)を承認する3種類の方法の1つです。マルチシグの他に[レギュラーキーとマスターキー](../../../concepts/accounts/cryptographic-keys.md)で署名する方法があります。3種類のトランザクション承認方法を自由に組み合わせて使用できるように[アドレス](../../../concepts/accounts/accounts.md)を設定できます。 このチュートリアルでは、アドレスのマルチシグを有効にする方法を説明します。 ## 前提条件 -- トランザクションを送信するための十分なXRPが供給されていて、新しい署名者リストの[必要準備金](../../concepts/accounts/reserves.md)を満たしている資金供給のあるXRP Ledger[アドレス](../../concepts/accounts/accounts.md)が必要です。 +- トランザクションを送信するための十分なXRPが供給されていて、新しい署名者リストの[必要準備金](../../../concepts/accounts/reserves.md)を満たしている資金供給のあるXRP Ledger[アドレス](../../../concepts/accounts/accounts.md)が必要です。 - [MultiSignReserve Amendment][]が有効な場合、マルチシグを使用するには、使用する署名と署名者の数に関わらず、アカウントの準備金として2 XRPが必要です。(MultiSignReserve Amendmentは**2019年4月7日**以降、本番環境のXRP Ledgerで有効になっています。) - - [MultiSignReserve Amendment][]が有効ではないテストネットワークでは、マルチシグを使用するには[アカウント準備金](../../concepts/accounts/reserves.md)に通常よりも多くのXRPが必要となります。必要額は、リストの署名者の数に応じて増加します。 + - [MultiSignReserve Amendment][]が有効ではないテストネットワークでは、マルチシグを使用するには[アカウント準備金](../../../concepts/accounts/reserves.md)に通常よりも多くのXRPが必要となります。必要額は、リストの署名者の数に応じて増加します。 - XRP Ledgerフォーマットでキーペアを生成するツールを利用できる必要があります。この処理に`rippled`サーバーを使用する場合は、[wallet_proposeメソッド][]が管理者専用であるため、管理者アクセス権限が必要です。 @@ -61,7 +61,7 @@ Connecting to 127.0.0.1:5005 ## 3. SignerListSetトランザクションの送信 -通常の方法(シングルシグネチャー)で[SignerListSetトランザクション][]に[署名して送信](../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。これによりSignerListがXRP Ledgerのアドレスに関連付けられるので、これ以降はSignerListの複数メンバーがあなたの代わりにトランザクションに署名するマルチシグが可能となります。 +通常の方法(シングルシグネチャー)で[SignerListSetトランザクション][]に[署名して送信](../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。これによりSignerListがXRP Ledgerのアドレスに関連付けられるので、これ以降はSignerListの複数メンバーがあなたの代わりにトランザクションに署名するマルチシグが可能となります。 この例ではSignerListに3人のメンバーが含まれています。また、マルチシグトランザクションにはrsA2LpzuawewSBQXkiju3YQTMzW13pAAdWの署名と、リストの他の2人のメンバーからの少なくとも1つの署名を必要とするように、重みと定数が設定されています。 @@ -140,9 +140,9 @@ Connecting to 127.0.0.1:5005 } ``` -[トランザクションの結果](../../references/protocol/transactions/transaction-results/transaction-results.md)が[**tesSUCCESS**](../../references/protocol/transactions/transaction-results/tes-success.md)であることを確認します。それ以外の場合、トランザクションは失敗しています。スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#新しいジェネシスレジャーの設定)を確認してください。 +[トランザクションの結果](../../../references/protocol/transactions/transaction-results/transaction-results.md)が[**tesSUCCESS**](../../../references/protocol/transactions/transaction-results/tes-success.md)であることを確認します。それ以外の場合、トランザクションは失敗しています。スタンドアロンモードまたは本番環境以外のネットワークで問題が発生した場合は、[マルチシグが有効であること](../../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#新しいジェネシスレジャーの設定)を確認してください。 -**注記:** [MultiSignReserve Amendment][]が有効ではない場合は、SignerListのメンバーの増加に応じて、アドレスの[所有者準備金](../../concepts/accounts/reserves.md#所有者準備金)のXRP額を増加する必要があります。アドレスに十分なXRPがないと、トランザクションは[tecINSUFFICIENT_RESERVE](../../references/protocol/transactions/transaction-results/tec-codes.md)で失敗します。[MultiSignReserve Amendment][]が有効な場合は、SignerListの署名者の数に関係なく[所有者準備金](../../concepts/accounts/reserves.md#所有者準備金)として必要なXRPは5 XRPです。関連項目: [SignerListと準備金](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md#signerlistと準備金) +**注記:** [MultiSignReserve Amendment][]が有効ではない場合は、SignerListのメンバーの増加に応じて、アドレスの[所有者準備金](../../../concepts/accounts/reserves.md#所有者準備金)のXRP額を増加する必要があります。アドレスに十分なXRPがないと、トランザクションは[tecINSUFFICIENT_RESERVE](../../../references/protocol/transactions/transaction-results/tec-codes.md)で失敗します。[MultiSignReserve Amendment][]が有効な場合は、SignerListの署名者の数に関係なく[所有者準備金](../../../concepts/accounts/reserves.md#所有者準備金)として必要なXRPは5 XRPです。関連項目: [SignerListと準備金](../../../references/protocol/ledger-data/ledger-entry-types/signerlist.md#signerlistと準備金) ## 4. 検証の待機 @@ -215,19 +215,19 @@ SignerListが予期した内容で存在していれば、アドレスでマル ## 関連項目 - **コンセプト:** - - [暗号鍵](../../concepts/accounts/cryptographic-keys.md) - - [マルチシグ](../../concepts/accounts/multi-signing.md) + - [暗号鍵](../../../concepts/accounts/cryptographic-keys.md) + - [マルチシグ](../../../concepts/accounts/multi-signing.md) - **チュートリアル:** - - [rippledのインストール](../../infrastructure/installation/index.md) + - [rippledのインストール](../../../infrastructure/installation/index.md) - [レギュラーキーペアの割り当て](assign-a-regular-key-pair.md) - - [信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md) - - [パブリック署名の有効化](../../infrastructure/configuration/enable-public-signing.md) + - [信頼できるトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md) + - [パブリック署名の有効化](../../../infrastructure/configuration/enable-public-signing.md) - **リファレンス:** - [wallet_proposeメソッド][] - [account_objectsメソッド][] - [sign_forメソッド][] - [submit_multisignedメソッド][] - [SignerListSetトランザクション][] - - [SignerListオブジェクト](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md) + - [SignerListオブジェクト](../../../references/protocol/ledger-data/ledger-entry-types/signerlist.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/manage-account-settings/use-tickets.md b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/use-tickets.md similarity index 85% rename from @i18n/ja/docs/tutorials/manage-account-settings/use-tickets.md rename to @i18n/ja/docs/tutorials/tasks/manage-account-settings/use-tickets.md index 9e2562b1de..64fc0c60be 100644 --- a/@i18n/ja/docs/tutorials/manage-account-settings/use-tickets.md +++ b/@i18n/ja/docs/tutorials/tasks/manage-account-settings/use-tickets.md @@ -11,15 +11,15 @@ labels: --- # チケットの使用 -[チケット](../../references/protocol/ledger-data/ledger-entry-types/ticket.md)は、通常の順序ではないトランザクションを送信する方法を提供します。このチュートリアルでは、チケットを作成し、それを使って別のトランザクションを送信する手順を説明します。 +[チケット](../../../references/protocol/ledger-data/ledger-entry-types/ticket.md)は、通常の順序ではないトランザクションを送信する方法を提供します。このチュートリアルでは、チケットを作成し、それを使って別のトランザクションを送信する手順を説明します。 ## 前提条件 - + -このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](../get-started/get-started-using-javascript.md)をご覧ください。 +このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](../../javascript/get-started.md)をご覧ください。 JavaScriptはWebブラウザ上で動作するため、セットアップなしで読み進められ、インタラクティブな手順を利用することができます。 @@ -36,11 +36,11 @@ JavaScriptはWebブラウザ上で動作するため、セットアップなし ### 1. クレデンシャルの入手 -XRP Ledgerでトランザクションを送信するには、アドレスと秘密鍵、そしてXRPが必要です。開発用には、[{{use_network}}](../../concepts/networks-and-servers/parallel-networks.md)で以下のようなインターフェースを使ってこれらを入手することができます。 +XRP Ledgerでトランザクションを送信するには、アドレスと秘密鍵、そしてXRPが必要です。開発用には、[Testnet](../../../concepts/networks-and-servers/parallel-networks.md)で以下のようなインターフェースを使ってこれらを入手することができます。 {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -[本番環境のソフトウェアを作成する場合](/docs/tutorials)には、既存のアカウントを使用し、[安全な署名](../../concepts/transactions/secure-signing.md)を使用して鍵を管理する必要があります。 +[本番環境のソフトウェアを作成する場合](/docs/tutorials)には、既存のアカウントを使用し、[安全な署名](../../../concepts/transactions/secure-signing.md)を使用して鍵を管理する必要があります。 ### 2. ネットワークへの接続 @@ -98,7 +98,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘 {% /tabs %} -トランザクションのハッシュと`LastLedgerSequence`の値を記録しておけば、[後で検証されたかどうかを確認](../../concepts/transactions/reliable-transaction-submission.md)することができます。 +トランザクションのハッシュと`LastLedgerSequence`の値を記録しておけば、[後で検証されたかどうかを確認](../../../concepts/transactions/reliable-transaction-submission.md)することができます。 {% interactive-block label="Prepare & Sign" steps=$frontmatter.steps %} @@ -135,7 +135,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘 ### 6. 検証の待機 -ほとんどのトランザクションは、送信された後に次の台帳のバージョンに受け入れられます。つまり、トランザクションの結果が確定するまでに4~7秒かかることがあります。XRP Ledgerが混雑している場合や、ネットワークの接続性が悪いためにトランザクションがネットワーク全体に中継されない場合は、トランザクションが確定するまでに時間がかかることがあります。(トランザクションの有効期限を設定する方法については、[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください)。 +ほとんどのトランザクションは、送信された後に次の台帳のバージョンに受け入れられます。つまり、トランザクションの結果が確定するまでに4~7秒かかることがあります。XRP Ledgerが混雑している場合や、ネットワークの接続性が悪いためにトランザクションがネットワーク全体に中継されない場合は、トランザクションが確定するまでに時間がかかることがあります。(トランザクションの有効期限を設定する方法については、[信頼できるトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md)を参照してください)。 {% tabs %} @@ -191,7 +191,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘 チケットが利用できるようになったので、それを使用するトランザクションを準備します。 -ここでは、好きな[トランザクションのタイプ](../../references/protocol/transactions/types/index.md)を使用することができます。次の例では、何も行わない[AccountSet トランザクション][]を使用していますが、これはレジャーに他の設定を必要としないからです。`Sequence`フィールドを`0`に設定して、利用可能なチケットの1つのチケットシーケンス番号を持つ`TicketSequence`フィールドを含めます。 +ここでは、好きな[トランザクションのタイプ](../../../references/protocol/transactions/types/index.md)を使用することができます。次の例では、何も行わない[AccountSet トランザクション][]を使用していますが、これはレジャーに他の設定を必要としないからです。`Sequence`フィールドを`0`に設定して、利用可能なチケットの1つのチケットシーケンス番号を持つ`TicketSequence`フィールドを含めます。 {% tabs %} @@ -248,7 +248,7 @@ TicketCreateトランザクションをすぐに送信する予定がない場 ## マルチシグで使用する -チケットの主な使用例としては、複数の[マルチシグ](../../concepts/accounts/multi-signing.md)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。 +チケットの主な使用例としては、複数の[マルチシグ](../../../concepts/accounts/multi-signing.md)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。 このシナリオでは、[step8,「チケット付きトランザクションの準備」](#8-チケット付きトランザクションの準備)が若干異なります。準備と署名を一度に行うのではなく、[任意のマルチシグトランザクションの送信](send-a-multi-signed-transaction.md)の手順に従うことになります。まずトランザクションを準備し、次に信頼できる署名者の間でトランザクションを循環させて署名を集め、最後に署名を組み合わせて最終的なマルチシグトランザクションを作成します。 @@ -258,16 +258,16 @@ TicketCreateトランザクションをすぐに送信する予定がない場 ## 関連項目 - **Concepts:** - - [チケット](../../concepts/accounts/tickets.md) - - [マルチシグ](../../concepts/accounts/multi-signing.md) + - [チケット](../../../concepts/accounts/tickets.md) + - [マルチシグ](../../../concepts/accounts/multi-signing.md) - **Tutorials:** - [マルチシグの設定](set-up-multi-signing.md) - - [信頼出来るトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md) + - [信頼出来るトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [account_objects メソッド][] - [sign_for メソッド][] - [submit_multisigned メソッド][] - [TicketCreate トランザクション][] - - [トランザクションの共通フィールド](../../references/protocol/transactions/common-fields.md) + - [トランザクションの共通フィールド](../../../references/protocol/transactions/common-fields.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/get-started/send-xrp.md b/@i18n/ja/docs/tutorials/tasks/send-xrp.md similarity index 99% rename from @i18n/ja/docs/tutorials/get-started/send-xrp.md rename to @i18n/ja/docs/tutorials/tasks/send-xrp.md index 58aeeff668..0285fa822b 100644 --- a/@i18n/ja/docs/tutorials/get-started/send-xrp.md +++ b/@i18n/ja/docs/tutorials/tasks/send-xrp.md @@ -23,7 +23,7 @@ steps: ['Generate', 'Connect', 'Prepare', 'Sign', 'Submit', 'Wait', 'Check'] -- このページでは、xrpl.jsライブラリーを使用するJavaScriptの例を紹介します。[xrpl.js入門ガイド](get-started-using-javascript.md)に、xrpl.jsを使用してJavaScriptからXRP Ledgerデータにアクセスする方法の説明があります。 +- このページでは、xrpl.jsライブラリーを使用するJavaScriptの例を紹介します。[xrpl.js入門ガイド](../javascript/get-started.md)に、xrpl.jsを使用してJavaScriptからXRP Ledgerデータにアクセスする方法の説明があります。 - XRP Ledgerでトランザクションを送信するには、まずアドレスと秘密鍵、そしていくらかのXRPが必要となります。次のインターフェイスを使用して、XRP Test NetにあるアドレスとTestnet XRPを入手できます。 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md similarity index 83% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md index f54e019068..f94d2c2321 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md @@ -10,9 +10,9 @@ labels: _[Checks Amendment][]により追加されました。_ -このチュートリアルでは、[Check](../../../concepts/payment-types/checks.md)を取り消す手順を説明します。この手順を実行すると、送金を行わずに[レジャーのCheckオブジェクト](../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されます。 +このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)を取り消す手順を説明します。この手順を実行すると、送金を行わずに[レジャーのCheckオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されます。 -着信したCheckが不要な場合、取り消すことができます。送信時に内容を誤って入力した場合や状況が変化した場合に、送信したCheckを取り消すこともできます。有効期限切れのCheckはレジャーから削除する必要があります。これにより、送金元に[所有者準備金](../../../concepts/accounts/reserves.md#所有者準備金)が戻ります。 +着信したCheckが不要な場合、取り消すことができます。送信時に内容を誤って入力した場合や状況が変化した場合に、送信したCheckを取り消すこともできます。有効期限切れのCheckはレジャーから削除する必要があります。これにより、送金元に[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)が戻ります。 ## 前提条件 @@ -21,13 +21,13 @@ _[Checks Amendment][]により追加されました。_ - 現在レジャーに記録されているCheckオブジェクトのIDが必要です。 - たとえばこのチュートリアルの例では、IDが`49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0`のCheckを取り消しますが、この手順を自身で実行する場合は異なるIDを使用する必要があります。 - CheckCancelトランザクションを送信する資金供給のあるアカウントの**アドレス**と**シークレットキー**。Checkが有効期限切れでない限り、このアドレスは、Checkの送金元または受取人のいずれかでなければなりません。 -- トランザクションに[安全に署名できる手段](../../../concepts/transactions/secure-signing.md)。 -- [クライアントライブラリ](../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。 +- トランザクションに[安全に署名できる手段](../../../../concepts/transactions/secure-signing.md)。 +- [クライアントライブラリ](../../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。 ## 1. CheckCancelトランザクションの準備 -[CheckCancelトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。 +[CheckCancelトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。 | フィールド | 値 | 説明 | |:------------------|:-----------------|:--------------------------------------| @@ -133,7 +133,7 @@ Checkを取り消す例を以下に示します。 トランザクションのステータスを確認するには、CheckCancelトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。 -トランザクションによって[Checkレジャーオブジェクト](../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されたことを示す`"LedgerEntryType": "Check"`を含む`DeletedNode`オブジェクトを、トランザクションメタデータから検索します。このオブジェクトの`LedgerIndex`はCheckのIDに一致している必要があります。 +トランザクションによって[Checkレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されたことを示す`"LedgerEntryType": "Check"`を含む`DeletedNode`オブジェクトを、トランザクションメタデータから検索します。このオブジェクトの`LedgerIndex`はCheckのIDに一致している必要があります。 ### リクエストの例 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md similarity index 83% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md index a5de4208b8..d75787d845 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md @@ -23,7 +23,7 @@ Checkから可能な限りの額を受領したい場合には、変動金額で ## 1. CheckCashトランザクションの準備 -[CheckCashトランザクション][]のフィールドの値を決定します。Checkを変動金額で換金する場合、以下のフィールドは必要最小限です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。 +[CheckCashトランザクション][]のフィールドの値を決定します。Checkを変動金額で換金する場合、以下のフィールドは必要最小限です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。 | フィールド | 値 | 説明 | |:------------------|:--------------------------|:-----------------------------| @@ -137,7 +137,7 @@ Checkを変動金額で換金するためのトランザクションを準備す ### エラー処理 -[](../../../references/protocol/transactions/transaction-results/transaction-results.md)Checkの換金が`tec`クラスコードで失敗した場合は、[すべてのトランザクションレスポンスのリスト](../../../references/protocol/transactions/transaction-results/transaction-results.md)でコードを確認し、適切に対処してください。CheckCashトランザクションでよく返される結果コードの一部を次に示します。 +[](../../../../references/protocol/transactions/transaction-results/transaction-results.md)Checkの換金が`tec`クラスコードで失敗した場合は、[すべてのトランザクションレスポンスのリスト](../../../../references/protocol/transactions/transaction-results/transaction-results.md)でコードを確認し、適切に対処してください。CheckCashトランザクションでよく返される結果コードの一部を次に示します。 | 結果コード | 意味 | 対処 | |-------------|---------|----------------| @@ -145,15 +145,15 @@ Checkを変動金額で換金するためのトランザクションを準備す | `tecNO_ENTRY` | Check IDが存在していません。 | CheckCashトランザクションの`CheckID`が正しいことを確認してください。Checkがまだ取り消されていないこと、または正常に換金されていないことを確認してください。 | | `tecNO_LINE` | 受取人がCheckの通貨のトラストラインを所有していません。 | このイシュアーからのこの通貨を保有するには、指定された通貨とイシュアーのトラストラインを作成し、[TrustSetトランザクション][]を使用してこのトラストラインに適切な限度額を設定してから、Checkの換金を再試行します。 | | `tecNO_PERMISSION` | CheckCashトランザクションの送信者はCheckの`Destination`ではありません。 | Checkの`Destination`を再度確認します。 | -| `tecNO_AUTH` | このCheckの通貨のイシュアーは[Authorized Trust Line](../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md)を使用していますが、受取人からイシュアーへのトラストラインが承認されていません。 | このトラストラインを承認するようイシュアーに依頼し、承認されたらCheckの換金を再試行します。 | -| `tecPATH_PARTIAL` | トラストラインの限度額、または送金元に送金通貨の残高(イシュアーの[送金手数料](../../../concepts/tokens/transfer-fees.md)がある場合はこの手数料を含む)が十分になかったことが原因で、Checkでは十分なトークンを送金できませんでした。 | 原因がトラストラインの限度額である場合は、(希望する場合には)限度額を引き上げる[TrustSetトランザクション][]を送信するか、または通貨の一部を消費して残高を減らしてから、Checkの換金を再試行します。原因が送金元の残高である場合は、送金元にCheckの通貨が積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 | +| `tecNO_AUTH` | このCheckの通貨のイシュアーは[Authorized Trust Line](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md)を使用していますが、受取人からイシュアーへのトラストラインが承認されていません。 | このトラストラインを承認するようイシュアーに依頼し、承認されたらCheckの換金を再試行します。 | +| `tecPATH_PARTIAL` | トラストラインの限度額、または送金元に送金通貨の残高(イシュアーの[送金手数料](../../../../concepts/tokens/transfer-fees.md)がある場合はこの手数料を含む)が十分になかったことが原因で、Checkでは十分なトークンを送金できませんでした。 | 原因がトラストラインの限度額である場合は、(希望する場合には)限度額を引き上げる[TrustSetトランザクション][]を送信するか、または通貨の一部を消費して残高を減らしてから、Checkの換金を再試行します。原因が送金元の残高である場合は、送金元にCheckの通貨が積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 | | `tecUNFUNDED_PAYMENT` | Checkで十分なXRPを送金できませんでした。 | 送金元にXRPが積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 | ## 6. 送金された額の確認 Checkが変動する`DeliverMin`の額で換金された場合は、Checkは少なくとも`DeliverMin`の額で換金されたと想定できます。送金された額を正確に得るには、トランザクションメタデータを調べます。メタデータの`AffectedNodes`配列には、通貨のタイプに応じて、Checkの換金による残高の変更を反映した1~2つのオブジェクトが含まれています。 -- XRPの場合、Checkの送金元の`AccountRoot`オブジェクトのXRP `Balance` フィールドから引き落しが行われます。Checkの受取人(CheckCashトランザクションを送信したユーザー)の`AccountRoot`オブジェクトでは、最低でもCheckCashトランザクションの`DeliverMin`から、トランザクションの送信にかかる[トランザクションコスト](../../../concepts/transactions/transaction-cost.md)を差し引いた額が、XRP `Balance`に入金されます。 +- XRPの場合、Checkの送金元の`AccountRoot`オブジェクトのXRP `Balance` フィールドから引き落しが行われます。Checkの受取人(CheckCashトランザクションを送信したユーザー)の`AccountRoot`オブジェクトでは、最低でもCheckCashトランザクションの`DeliverMin`から、トランザクションの送信にかかる[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)を差し引いた額が、XRP `Balance`に入金されます。 たとえば以下の`ModifiedNode`は、アカウントrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis(Checkの受取人でありこのCheckCashトランザクションの送信者)のXRP残高が`9999999970` dropから`10099999960` dropに変更されています。つまり、このトランザクションを処理した結果として、受取人に対し _正味_ 99.99999 XRPが入金されています。 @@ -192,6 +192,6 @@ Checkが変動する`DeliverMin`の額で換金された場合は、Checkは少 - イシュアーが第三者であるトークンの場合、2つの`RippleState`(送金元からイシュアーへのトラストラインとイシュアーから受取人へのトラストライン)に対する変更があります。Checkの送金元とイシュアーの関係を表す`RippleState`オブジェクトではその`Balance`がイシュアーに有利に変更され、イシュアーと受取人の間の関係を表す`RippleState`オブジェクトではその`Balance`が受取人に有利に変更されます。 - - トークンに[送金手数料](../../../concepts/tokens/transfer-fees.md)がある場合、受取人への入金額を上回る額がCheckの送金元から引き落とされます。(この差額が送金手数料であり、これがイシュアーに戻されることによりイシュアーの正味の債務は減少します。) + - トークンに[送金手数料](../../../../concepts/tokens/transfer-fees.md)がある場合、受取人への入金額を上回る額がCheckの送金元から引き落とされます。(この差額が送金手数料であり、これがイシュアーに戻されることによりイシュアーの正味の債務は減少します。) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md similarity index 97% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md index df48989864..f42c6af297 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md @@ -20,7 +20,7 @@ Checkがレジャーに含まれており有効期限切れではない場合は ## 1. CheckCashトランザクションの準備 -[CheckCashトランザクション][]のフィールドの値を決定します。Checkを正確な金額で換金する場合、以下のフィールドが最低限必要です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。 +[CheckCashトランザクション][]のフィールドの値を決定します。Checkを正確な金額で換金する場合、以下のフィールドが最低限必要です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。 | フィールド | 値 | 説明 | |:------------------|:--------------------------|:-----------------------------| diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md similarity index 91% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md index 4c4976419b..f17a4f4326 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md @@ -10,7 +10,7 @@ labels: _[Checks Amendment][]により追加されました。_ -このチュートリアルでは、[Check](../../../concepts/payment-types/checks.md)をその受取人で検索する方法を説明します。[Checkを送金元で検索する](look-up-checks-by-sender.md)こともできます。 +このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)をその受取人で検索する方法を説明します。[Checkを送金元で検索する](look-up-checks-by-sender.md)こともできます。 ## 1. 特定のアドレスのすべてのCheckの検索 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md similarity index 91% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md index b1af8dbbfd..4c83109ae6 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md @@ -10,7 +10,7 @@ labels: _[Checks Amendment][]により追加されました。_ -このチュートリアルでは、[Check](../../../concepts/payment-types/checks.md)をその送金元で検索する方法を説明します。[Checkを受取人で検索する](look-up-checks-by-recipient.md)こともできます。 +このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)をその送金元で検索する方法を説明します。[Checkを受取人で検索する](look-up-checks-by-recipient.md)こともできます。 ## 1. 特定のアドレスのすべてのCheckの検索 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/send-a-check.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md similarity index 85% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/send-a-check.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md index 5581af4562..1085dda82b 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/send-a-check.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md @@ -8,9 +8,9 @@ labels: --- # Checkの送信 -Checkの送信は、指定受取人にあなたからの支払いを引き出す許可を与えることに似ています。このプロセスの結果、受取人が後で現金化できる[レジャーのCheckオブジェクト](../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されます。 +Checkの送信は、指定受取人にあなたからの支払いを引き出す許可を与えることに似ています。このプロセスの結果、受取人が後で現金化できる[レジャーのCheckオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されます。 -多くの場合、Checkではなく[Payment][]が送信されます。これは、Paymentでは1つのステップで受取人に直接送金できるためです。ただし、指定受取人が[DepositAuth](../../../concepts/accounts/depositauth.md)を使用している場合はPaymentを直接送信できないため、代替手段としてCheckが適切です。 +多くの場合、Checkではなく[Payment][]が送信されます。これは、Paymentでは1つのステップで受取人に直接送金できるためです。ただし、指定受取人が[DepositAuth](../../../../concepts/accounts/depositauth.md)を使用している場合はPaymentを直接送信できないため、代替手段としてCheckが適切です。 このチュートリアルでは、架空の会社BoxSend SG(XRP LedgerアドレスはrBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za)が架空の暗号資産コンサルタント会社Grand Payments(XRP LedgerアドレスはrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis)に、コンサルティング料を支払う例を取り上げます。Grand PaymentsはXRPでの支払いを望んでいますが、税務処理と規制対応を簡素化するため、明示的に承認した支払いのみを受け入れます。 @@ -24,19 +24,19 @@ XRP Ledgerの外部でGrand PaymentsはBoxSend SGに請求書(IDは`46060241FA - Checkの送信元である資金供給のあるアカウントの**アドレス**と**シークレットキー**。 - [XRP Ledger Test Net Faucet](/resources/dev-tools/xrp-faucets)を使用して、10,000 Test Net XRPを保有する資金供給のあるアドレスおよびシークレットを取得できます。 - Checkを受領する資金供給のあるアカウントの**アドレス**。 -- トランザクションに[安全に署名できる手段](../../../concepts/transactions/secure-signing.md)。 -- [クライアントライブラリ](../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。 +- トランザクションに[安全に署名できる手段](../../../../concepts/transactions/secure-signing.md)。 +- [クライアントライブラリ](../../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。 ## 1. CheckCreateトランザクションの準備 -Checkの額と、Checkを現金化できる当事者を決定します。[CheckCreateトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)できるフィールドです。 +Checkの額と、Checkを現金化できる当事者を決定します。[CheckCreateトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)できるフィールドです。 | フィールド | 値 | 説明 | |:------------------|:--------------------------|:-----------------------------| | `TransactionType` | 文字列 | このフィールドには文字列`CheckCreate`を使用します。 | | `Account` | 文字列(アドレス) | Checkを作成する送金元のアドレス。(あなたのアドレスです。) | | `Destination` | 文字列(アドレス) | Checkを換金できる指定受取人のアドレス。 | -| `SendMax` | 文字列またはオブジェクト(額) | Checkが現金化されるときに送金元から引き出される最大額。XRPの場合、XRPのdrop数を示す文字列を使用します。トークンの場合、`currency`、`issuer`、および`value` フィールドを含むオブジェクトを使用します。詳細は、[通貨額の指定][]を参照してください。受取人がXRP以外の通貨で正確な額のCheckを換金できるようにし、かつ[送金手数料](../../../concepts/tokens/transfer-fees.md)を含めるには、送金手数料分の追加パーセンテージを必ず指定してください。(たとえば受取人が送金手数料2%でCheckをイシュアーからの100 CADに現金化できるようにするには、`SendMax`をイシュアーからの102 CADに設定する必要があります。) | +| `SendMax` | 文字列またはオブジェクト(額) | Checkが現金化されるときに送金元から引き出される最大額。XRPの場合、XRPのdrop数を示す文字列を使用します。トークンの場合、`currency`、`issuer`、および`value` フィールドを含むオブジェクトを使用します。詳細は、[通貨額の指定][]を参照してください。受取人がXRP以外の通貨で正確な額のCheckを換金できるようにし、かつ[送金手数料](../../../../concepts/tokens/transfer-fees.md)を含めるには、送金手数料分の追加パーセンテージを必ず指定してください。(たとえば受取人が送金手数料2%でCheckをイシュアーからの100 CADに現金化できるようにするには、`SendMax`をイシュアーからの102 CADに設定する必要があります。) | ### CheckCreateトランザクションの準備の例 @@ -154,7 +154,7 @@ Checkの額と、Checkを現金化できる当事者を決定します。[CheckC トランザクションのステータスを確認するには、CheckCreateトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションメタデータで、トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドを探し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果で探します。 -トランザクションのメタデータで、`LedgerEntryType`が `"Check"`の`CreatedNode`オブジェクトを探します。これは、トランザクションにより[Checkレジャーオブジェクト](../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されたことを示します。このオブジェクトの`LedgerIndex` がCheckのIDです。以下の例ではCheckのIDは`84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9`です。 +トランザクションのメタデータで、`LedgerEntryType`が `"Check"`の`CreatedNode`オブジェクトを探します。これは、トランザクションにより[Checkレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されたことを示します。このオブジェクトの`LedgerIndex` がCheckのIDです。以下の例ではCheckのIDは`84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9`です。 ### リクエストの例 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/use-checks.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md similarity index 100% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-checks/use-checks.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md similarity index 89% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md index db9b8b0114..03cbcd4a59 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md @@ -58,7 +58,7 @@ XRP LedgerのEscrowが有効期限切れとなるのは、その`CancelAfter`の ## 2.EscrowCancelトランザクションの送信 -XRP Ledgerでは、[EscrowCancelトランザクション][]に[署名して送信する](../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)ことで、***誰でも***有効期限切れのEscrowを取り消すことができます。トランザクションの`Owner`フィールドを、そのEscrowを作成した`EscrowCreate`トランザクションの`Account`に設定します。`OfferSequence`フィールドを、`EscrowCreate`トランザクションの`Sequence`に設定します。 +XRP Ledgerでは、[EscrowCancelトランザクション][]に[署名して送信する](../../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)ことで、***誰でも***有効期限切れのEscrowを取り消すことができます。トランザクションの`Owner`フィールドを、そのEscrowを作成した`EscrowCreate`トランザクションの`Account`に設定します。`OfferSequence`フィールドを、`EscrowCreate`トランザクションの`Sequence`に設定します。 {% partial file="/docs/_snippets/secret-key-warning.md" /%} diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/look-up-escrows.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/look-up-escrows.md similarity index 97% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/look-up-escrows.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/look-up-escrows.md index 716458bc58..c88ca88e6a 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/look-up-escrows.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/look-up-escrows.md @@ -9,7 +9,7 @@ labels: --- # Escrowの検索 -保留中のEscrowはすべて[Escrowオブジェクト](../../../concepts/payment-types/escrow.md)としてレジャーに保管されます。 +保留中のEscrowはすべて[Escrowオブジェクト](../../../../concepts/payment-types/escrow.md)としてレジャーに保管されます。 Escrowオブジェクトを検索するには、[account_objectsメソッド][]で[送金元のアドレス](#送金元のアドレスによるescrowの検索)または[送金先のアドレス](#送金先のアドレスによるescrowの検索)を使用して検索します。 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md similarity index 81% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md index 25f5360069..c7aa4d7fa9 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md @@ -72,7 +72,7 @@ print(cancel_after) ## 3.EscrowCreateトランザクションの送信 -[EscrowCreateトランザクション][]に[署名して送信](../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`Condition`フィールドを、保留中の支払いがリリースされる時刻に設定します。`Destination`を受取人に設定します。受取人と送金元のアドレスは同じでもかまいません。前の手順で算出した`CancelAfter`または`FinishAfter`の時刻も指定します。`Amount`を、Escrowする[XRP、drop単位][]の合計額に設定します。 +[EscrowCreateトランザクション][]に[署名して送信](../../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`Condition`フィールドを、保留中の支払いがリリースされる時刻に設定します。`Destination`を受取人に設定します。受取人と送金元のアドレスは同じでもかまいません。前の手順で算出した`CancelAfter`または`FinishAfter`の時刻も指定します。`Amount`を、Escrowする[XRP、drop単位][]の合計額に設定します。 {% partial file="/docs/_snippets/secret-key-warning.md" /%} @@ -102,7 +102,7 @@ print(cancel_after) ## 5.Escrowが作成されたことの確認 -トランザクションの識別用ハッシュを指定した[txメソッド][]を使用して、トランザクションの最終ステータスを確認します。特に、[Escrowレジャーオブジェクト](../../../concepts/payment-types/escrow.md)が作成されたことを示す`CreatedNode`をトランザクションメタデータで探します。 +トランザクションの識別用ハッシュを指定した[txメソッド][]を使用して、トランザクションの最終ステータスを確認します。特に、[Escrowレジャーオブジェクト](../../../../concepts/payment-types/escrow.md)が作成されたことを示す`CreatedNode`をトランザクションメタデータで探します。 リクエスト: @@ -126,9 +126,9 @@ print(cancel_after) ## 6.EscrowFinishトランザクションの送信 -`FinishAfter`の時刻が経過した後で資金のリリースを実行する[EscrowFinishトランザクション][]に[署名して送信](../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`Owner`フィールドにEscrowCreateトランザクションの`Account`アドレスを設定し、`OfferSequence` にEscrowCreateトランザクションの`Sequence`番号を設定します。`Condition`フィールドと`Fulfillment`フィールドに、ステップ1で生成した条件値とフルフィルメント値をそれぞれ16進数で設定します。フルフィルメントのサイズ(バイト数)に基づいて`Fee`([トランザクションコスト](../../../concepts/transactions/transaction-cost.md))の値を設定します。条件付きEscrowFinishでは、少なくとも330 drop(XRP)と、フルフィルメントのサイズで16バイトごとに10 dropが必要です。 +`FinishAfter`の時刻が経過した後で資金のリリースを実行する[EscrowFinishトランザクション][]に[署名して送信](../../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`Owner`フィールドにEscrowCreateトランザクションの`Account`アドレスを設定し、`OfferSequence` にEscrowCreateトランザクションの`Sequence`番号を設定します。`Condition`フィールドと`Fulfillment`フィールドに、ステップ1で生成した条件値とフルフィルメント値をそれぞれ16進数で設定します。フルフィルメントのサイズ(バイト数)に基づいて`Fee`([トランザクションコスト](../../../../concepts/transactions/transaction-cost.md))の値を設定します。条件付きEscrowFinishでは、少なくとも330 drop(XRP)と、フルフィルメントのサイズで16バイトごとに10 dropが必要です。 -**注記:** EscrowCreateトランザクションに`FinishAfter`フィールドが含まれている場合、Escrowの条件として正しいフルフィルメントを指定しても、この時刻よりも前の時点ではこのトランザクションを実行できません。前に閉鎖されたレジャーの閉鎖時刻が`FinishAfter`の時刻よりも前である場合、EscrowFinishトランザクションは[結果コード](../../../references/protocol/transactions/transaction-results/transaction-results.md)`tecNO_PERMISSION`で失敗します。 +**注記:** EscrowCreateトランザクションに`FinishAfter`フィールドが含まれている場合、Escrowの条件として正しいフルフィルメントを指定しても、この時刻よりも前の時点ではこのトランザクションを実行できません。前に閉鎖されたレジャーの閉鎖時刻が`FinishAfter`の時刻よりも前である場合、EscrowFinishトランザクションは[結果コード](../../../../references/protocol/transactions/transaction-results/transaction-results.md)`tecNO_PERMISSION`で失敗します。 Escrowが有効期限切れの場合は、[Escrowの取消し](cancel-an-expired-escrow.md)だけが可能です。 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md similarity index 81% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md index 34082bb2cd..f78698e94f 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md @@ -43,7 +43,7 @@ print(release_date_ripple) ## 2.EscrowCreateトランザクションの送信 -[EscrowCreateトランザクション][]に[署名して送信](../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`FinishAfter`フィールドを、保留中の支払いがリリースされる時刻に設定します。`Condition`フィールドを省略して、時刻を保留中の支払いをリリースする唯一の条件とします。`Destination`を受取人に設定します。受取人と送金元のアドレスは同じでもかまいません。`Amount`を、Escrowする[XRP、drop単位][]の合計額に設定します。 +[EscrowCreateトランザクション][]に[署名して送信](../../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`FinishAfter`フィールドを、保留中の支払いがリリースされる時刻に設定します。`Condition`フィールドを省略して、時刻を保留中の支払いをリリースする唯一の条件とします。`Destination`を受取人に設定します。受取人と送金元のアドレスは同じでもかまいません。`Amount`を、Escrowする[XRP、drop単位][]の合計額に設定します。 {% partial file="/docs/_snippets/secret-key-warning.md" /%} @@ -76,7 +76,7 @@ print(release_date_ripple) ## 4.Escrowが作成されたことの確認 -トランザクションの識別用ハッシュを指定した[txメソッド][]を使用して、トランザクションの最終ステータスを確認します。[Escrowレジャーオブジェクト](../../../concepts/payment-types/escrow.md)が作成されたことを示す`CreatedNode`をトランザクションメタデータで探します。 +トランザクションの識別用ハッシュを指定した[txメソッド][]を使用して、トランザクションの最終ステータスを確認します。[Escrowレジャーオブジェクト](../../../../concepts/payment-types/escrow.md)が作成されたことを示す`CreatedNode`をトランザクションメタデータで探します。 リクエスト: @@ -100,7 +100,7 @@ print(release_date_ripple) ## 5.リリース時刻までの待機 -`FinishAfter`時刻が指定されている保留中の支払いは、Escrowノードの`FinishAfter`時刻よりも後の[`close_time`ヘッダーフィールド](../../../references/protocol/ledger-data/ledger-header.md)の時刻でレジャーが閉鎖するまでは完了できません。 +`FinishAfter`時刻が指定されている保留中の支払いは、Escrowノードの`FinishAfter`時刻よりも後の[`close_time`ヘッダーフィールド](../../../../references/protocol/ledger-data/ledger-header.md)の時刻でレジャーが閉鎖するまでは完了できません。 最新の検証済みレジャーの閉鎖時刻は、[ledgerメソッド][]を使用して検索できます。 @@ -127,7 +127,7 @@ print(release_date_ripple) ## 6.EscrowFinishトランザクションの送信 -`FinishAfter`の時刻が経過した後で資金のリリースを実行する[EscrowFinishトランザクション][]に[署名して送信](../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`Owner`フィールドにEscrowCreateトランザクションの`Account`アドレスを設定し、`OfferSequence` にEscrowCreateトランザクションの`Sequence`番号を設定します。時刻のみに基づいて保留されているEscrowの場合は、`Condition`フィールドと`Fulfillment`フィールドを省略します。 +`FinishAfter`の時刻が経過した後で資金のリリースを実行する[EscrowFinishトランザクション][]に[署名して送信](../../../../concepts/transactions/index.md#トランザクションへの署名とトランザクションの送信)します。トランザクションの`Owner`フィールドにEscrowCreateトランザクションの`Account`アドレスを設定し、`OfferSequence` にEscrowCreateトランザクションの`Sequence`番号を設定します。時刻のみに基づいて保留されているEscrowの場合は、`Condition`フィールドと`Fulfillment`フィールドを省略します。 **ヒント:** XRP Ledgerの状態はトランザクションでしか変更できないため、EscrowFinishトランザクションが必要です。このトランザクションの送信者は、Escrowの受取人、Escrowの元としての送金人、またはその他のXRP Ledgerアドレスのいずれかです。 diff --git a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-payment-channels.md b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md similarity index 93% rename from @i18n/ja/docs/tutorials/use-specialized-payment-types/use-payment-channels.md rename to @i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md index bc74d92902..99b7db86e1 100644 --- a/@i18n/ja/docs/tutorials/use-specialized-payment-types/use-payment-channels.md +++ b/@i18n/ja/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md @@ -9,9 +9,9 @@ labels: --- # Payment Channelの使用 -Payment Channelは、少額の単位に分割可能な「非同期」のXRPペイメントを送信し、後日決済する高度な機能です。このチュートリアルでは、全体的な[Payment Channel](../../concepts/payment-types/payment-channels.md)の使用方法を、ローカル`rippled`サーバーの[JSON-RPC API](../../references/http-websocket-apis/index.md)を使用する例を使って説明します。 +Payment Channelは、少額の単位に分割可能な「非同期」のXRPペイメントを送信し、後日決済する高度な機能です。このチュートリアルでは、全体的な[Payment Channel](../../../../concepts/payment-types/payment-channels.md)の使用方法を、ローカル`rippled`サーバーの[JSON-RPC API](../../../../references/http-websocket-apis/index.md)を使用する例を使って説明します。 -このチュートリアルを進めるにあたって[資金供給されているXRP Ledgerアカウント](../../concepts/accounts/accounts.md)を所有するユーザーが2名いれば理想的です。ただし、2つのXRP Ledgerアドレスを管理する1名のユーザーとしてこのチュートリアルを進めることもできます。 +このチュートリアルを進めるにあたって[資金供給されているXRP Ledgerアカウント](../../../../concepts/accounts/accounts.md)を所有するユーザーが2名いれば理想的です。ただし、2つのXRP Ledgerアドレスを管理する1名のユーザーとしてこのチュートリアルを進めることもできます。 ## サンプルの値 @@ -58,9 +58,9 @@ Payment Channelに使用できるXRPの額に制限はありません。この **ヒント:** 「決済遅延」の設定だけが決済を遅延するわけでわありません。レジャーバージョンが閉鎖すると即時に決済が遅延されます(3~5秒)。「決済遅延」とは、Channel閉鎖の強制的な遅延です。これにより、受取人が決済を完了できるようになります。 -以下の例は、JSON-RPC APIを使用してローカル`rippled`サーバーへ[送信](../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#署名と送信モード)することでPayment Channelを作成する方法を示しています。Payment Channelは、決済を1日遅らせて[サンプルの支払人](#サンプルの値)(rN7n7...)から[サンプルの受取人](#サンプルの値)(rf1Bi...)に100 XRPを割り当てます。公開鍵はサンプルの支払人のマスター公開鍵(16進数)です。 +以下の例は、JSON-RPC APIを使用してローカル`rippled`サーバーへ[送信](../../../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#署名と送信モード)することでPayment Channelを作成する方法を示しています。Payment Channelは、決済を1日遅らせて[サンプルの支払人](#サンプルの値)(rN7n7...)から[サンプルの受取人](#サンプルの値)(rf1Bi...)に100 XRPを割り当てます。公開鍵はサンプルの支払人のマスター公開鍵(16進数)です。 -**注記:** Payment Channelは1つのオブジェクトとして支払人の[所有者準備金](../../concepts/accounts/reserves.md#所有者準備金)に反映されます。所有者は少なくとも、Payment Channelに割り当てられたXRPを差引き後に、準備金を維持するのに十分なXRPを保有している必要があります。 +**注記:** Payment Channelは1つのオブジェクトとして支払人の[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)に反映されます。所有者は少なくとも、Payment Channelに割り当てられたXRPを差引き後に、準備金を維持するのに十分なXRPを保有している必要があります。 リクエスト: @@ -170,9 +170,9 @@ Content-Type: application/json 支払人はJSON-RPCからのレスポンスで以下を確認する必要があります。 - トランザクションの`meta`フィールドで、`TransactionResult`が`tesSUCCESS`であることを確認します。 -- データが検証済みレジャーのデータであることを示す`"validated":true`がレスポンスに含まれていることを確認します。(結果`tesSUCCESS`は、検証済みレジャーバージョンに記録されている場合にのみ[最終的な](../../concepts/transactions/finality-of-results/index.md)結果です。) +- データが検証済みレジャーのデータであることを示す`"validated":true`がレスポンスに含まれていることを確認します。(結果`tesSUCCESS`は、検証済みレジャーバージョンに記録されている場合にのみ[最終的な](../../../../concepts/transactions/finality-of-results/index.md)結果です。) - トランザクションの`meta`フィールドの`AffectedNodes`配列で、`LedgerEntryType`が`PayChannel`である`CreatedNode`オブジェクトを検索します。`CreatedNode`オブジェクトの`LedgerIndex`フィールドはChannel IDを示します。(上記の例では、これは「5DB0...」で始まる16進文字列です。)Channel IDは、後でクレームに署名する際に必要です。 - PayChannelレジャーオブジェクトタイプの詳細については、[PayChannelレジャーオブジェクト](../../references/protocol/ledger-data/ledger-entry-types/paychannel.md)を参照してください。 + PayChannelレジャーオブジェクトタイプの詳細については、[PayChannelレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/paychannel.md)を参照してください。 ## 2. 受取人がPayment Channelの特性を確認します。 @@ -455,7 +455,7 @@ Content-Type: application/json } ``` -受取人は検証済みレジャーでこのトランザクションが正常に処理されたことを確認します。詳細は、[確実なトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください。 +受取人は検証済みレジャーでこのトランザクションが正常に処理されたことを確認します。詳細は、[確実なトランザクションの送信](../../../../concepts/transactions/reliable-transaction-submission.md)を参照してください。 ## 9. 支払人と受取人の取引完了後、支払人はChannelの閉鎖を要求します。 @@ -467,7 +467,7 @@ ChannelにXRPが _残っている_ 場合は、このChannelの閉鎖要求は また、受取人はクレームの処理完了直後にPayment Channelを閉鎖できます _([フローチャート][]の9b)_。 -Channelの閉鎖を要求する[トランザクションを送信する](../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#署名と送信モード)例: +Channelの閉鎖を要求する[トランザクションを送信する](../../../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#署名と送信モード)例: ``` { @@ -518,13 +518,13 @@ Channelの閉鎖を要求する[トランザクションを送信する](../../r 決済遅延が経過するか、またはChannelが予定されている有効期限に達したら、Channelは有効期限切れになります。それ以降に行われるこのChannelに影響するトランザクションはすべて、Channelを閉鎖するだけであり、未請求のXRPは支払人に返金されます。 -Channelは期限切れ状態で永久にレジャーに残ることがあります。これは、レジャーはトランザクションの結果によってのみ変わるので、_誰かが_ 有効期限切れのChannelを閉鎖するトランザクションを送信する必要があるためです。Channelがレジャーに残っている限り、そのChannelは[所有者準備金](../../concepts/accounts/reserves.md#所有者準備金)の点から支払人が所有するオブジェクトと見なされます。 +Channelは期限切れ状態で永久にレジャーに残ることがあります。これは、レジャーはトランザクションの結果によってのみ変わるので、_誰かが_ 有効期限切れのChannelを閉鎖するトランザクションを送信する必要があるためです。Channelがレジャーに残っている限り、そのChannelは[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)の点から支払人が所有するオブジェクトと見なされます。 このため、支払人には`tfClose`フラグを指定した2番目の[PaymentChannelClaimトランザクション][]を送信することが推奨されます。ただしその他のアカウント(Payment Channelに関与するアカウントを含む)は有効期限切れのChannelを閉鎖できません。 -このトランザクションを送信するコマンドは、Channelの有効期限切れをリクエストする前述の例と同じです。(ただしコマンドの実行結果である[自動入力](../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) `Sequence`番号、署名、識別用ハッシュは一意です。) +このトランザクションを送信するコマンドは、Channelの有効期限切れをリクエストする前述の例と同じです。(ただしコマンドの実行結果である[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) `Sequence`番号、署名、識別用ハッシュは一意です。) -有効期限切れのChannelを閉鎖するトランザクションを[送信する](../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#署名と送信モード)例: +有効期限切れのChannelを閉鎖するトランザクションを[送信する](../../../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#署名と送信モード)例: ``` { diff --git a/@i18n/ja/docs/use-cases/defi/algorithmic-trading.md b/@i18n/ja/docs/use-cases/defi/algorithmic-trading.md index 0c09128b08..9d84e2c51d 100644 --- a/@i18n/ja/docs/use-cases/defi/algorithmic-trading.md +++ b/@i18n/ja/docs/use-cases/defi/algorithmic-trading.md @@ -72,13 +72,13 @@ XRP Ledgerの分散型取引所(DEX)には、「アルゴリズムトレード ### トレードの発注 -XRP Ledgerの分散型取引所で_代替可能_トークンとXRPを売買するには、通常[OfferCreateトランザクション](../../references/protocol/transactions/types/offercreate.md)を送信します。この方法でトレードを行うためのコードと技術的ステップの詳細なウォークスルーについては、[分散型取引所でのトレード](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md)をご覧ください。[Paymentトランザクション](../../references/protocol/transactions/types/payment.md)を使用して通貨を両替することも可能です。[クロスカレンしー支払い](../../concepts/payment-types/cross-currency-payments.md)を他のユーザに送ったり、長い[パス](../../concepts/tokens/fungible-tokens/paths.md)を使って裁定取引の機会を1つの操作にまとめることで、自分自身に送り返すこともできます。 +XRP Ledgerの分散型取引所で_代替可能_トークンとXRPを売買するには、通常[OfferCreateトランザクション](../../references/protocol/transactions/types/offercreate.md)を送信します。この方法でトレードを行うためのコードと技術的ステップの詳細なウォークスルーについては、[分散型取引所でのトレード](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md)をご覧ください。[Paymentトランザクション](../../references/protocol/transactions/types/payment.md)を使用して通貨を両替することも可能です。[クロスカレンしー支払い](../../concepts/payment-types/cross-currency-payments.md)を他のユーザに送ったり、長い[パス](../../concepts/tokens/fungible-tokens/paths.md)を使って裁定取引の機会を1つの操作にまとめることで、自分自身に送り返すこともできます。 -NFTをトレードするためのコードと技術的な手順については、[JavaScriptを使用したNFTokenの送信](../../tutorials/quickstart/transfer-nfts-using-javascript.md)を参照してください。 +NFTをトレードするためのコードと技術的な手順については、[JavaScriptを使用したNFTokenの送信](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)を参照してください。 ### トレードデータの確認 -XRP Ledgerのトレード活動に関する情報源は数多くあります。トレード戦略やユースケースによっては、[公開サーバ](../../tutorials/get-started/public-servers.md)を通してXRP Ledgerに接続することができるかもしれませんが、多くの場合、自分自身のサーバを稼働させることで利益を得ることができます。P2Pモードでコアサーバをセットアップする方法については、[`rippled`のインストール](../../infrastructure/installation/index.md)をご覧ください。 +XRP Ledgerのトレード活動に関する情報源は数多くあります。トレード戦略やユースケースによっては、[公開サーバ](../../tutorials/public-servers.md)を通してXRP Ledgerに接続することができるかもしれませんが、多くの場合、自分自身のサーバを稼働させることで利益を得ることができます。P2Pモードでコアサーバをセットアップする方法については、[`rippled`のインストール](../../infrastructure/installation/index.md)をご覧ください。 他のトレード活動を追跡するアプローチの場合、トレード額を正確に知るためにトランザクションの詳細なメタデータを確認する必要があるかもしれません。オファーは部分的に約定することがあり、複数の一致するオファーを約定することがあります。トランザクションメタデータの解釈方法の詳細については、[トランザクションの結果の確認](../../concepts/transactions/finality-of-results/look-up-transaction-results.md)をご覧ください。 diff --git a/@i18n/ja/docs/use-cases/payments/restricting-deposits-uc.md b/@i18n/ja/docs/use-cases/payments/restricting-deposits-uc.md index a7e62e5153..6c606409e3 100644 --- a/@i18n/ja/docs/use-cases/payments/restricting-deposits-uc.md +++ b/@i18n/ja/docs/use-cases/payments/restricting-deposits-uc.md @@ -42,7 +42,7 @@ Checkは、デポジット認可が有効な場合、シンプルで親しみや この方法は最もシンプルですが、資金が保証されるわけではありません。Checkは後払いであり、Checkを現金化しようとする瞬間まで資金は動きません。Checkを現金化するときに、送金側のアカウントに必要な資金がない可能性があり、ビジネスによっては遅延やその他の問題を引き起こす可能性があります。 -[Checkの利用](../../tutorials/use-specialized-payment-types/use-checks/use-checks.md)をご覧ください。 +[Checkの利用](../../tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md)をご覧ください。 ### Escrow diff --git a/@i18n/ja/docs/use-cases/payments/smart-contracts-uc.md b/@i18n/ja/docs/use-cases/payments/smart-contracts-uc.md index 8c52178bc7..133ee6504f 100644 --- a/@i18n/ja/docs/use-cases/payments/smart-contracts-uc.md +++ b/@i18n/ja/docs/use-cases/payments/smart-contracts-uc.md @@ -37,7 +37,7 @@ XRP Ledger上のスマートコントラクトは、条件付きで保有する オラクルのプログラムが条件を満たしたことを検知した後、エスクローの受取人にfulfillmentの16進数値を渡します。この時点以降、オラクルはエスクローを終了させるなど、何も行いません。エスクローの受取人は、ほとんどの場合、エスクローを終了することになります。 -[conditionとfulfillmentの生成](../../tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md#1-generate-condition-and-fulfillment)をご覧ください。 +[conditionとfulfillmentの生成](../../tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md#1-generate-condition-and-fulfillment)をご覧ください。 ## 例 diff --git a/@i18n/ja/docs/use-cases/tokenization/authorized-minter.md b/@i18n/ja/docs/use-cases/tokenization/authorized-minter.md index 6f30f048c9..13f1b6555c 100644 --- a/@i18n/ja/docs/use-cases/tokenization/authorized-minter.md +++ b/@i18n/ja/docs/use-cases/tokenization/authorized-minter.md @@ -12,7 +12,7 @@ _私は認可Minterとして、トークン発行者のために合意された トークン発行者の認可Minterとして動作することができます。この場合、あなたはNFTokenを所有しますが、ロイヤリティはNFTokenの発行者が受け取ります。そのNFTokenを売却する場合、最初の売却益はあなたに入ります。発行者と合意の上、初回売却額の一部または全部を発行者に支払うことができます。 -チュートリアル[認可Minterの割り当て](../../tutorials/quickstart/assign-an-authorized-minter-using-javascript.md)で詳しく説明されています。 +チュートリアル[認可Minterの割り当て](../../tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md)で詳しく説明されています。 [![認可Minterのフロー](/docs/img/nft-mkt-auth-minter.png "認可Minterのフロー")](/docs/img/nft-mkt-auth-minter.png) @@ -26,7 +26,7 @@ NFTを自分で設計するのではなく、NFTクリエイターと連携し NFTの作成を終了すると、作成者は認可Minterの権限を取り消し、NFTに対する権限を取り戻すことができます。また、NFTの販売を行うマーケットプレイスにトークンを譲渡することもできます。あなたは、売りオファーと買いオファーのマッチングを行うブローカーとして機能することができます。[NFTオークションの実行](../../concepts/tokens/nfts/running-an-nft-auction.md)を参照してください。 -他のアカウントに代わって最初のNFTをミントする場合は、[他アカウントからのNFTミントを許可する](../../tutorials/quickstart/assign-an-authorized-minter-using-javascript.md)をご覧ください。 +他のアカウントに代わって最初のNFTをミントする場合は、[他アカウントからのNFTミントを許可する](../../tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md)をご覧ください。 発行者として将来的にトークンをバーンできるようにしたい場合は、`Flags`フィールドを _1_ に設定します。NFTを譲渡可能にするには、`Flags`フィールドを _8_ に設定します。NFTをバーン可能かつ譲渡可能にするには、`Flags`フィールドを _9_ に設定します。[Burnableフラグ](../../references/protocol/data-types/nftoken.md#nftoken-flags)および[Transferableフラグ](../../references/protocol/data-types/nftoken.md#nftoken-flags)を参照してください。 @@ -43,11 +43,11 @@ TokenTaxonフィールドを使用して、特定のテーマや目的をもっ ## NFTの取引 -NFTの取引は、売りオファーの作成または買いオファーの承諾によって行われます。[NFTokensの取引](../../tutorials/quickstart/transfer-nfts-using-javascript.md)をご覧ください。 +NFTの取引は、売りオファーの作成または買いオファーの承諾によって行われます。[NFTokensの取引](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)をご覧ください。 NFTをオークション形式で販売することができます。[NFTオークションの実行](../../concepts/tokens/nfts/running-an-nft-auction.md)をご覧ください。 -あなたはブローカーとして、売り手と入札者をつなぎ、取引を完了させ、購入価格の何パーセントかを保持することができます。[NFTokenの取引を仲介する](../../tutorials/quickstart/broker-an-nft-sale-using-javascript.md)をご覧ください。 +あなたはブローカーとして、売り手と入札者をつなぎ、取引を完了させ、購入価格の何パーセントかを保持することができます。[NFTokenの取引を仲介する](../../tutorials/javascript/modular-tutorials/nfts/broker-an-nft-sale.md)をご覧ください。 ### 準備金要件 @@ -65,9 +65,9 @@ NFTをオークション形式で販売することができます。[NFTオー ### 支払い -XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/quickstart/transfer-nfts-using-javascript.md)をご覧ください。 +XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)をご覧ください。 -他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。 +他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。 ## NFTのインデックス diff --git a/@i18n/ja/docs/use-cases/tokenization/digital-artist.md b/@i18n/ja/docs/use-cases/tokenization/digital-artist.md index 376ae586e4..a43bfffed3 100644 --- a/@i18n/ja/docs/use-cases/tokenization/digital-artist.md +++ b/@i18n/ja/docs/use-cases/tokenization/digital-artist.md @@ -18,13 +18,13 @@ NFTokenを作成すると、実際の物理的またはデジタル資産の実 [Xumm](https://xumm.app)などのアプリを使用してNFTokenを作成することができます。 -より実践的な体験をしたい方は、[クイックスタート・チュートリアル3 - NFTokenのミントとバーン](../../tutorials/quickstart/mint-and-burn-nfts-using-javascript.md)をご覧ください。 +より実践的な体験をしたい方は、[クイックスタート・チュートリアル3 - NFTokenのミントとバーン](../../tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md)をご覧ください。 [![デジタルアーティストのフロー](/docs/img/nft-mkt-digital-artist.png "デジタルアーティストのフロー")](/docs/img/nft-mkt-digital-artist.png) ## 公開サーバを利用する -開始当初は、トランザクションは比較的少ないでしょう。無料のXRP Ledger公開サーバの1つで作業することができます。ビジネスが成長するにつれて、増加する販売トラフィックを処理するために、独自のXRP Ledgerインスタンスを検討することができます。[パブリックサーバ](../../tutorials/get-started/public-servers.md)をご覧ください。 +開始当初は、トランザクションは比較的少ないでしょう。無料のXRP Ledger公開サーバの1つで作業することができます。ビジネスが成長するにつれて、増加する販売トラフィックを処理するために、独自のXRP Ledgerインスタンスを検討することができます。[パブリックサーバ](../../tutorials/public-servers.md)をご覧ください。 ## NFTの作成 @@ -38,13 +38,13 @@ NFTをミントして販売することで、マーケットプレイスを構 * `TokenTaxon`フィールドを使用すると、NFTを論理的なコレクションとしてミントすることができます。[NFTをコレクションとしてミントする](../../concepts/tokens/nfts/collections.md)をご覧ください。 * 発行者として将来的にトークンをバーンできるようにしたい場合は、`Flags`フィールドを _1_ に設定します。NFTを譲渡可能にするには、`Flags`フィールドを _8_ に設定します。NFTをバーン可能かつ譲渡可能にするには、`Flags`フィールドを _9_ に設定します。[Burnableフラグ](../../references/protocol/data-types/nftoken.md#nftoken-flags)および[Transferableフラグ](../../references/protocol/data-types/nftoken.md#nftoken-flags)をご覧ください。 -[NFTokenのミントとバーン](../../tutorials/quickstart/mint-and-burn-nfts-using-javascript.md)をご覧ください。 +[NFTokenのミントとバーン](../../tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md)をご覧ください。 ## NFTの販売 -NFTを売却する場合は、売却オファーを作成する必要があります。[NFTokensの取引](../../tutorials/quickstart/transfer-nfts-using-javascript.md)をご覧ください。 +NFTを売却する場合は、売却オファーを作成する必要があります。[NFTokensの取引](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)をご覧ください。 -NFTをオークション形式で販売することができます。[NFTオークションの実行](../../tutorials/quickstart/transfer-nfts-using-javascript.md)をご覧ください。 +NFTをオークション形式で販売することができます。[NFTオークションの実行](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)をご覧ください。 ### 準備金要件 @@ -62,9 +62,9 @@ NFTをオークション形式で販売することができます。[NFTオー ### 支払い -XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/quickstart/transfer-nfts-using-javascript.md))をご覧ください。 +XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md))をご覧ください。 -他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。 +他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。 ## NFTのインデックス化 diff --git a/@i18n/ja/docs/use-cases/tokenization/nft-mkt-overview.md b/@i18n/ja/docs/use-cases/tokenization/nft-mkt-overview.md index 7eef2c11e0..f2f352da0b 100644 --- a/@i18n/ja/docs/use-cases/tokenization/nft-mkt-overview.md +++ b/@i18n/ja/docs/use-cases/tokenization/nft-mkt-overview.md @@ -40,7 +40,7 @@ NFTビジネスを始めるにあたって、必要不可欠な4つの準備項 ## XRPLへの接続 -トランザクションの少ない小規模なサイトを立ち上げたい場合は、XRP Ledgerの無料の公開サーバのいずれかと連携することができます。[パブリックサーバ](../../tutorials/get-started/public-servers.md)をご覧ください。 +トランザクションの少ない小規模なサイトを立ち上げたい場合は、XRP Ledgerの無料の公開サーバのいずれかと連携することができます。[パブリックサーバ](../../tutorials/public-servers.md)をご覧ください。 大規模なサイトを大量に立ち上げたい場合は、独自のXRP Ledgerのサーバインスタンスを導入する価値があるかもしれません。[rippledのインストール](../../infrastructure/installation/index.md)をご覧ください。 @@ -52,7 +52,7 @@ NFTビジネスを始めるにあたって、必要不可欠な4つの準備項 NFTをいくつかミントして販売することで、マーケットプレイスを構築し始めることができます。 -最初のNFTを作成するには、チュートリアル _NFTonenのミントとバーン_ の指示に従います。[NFTのミントとバーン](../../tutorials/quickstart/mint-and-burn-nfts-using-javascript.md)をご覧ください。 +最初のNFTを作成するには、チュートリアル _NFTonenのミントとバーン_ の指示に従います。[NFTのミントとバーン](../../tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md)をご覧ください。 NFTokenのURLは、NFTのコンテンツが保存されている場所へのリンクです。IPFSアカウントを作成し、永続的なURLにNFTokenのコンテンツを保存するのも1つの方法です。[NFTデータ保存のベストプラクティス](https://docs.ipfs.io/how-to/best-practices-for-nft-data)をご覧ください。 @@ -81,11 +81,11 @@ NFTokenのURLは、NFTのコンテンツが保存されている場所へのリ ### NFTの取引 -NFTの取引は、売りオファーの作成または買いオファーの承諾によって行われます。[NFTokensの取引](../../tutorials/quickstart/transfer-nfts-using-javascript.md)をご覧ください。 +NFTの取引は、売りオファーの作成または買いオファーの承諾によって行われます。[NFTokensの取引](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)をご覧ください。 NFTをオークション形式で販売することができます。[NFTオークションの実行](../../concepts/tokens/nfts/running-an-nft-auction.md)をご覧ください。 -あなたはブローカーとして、売り手と入札者をつなぎ、取引を完了させ、購入価格の何パーセントかを保持することができます。[NFTokenの取引を仲介する](../../tutorials/quickstart/broker-an-nft-sale-using-javascript.md)をご覧ください。 +あなたはブローカーとして、売り手と入札者をつなぎ、取引を完了させ、購入価格の何パーセントかを保持することができます。[NFTokenの取引を仲介する](../../tutorials/javascript/modular-tutorials/nfts/broker-an-nft-sale.md)をご覧ください。 #### 準備金要件 @@ -103,9 +103,9 @@ NFTをオークション形式で販売することができます。[NFTオー #### 支払い -XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/quickstart/transfer-nfts-using-javascript.md)をご覧ください。 +XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md)をご覧ください。 -他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。 +他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。 -The server only sends this warning if the client is [connected as an admin](../../../tutorials/get-started/get-started-using-http-websocket-apis.md#admin-access). +The server only sends this warning if the client is [connected as an admin](../../../tutorials/http-websocket-apis/get-started.md#admin-access). This warning includes a `details` field with the following fields: @@ -190,7 +190,7 @@ It is generally safe to ignore this warning. - [Amendments](../../../concepts/networks-and-servers/amendments.md) - [Known Amendments](/resources/known-amendments.md) - **Tutorials:** - - [Get Started with XRP Ledger APIs](../../../tutorials/get-started/get-started-using-http-websocket-apis.md) + - [Get Started with XRP Ledger APIs](../../../tutorials/http-websocket-apis/get-started.md) - [Install and Update `rippled`](../../../infrastructure/installation/index.md) - **References:** - [feature method][] diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md index c3b07e95c7..1ca1c14da6 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md @@ -227,7 +227,7 @@ The `account_flags` field contains the following nested fields: | `noFreeze` | Boolean | If `true`, the account has permanently given up the abilities to freeze individual trust lines or end a global freeze. See [No Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) for details. | | `passwordSpent` | Boolean | If `false`, the account can send a special [key reset transaction](../../../../concepts/transactions/transaction-cost.md#key-reset-transaction) with a transaction cost of 0. The protocol turns this flag on and off automatically; it is not controlled by a user-facing setting. | | `requireAuthorization` | Boolean | If `true`, the account is using [Authorized Trust Lines](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) to limit who can hold the tokens it issues. | -| `requireDestinationTag` | Boolean | If `true`, the account [requires a destination tag](../../../../tutorials/manage-account-settings/require-destination-tags.md) on all payments it receives. | +| `requireDestinationTag` | Boolean | If `true`, the account [requires a destination tag](../../../../tutorials/tasks/manage-account-settings/require-destination-tags.md) on all payments it receives. | The `queue_data` field, if present, contains the following nested fields: diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/check.md b/docs/references/protocol/ledger-data/ledger-entry-types/check.md index 5f60e1779b..a506aa23b0 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/check.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/check.md @@ -75,6 +75,6 @@ The ID of a `Check` entry is the [SHA-512Half][] of the following values, concat * The `Sequence` number of the [CheckCreate transaction][] that created the `Check`. If the CheckCreate transaction used a [Ticket](../../../../concepts/accounts/tickets.md), use the `TicketSequence` value instead. -See the tutorial showing how to [Send a Check](../../../../tutorials/use-specialized-payment-types/use-checks/send-a-check.md). +See the tutorial showing how to [Send a Check](../../../../tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md). {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/accountset.md b/docs/references/protocol/transactions/types/accountset.md index 1541e6f791..7cdb272b27 100644 --- a/docs/references/protocol/transactions/types/accountset.md +++ b/docs/references/protocol/transactions/types/accountset.md @@ -36,7 +36,7 @@ An AccountSet transaction modifies the properties of an [account in the XRP Ledg | [`Domain`](#domain) | String | Blob | _(Optional)_ The domain that owns this account, as a string of hex representing the ASCII for the domain in lowercase. [Cannot be more than 256 bytes in length.](https://github.com/XRPLF/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | | `EmailHash` | String | Hash128 | _(Optional)_ An arbitrary 128-bit value. Conventionally, clients treat this as the md5 hash of an email address to use for displaying a [Gravatar](http://en.gravatar.com/site/implement/hash/) image. | | `MessageKey` | String | Blob | _(Optional)_ Public key for sending encrypted messages to this account. To set the key, it must be exactly 33 bytes, with the first byte indicating the key type: `0x02` or `0x03` for secp256k1 keys, `0xED` for Ed25519 keys. To remove the key, use an empty value. | -| `NFTokenMinter` | String | Blob | _(Optional)_ Another account that can [mint NFTokens for you](../../../../tutorials/quickstart/assign-an-authorized-minter-using-javascript.md). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | +| `NFTokenMinter` | String | Blob | _(Optional)_ Another account that can [mint NFTokens for you](../../../../tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | | [`SetFlag`](#accountset-flags) | Number | UInt32 | _(Optional)_ Integer flag to enable for this account. | | [`TransferRate`](#transferrate) | Number | UInt32 | _(Optional)_ The fee to charge when users transfer this account's tokens, represented as billionths of a unit. Cannot be more than `2000000000` or less than `1000000000`, except for the special case `0` meaning no fee. | | [`TickSize`](../../../../concepts/tokens/decentralized-exchange/ticksize.md) | Number | UInt8 | _(Optional)_ Tick size to use for offers involving a currency issued by this address. The exchange rates of those offers is rounded to this many significant digits. Valid values are `3` to `15` inclusive, or `0` to disable. _(Added by the [TickSize amendment][])_ | diff --git a/docs/references/protocol/transactions/types/setregularkey.md b/docs/references/protocol/transactions/types/setregularkey.md index d2ba1c8d61..71814c9fce 100644 --- a/docs/references/protocol/transactions/types/setregularkey.md +++ b/docs/references/protocol/transactions/types/setregularkey.md @@ -39,7 +39,7 @@ You can protect your account by assigning a regular key pair to it and using it For more information about regular and master key pairs, see [Cryptographic Keys](../../../../concepts/accounts/cryptographic-keys.md). -For a tutorial on assigning a regular key pair to an account, see [Working with a Regular Key Pair](../../../../tutorials/manage-account-settings/assign-a-regular-key-pair.md). +For a tutorial on assigning a regular key pair to an account, see [Working with a Regular Key Pair](../../../../tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md). For even greater security, you can use [multi-signing](../../../../concepts/accounts/multi-signing.md), but multi-signing requires additional XRP for the [transaction cost][] and [reserve](../../../../concepts/accounts/reserves.md). diff --git a/docs/tutorials/get-started/get-started-using-http-websocket-apis.md b/docs/tutorials/http-websocket-apis/get-started.md similarity index 98% rename from docs/tutorials/get-started/get-started-using-http-websocket-apis.md rename to docs/tutorials/http-websocket-apis/get-started.md index 83face223f..76d9061a4f 100644 --- a/docs/tutorials/get-started/get-started-using-http-websocket-apis.md +++ b/docs/tutorials/http-websocket-apis/get-started.md @@ -104,7 +104,7 @@ For a full list of API methods, see: - [Client Libraries](../../references/client-libraries.md) - [Parallel Networks](../../concepts/networks-and-servers/parallel-networks.md) - **Tutorials:** - - [Get Started Using JavaScript](get-started-using-javascript.md) + - [Get Started Using JavaScript](get-started.md) - [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md) - [Manage the rippled Server](../../infrastructure/installation/install-rippled-on-ubuntu.md) - **References:** diff --git a/docs/tutorials/get-started/monitor-incoming-payments-with-websocket.md b/docs/tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md similarity index 99% rename from docs/tutorials/get-started/monitor-incoming-payments-with-websocket.md rename to docs/tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md index 7a12b66f81..88cc76d150 100644 --- a/docs/tutorials/get-started/monitor-incoming-payments-with-websocket.md +++ b/docs/tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md @@ -473,7 +473,7 @@ $("#tx_read").click((event) => { ## Next Steps - [Look Up Transaction Results](../../concepts/transactions/finality-of-results/look-up-transaction-results.md) to see exactly what a transaction did, and build your software to react appropriately. -- Try [Sending XRP](send-xrp.md) from your own address. +- Try [Sending XRP](../tasks/send-xrp.md) from your own address. - Try monitoring for transactions of advanced types like [Escrows](../../concepts/payment-types/escrow.md), [Checks](../../concepts/payment-types/checks.md), or [Payment Channels](../../concepts/payment-types/payment-channels.md), and responding to incoming notifications. diff --git a/docs/tutorials/get-started/get-started-using-java.md b/docs/tutorials/java/get-started.md similarity index 99% rename from docs/tutorials/get-started/get-started-using-java.md rename to docs/tutorials/java/get-started.md index 0441263349..68c335bed7 100644 --- a/docs/tutorials/get-started/get-started-using-java.md +++ b/docs/tutorials/java/get-started.md @@ -222,7 +222,7 @@ For a detailed description of every response field, see [account_info](../../ref Now that you know how to use `xrpl4j` to connect to the XRP Ledger, get an account, and look up information about it, you can also use `xrpl4j` to: -* [Send XRP](send-xrp.md). +* [Send XRP](../tasks/send-xrp.md). * [Set up secure signing](../../concepts/transactions/secure-signing.md) for your account. {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/build-apps/build-a-browser-wallet-in-javascript.md b/docs/tutorials/javascript/build-a-browser-wallet-in-javascript.md similarity index 99% rename from docs/tutorials/build-apps/build-a-browser-wallet-in-javascript.md rename to docs/tutorials/javascript/build-a-browser-wallet-in-javascript.md index e95d37f234..1687a75abd 100644 --- a/docs/tutorials/build-apps/build-a-browser-wallet-in-javascript.md +++ b/docs/tutorials/javascript/build-a-browser-wallet-in-javascript.md @@ -18,7 +18,7 @@ To complete this tutorial, you should meet the following guidelines: 1. You have [Node.js](https://nodejs.org/en/download/) v14 or higher installed. 2. You have [Yarn](https://yarnpkg.com/en/docs/install) (v1.17.3 or higher) installed. -3. You are somewhat familiar with coding with JavaScript and have completed the [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) tutorial. +3. You are somewhat familiar with coding with JavaScript and have completed the [Get Started Using JavaScript](../javascript/get-started.md) tutorial. ## Source Code diff --git a/docs/tutorials/build-apps/build-a-desktop-wallet-in-javascript.md b/docs/tutorials/javascript/build-a-desktop-wallet-in-javascript.md similarity index 99% rename from docs/tutorials/build-apps/build-a-desktop-wallet-in-javascript.md rename to docs/tutorials/javascript/build-a-desktop-wallet-in-javascript.md index 430be500e3..eff0700a35 100644 --- a/docs/tutorials/build-apps/build-a-desktop-wallet-in-javascript.md +++ b/docs/tutorials/javascript/build-a-desktop-wallet-in-javascript.md @@ -14,7 +14,7 @@ This tutorial demonstrates how to build a desktop wallet for the XRP Ledger usin To complete this tutorial, you should meet the following requirements: - You have [Node.js](https://nodejs.org/) 14+ installed. -- You are somewhat familiar with modern JavaScript programming and have completed the [Get Started Using JavaScript tutorial](../get-started/get-started-using-javascript.md). +- You are somewhat familiar with modern JavaScript programming and have completed the [Get Started Using JavaScript tutorial](../javascript/get-started.md). - You have some understanding of the XRP Ledger, its capabilities, and of cryptocurrency in general. Ideally you have completed the [Basic XRPL guide](https://learn.xrpl.org/). ### Source Code diff --git a/docs/tutorials/get-started/get-started-using-javascript.md b/docs/tutorials/javascript/get-started.md similarity index 98% rename from docs/tutorials/get-started/get-started-using-javascript.md rename to docs/tutorials/javascript/get-started.md index 5fde759ae5..2efc6269d5 100644 --- a/docs/tutorials/get-started/get-started-using-javascript.md +++ b/docs/tutorials/javascript/get-started.md @@ -151,8 +151,8 @@ You can set up handlers for various types of events in `xrpl.js`, such as whenev Now that you know how to use `xrpl.js` to connect to the XRP Ledger, get an account, and look up information about it, you can also: -* [Send XRP](send-xrp.md). -* [Issue a Fungible Token](../use-tokens/issue-a-fungible-token.md) +* [Send XRP](../tasks/send-xrp.md). +* [Issue a Fungible Token](../tasks/use-tokens/issue-a-fungible-token.md) * [Set up secure signing](../../concepts/transactions/secure-signing.md) for your account. @@ -162,7 +162,7 @@ Now that you know how to use `xrpl.js` to connect to the XRP Ledger, get an acco - [XRP Ledger Overview](/about/) - [Client Libraries](../../references/client-libraries.md) - **Tutorials:** - - [Send XRP](send-xrp.md) + - [Send XRP](../tasks/send-xrp.md) - **References:** - [`xrpl.js` Reference](https://js.xrpl.org/) - [Public API Methods](../../references/http-websocket-apis/public-api-methods/index.md) diff --git a/docs/tutorials/javascript/modular-tutorials-in-javascript/index.md b/docs/tutorials/javascript/modular-tutorials/index.md similarity index 100% rename from docs/tutorials/javascript/modular-tutorials-in-javascript/index.md rename to docs/tutorials/javascript/modular-tutorials/index.md diff --git a/docs/tutorials/quickstart/assign-an-authorized-minter-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md similarity index 99% rename from docs/tutorials/quickstart/assign-an-authorized-minter-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md index 8d15b91923..5abbda0375 100644 --- a/docs/tutorials/quickstart/assign-an-authorized-minter-using-javascript.md +++ b/docs/tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md @@ -209,7 +209,7 @@ Report success standbyResultField.value = results ``` -This transaction blob is the same as the one used for the previous [`mintToken()` function](mint-and-burn-nfts-using-javascript.md#mint-token), with the addition of the `Issuer` field. +This transaction blob is the same as the one used for the previous [`mintToken()` function](mint-and-burn-nfts.md#mint-token), with the addition of the `Issuer` field. ```javascript const tx_json = { diff --git a/docs/tutorials/quickstart/batch-mint-nfts-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/nfts/batch-mint-nfts.md similarity index 99% rename from docs/tutorials/quickstart/batch-mint-nfts-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/nfts/batch-mint-nfts.md index cf364d8112..a7d8651847 100644 --- a/docs/tutorials/quickstart/batch-mint-nfts-using-javascript.md +++ b/docs/tutorials/javascript/modular-tutorials/nfts/batch-mint-nfts.md @@ -42,7 +42,7 @@ This example lets you mint multiple NFTs for a single unique item. The NFT might To batch mint a non-fungible token objects: -1. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT object can be transferred to another account. Otherwise, the NFT object can only be transferred back to the issuing account. See [NFTokenMint](../../references/protocol/transactions/types/nftokenmint.md) for information about all of the available flags for minting NFTs. +1. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT object can be transferred to another account. Otherwise, the NFT object can only be transferred back to the issuing account. See [NFTokenMint](../../../../references/protocol/transactions/types/nftokenmint.md) for information about all of the available flags for minting NFTs. 2. Enter the **Token URL**. This is a URI that points to the data or metadata associated with the NFT object. You can use the sample URI provided if you do not have one of your own. 3. Enter a **Token Count** of up to 200 NFTs to create in one batch. 4. Enter the **Transfer Fee**, a percentage of the proceeds that the original creator receives from future sales of the NFT. This is a value of 0-50000 inclusive, allowing transfer fees between 0.000% and 50.000% in increments of 0.001%. If you do not set the **Flags** field to allow the NFT to be transferrable, set this field to 0. diff --git a/docs/tutorials/quickstart/broker-an-nft-sale-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/nfts/broker-an-nft-sale.md similarity index 100% rename from docs/tutorials/quickstart/broker-an-nft-sale-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/nfts/broker-an-nft-sale.md diff --git a/docs/tutorials/javascript/modular-tutorials-in-javascript/nfts-using-javascript/index.md b/docs/tutorials/javascript/modular-tutorials/nfts/index.md similarity index 100% rename from docs/tutorials/javascript/modular-tutorials-in-javascript/nfts-using-javascript/index.md rename to docs/tutorials/javascript/modular-tutorials/nfts/index.md diff --git a/docs/tutorials/quickstart/mint-and-burn-nfts-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md similarity index 99% rename from docs/tutorials/quickstart/mint-and-burn-nfts-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md index 80dd7bdee4..2c6c6be965 100644 --- a/docs/tutorials/quickstart/mint-and-burn-nfts-using-javascript.md +++ b/docs/tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md @@ -43,7 +43,7 @@ You can download the [Quickstart Samples](https://github.com/XRPLF/xrpl-dev-port To mint a non-fungible token object: -1. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT object can be transferred to another account. Otherwise, the NFT object can only be transferred back to the issuing account. See [NFTokenMint](../../references/protocol/transactions/types/nftokenmint.md) for information about all of the available flags for minting NFTs. +1. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT object can be transferred to another account. Otherwise, the NFT object can only be transferred back to the issuing account. See [NFTokenMint](../../../../references/protocol/transactions/types/nftokenmint.md) for information about all of the available flags for minting NFTs. 2. Enter the **Token URL**. This is a URI that points to the data or metadata associated with the NFT object. You can use the sample URI provided if you do not have one of your own. 3. Enter the **Transfer Fee**, a percentage of the proceeds from future sales of the NFT that will be returned to the original creator. This is a value of 0-50000 inclusive, allowing transfer rates between 0.000% and 50.000% in increments of 0.001%. If you do not set the **Flags** field to allow the NFT to be transferrable, set this field to 0. 4. Click **Mint NFT**. diff --git a/docs/tutorials/quickstart/transfer-nfts-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md similarity index 100% rename from docs/tutorials/quickstart/transfer-nfts-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md diff --git a/docs/tutorials/quickstart/create-accounts-send-xrp-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/send-payments/create-accounts-send-xrp.md similarity index 100% rename from docs/tutorials/quickstart/create-accounts-send-xrp-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/send-payments/create-accounts-send-xrp.md diff --git a/docs/tutorials/quickstart/create-conditional-escrows-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/send-payments/create-conditional-escrows.md similarity index 100% rename from docs/tutorials/quickstart/create-conditional-escrows-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/send-payments/create-conditional-escrows.md diff --git a/docs/tutorials/quickstart/create-time-based-escrows-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/send-payments/create-time-based-escrows.md similarity index 100% rename from docs/tutorials/quickstart/create-time-based-escrows-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/send-payments/create-time-based-escrows.md diff --git a/docs/tutorials/quickstart/create-trustline-send-currency-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/send-payments/create-trust-line-send-currency.md similarity index 100% rename from docs/tutorials/quickstart/create-trustline-send-currency-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/send-payments/create-trust-line-send-currency.md diff --git a/docs/tutorials/quickstart/send-payments-using-javascript.md b/docs/tutorials/javascript/modular-tutorials/send-payments/index.md similarity index 94% rename from docs/tutorials/quickstart/send-payments-using-javascript.md rename to docs/tutorials/javascript/modular-tutorials/send-payments/index.md index f466605adb..92001f5272 100644 --- a/docs/tutorials/quickstart/send-payments-using-javascript.md +++ b/docs/tutorials/javascript/modular-tutorials/send-payments/index.md @@ -29,7 +29,7 @@ Typically, the example functions for interacting with the XRP Ledger involve fou 3. Get the state of accounts and tokens on the XRP Ledger using requests. 4. Disconnect from the XRP Ledger. -Each lesson shows you how to build the Token Test Harness one section at a time. Each module lets you try out meaningful interactions with the test ledger, with complete JavaScript and HTML code samples and a code walkthrough. There is also a link to the complete source code for each section that can be modified with a text editor and run in a browser. If you cannot wait, you can follow the prerequisites below, then jump to lesson 4, [Transfer NFTs](transfer-nfts-using-javascript.md), and try out the complete test harness right away. +Each lesson shows you how to build the Token Test Harness one section at a time. Each module lets you try out meaningful interactions with the test ledger, with complete JavaScript and HTML code samples and a code walkthrough. There is also a link to the complete source code for each section that can be modified with a text editor and run in a browser. If you cannot wait, you can follow the prerequisites below, then jump to lesson 4, [Create Conditional Escrows](create-conditional-escrows.md), and try out the complete test harness right away. This quickstart tutorial introduces you to the API used to implement features and explore the capabilities of XRP Ledger. It does not represent *all* of the capabilities of the API and this example is not intended for production or secure payment use. diff --git a/docs/tutorials/get-started/get-started-using-php.md b/docs/tutorials/php/get-started.md similarity index 99% rename from docs/tutorials/get-started/get-started-using-php.md rename to docs/tutorials/php/get-started.md index 4014e0b900..5d76e332f5 100644 --- a/docs/tutorials/get-started/get-started-using-php.md +++ b/docs/tutorials/php/get-started.md @@ -232,7 +232,7 @@ For a detailed description of every response field, see [account_info](../../ref Now that you know how to use `XRPL_PHP` to connect to the XRP Ledger, get an account, and look up information about it, you can also use `XRPL_PHP` to: -* [Send XRP](send-xrp.md). +* [Send XRP](../tasks/send-xrp.md). * [Set up secure signing](../../concepts/transactions/secure-signing.md) for your account. {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/get-started/public-servers.md b/docs/tutorials/public-servers.md similarity index 85% rename from docs/tutorials/get-started/public-servers.md rename to docs/tutorials/public-servers.md index a3f9412702..6c74dea592 100644 --- a/docs/tutorials/get-started/public-servers.md +++ b/docs/tutorials/public-servers.md @@ -8,20 +8,20 @@ labels: --- # Public Servers -If you don't [run your own `rippled` server](../../infrastructure/installation/index.md), you can use the following public servers to submit transactions or read data from the ledger. +If you don't [run your own `rippled` server](../infrastructure/installation/index.md), you can use the following public servers to submit transactions or read data from the ledger. | Operator | [Network][] | JSON-RPC URL | WebSocket URL | Notes | |:----------|:------------|:-------------|:--------------|:---------------------| | XRP Ledger Foundation | **Mainnet** | `https://xrplcluster.com/`
`https://xrpl.ws/` [²][] | `wss://xrplcluster.com/`
`wss://xrpl.ws/` [²][] | Full history server cluster with CORS support. | | Ripple[¹][] | **Mainnet** | `https://s1.ripple.com:51234/` | `wss://s1.ripple.com/` | General purpose server cluster | -| Ripple[¹][] | **Mainnet** | `https://s2.ripple.com:51234/` | `wss://s2.ripple.com/` | [Full-history server](../../concepts/networks-and-servers/ledger-history.md#full-history) cluster | +| Ripple[¹][] | **Mainnet** | `https://s2.ripple.com:51234/` | `wss://s2.ripple.com/` | [Full-history server](../concepts/networks-and-servers/ledger-history.md#full-history) cluster | | Ripple[¹][] | Testnet | `https://s.altnet.rippletest.net:51234/` | `wss://s.altnet.rippletest.net:51233/` | Testnet public server | | XRPL Labs | Testnet | `https://testnet.xrpl-labs.com/` | `wss://testnet.xrpl-labs.com/` | Testnet public server with CORS support | | Ripple[¹][] | Devnet | `https://s.devnet.rippletest.net:51234/` | `wss://s.devnet.rippletest.net:51233/` | Devnet public server | | Ripple[¹][] | Sidechain-Devnet | `https://sidechain-net2.devnet.rippletest.net:51234/` | `wss://sidechain-net2.devnet.rippletest.net:51233/` | Sidechain Devnet to test cross-chain bridge features. Devnet serves as the locking chain while this sidechain serves as the issuing chain. | | XRPL Labs | Xahau Testnet | `https://xahau-test.net/` | `wss://xahau-test.net/` | [Hooks-enabled](https://hooks.xrpl.org/) Xahau Testnet | -[Network]: ../../concepts/networks-and-servers/parallel-networks.md +[Network]: ../concepts/networks-and-servers/parallel-networks.md [¹]: #footnote-1 [²]: #footnote-2 diff --git a/docs/tutorials/build-apps/build-a-desktop-wallet-in-python.md b/docs/tutorials/python/build-a-desktop-wallet-in-python.md similarity index 99% rename from docs/tutorials/build-apps/build-a-desktop-wallet-in-python.md rename to docs/tutorials/python/build-a-desktop-wallet-in-python.md index dff09b27fd..527fa1e2d7 100644 --- a/docs/tutorials/build-apps/build-a-desktop-wallet-in-python.md +++ b/docs/tutorials/python/build-a-desktop-wallet-in-python.md @@ -14,7 +14,7 @@ This tutorial demonstrates how to build a desktop wallet for the XRP Ledger usin To complete this tutorial, you should meet the following guidelines: - You have Python 3.7 or higher installed. -- You are somewhat familiar with object-oriented programming in Python and have completed the [Get Started Using Python tutorial](../get-started/get-started-using-python.md). +- You are somewhat familiar with object-oriented programming in Python and have completed the [Get Started Using Python tutorial](../python/get-started.md). - You have some understanding of what the XRP Ledger can do and of cryptocurrency in general. You don't need to be an expert. ## Source Code @@ -144,7 +144,7 @@ Finally, change the code to start the app (at the end of the file) slightly: Since the app uses a WebSocket client instead of the JSON-RPC client now, the code has to use a WebSocket URL to connect. -**Tip:** If you [run your own `rippled` server](../../concepts/networks-and-servers/index.md#reasons-to-run-your-own-server) you can connect to it using `ws://localhost:6006` as the URL. You can also use the WebSocket URLs of [public servers](../get-started/public-servers.md) to connect to the Mainnet or other test networks. +**Tip:** If you [run your own `rippled` server](../../concepts/networks-and-servers/index.md#reasons-to-run-your-own-server) you can connect to it using `ws://localhost:6006` as the URL. You can also use the WebSocket URLs of [public servers](../public-servers.md) to connect to the Mainnet or other test networks. #### Troubleshooting SSL Certificate Errors diff --git a/docs/tutorials/get-started/get-started-using-python.md b/docs/tutorials/python/get-started.md similarity index 98% rename from docs/tutorials/get-started/get-started-using-python.md rename to docs/tutorials/python/get-started.md index 771bd30748..2da5423135 100644 --- a/docs/tutorials/get-started/get-started-using-python.md +++ b/docs/tutorials/python/get-started.md @@ -1,14 +1,8 @@ --- -html: get-started-using-python.html -parent: python.html seo: description: Build a Python app that interacts with the XRP Ledger. -cta_text: Build an XRP Ledger-connected app -top_nav_name: Python -top_nav_grouping: Get Started labels: - Development -showcase_icon: assets/img/logos/python.svg --- # Get Started Using Python @@ -210,7 +204,7 @@ For a detailed description of every response field, see [account_info](../../ref Now that you know how to use `xrpl-py` to connect to the XRP Ledger, get an account, and look up information about it, you can also use `xrpl-py` to: -* [Send XRP](send-xrp.md). +* [Send XRP](../tasks/send-xrp.md). * [Set up secure signing](../../concepts/transactions/secure-signing.md) for your account. {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/python/modular-tutorials-in-python/index.md b/docs/tutorials/python/modular-tutorials/index.md similarity index 100% rename from docs/tutorials/python/modular-tutorials-in-python/index.md rename to docs/tutorials/python/modular-tutorials/index.md diff --git a/docs/tutorials/quickstart/py-authorize-minter.md b/docs/tutorials/python/modular-tutorials/nfts/assign-an-authorized-minter.md similarity index 100% rename from docs/tutorials/quickstart/py-authorize-minter.md rename to docs/tutorials/python/modular-tutorials/nfts/assign-an-authorized-minter.md diff --git a/docs/tutorials/quickstart/py-batch-minting.md b/docs/tutorials/python/modular-tutorials/nfts/batch-mint-nfts.md similarity index 99% rename from docs/tutorials/quickstart/py-batch-minting.md rename to docs/tutorials/python/modular-tutorials/nfts/batch-mint-nfts.md index 9f4cd136bc..38dd38e9c0 100644 --- a/docs/tutorials/quickstart/py-batch-minting.md +++ b/docs/tutorials/python/modular-tutorials/nfts/batch-mint-nfts.md @@ -44,7 +44,7 @@ This example lets you mint multiple NFTs for a single unique item. The NFT might To batch mint non-fungible token objects: 1. Enter the **NFT URI**. This is a URI that points to the data or metadata associated with the NFT object. You can use this sample URI if you do not have one of your own: ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf4dfuylqabf3oclgtqy55fbzdi. -2. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT object can be transferred to another account. Otherwise, the NFT object can only be transferred back to the issuing account. See [NFTokenMint](../../references/protocol/transactions/types/nftokenmint.md) for available NFT minting flags. +2. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT object can be transferred to another account. Otherwise, the NFT object can only be transferred back to the issuing account. See [NFTokenMint](../../../../references/protocol/transactions/types/nftokenmint.md) for available NFT minting flags. 3. Enter the **Transfer Fee**, a percentage of the proceeds that the original creator receives from future sales of the NFT. This is a value of 0-50000 inclusive, allowing transfer fees between 0.000% and 50.000% in increments of 0.001%. If you do not set the **Flags** field to allow the NFT to be transferrable, set this field to 0. 4. Enter the **Taxon** for the NFT. If you do not have a need for the Taxon field, set this value to 0. 5. Enter an **NFT Count** of up to 200 NFTs to create in one batch. diff --git a/docs/tutorials/quickstart/py-broker-sale.md b/docs/tutorials/python/modular-tutorials/nfts/broker-an-nft-sale.md similarity index 100% rename from docs/tutorials/quickstart/py-broker-sale.md rename to docs/tutorials/python/modular-tutorials/nfts/broker-an-nft-sale.md diff --git a/docs/tutorials/python/modular-tutorials-in-python/nfts-using-python/index.md b/docs/tutorials/python/modular-tutorials/nfts/index.md similarity index 100% rename from docs/tutorials/python/modular-tutorials-in-python/nfts-using-python/index.md rename to docs/tutorials/python/modular-tutorials/nfts/index.md diff --git a/docs/tutorials/quickstart/py-mint-and-burn-nfts.md b/docs/tutorials/python/modular-tutorials/nfts/mint-and-burn-nfts.md similarity index 99% rename from docs/tutorials/quickstart/py-mint-and-burn-nfts.md rename to docs/tutorials/python/modular-tutorials/nfts/mint-and-burn-nfts.md index 194ef3e019..47e1a0989a 100644 --- a/docs/tutorials/quickstart/py-mint-and-burn-nfts.md +++ b/docs/tutorials/python/modular-tutorials/nfts/mint-and-burn-nfts.md @@ -48,7 +48,7 @@ You can download the [Quickstart Samples](https://github.com/XRPLF/xrpl-dev-port To mint a non-fungible token object: -1. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT can be transferred to another account. Otherwise, the NFT can only be transferred back to the issuing account. See [NFToken Mint](https://xrpl.org/nftokenmint.html#:~:text=Example%20NFTokenMint%20JSON-,NFTokenMint%20Fields,-NFTokenMint%20Flags) for information about all of the available flags for minting NFTs. +1. Set the **Flags** field. For testing purposes, we recommend setting the value to _8_. This sets the _tsTransferable_ flag, meaning that the NFT can be transferred to another account. Otherwise, the NFT can only be transferred back to the issuing account. See [NFToken Mint](/docs/references/protocol/transactions/types/nftokenmint/#nftokenmint-flags) for information about all of the available flags for minting NFTs. 2. Enter the **NFT URI**. This is a URI that points to the data or metadata associated with the NFT. You can use the sample URI provided if you do not have one of your own. 3. Enter the **Transfer Fee**, a percentage of the proceeds from future sales of the NFT that will be returned to the original creator. This is a value of 0-50000 inclusive, allowing transfer rates between 0.000% and 50.000% in increments of 0.001%. If you do not set the **Flags** field to allow the NFT to be transferrable, set this field to 0. 4. Optionally a **Taxon** value as an integer. If you choose not to use a taxon, enter _0_. diff --git a/docs/tutorials/quickstart/py-transfer-nfts.md b/docs/tutorials/python/modular-tutorials/nfts/transfer-nfts.md similarity index 100% rename from docs/tutorials/quickstart/py-transfer-nfts.md rename to docs/tutorials/python/modular-tutorials/nfts/transfer-nfts.md diff --git a/docs/tutorials/quickstart/py-create-accounts-send-xrp.md b/docs/tutorials/python/modular-tutorials/send-payments/create-accounts-send-xrp.md similarity index 100% rename from docs/tutorials/quickstart/py-create-accounts-send-xrp.md rename to docs/tutorials/python/modular-tutorials/send-payments/create-accounts-send-xrp.md diff --git a/docs/tutorials/quickstart/py-create-conditional-escrows.md b/docs/tutorials/python/modular-tutorials/send-payments/create-conditional-escrows.md similarity index 100% rename from docs/tutorials/quickstart/py-create-conditional-escrows.md rename to docs/tutorials/python/modular-tutorials/send-payments/create-conditional-escrows.md diff --git a/docs/tutorials/quickstart/py-create-time-based-escrows.md b/docs/tutorials/python/modular-tutorials/send-payments/create-time-based-escrows.md similarity index 100% rename from docs/tutorials/quickstart/py-create-time-based-escrows.md rename to docs/tutorials/python/modular-tutorials/send-payments/create-time-based-escrows.md diff --git a/docs/tutorials/quickstart/py-create-trustline-send-currency.md b/docs/tutorials/python/modular-tutorials/send-payments/create-trust-line-send-currency.md similarity index 99% rename from docs/tutorials/quickstart/py-create-trustline-send-currency.md rename to docs/tutorials/python/modular-tutorials/send-payments/create-trust-line-send-currency.md index ab7165b935..0101c55e65 100644 --- a/docs/tutorials/quickstart/py-create-trustline-send-currency.md +++ b/docs/tutorials/python/modular-tutorials/send-payments/create-trust-line-send-currency.md @@ -221,7 +221,7 @@ Return the result. ### configure_account -This example shows how to set and clear configuration flags using the `AccountSet` method. The `ASF_DEFAULT_RIPPLE` flag is pertinent to experimentation with transfer of issued currencies to third-party accounts, so it is demonstrated here. You can set any of the configuration flags using the same structure, substituting the particular flags you want to set. See [AccountSet Flags](../../references/protocol/transactions/types/accountset.md). +This example shows how to set and clear configuration flags using the `AccountSet` method. The `ASF_DEFAULT_RIPPLE` flag is pertinent to experimentation with transfer of issued currencies to third-party accounts, so it is demonstrated here. You can set any of the configuration flags using the same structure, substituting the particular flags you want to set. See [AccountSet Flags](../../../../references/protocol/transactions/types/accountset.md#accountset-flags). Send the account seed and a Boolean value for whether to enable or disable rippling. ```python diff --git a/docs/tutorials/quickstart/send-payments-using-python.md b/docs/tutorials/python/modular-tutorials/send-payments/index.md similarity index 88% rename from docs/tutorials/quickstart/send-payments-using-python.md rename to docs/tutorials/python/modular-tutorials/send-payments/index.md index dfa0c69eb2..15c6360534 100644 --- a/docs/tutorials/quickstart/send-payments-using-python.md +++ b/docs/tutorials/python/modular-tutorials/send-payments/index.md @@ -37,12 +37,10 @@ Much of this is “brute force” code that sacrifices conciseness for readabili In this quickstart, you can: -1. [Create Accounts and Send XRP](py-create-accounts-send-xrp.md) -2. [Create Trust Line and Send Currency](py-create-trustline-send-currency.md). -3. [Mint and Burn NFTs](py-mint-and-burn-nfts.md). -4. [Transfer NFTs](py-transfer-nfts.md). - -There are also expanded lessons demonstrating how to [Broker an NFT Sale](py-broker-sale.md) and [Assign an Authorized Minter](py-authorize-minter.md). +1. [Create Accounts and Send XRP](create-accounts-send-xrp.md) +2. [Create Trust Line and Send Currency](create-trust-line-send-currency.md). +3. [Create Time-Based Escrows](create-time-based-escrows.md) +4. [Create Conditional Escrows](create-conditional-escrows.md) ## Prerequisites diff --git a/docs/tutorials/manage-account-settings/assign-a-regular-key-pair.md b/docs/tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md similarity index 94% rename from docs/tutorials/manage-account-settings/assign-a-regular-key-pair.md rename to docs/tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md index a6ec86ff38..cb3b491827 100644 --- a/docs/tutorials/manage-account-settings/assign-a-regular-key-pair.md +++ b/docs/tutorials/tasks/manage-account-settings/assign-a-regular-key-pair.md @@ -9,9 +9,9 @@ labels: --- # Assign a Regular Key Pair -The XRP Ledger allows an account to authorize a secondary key pair, called a _[regular key pair](../../concepts/accounts/cryptographic-keys.md)_, to sign future transactions. If the private key of a regular key pair is compromised, you can remove or replace it without changing the rest of your [account](../../concepts/accounts/accounts.md) and re-establishing its relationships to other accounts. You can also rotate a regular key pair proactively. (Neither of those things is possible for the master key pair of an account, which is intrinsically linked to the account's address.) +The XRP Ledger allows an account to authorize a secondary key pair, called a _[regular key pair](../../../concepts/accounts/cryptographic-keys.md)_, to sign future transactions. If the private key of a regular key pair is compromised, you can remove or replace it without changing the rest of your [account](../../../concepts/accounts/accounts.md) and re-establishing its relationships to other accounts. You can also rotate a regular key pair proactively. (Neither of those things is possible for the master key pair of an account, which is intrinsically linked to the account's address.) -For more information about master and regular key pairs, see [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md). +For more information about master and regular key pairs, see [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md). This tutorial walks through the steps required to assign a regular key pair to your account: @@ -134,7 +134,7 @@ In the next step, you'll use the address from this response (`account_id` in the Use a [SetRegularKey transaction][] to assign the key pair you generated in step 1 to your account as a regular key pair. -When assigning a regular key pair to your account for the first time, the SetRegularKey transaction requires signing with your account's master private key (secret). There are [several ways of securely signing transactions](../../concepts/transactions/secure-signing.md), but this tutorial uses a local `rippled` server. +When assigning a regular key pair to your account for the first time, the SetRegularKey transaction requires signing with your account's master private key (secret). There are [several ways of securely signing transactions](../../../concepts/transactions/secure-signing.md), but this tutorial uses a local `rippled` server. When you send later SetRegularKey transactions, you can sign using the existing regular private key to replace or [remove itself](change-or-remove-a-regular-key-pair.md). Note that you should still not submit your regular private key across the network. @@ -408,14 +408,14 @@ An example of a successful response: {% /tabs %} -Note that the response contains a `hash` of the transaction, which you can use to [look up the transaction's final outcome](../../references/http-websocket-apis/public-api-methods/transaction-methods/tx.md). +Note that the response contains a `hash` of the transaction, which you can use to [look up the transaction's final outcome](../../../references/http-websocket-apis/public-api-methods/transaction-methods/tx.md). ## 3. Verify the Regular Key Pair At this point, the regular key pair is assigned to your account and you should be able to send transactions using the regular key pair. **To avoid losing control of your account,** it is important that you test your regular key before you take any additional steps such as [disabling the master key pair](disable-master-key-pair.md). If you make a mistake and lose access to your account, no one can restore it for you. -To verify that your account has the regular key pair set correctly, submit an [AccountSet transaction][] from your account, signing it with the regular private key you assigned to your account in step 2. As in step 1, this tutorial uses a local `rippled` server as a [way of securely signing transactions](../../concepts/transactions/secure-signing.md). +To verify that your account has the regular key pair set correctly, submit an [AccountSet transaction][] from your account, signing it with the regular private key you assigned to your account in step 2. As in step 1, this tutorial uses a local `rippled` server as a [way of securely signing transactions](../../../concepts/transactions/secure-signing.md). ### Sign Your Transaction @@ -678,12 +678,12 @@ An example of a successful response: {% /tabs %} -If the transaction fails with the following [result codes](../../references/protocol/transactions/transaction-results/transaction-results.md), here are some things to check: +If the transaction fails with the following [result codes](../../../references/protocol/transactions/transaction-results/transaction-results.md), here are some things to check: - **`tefBAD_AUTH`**: The regular key you signed your test transaction with doesn't match the regular key you set in the previous step. Check that the secret and address for your regular key pair match and double-check which values you used in each step. - **`tefBAD_AUTH_MASTER`** or **`temBAD_AUTH_MASTER`**: Your account doesn't have a regular key assigned. Check that the SetRegularKey transaction executed successfully. You can also use the [account_info method][] to confirm that your regular key is set in the `RegularKey` field as expected. -For possible causes of other result codes, see [Transaction Results](../../references/protocol/transactions/transaction-results/transaction-results.md). +For possible causes of other result codes, see [Transaction Results](../../../references/protocol/transactions/transaction-results/transaction-results.md). ## See Also @@ -691,17 +691,17 @@ For possible causes of other result codes, see [Transaction Results](../../refer Now that you're familiar with the benefits of assigning a regular key pair to an account, consider taking a look at these related topics and tutorials: - **Concepts:** - - [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md) - - [Multi-Signing](../../concepts/accounts/multi-signing.md) - - [Issuing and Operational Addresses](../../concepts/accounts/account-types.md) + - [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md) + - [Multi-Signing](../../../concepts/accounts/multi-signing.md) + - [Issuing and Operational Addresses](../../../concepts/accounts/account-types.md) - **Tutorials:** - [Change or Remove a Regular Key Pair](change-or-remove-a-regular-key-pair.md) - [Set Up Multi-Signing](set-up-multi-signing.md) - - [List XRP as an Exchange](../../use-cases/defi/list-xrp-as-an-exchange.md) + - [List XRP as an Exchange](../../../use-cases/defi/list-xrp-as-an-exchange.md) - **References:** - [wallet_propose method][] - [sign method][] - [SetRegularKey transaction][] - - [AccountRoot object](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md) where the regular key is stored in the field `RegularKey` + - [AccountRoot object](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md) where the regular key is stored in the field `RegularKey` {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md b/docs/tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md similarity index 90% rename from docs/tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md rename to docs/tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md index 7518f8893e..db7c52958b 100644 --- a/docs/tutorials/manage-account-settings/change-or-remove-a-regular-key-pair.md +++ b/docs/tutorials/tasks/manage-account-settings/change-or-remove-a-regular-key-pair.md @@ -9,21 +9,21 @@ labels: --- # Change or Remove a Regular Key Pair -The XRP Ledger allows an account to authorize a secondary key pair, called a _[regular key pair](../../concepts/accounts/cryptographic-keys.md)_, to sign future transactions. If your [account](../../concepts/accounts/accounts.md)'s regular key pair is compromised, or if you want to periodically change the regular key pair as a security measure, use a [SetRegularKey transaction][] to remove or change the regular key pair for your account. +The XRP Ledger allows an account to authorize a secondary key pair, called a _[regular key pair](../../../concepts/accounts/cryptographic-keys.md)_, to sign future transactions. If your [account](../../../concepts/accounts/accounts.md)'s regular key pair is compromised, or if you want to periodically change the regular key pair as a security measure, use a [SetRegularKey transaction][] to remove or change the regular key pair for your account. -For more information about master and regular key pairs, see [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md). +For more information about master and regular key pairs, see [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md). ## Changing a Regular Key Pair The steps to change your existing regular key pair are almost the same as the steps to [assign a regular key](assign-a-regular-key-pair.md) for the first time. You generate the key pair and assign it to your account as a regular key pair, overwriting the existing regular key pair. However, the main difference is that when changing the existing regular key pair, you can use the existing regular private key to replace itself; but when assigning a regular key pair to an account for the first time, you have to use the account's master private key to do it. -For more information about master and regular key pairs, see [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md). +For more information about master and regular key pairs, see [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md). ## Removing a Regular Key Pair -If you want to remove a compromised regular key pair from your account, you don't need to generate a key pair first. Use a [SetRegularKey transaction][], omitting the `RegularKey` field. Note that the transaction fails if you don't have another way of signing for your account currently enabled (either the master key pair or a [signer list](../../concepts/accounts/multi-signing.md)). +If you want to remove a compromised regular key pair from your account, you don't need to generate a key pair first. Use a [SetRegularKey transaction][], omitting the `RegularKey` field. Note that the transaction fails if you don't have another way of signing for your account currently enabled (either the master key pair or a [signer list](../../../concepts/accounts/multi-signing.md)). When removing a regular key pair to your account, the `SetRegularKey` transaction requires signing by your account's master private key (secret) or existing regular key pair. Sending your master or regular private key anywhere is dangerous, so we keep transaction signing separate from transaction submission to the network. @@ -362,21 +362,21 @@ An example of a successful response: {% /tabs %} -In some cases, you can even use the `SetRegularKey` transaction to send a [key reset transaction](../../concepts/transactions/transaction-cost.md#key-reset-transaction) without paying the [transaction cost](../../concepts/transactions/transaction-cost.md). The XRP Ledger's [transaction queue](../../concepts/transactions/transaction-queue.md) prioritizes key reset transactions above other transactions even though the nominal transaction cost of a key reset transaction is zero. +In some cases, you can even use the `SetRegularKey` transaction to send a [key reset transaction](../../../concepts/transactions/transaction-cost.md#key-reset-transaction) without paying the [transaction cost](../../../concepts/transactions/transaction-cost.md). The XRP Ledger's [transaction queue](../../../concepts/transactions/transaction-queue.md) prioritizes key reset transactions above other transactions even though the nominal transaction cost of a key reset transaction is zero. - **Concepts:** - - [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md) - - [Multi-Signing](../../concepts/accounts/multi-signing.md) - - [Transaction Cost](../../concepts/transactions/transaction-cost.md) + - [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md) + - [Multi-Signing](../../../concepts/accounts/multi-signing.md) + - [Transaction Cost](../../../concepts/transactions/transaction-cost.md) - **Tutorials:** - [Change or Remove a Regular Key Pair](change-or-remove-a-regular-key-pair.md) - [Set Up Multi-Signing](set-up-multi-signing.md) - - [List XRP as an Exchange](../../use-cases/defi/list-xrp-as-an-exchange.md) + - [List XRP as an Exchange](../../../use-cases/defi/list-xrp-as-an-exchange.md) - **References:** - [wallet_propose method][] - [sign method][] - [SetRegularKey transaction][] - - [AccountRoot object](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md) where the regular key is stored in the field `RegularKey` + - [AccountRoot object](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md) where the regular key is stored in the field `RegularKey` {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/manage-account-settings/disable-master-key-pair.md b/docs/tutorials/tasks/manage-account-settings/disable-master-key-pair.md similarity index 88% rename from docs/tutorials/manage-account-settings/disable-master-key-pair.md rename to docs/tutorials/tasks/manage-account-settings/disable-master-key-pair.md index 274654cdd6..cb893b3a01 100644 --- a/docs/tutorials/manage-account-settings/disable-master-key-pair.md +++ b/docs/tutorials/tasks/manage-account-settings/disable-master-key-pair.md @@ -9,9 +9,9 @@ labels: --- # Disable Master Key Pair -This page describes how to disable the [master key pair](../../concepts/accounts/cryptographic-keys.md) that is mathematically associated with an [account](../../concepts/accounts/accounts.md)'s address. You should do this if your account's master key pair may have been compromised, or if you want to make [multi-signing](../../concepts/accounts/multi-signing.md) the _only_ way to submit transactions from your account. +This page describes how to disable the [master key pair](../../../concepts/accounts/cryptographic-keys.md) that is mathematically associated with an [account](../../../concepts/accounts/accounts.md)'s address. You should do this if your account's master key pair may have been compromised, or if you want to make [multi-signing](../../../concepts/accounts/multi-signing.md) the _only_ way to submit transactions from your account. -**Warning:** Disabling the master key pair removes one method of [authorizing transactions](../../concepts/transactions/index.md#authorizing-transactions). You should be sure you can use one of the other ways of authorizing transactions, such as with a regular key or by multi-signing, before you disable the master key pair. (For example, if you [assigned a regular key pair](assign-a-regular-key-pair.md), make sure that you can successfully submit transactions with that regular key.) Due to the decentralized nature of the XRP Ledger, no one can restore access to your account if you cannot use the remaining ways of authorizing transactions. +**Warning:** Disabling the master key pair removes one method of [authorizing transactions](../../../concepts/transactions/index.md#authorizing-transactions). You should be sure you can use one of the other ways of authorizing transactions, such as with a regular key or by multi-signing, before you disable the master key pair. (For example, if you [assigned a regular key pair](assign-a-regular-key-pair.md), make sure that you can successfully submit transactions with that regular key.) Due to the decentralized nature of the XRP Ledger, no one can restore access to your account if you cannot use the remaining ways of authorizing transactions. **To disable the master key pair, you must use the master key pair.** However, you can _re-enable_ the master key pair using any other method of authorizing transactions. @@ -19,9 +19,9 @@ This page describes how to disable the [master key pair](../../concepts/accounts To disable the master key pair for an account, you must meet the following prerequisites: -- You must have an XRP Ledger [account](../../concepts/accounts/accounts.md) and you must be able to sign and submit transactions from that account using the master key pair. See also: [Set Up Secure Signing](../../concepts/transactions/secure-signing.md). Two common ways this can work are: +- You must have an XRP Ledger [account](../../../concepts/accounts/accounts.md) and you must be able to sign and submit transactions from that account using the master key pair. See also: [Set Up Secure Signing](../../../concepts/transactions/secure-signing.md). Two common ways this can work are: - You know the account's master seed value. A seed value is commonly represented as a [base58][] value starting with "s", such as `sn3nxiW7v8KXzPzAqzyHXbSSKNuN9`. - - Or, you use a [dedicated signing device](../../concepts/transactions/secure-signing.md#use-a-dedicated-signing-device) that stores the seed value securely, so you don't need to know it. + - Or, you use a [dedicated signing device](../../../concepts/transactions/secure-signing.md#use-a-dedicated-signing-device) that stores the seed value securely, so you don't need to know it. - Your account must have at least one method of authorizing transactions other than the master key pair. In other words, you must do one or both of the following: - [Assign a Regular Key Pair](assign-a-regular-key-pair.md). - [Set Up Multi-Signing](set-up-multi-signing.md). @@ -30,7 +30,7 @@ To disable the master key pair for an account, you must meet the following prere ### 1. Construct Transaction JSON -Prepare an [AccountSet transaction][] from your account with the field `"SetValue": 4`. This is the value for the AccountSet flag "Disable Master" (`asfDisableMaster`). The only other required fields for this transaction are the required [common fields](../../references/protocol/transactions/common-fields.md). For example, if you leave off the [auto-fillable fields](../../references/protocol/transactions/common-fields.md#auto-fillable-fields), the following transaction instructions are enough: +Prepare an [AccountSet transaction][] from your account with the field `"SetValue": 4`. This is the value for the AccountSet flag "Disable Master" (`asfDisableMaster`). The only other required fields for this transaction are the required [common fields](../../../references/protocol/transactions/common-fields.md). For example, if you leave off the [auto-fillable fields](../../../references/protocol/transactions/common-fields.md#auto-fillable-fields), the following transaction instructions are enough: ```json { @@ -40,13 +40,13 @@ Prepare an [AccountSet transaction][] from your account with the field `"SetValu } ``` -**Tip:** It is strongly recommended to also provide the `LastLedgerSequence` field so that you can [reliably get the outcome of the transaction in a predictable amount of time](../../concepts/transactions/reliable-transaction-submission.md). +**Tip:** It is strongly recommended to also provide the `LastLedgerSequence` field so that you can [reliably get the outcome of the transaction in a predictable amount of time](../../../concepts/transactions/reliable-transaction-submission.md). ### 2. Sign Transaction You must use the **master key pair** to sign the transaction. -**Warning:** Do not submit your secret to a server you don't control, and do not send it over the network unencrypted. These examples assume you are using a [local `rippled` server](../../concepts/transactions/secure-signing.md#run-rippled-locally). You should adapt these instructions if you are using another [secure signing configuration](../../concepts/transactions/secure-signing.md). +**Warning:** Do not submit your secret to a server you don't control, and do not send it over the network unencrypted. These examples assume you are using a [local `rippled` server](../../../concepts/transactions/secure-signing.md#run-rippled-locally). You should adapt these instructions if you are using another [secure signing configuration](../../../concepts/transactions/secure-signing.md). #### Example Request @@ -497,6 +497,6 @@ This operation has only two possible outcomes: - A nonzero result, equal to the `lsfDisableMaster` value, indicates **the master key has been successfully disabled**. - A zero result indicates the account's master key is not disabled. -If the result does not match your expectations, check whether the transaction you sent in the previous steps has executed successfully. It should be the most recent entry in the account's transaction history ([account_tx method][]) and it should have the result code `tesSUCCESS`. If you see any other [result code](../../references/protocol/transactions/transaction-results/transaction-results.md), the transaction was not executed successfully. Depending on the cause of the error, you may want to restart these steps from the beginning. +If the result does not match your expectations, check whether the transaction you sent in the previous steps has executed successfully. It should be the most recent entry in the account's transaction history ([account_tx method][]) and it should have the result code `tesSUCCESS`. If you see any other [result code](../../../references/protocol/transactions/transaction-results/transaction-results.md), the transaction was not executed successfully. Depending on the cause of the error, you may want to restart these steps from the beginning. {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/manage-account-settings/offline-account-setup.md b/docs/tutorials/tasks/manage-account-settings/offline-account-setup.md similarity index 71% rename from docs/tutorials/manage-account-settings/offline-account-setup.md rename to docs/tutorials/tasks/manage-account-settings/offline-account-setup.md index 1d806cc7e3..e73f048371 100644 --- a/docs/tutorials/manage-account-settings/offline-account-setup.md +++ b/docs/tutorials/tasks/manage-account-settings/offline-account-setup.md @@ -9,7 +9,7 @@ labels: --- # Offline Account Setup Tutorial -A highly secure [signing configuration](../../concepts/transactions/secure-signing.md) involves keeping an XRP Ledger [account](../../concepts/accounts/accounts.md)'s [cryptographic keys](../../concepts/accounts/cryptographic-keys.md) securely on an offline, air-gapped machine. After setting up this configuration, you can sign a variety of transactions, transfer only the signed transactions to an online computer, and submit them to the XRP Ledger network without ever exposing your secret key to malicious actors online. +A highly secure [signing configuration](../../../concepts/transactions/secure-signing.md) involves keeping an XRP Ledger [account](../../../concepts/accounts/accounts.md)'s [cryptographic keys](../../../concepts/accounts/cryptographic-keys.md) securely on an offline, air-gapped machine. After setting up this configuration, you can sign a variety of transactions, transfer only the signed transactions to an online computer, and submit them to the XRP Ledger network without ever exposing your secret key to malicious actors online. **Caution:** Proper operational security is necessary to protect your offline machine. For example, the offline machine must be physically located where untrusted people cannot get access to it, and trusted operators must be careful not to transfer compromised software onto the machine. (For example, do not use a USB drive that was previously attached to a network-connected computer.) @@ -17,8 +17,8 @@ A highly secure [signing configuration](../../concepts/transactions/secure-signi To use offline signing, you must meet the following prerequisites: -- You must have one computer to use as an offline machine. This machine must be set up with a [supported operating system](../../infrastructure/installation/system-requirements.md). See your operating system's support for offline setup instructions. (For example, [Red Hat Enterprise Linux DVD ISO installation instructions](https://access.redhat.com/solutions/7227).) Be sure that the software and physical media you use are not infected with malware. -- You must have a separate computer to use as an online machine. This machine does not need to run `rippled` but it must be able to connect to the XRP Ledger network and receive information about the state of the shared ledger. For example, you can use a [WebSocket connection to a public server](../get-started/get-started-using-http-websocket-apis.md). +- You must have one computer to use as an offline machine. This machine must be set up with a [supported operating system](../../../infrastructure/installation/system-requirements.md). See your operating system's support for offline setup instructions. (For example, [Red Hat Enterprise Linux DVD ISO installation instructions](https://access.redhat.com/solutions/7227).) Be sure that the software and physical media you use are not infected with malware. +- You must have a separate computer to use as an online machine. This machine does not need to run `rippled` but it must be able to connect to the XRP Ledger network and receive information about the state of the shared ledger. For example, you can use a [WebSocket connection to a public server](../../http-websocket-apis/get-started.md). - You must have a secure way to transfer signed transaction binary data from the offline machine to the online machine. - One way to do this is with a QR code generator on the offline machine, and a QR code scanner on the online machine. (In this case, your "online machine" could be a handheld device such as a smartphone.) - Another way is to copy files from the offline machine to an online machine using physical media. If you use this method, be sure not to use physical media that could infect your offline machine with malicious software. (For example, do not reuse the same USB drive on both online and offline machines.) @@ -29,20 +29,20 @@ To use offline signing, you must meet the following prerequisites: ### 1. Set up offline machine -The offline machine needs secure persistent storage (for example, an encrypted disk drive) and a way to [sign transactions](../../concepts/transactions/secure-signing.md). For an offline machine, you typically use physical media to transfer any necessary software after downloading it from an online machine. You must be sure that the online machine, the physical media, and the software itself are not infected with malware. +The offline machine needs secure persistent storage (for example, an encrypted disk drive) and a way to [sign transactions](../../../concepts/transactions/secure-signing.md). For an offline machine, you typically use physical media to transfer any necessary software after downloading it from an online machine. You must be sure that the online machine, the physical media, and the software itself are not infected with malware. Software options for signing on the XRP Ledger include: -- [Install `rippled`](../../infrastructure/installation/index.md) from a package (`.deb` or `.rpm` depending on which Linux distribution you use) file, then [run it in stand-alone mode](../../concepts/networks-and-servers/rippled-server-modes.md). -- Install [xrpl.js](https://github.com/XRPLF/xrpl.js/) (or another [client library](../../references/client-libraries.md)) and its dependencies offline. The Yarn package manager, for example, has [recommended instructions for offline usage](https://yarnpkg.com/blog/2016/11/24/offline-mirror/). -- See also: [Set Up Secure Signing](../../concepts/transactions/secure-signing.md) +- [Install `rippled`](../../../infrastructure/installation/index.md) from a package (`.deb` or `.rpm` depending on which Linux distribution you use) file, then [run it in stand-alone mode](../../../concepts/networks-and-servers/rippled-server-modes.md). +- Install [xrpl.js](https://github.com/XRPLF/xrpl.js/) (or another [client library](../../../references/client-libraries.md)) and its dependencies offline. The Yarn package manager, for example, has [recommended instructions for offline usage](https://yarnpkg.com/blog/2016/11/24/offline-mirror/). +- See also: [Set Up Secure Signing](../../../concepts/transactions/secure-signing.md) You may want to set up custom software to help construct transaction instructions on the offline machine. For example, your software may track what [sequence number][] to use next, or contain preset templates for certain types of transactions you expect to send. ### 2. Generate cryptographic keys -On the **offline machine**, generate a pair of [cryptographic keys](../../concepts/accounts/cryptographic-keys.md) to be used with your account. Be sure to generate the keys with a securely random procedure, not from a short passphrase or some other source that does not have enough entropy. For example, you can use the [wallet_propose method][] of `rippled`: +On the **offline machine**, generate a pair of [cryptographic keys](../../../concepts/accounts/cryptographic-keys.md) to be used with your account. Be sure to generate the keys with a securely random procedure, not from a short passphrase or some other source that does not have enough entropy. For example, you can use the [wallet_propose method][] of `rippled`: {% tabs %} @@ -71,7 +71,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" Take note of the following values: -- **`account_id`**. This is the address associated with the key pair, which becomes your **[account](../../concepts/accounts/accounts.md) address** in the XRP Ledger after you fund it with XRP (later in this process). It is safe to share your `account_id` publicly. +- **`account_id`**. This is the address associated with the key pair, which becomes your **[account](../../../concepts/accounts/accounts.md) address** in the XRP Ledger after you fund it with XRP (later in this process). It is safe to share your `account_id` publicly. - **`master_seed`**. This is the secret seed value for the key pair, which you'll use to sign transactions from the account. For best security, encrypt this value before writing it to disk on the offline machine. As an encryption key, use a secure passphrase that human operators can memorize or write down somewhere physically secure, such as a [diceware passphrase](https://theworld.com/~reinhold/diceware.html) created with properly weighted dice. You may also want to use a physical security key as a second factor. The extent of the precautions to take at this stage is up to you. - **`key_type`**. This is the cryptographic algorithm used for this key pair. You need to know what type of key pair you have. The default in `rippled` is `secp256k1`, but some client libraries use `Ed25519` by default. @@ -83,7 +83,7 @@ Take note of the following values: ### 3. Fund the new address -From an online machine, send enough XRP to the **account address** you noted in step 1. For more information, see [Creating Accounts](../../concepts/accounts/accounts.md#creating-accounts). +From an online machine, send enough XRP to the **account address** you noted in step 1. For more information, see [Creating Accounts](../../../concepts/accounts/accounts.md#creating-accounts). **Tip:** For testing purposes, you can use the [Testnet Faucet](/resources/dev-tools/xrp-faucets) to get a new account with Test XRP, then use that account to fund the address you generated offline. @@ -132,7 +132,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" Save the account's starting sequence number on the offline machine. Whenever you prepare a transaction using the offline machine, use the saved sequence number, then increase the sequence number by 1 and save the new value. -You can prepare several transactions in advance this way, then transfer the signed transactions to the online machine all at once and submit them. As long as each transaction is validly formed and pays a high enough [transaction cost](../../concepts/transactions/transaction-cost.md), the XRP Ledger network should eventually include those transactions in validated ledgers, keeping the account's sequence number in the shared XRP Ledger in sync with the "current" sequence number you are tracking on the offline machine. (Most transactions get a final, validated result within 15 seconds or less after being submitted to the network.) +You can prepare several transactions in advance this way, then transfer the signed transactions to the online machine all at once and submit them. As long as each transaction is validly formed and pays a high enough [transaction cost](../../../concepts/transactions/transaction-cost.md), the XRP Ledger network should eventually include those transactions in validated ledgers, keeping the account's sequence number in the shared XRP Ledger in sync with the "current" sequence number you are tracking on the offline machine. (Most transactions get a final, validated result within 15 seconds or less after being submitted to the network.) Optionally, save the current ledger index to the offline machine. You can use this value to choose an appropriate `LastLedgerSequence` value for upcoming transactions. @@ -145,13 +145,13 @@ On the offline machine, prepare and sign transactions for configuring your accou - [Assign a regular key pair](assign-a-regular-key-pair.md) that you can rotate regularly. - [Require destination tags](require-destination-tags.md) so that users can't send you payments without tagging the reason they sent it or the customer it's intended for. - [Set Up Multi-Signing](set-up-multi-signing.md) for a higher bar of account security. -- [Enable DepositAuth](../../concepts/accounts/depositauth.md) so you can only receive payments you've explicitly accepted or from parties you've pre-approved. -- [Require Auth](../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#enabling-require-auth) so that users can't open [trust lines](../../concepts/tokens/fungible-tokens/index.md) to you without your permission. If you don't plan to use the XRP Ledger's decentralized exchange or [token](../../concepts/tokens/index.md) features, you may want to do this as a precaution. -- [Token Issuers](../../use-cases/tokenization/stablecoin-issuer.md) may have additional setup, such as: +- [Enable DepositAuth](../../../concepts/accounts/depositauth.md) so you can only receive payments you've explicitly accepted or from parties you've pre-approved. +- [Require Auth](../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#enabling-require-auth) so that users can't open [trust lines](../../../concepts/tokens/fungible-tokens/index.md) to you without your permission. If you don't plan to use the XRP Ledger's decentralized exchange or [token](../../../concepts/tokens/index.md) features, you may want to do this as a precaution. +- [Token Issuers](../../../use-cases/tokenization/stablecoin-issuer.md) may have additional setup, such as: - Set a Transfer Fee for users transferring your tokens. - Disallow XRP payments if you plan to use this address for tokens only. -At this stage, you are only signing the transactions, not submitting them. For each transaction, you must provide all fields, including fields that are normally auto-fillable such as the `Fee` ([transaction cost](../../concepts/transactions/transaction-cost.md)) and `Sequence` ([sequence number][]). If you prepare multiple transactions at the same time, you must use sequentially increasing `Sequence` numbers in the order you want the transactions to execute. +At this stage, you are only signing the transactions, not submitting them. For each transaction, you must provide all fields, including fields that are normally auto-fillable such as the `Fee` ([transaction cost](../../../concepts/transactions/transaction-cost.md)) and `Sequence` ([sequence number][]). If you prepare multiple transactions at the same time, you must use sequentially increasing `Sequence` numbers in the order you want the transactions to execute. Example (enable Require Auth): @@ -186,7 +186,7 @@ Loading: "/etc/opt/ripple/rippled.cfg" {% /tabs %} -To ensure _all_ transactions have a final outcome within a limited amount of time, provide a [`LastLedgerSequence`](../../concepts/transactions/reliable-transaction-submission.md#lastledgersequence) field. This value should be based on the current ledger index (which you must look up from an online machine) and the amount of time you want the transaction to remain valid. Be sure to set a large enough `LastLedgerSequence` value to allow for time spent switching from the online machine to the offline machine and back. For example, a value 256 higher than the current ledger index means that the transaction is valid for about 15 minutes. For more information, see [Finality of Results](../../concepts/transactions/finality-of-results/index.md) and [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md). +To ensure _all_ transactions have a final outcome within a limited amount of time, provide a [`LastLedgerSequence`](../../../concepts/transactions/reliable-transaction-submission.md#lastledgersequence) field. This value should be based on the current ledger index (which you must look up from an online machine) and the amount of time you want the transaction to remain valid. Be sure to set a large enough `LastLedgerSequence` value to allow for time spent switching from the online machine to the offline machine and back. For example, a value 256 higher than the current ledger index means that the transaction is valid for about 15 minutes. For more information, see [Finality of Results](../../../concepts/transactions/finality-of-results/index.md) and [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md). ### 7. Copy transactions to online machine. @@ -197,7 +197,7 @@ After you have signed the transactions, the next step is to get the signed trans ### 8. Submit setup transactions. -The next step is to submit the transactions. Most transactions should have a final outcome in the next validated ledger after submission (about 4 seconds later), or possibly the ledger after that if they get queued (less than 10 seconds). For detailed steps to track the final outcome of a transaction, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md). +The next step is to submit the transactions. Most transactions should have a final outcome in the next validated ledger after submission (about 4 seconds later), or possibly the ledger after that if they get queued (less than 10 seconds). For detailed steps to track the final outcome of a transaction, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md). Example of transaction submission: @@ -236,13 +236,13 @@ Loading: "/etc/opt/ripple/rippled.cfg" {% /tabs %} -**Tip:** If you are submitting more than 10 transactions at a time, you may have more success if you submit them in groups of 10 or less at a time, because the [transaction queue](../../concepts/transactions/transaction-queue.md) is limited to 10 transactions from the same sender at a time. After each group of 10 transactions, wait for all the transactions to leave the queue before submitting the next group. +**Tip:** If you are submitting more than 10 transactions at a time, you may have more success if you submit them in groups of 10 or less at a time, because the [transaction queue](../../../concepts/transactions/transaction-queue.md) is limited to 10 transactions from the same sender at a time. After each group of 10 transactions, wait for all the transactions to leave the queue before submitting the next group. -Retry submitting any transactions that failed with a [non-final outcome](../../concepts/transactions/finality-of-results/index.md). There is no chance of the same transaction being processed more than once. +Retry submitting any transactions that failed with a [non-final outcome](../../../concepts/transactions/finality-of-results/index.md). There is no chance of the same transaction being processed more than once. ### 9. Confirm the final status of the transactions. -For each transaction you submitted, note the transaction's [final outcome](../../concepts/transactions/finality-of-results/index.md), for example using the [tx method][]. For example: +For each transaction you submitted, note the transaction's [final outcome](../../../concepts/transactions/finality-of-results/index.md), for example using the [tx method][]. For example: {% tabs %} @@ -305,9 +305,9 @@ You may also find it useful to check the [account_info][account_info method] of For any transactions that failed, you should decide what to do: -- If the transaction failed with a `tefMAX_LEDGER` code, you may need to specify a higher [transaction cost](../../concepts/transactions/transaction-cost.md) to get the transaction processed. (This likely indicates that the XRP Ledger network is under load.) You may decide to replace the transaction with a new version that pays a higher cost and has a higher `LastLedgerSequence` parameter (if any). -- If the transaction failed with any [`tem`-class code](../../references/protocol/transactions/transaction-results/tem-codes.md), you probably made a typo or another error in constructing the transaction. Double-check the transaction so that you can replace it with a validly-formed one. -- If the transaction failed with a [`tec`-class code](../../references/protocol/transactions/transaction-results/tec-codes.md), you should address it on a case-by-case basis depending on the exact reason it failed. +- If the transaction failed with a `tefMAX_LEDGER` code, you may need to specify a higher [transaction cost](../../../concepts/transactions/transaction-cost.md) to get the transaction processed. (This likely indicates that the XRP Ledger network is under load.) You may decide to replace the transaction with a new version that pays a higher cost and has a higher `LastLedgerSequence` parameter (if any). +- If the transaction failed with any [`tem`-class code](../../../references/protocol/transactions/transaction-results/tem-codes.md), you probably made a typo or another error in constructing the transaction. Double-check the transaction so that you can replace it with a validly-formed one. +- If the transaction failed with a [`tec`-class code](../../../references/protocol/transactions/transaction-results/tec-codes.md), you should address it on a case-by-case basis depending on the exact reason it failed. For any transactions you decide to adjust or replace, note the details for when you return to the offline machine. @@ -328,14 +328,14 @@ Then adjust and sign any replacement transactions for transactions that failed i ## See Also - **Concepts:** - - [Accounts](../../concepts/accounts/accounts.md) - - [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md) + - [Accounts](../../../concepts/accounts/accounts.md) + - [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md) - **Tutorials:** - - [Set Up Secure Signing](../../concepts/transactions/secure-signing.md) + - [Set Up Secure Signing](../../../concepts/transactions/secure-signing.md) - [Assign a Regular Key Pair](assign-a-regular-key-pair.md) - [Set Up Multi-Signing](set-up-multi-signing.md) - **References:** - - [Basic Data Types: Account Sequence](../../references/protocol/data-types/basic-data-types.md#account-sequence) + - [Basic Data Types: Account Sequence](../../../references/protocol/data-types/basic-data-types.md#account-sequence) - [account_info method][] - [sign method][] - [submit method][] diff --git a/docs/tutorials/manage-account-settings/require-destination-tags.md b/docs/tutorials/tasks/manage-account-settings/require-destination-tags.md similarity index 79% rename from docs/tutorials/manage-account-settings/require-destination-tags.md rename to docs/tutorials/tasks/manage-account-settings/require-destination-tags.md index e443bd929e..20d1e288e5 100644 --- a/docs/tutorials/manage-account-settings/require-destination-tags.md +++ b/docs/tutorials/tasks/manage-account-settings/require-destination-tags.md @@ -12,7 +12,7 @@ steps: ['Generate', 'Connect', 'Send AccountSet', 'Wait', 'Confirm Settings', 'T --- # Require Destination Tags -The Require Destination Tag setting is designed for addresses that host balances for multiple people or purposes, to prevent people from sending money and forgetting to use a [destination tag](../../concepts/transactions/source-and-destination-tags.md) to identify whom to credit. When this setting is enabled on your address, the XRP Ledger rejects [any payment](../../concepts/payment-types/index.md) to your address if it does not specify a destination tag. +The Require Destination Tag setting is designed for addresses that host balances for multiple people or purposes, to prevent people from sending money and forgetting to use a [destination tag](../../../concepts/transactions/source-and-destination-tags.md) to identify whom to credit. When this setting is enabled on your address, the XRP Ledger rejects [any payment](../../../concepts/payment-types/index.md) to your address if it does not specify a destination tag. This tutorial demonstrates how to enable the Require Destination Tag flag on your account. @@ -23,8 +23,8 @@ This tutorial demonstrates how to enable the Require Destination Tag flag on you - You need a funded XRP Ledger account, with an address, secret key, and some XRP. For production, you can use the same address and secret consistently. For this tutorial, you can generate new test credentials as needed. - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. - - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../get-started/get-started-using-python.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. + - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../../python/get-started.md) for setup steps. - You can also read along and use the interactive steps in your browser without any setup. @@ -45,11 +45,11 @@ To transact on the XRP Ledger, you need an address and secret key, and some XRP. {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). ### 2. Connect to the Network -You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../references/client-libraries.md): +You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../../references/client-libraries.md): {% tabs %} @@ -69,7 +69,7 @@ For this tutorial, click the following button to connect: ### 3. Send AccountSet Transaction -To enable the `RequireDest` flag, set the [`asfRequireDest` value (`1`)](../../references/protocol/transactions/types/accountset.md#accountset-flags) in the `SetFlag` field of an [AccountSet transaction][]. To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network. +To enable the `RequireDest` flag, set the [`asfRequireDest` value (`1`)](../../../references/protocol/transactions/types/accountset.md#accountset-flags) in the `SetFlag` field of an [AccountSet transaction][]. To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network. For example: @@ -98,7 +98,7 @@ For example: ### 4. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).) +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).) {% partial file="/docs/_snippets/interactive-tutorials/wait-step.md" /%} @@ -131,7 +131,7 @@ After the transaction is validated, you can check your account's settings to con {% /interactive-block %} -For further confirmation, you can send test transactions (from a different address) to confirm that the setting is working as you expect it to. If you a payment with a destination tag, it should succeed, and if you send one _without_ a destination tag, it should fail with the error code [`tecDST_TAG_NEEDED`](../../references/protocol/transactions/transaction-results/tec-codes.md). +For further confirmation, you can send test transactions (from a different address) to confirm that the setting is working as you expect it to. If you a payment with a destination tag, it should succeed, and if you send one _without_ a destination tag, it should fail with the error code [`tecDST_TAG_NEEDED`](../../../references/protocol/transactions/transaction-results/tec-codes.md). {% interactive-block label="Test Payments" steps=$frontmatter.steps %} @@ -148,13 +148,13 @@ For further confirmation, you can send test transactions (from a different addre ## See Also - **Concepts:** - - [Accounts](../../concepts/accounts/accounts.md) - - [Source and Destination Tags](../../concepts/transactions/source-and-destination-tags.md) - - [Transaction Cost](../../concepts/transactions/transaction-cost.md) - - [Payment Types](../../concepts/payment-types/index.md) + - [Accounts](../../../concepts/accounts/accounts.md) + - [Source and Destination Tags](../../../concepts/transactions/source-and-destination-tags.md) + - [Transaction Cost](../../../concepts/transactions/transaction-cost.md) + - [Payment Types](../../../concepts/payment-types/index.md) - **References:** - [account_info method][] - [AccountSet transaction][] - - [AccountRoot Flags](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) + - [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/manage-account-settings/send-a-multi-signed-transaction.md b/docs/tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md similarity index 96% rename from docs/tutorials/manage-account-settings/send-a-multi-signed-transaction.md rename to docs/tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md index 38759ac319..c0e1904caa 100644 --- a/docs/tutorials/manage-account-settings/send-a-multi-signed-transaction.md +++ b/docs/tutorials/tasks/manage-account-settings/send-a-multi-signed-transaction.md @@ -14,14 +14,14 @@ The following procedure demonstrates how to create, sign, and submit a multi-sig - You must have already [set up multi-signing](set-up-multi-signing.md) for your address. -- Multi-signing must be available. Multi-signing has been enabled by an [**Amendment**](../../concepts/networks-and-servers/amendments.md) to the XRP Ledger Consensus Protocol since 2016-06-27. +- Multi-signing must be available. Multi-signing has been enabled by an [**Amendment**](../../../concepts/networks-and-servers/amendments.md) to the XRP Ledger Consensus Protocol since 2016-06-27. ## 1. Create the transaction Create a JSON object that represents the transaction you want to submit. You have to specify _everything_ about this transaction, including `Fee` and `Sequence`. Also include the field `SigningPubKey` as an empty string, to indicate that the transaction is multi-signed. -Keep in mind that the `Fee` for multi-signed transactions is significantly higher than for regularly-signed transactions. It should be at least (N+1) times the normal [transaction cost](../../concepts/transactions/transaction-cost.md), where N is the number of signatures you plan to provide. Since it sometimes takes a while to collect signatures from multiple sources, you may want to specify more than the current minimum, in case the [transaction cost](../../concepts/transactions/transaction-cost.md) increases in that time. +Keep in mind that the `Fee` for multi-signed transactions is significantly higher than for regularly-signed transactions. It should be at least (N+1) times the normal [transaction cost](../../../concepts/transactions/transaction-cost.md), where N is the number of signatures you plan to provide. Since it sometimes takes a while to collect signatures from multiple sources, you may want to specify more than the current minimum, in case the [transaction cost](../../../concepts/transactions/transaction-cost.md) increases in that time. Here's an example transaction ready to be multi-signed: @@ -100,7 +100,7 @@ Connecting to 127.0.0.1:5005 Save the `tx_json` field of the response: it has the new signature in the `Signers` field. You can discard the value of the `tx_blob` field. -If you have a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#settings-in-new-genesis-ledgers). +If you have a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](../../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#settings-in-new-genesis-ledgers). ## 3. Get additional signatures diff --git a/docs/tutorials/manage-account-settings/set-up-multi-signing.md b/docs/tutorials/tasks/manage-account-settings/set-up-multi-signing.md similarity index 75% rename from docs/tutorials/manage-account-settings/set-up-multi-signing.md rename to docs/tutorials/tasks/manage-account-settings/set-up-multi-signing.md index d96fcb5ad0..fa857348e3 100644 --- a/docs/tutorials/manage-account-settings/set-up-multi-signing.md +++ b/docs/tutorials/tasks/manage-account-settings/set-up-multi-signing.md @@ -8,18 +8,18 @@ labels: --- # Set Up Multi-Signing -[Multi-signing](../../concepts/accounts/multi-signing.md) is one of three ways to authorize [transactions](../../concepts/transactions/index.md) for the XRP Ledger, alongside signing with [regular keys and master keys](../../concepts/accounts/cryptographic-keys.md). You can configure your [address](../../concepts/accounts/accounts.md) to allow any combination of the three methods to authorize transactions. +[Multi-signing](../../../concepts/accounts/multi-signing.md) is one of three ways to authorize [transactions](../../../concepts/transactions/index.md) for the XRP Ledger, alongside signing with [regular keys and master keys](../../../concepts/accounts/cryptographic-keys.md). You can configure your [address](../../../concepts/accounts/accounts.md) to allow any combination of the three methods to authorize transactions. This tutorial demonstrates how to enable multi-signing for an address. ## Prerequisites -- You must have a funded XRP Ledger [address](../../concepts/accounts/accounts.md) with enough spare XRP to send transactions and meet the [reserve requirement](../../concepts/accounts/reserves.md) of a new signer list. +- You must have a funded XRP Ledger [address](../../../concepts/accounts/accounts.md) with enough spare XRP to send transactions and meet the [reserve requirement](../../../concepts/accounts/reserves.md) of a new signer list. - With the [MultiSignReserve amendment][] enabled, multi-signing requires 2 XRP for the account reserve, regardless of the number of signers and signatures you use. (The MultiSignReserve amendment has been enabled in the production XRP Ledger since **2019-04-07**.) - - If you are on a test network that does not have the [MultiSignReserve amendment][] enabled, multi-signing requires more than the usual amount of XRP for the [account reserve](../../concepts/accounts/reserves.md), increasing with the number of signers in the list. + - If you are on a test network that does not have the [MultiSignReserve amendment][] enabled, multi-signing requires more than the usual amount of XRP for the [account reserve](../../../concepts/accounts/reserves.md), increasing with the number of signers in the list. - You must have access to a tool that can generate key pairs in the XRP Ledger format. If you are using a `rippled` server for this, you must have admin access because the [wallet_propose method][] is admin-only. @@ -61,7 +61,7 @@ Take note of the `account_id` (XRP Ledger Address) and `master_seed` (secret key ## 3. Send SignerListSet transaction -[Sign and submit](../../concepts/transactions/index.md#signing-and-submitting-transactions) a [SignerListSet transaction][] in the normal (single-signature) way. This associates a signer list with your XRP Ledger address, so that a combination of signatures from the members of that signer list can multi-sign later transactions on your behalf. +[Sign and submit](../../../concepts/transactions/index.md#signing-and-submitting-transactions) a [SignerListSet transaction][] in the normal (single-signature) way. This associates a signer list with your XRP Ledger address, so that a combination of signatures from the members of that signer list can multi-sign later transactions on your behalf. In this example, the signer list has 3 members, with the weights and quorum set up such that multi-signed transactions need a signature from `rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW` plus at least one signature from the other two members of the list. @@ -140,9 +140,9 @@ Connecting to 127.0.0.1:5005 } ``` -Make sure that the [Transaction Result](../../references/protocol/transactions/transaction-results/transaction-results.md) is [**`tesSUCCESS`**](../../references/protocol/transactions/transaction-results/tes-success.md). Otherwise, the transaction failed. If you have a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#settings-in-new-genesis-ledgers). +Make sure that the [Transaction Result](../../../references/protocol/transactions/transaction-results/transaction-results.md) is [**`tesSUCCESS`**](../../../references/protocol/transactions/transaction-results/tes-success.md). Otherwise, the transaction failed. If you have a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](../../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#settings-in-new-genesis-ledgers). -**Note:** Without the [MultiSignReserve amendment][], the more members in the signer list, the more XRP your address must have for purposes of the [owner reserve](../../concepts/accounts/reserves.md#owner-reserves). If your address does not have enough XRP, the transaction fails with [`tecINSUFFICIENT_RESERVE`](../../references/protocol/transactions/transaction-results/tec-codes.md). With the [MultiSignReserve amendment][] enabled, the XRP your address must have for purposes of the [owner reserve](../../concepts/accounts/reserves.md#owner-reserves) is 5 XRP, regardless of the number of members in the signer list. See also: [Signer Lists and Reserves](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md#signer-lists-and-reserves). +**Note:** Without the [MultiSignReserve amendment][], the more members in the signer list, the more XRP your address must have for purposes of the [owner reserve](../../../concepts/accounts/reserves.md#owner-reserves). If your address does not have enough XRP, the transaction fails with [`tecINSUFFICIENT_RESERVE`](../../../references/protocol/transactions/transaction-results/tec-codes.md). With the [MultiSignReserve amendment][] enabled, the XRP your address must have for purposes of the [owner reserve](../../../concepts/accounts/reserves.md#owner-reserves) is 5 XRP, regardless of the number of members in the signer list. See also: [Signer Lists and Reserves](../../../references/protocol/ledger-data/ledger-entry-types/signerlist.md#signer-lists-and-reserves). ## 4. Wait for validation @@ -215,19 +215,19 @@ At this point, your address is ready to [send a multi-signed transaction](send-a ## See Also - **Concepts:** - - [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md) - - [Multi-Signing](../../concepts/accounts/multi-signing.md) + - [Cryptographic Keys](../../../concepts/accounts/cryptographic-keys.md) + - [Multi-Signing](../../../concepts/accounts/multi-signing.md) - **Tutorials:** - - [Install rippled](../../infrastructure/installation/index.md) + - [Install rippled](../../../infrastructure/installation/index.md) - [Assign a Regular Key Pair](assign-a-regular-key-pair.md) - - [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md) - - [Enable Public Signing](../../infrastructure/configuration/enable-public-signing.md) + - [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) + - [Enable Public Signing](../../../infrastructure/configuration/enable-public-signing.md) - **References:** - [wallet_propose method][] - [account_objects method][] - [sign_for method][] - [submit_multisigned method][] - [SignerListSet transaction][] - - [SignerList object](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md) + - [SignerList object](../../../references/protocol/ledger-data/ledger-entry-types/signerlist.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/manage-account-settings/use-tickets.md b/docs/tutorials/tasks/manage-account-settings/use-tickets.md similarity index 85% rename from docs/tutorials/manage-account-settings/use-tickets.md rename to docs/tutorials/tasks/manage-account-settings/use-tickets.md index 926ba33513..75df7c96d0 100644 --- a/docs/tutorials/manage-account-settings/use-tickets.md +++ b/docs/tutorials/tasks/manage-account-settings/use-tickets.md @@ -12,15 +12,15 @@ steps: ['Generate', 'Connect', 'Check Sequence', 'Prepare & Sign', 'Submit', 'Wa --- # Use Tickets -[Tickets](../../concepts/accounts/tickets.md) provide a way to send transactions out of the normal order. This tutorial walks through the steps of creating a Ticket, then using it to send another transaction. +[Tickets](../../../concepts/accounts/tickets.md) provide a way to send transactions out of the normal order. This tutorial walks through the steps of creating a Ticket, then using it to send another transaction. ## Prerequisites - + -This page provides JavaScript examples that use the [xrpl.js](https://js.xrpl.org/) library. See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup instructions. +This page provides JavaScript examples that use the [xrpl.js](https://js.xrpl.org/) library. See [Get Started Using JavaScript](../../javascript/get-started.md) for setup instructions. Since JavaScript works in the web browser, you can read along and use the interactive steps without any setup. @@ -37,11 +37,11 @@ This tutorial is divided into a few phases: ### 1. Get Credentials -To transact on the XRP Ledger, you need an address and secret key, and some XRP. For development purposes, you can get these on the [{{use_network}}](../../concepts/networks-and-servers/parallel-networks.md) using the following interface: +To transact on the XRP Ledger, you need an address and secret key, and some XRP. For development purposes, you can get these on the [Testnet](../../../concepts/networks-and-servers/parallel-networks.md) using the following interface: {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). ### 2. Connect to Network @@ -99,7 +99,7 @@ Construct a [TicketCreate transaction][] using the sequence number you determine {% /tabs %} -Record the transaction's hash and `LastLedgerSequence` value so you can [be sure whether or not it got validated](../../concepts/transactions/reliable-transaction-submission.md) later. +Record the transaction's hash and `LastLedgerSequence` value so you can [be sure whether or not it got validated](../../../concepts/transactions/reliable-transaction-submission.md) later. {% interactive-block label="Prepare & Sign" steps=$frontmatter.steps %} @@ -136,7 +136,7 @@ Submit the signed transaction blob that you created in the previous step. For ex ### 6. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).) +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).) {% tabs %} @@ -192,7 +192,7 @@ When you want to send a Ticketed transaction, you need to know what Ticket Seque Now that you have a Ticket available, you can prepare a transaction that uses it. -This can be any [type of transaction](../../references/protocol/transactions/types/index.md) you like. The following example uses a no-op [AccountSet transaction][] since that doesn't require any other setup in the ledger. Set the `Sequence` field to `0` and include a `TicketSequence` field with the Ticket Sequence number of one of your available Tickets. +This can be any [type of transaction](../../../references/protocol/transactions/types/index.md) you like. The following example uses a no-op [AccountSet transaction][] since that doesn't require any other setup in the ledger. Set the `Sequence` field to `0` and include a `TicketSequence` field with the Ticket Sequence number of one of your available Tickets. {% tabs %} @@ -249,7 +249,7 @@ Ticketed transactions go through the consensus process the same way that Sequenc ## With Multi-Signing -One of the main use cases for Tickets is to be able to collect signatures for several [multi-signed transactions](../../concepts/accounts/multi-signing.md) in parallel. By using a Ticket, you can send a multi-signed transaction as soon as it is fully signed and ready to go, without worrying about which one will be ready first. +One of the main use cases for Tickets is to be able to collect signatures for several [multi-signed transactions](../../../concepts/accounts/multi-signing.md) in parallel. By using a Ticket, you can send a multi-signed transaction as soon as it is fully signed and ready to go, without worrying about which one will be ready first. In this scenario, [step 8, "Prepare Ticketed Transaction"](#8-prepare-ticketed-transaction) is slightly different. Instead of preparing and signing all at once, you would follow the steps for [sending any multi-signed transaction](send-a-multi-signed-transaction.md): first prepare the transaction, then circulate it among trusted signers to collect their signatures, and finally combine the signatures into the final multi-signed transaction. @@ -259,16 +259,16 @@ You could do this in parallel for several different potential transactions as lo ## See Also - **Concepts:** - - [Tickets](../../concepts/accounts/tickets.md) - - [Multi-Signing](../../concepts/accounts/multi-signing.md) + - [Tickets](../../../concepts/accounts/tickets.md) + - [Multi-Signing](../../../concepts/accounts/multi-signing.md) - **Tutorials:** - [Set Up Multi-Signing](set-up-multi-signing.md) - - [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md) + - [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [account_objects method][] - [sign_for method][] - [submit_multisigned method][] - [TicketCreate transaction][] - - [Transaction Common Fields](../../references/protocol/transactions/common-fields.md) + - [Transaction Common Fields](../../../references/protocol/transactions/common-fields.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/get-started/send-xrp.md b/docs/tutorials/tasks/send-xrp.md similarity index 97% rename from docs/tutorials/get-started/send-xrp.md rename to docs/tutorials/tasks/send-xrp.md index d419d88d38..71f7959248 100644 --- a/docs/tutorials/get-started/send-xrp.md +++ b/docs/tutorials/tasks/send-xrp.md @@ -24,10 +24,10 @@ This tutorial explains how to send a direct XRP Payment using `xrpl.js` for Java To interact with the XRP Ledger, you need to set up a dev environment with the necessary tools. This tutorial provides examples using the following options: -- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](get-started-using-javascript.md) for setup steps. -- **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](get-started-using-python.md) for setup steps. -- **Java** with the [xrpl4j library](https://github.com/XRPLF/xrpl4j). See [Get Started Using Java](get-started-using-java.md) for setup steps. -- **PHP** with the [XRPL_PHP library](https://github.com/AlexanderBuzz/xrpl-php). See [Get Started Using PHP](get-started-using-php.md) for setup steps. +- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../javascript/get-started.md) for setup steps. +- **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../python/get-started.md) for setup steps. +- **Java** with the [xrpl4j library](https://github.com/XRPLF/xrpl4j). See [Get Started Using Java](../java/get-started.md) for setup steps. +- **PHP** with the [XRPL_PHP library](https://github.com/AlexanderBuzz/xrpl-php). See [Get Started Using PHP](../php/get-started.md) for setup steps. ## Send a Payment on the Test Net @@ -399,7 +399,7 @@ Generating an address and secret doesn't get you XRP directly; you're only choos ### Connecting to the Production XRP Ledger -When you instantiate your client's connect to the XRP Ledger, you must specify a server that's synced with the appropriate [network](../../concepts/networks-and-servers/parallel-networks.md). For many cases, you can use [public servers](public-servers.md), such as in the following example: +When you instantiate your client's connect to the XRP Ledger, you must specify a server that's synced with the appropriate [network](../../concepts/networks-and-servers/parallel-networks.md). For many cases, you can use [public servers](../public-servers.md), such as in the following example: {% tabs %} @@ -477,8 +477,8 @@ $client = new JsonRpcClient("http://localhost:5005"); After completing this tutorial, you may want to try the following: -- [Issue a token](../use-tokens/issue-a-fungible-token.md) on the XRP Ledger Testnet. -- [Trade in the Decentralized Exchange](../use-tokens/trade-in-the-decentralized-exchange.md). +- [Issue a token](../tasks/use-tokens/issue-a-fungible-token.md) on the XRP Ledger Testnet. +- [Trade in the Decentralized Exchange](../tasks/use-tokens/trade-in-the-decentralized-exchange.md). - Build [Reliable transaction submission](../../concepts/transactions/reliable-transaction-submission.md) for production systems. - Check your [client library](../../references/client-libraries.md)'s API reference for the full range of XRP Ledger functionality. - Customize your [Account Settings](../tasks/manage-account-settings/index.md). diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md similarity index 85% rename from docs/tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md index b9e981f19b..753616d19c 100644 --- a/docs/tutorials/use-specialized-payment-types/use-checks/cancel-a-check.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cancel-a-check.md @@ -8,9 +8,9 @@ labels: --- # Cancel a Check -This tutorial shows how to cancel a [Check](../../../concepts/payment-types/checks.md), which removes the [Check object from the ledger](../../../references/protocol/ledger-data/ledger-entry-types/check.md) without sending money. +This tutorial shows how to cancel a [Check](../../../../concepts/payment-types/checks.md), which removes the [Check object from the ledger](../../../../references/protocol/ledger-data/ledger-entry-types/check.md) without sending money. -You may want to cancel an incoming Check if you do not want it. You might cancel an outgoing Check if you made a mistake when sending it or if circumstances have changed. If a Check expires, it's also necessary to cancel it to remove it from the ledger so the sender gets their [owner reserve](../../../concepts/accounts/reserves.md#owner-reserves) back. +You may want to cancel an incoming Check if you do not want it. You might cancel an outgoing Check if you made a mistake when sending it or if circumstances have changed. If a Check expires, it's also necessary to cancel it to remove it from the ledger so the sender gets their [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) back. ## Prerequisites @@ -19,13 +19,13 @@ To cancel a Check with this tutorial, you need the following: - You need the ID of a Check object currently in the ledger. - For example, this tutorial includes examples that cancel a Check with the ID `49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0`, although you must use a different ID to go through these steps yourself. - The **address** and **secret key** of a funded account to send the CheckCancel transaction. This address must be either the sender or the recipient of the Check, unless the Check is expired. -- A [secure way to sign transactions](../../../concepts/transactions/secure-signing.md). -- A [client library](../../../references/client-libraries.md) or any HTTP or WebSocket library. +- A [secure way to sign transactions](../../../../concepts/transactions/secure-signing.md). +- A [client library](../../../../references/client-libraries.md) or any HTTP or WebSocket library. ## 1. Prepare the CheckCancel transaction -Figure out the values of the [CheckCancel transaction][] fields. The following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: +Figure out the values of the [CheckCancel transaction][] fields. The following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: | Field | Value | Description | |:------------------|:-----------------|:--------------------------------------| @@ -131,7 +131,7 @@ The following examples show how to cancel a Check. Use the [tx method][] with the CheckCancel transaction's identifying hash to check its status. Look for a `"TransactionResult": "tesSUCCESS"` field in the transaction's metadata, indicating that the transaction succeeded, and the field `"validated": true` in the result, indicating that this result is final. -Look for a `DeletedNode` object in the transaction metadata with `"LedgerEntryType": "Check"` to indicate that the transaction removed a [Check ledger object](../../../references/protocol/ledger-data/ledger-entry-types/check.md). The `LedgerIndex` of this object should match the ID of the Check. +Look for a `DeletedNode` object in the transaction metadata with `"LedgerEntryType": "Check"` to indicate that the transaction removed a [Check ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/check.md). The `LedgerIndex` of this object should match the ID of the Check. ### Example Request diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md similarity index 86% rename from docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md index da7a0990ff..d86f7050c9 100644 --- a/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md @@ -21,7 +21,7 @@ The specified recipient can also [cash the check for an exact amount](cash-a-che ## 1. Prepare the CheckCash transaction -Figure out the values of the [CheckCash transaction][] fields. To cash a check for a flexible amount, the following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: +Figure out the values of the [CheckCash transaction][] fields. To cash a check for a flexible amount, the following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: | Field | Value | Description | |:------------------|:--------------------------|:-----------------------------| @@ -135,7 +135,7 @@ Use the [tx method][] with the CheckCash transaction's identifying hash to check ### Handling Errors -If cashing the Check failed with a `tec`-class code, look up the code in the [Full Transaction Response List](../../../references/protocol/transactions/transaction-results/transaction-results.md) and respond accordingly. Some common possibilities for CheckCash transactions: +If cashing the Check failed with a `tec`-class code, look up the code in the [Full Transaction Response List](../../../../references/protocol/transactions/transaction-results/transaction-results.md) and respond accordingly. Some common possibilities for CheckCash transactions: | Result Code | Meaning | How to Respond | |-------------|---------|----------------| @@ -143,15 +143,15 @@ If cashing the Check failed with a `tec`-class code, look up the code in the [Fu | `tecNO_ENTRY` | The Check ID doesn't exist. | Confirm that the `CheckID` from the CheckCash transaction is correct. Confirm that the Check has not already been canceled or successfully cashed. | | `tecNO_LINE` | The recipient doesn't have a trust line for the Check's currency. | If you want to hold this currency from this issuer, create a trust line for the specified currency and issuer with a reasonable limit using a [TrustSet transaction][], then try to cash the check again. | | `tecNO_PERMISSION` | The sender of the CheckCash transaction isn't the `Destination` of the Check. | Double-check the `Destination` of the Check. | -| `tecNO_AUTH` | The issuer of the currency from the check is using [Authorized Trust Lines](../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) but the recipient's trust line to the issuer is not approved. | Ask the issuer to authorize this trust line, then try again to cash the Check after they do. | -| `tecPATH_PARTIAL` | The Check could not deliver enough tokens, either due to trust line limits or because the sender does not have enough balance of the token to send (including the issuer's [transfer fee](../../../concepts/tokens/transfer-fees.md), if there is one). | If the problem is the trust line limit, send a [TrustSet transaction][] to increase your limit (if desired) or lower your balance by spending some of the currency, then try to cash the Check again. If the problem is the sender's balance, wait for the sender to have more of the Check's currency, or try again to cash the Check for a lesser amount. | +| `tecNO_AUTH` | The issuer of the currency from the check is using [Authorized Trust Lines](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) but the recipient's trust line to the issuer is not approved. | Ask the issuer to authorize this trust line, then try again to cash the Check after they do. | +| `tecPATH_PARTIAL` | The Check could not deliver enough tokens, either due to trust line limits or because the sender does not have enough balance of the token to send (including the issuer's [transfer fee](../../../../concepts/tokens/transfer-fees.md), if there is one). | If the problem is the trust line limit, send a [TrustSet transaction][] to increase your limit (if desired) or lower your balance by spending some of the currency, then try to cash the Check again. If the problem is the sender's balance, wait for the sender to have more of the Check's currency, or try again to cash the Check for a lesser amount. | | `tecUNFUNDED_PAYMENT` | The Check could not deliver enough XRP. | Wait for the sender to have more XRP, or try again to cash the Check for a lesser amount. | ## 6. Confirm delivered amount If the Check was cashed for a flexible `DeliverMin` amount and succeeded, you can assume that the Check was cashed for at least the `DeliverMin` amount. To get the exact amount delivered, check the transaction metadata. The `delivered_amount` field in the metadata shows the exact amount delivered. (This field is only provided if the Check was cashed for a flexible amount. If the check was successfully cashed for a fixed amount, then the delivered amount is equal to the `Amount` of the CheckCash transaction.) -- For XRP, the `AccountRoot` object of the Check's sender has its XRP `Balance` field debited. The `AccountRoot` object of the Check's recipient (the one who sent the CheckCash transaction) has its XRP `Balance` credited for at least the `DeliverMin` of the CheckCash transaction minus the [transaction cost](../../../concepts/transactions/transaction-cost.md) of sending the transaction. +- For XRP, the `AccountRoot` object of the Check's sender has its XRP `Balance` field debited. The `AccountRoot` object of the Check's recipient (the one who sent the CheckCash transaction) has its XRP `Balance` credited for at least the `DeliverMin` of the CheckCash transaction minus the [transaction cost](../../../../concepts/transactions/transaction-cost.md) of sending the transaction. For example, the following `ModifiedNode` shows that the account `rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis`, the Check's recipient and the sender of this CheckCash transaction, had its XRP balance change from `9999999970` drops to `10099999960` drops, meaning the recipient was credited a _net_ of 99.99999 XRP as a result of processing the transaction. @@ -190,6 +190,6 @@ If the Check was cashed for a flexible `DeliverMin` amount and succeeded, you ca - For tokens with a third-party issuer, there are changes to two `RippleState` objects, representing the trust lines connecting the sender to the issuer, and the issuer to the recipient. The `RippleState` object representing the relationship between the Check's sender and the issuer has its `Balance` changed in favor of the issuer, and the `RippleState` object representing the relationship between the issuer and the recipient has its `Balance` changed in favor of the recipient. - - If the token has a [transfer fee](../../../concepts/tokens/transfer-fees.md), the Check's sender may be debited more than the recipient is credited. (The difference is the transfer fee, which is returned to the issuer as a decreased net obligation.) + - If the token has a [transfer fee](../../../../concepts/tokens/transfer-fees.md), the Check's sender may be debited more than the recipient is credited. (The difference is the transfer fee, which is returned to the issuer as a decreased net obligation.) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md similarity index 97% rename from docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md index 4d7a9dd382..597fa8730c 100644 --- a/docs/tutorials/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md @@ -18,7 +18,7 @@ The specified recipient can also [cash the check for a flexible amount](cash-a-c ## 1. Prepare the CheckCash transaction -Figure out the values of the [CheckCash transaction][] fields. To cash a check for an exact amount, the following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: +Figure out the values of the [CheckCash transaction][] fields. To cash a check for an exact amount, the following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: | Field | Value | Description | |:------------------|:--------------------------|:-----------------------------| diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md similarity index 91% rename from docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md index c3048b7289..d13b1efc5f 100644 --- a/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md @@ -8,7 +8,7 @@ labels: --- # Look Up Checks by Recipient -This tutorial shows how to look up [Checks](../../../concepts/payment-types/checks.md) by their recipient. You may also want to [look up Checks by sender](look-up-checks-by-sender.md). +This tutorial shows how to look up [Checks](../../../../concepts/payment-types/checks.md) by their recipient. You may also want to [look up Checks by sender](look-up-checks-by-sender.md). ## 1. Look up all Checks for the address diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md similarity index 91% rename from docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md index d8085d803a..1bf27f5d70 100644 --- a/docs/tutorials/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md @@ -8,7 +8,7 @@ labels: --- # Look Up Checks by Sender -This tutorial shows how to look up [Checks](../../../concepts/payment-types/checks.md) by their sender. You may also want to [look up Checks by recipient](look-up-checks-by-recipient.md). +This tutorial shows how to look up [Checks](../../../../concepts/payment-types/checks.md) by their sender. You may also want to [look up Checks by recipient](look-up-checks-by-recipient.md). ## 1. Look up all Checks for the address diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/send-a-check.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md similarity index 85% rename from docs/tutorials/use-specialized-payment-types/use-checks/send-a-check.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md index a434fd7e4c..be0fbdc60a 100644 --- a/docs/tutorials/use-specialized-payment-types/use-checks/send-a-check.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/send-a-check.md @@ -8,9 +8,9 @@ labels: --- # Send a Check -Sending a Check is like writing permission for an intended recipient to pull a payment from you. The outcome of this process is a [Check object in the ledger](../../../references/protocol/ledger-data/ledger-entry-types/check.md) which the recipient can cash later. +Sending a Check is like writing permission for an intended recipient to pull a payment from you. The outcome of this process is a [Check object in the ledger](../../../../references/protocol/ledger-data/ledger-entry-types/check.md) which the recipient can cash later. -In many cases, you want to send a [Payment][] instead of a Check, since that delivers the money directly to the recipient in one step. However, if your intended recipient uses [DepositAuth](../../../concepts/accounts/depositauth.md), you cannot send them Payments directly, so a Check is a good alternative. +In many cases, you want to send a [Payment][] instead of a Check, since that delivers the money directly to the recipient in one step. However, if your intended recipient uses [DepositAuth](../../../../concepts/accounts/depositauth.md), you cannot send them Payments directly, so a Check is a good alternative. This tutorial uses the example of a fictitious company, BoxSend SG (whose XRP Ledger address is `rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za`) paying a fictitious cryptocurrency consulting company named Grand Payments (with XRP Ledger address `rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis`) for some consulting work. Grand Payments prefers be paid in XRP, but to simplify their taxes and regulation, only accepts payments they've explicitly approved. @@ -23,19 +23,19 @@ To send a Check with this tutorial, you need the following: - The **address** and **secret key** of a funded account to send the Check from. - You can use the [XRP Ledger Test Net Faucet](/resources/dev-tools/xrp-faucets) to get a funded address and secret with 10,000 Test Net XRP. - The **address** of a funded account to receive the Check. -- A [secure way to sign transactions](../../../concepts/transactions/secure-signing.md). -- A [client library](../../../references/client-libraries.md) or any HTTP or WebSocket library. +- A [secure way to sign transactions](../../../../concepts/transactions/secure-signing.md). +- A [client library](../../../../references/client-libraries.md) or any HTTP or WebSocket library. ## 1. Prepare the CheckCreate transaction -Decide how much money the Check is for and who can cash it. Figure out the values of the [CheckCreate transaction][] fields. The following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: +Decide how much money the Check is for and who can cash it. Figure out the values of the [CheckCreate transaction][] fields. The following fields are the bare minimum; everything else is either optional or can be [auto-filled](../../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) when signing: | Field | Value | Description | |:------------------|:--------------------------|:-----------------------------| | `TransactionType` | String | Use the string `CheckCreate` here. | | `Account` | String (Address) | The address of the sender who is creating the Check. (In other words, your address.) | | `Destination` | String (Address) | The address of the intended recipient who can cash the Check. | -| `SendMax` | String or Object (Amount) | The maximum amount the sender can be debited when this Check gets cashed. For XRP, use a string representing drops of XRP. For tokens, use an object with `currency`, `issuer`, and `value` fields. See [Specifying Currency Amounts][] for details. If you want the recipient to be able to cash the Check for an exact amount of a non-XRP currency with a [transfer fee](../../../concepts/tokens/transfer-fees.md), remember to include an extra percentage to pay for the transfer fee. (For example, for the recipient to cash a Check for 100 CAD from an issuer with a 2% transfer fee, you must set the `SendMax` to 102 CAD from that issuer.) | +| `SendMax` | String or Object (Amount) | The maximum amount the sender can be debited when this Check gets cashed. For XRP, use a string representing drops of XRP. For tokens, use an object with `currency`, `issuer`, and `value` fields. See [Specifying Currency Amounts][] for details. If you want the recipient to be able to cash the Check for an exact amount of a non-XRP currency with a [transfer fee](../../../../concepts/tokens/transfer-fees.md), remember to include an extra percentage to pay for the transfer fee. (For example, for the recipient to cash a Check for 100 CAD from an issuer with a 2% transfer fee, you must set the `SendMax` to 102 CAD from that issuer.) | ### Example CheckCreate Preparation @@ -152,7 +152,7 @@ The following example shows a prepared Check from BoxSend SG (`rBXsgNkPcDN2runsv Use the [tx method][] with the CheckCreate transaction's identifying hash to check its status. Look for a `"TransactionResult": "tesSUCCESS"` field in the transaction's metadata, indicating that the transaction succeeded, and the field `"validated": true` in the result, indicating that this result is final. -Look for a `CreatedNode` object in the transaction metadata with a `LedgerEntryType` of `"Check"`. This indicates that the transaction created a [Check ledger object](../../../references/protocol/ledger-data/ledger-entry-types/check.md). The `LedgerIndex` of this object is the ID of the Check. In the following example, the Check's ID is `84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9`. +Look for a `CreatedNode` object in the transaction metadata with a `LedgerEntryType` of `"Check"`. This indicates that the transaction created a [Check ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/check.md). The `LedgerIndex` of this object is the ID of the Check. In the following example, the Check's ID is `84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9`. ### Example Request diff --git a/docs/tutorials/use-specialized-payment-types/use-checks/use-checks.md b/docs/tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md similarity index 100% rename from docs/tutorials/use-specialized-payment-types/use-checks/use-checks.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md diff --git a/docs/tutorials/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md similarity index 87% rename from docs/tutorials/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md index 34ded6b078..00837d9d9c 100644 --- a/docs/tutorials/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md @@ -123,19 +123,19 @@ In the above example, `r3wN3v2vTUkr5qd6daqDc2xE4LSysdVjkT` is the sender of the ## See Also - **Concepts:** - - [What is XRP?](../../../introduction/what-is-xrp.md) - - [Payment Types](../../../concepts/payment-types/index.md) - - [Escrow](../../../concepts/payment-types/escrow.md) + - [What is XRP?](../../../../introduction/what-is-xrp.md) + - [Payment Types](../../../../concepts/payment-types/index.md) + - [Escrow](../../../../concepts/payment-types/escrow.md) - **Tutorials:** - - [Send XRP](../../get-started/send-xrp.md) - - [Look Up Transaction Results](../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) - - [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) + - [Send XRP](../../send-xrp.md) + - [Look Up Transaction Results](../../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) + - [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [EscrowCancel transaction][] - [EscrowCreate transaction][] - [EscrowFinish transaction][] - [account_objects method][] - [tx method][] - - [Escrow ledger object](../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) + - [Escrow ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-specialized-payment-types/use-escrows/look-up-escrows.md b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/look-up-escrows.md similarity index 66% rename from docs/tutorials/use-specialized-payment-types/use-escrows/look-up-escrows.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-escrows/look-up-escrows.md index a2e56cac06..233605c1ee 100644 --- a/docs/tutorials/use-specialized-payment-types/use-escrows/look-up-escrows.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/look-up-escrows.md @@ -9,7 +9,7 @@ labels: --- # Look up Escrows -All pending escrows are stored in the ledger as [Escrow objects](../../../concepts/payment-types/escrow.md). You can look them up by the sender's address or the destination address. +All pending escrows are stored in the ledger as [Escrow objects](../../../../concepts/payment-types/escrow.md). You can look them up by the sender's address or the destination address. **Note:** You can only look up pending escrow objects by destination address if those escrows were created after the [fix1523 amendment][] was enabled on 2017-11-14. @@ -42,19 +42,19 @@ Response: ## See Also - **Concepts:** - - [What is XRP?](../../../introduction/what-is-xrp.md) - - [Payment Types](../../../concepts/payment-types/index.md) - - [Escrow](../../../concepts/payment-types/escrow.md) + - [What is XRP?](../../../../introduction/what-is-xrp.md) + - [Payment Types](../../../../concepts/payment-types/index.md) + - [Escrow](../../../../concepts/payment-types/escrow.md) - **Tutorials:** - - [Send XRP](../../get-started/send-xrp.md) - - [Look Up Transaction Results](../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) - - [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) + - [Send XRP](../../send-xrp.md) + - [Look Up Transaction Results](../../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) + - [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [EscrowCancel transaction][] - [EscrowCreate transaction][] - [EscrowFinish transaction][] - [account_objects method][] - [tx method][] - - [Escrow ledger object](../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) + - [Escrow ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md similarity index 75% rename from docs/tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md index 1326ddfd9e..6919f9ca44 100644 --- a/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md @@ -92,7 +92,7 @@ print(cancel_after) ## 3. Submit EscrowCreate transaction -[Sign and submit](../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowCreate transaction][]. Set the `Condition` field of the transaction to the time when the held payment should be released. Set the `Destination` to the recipient, which can be the same address as the sender. Include the `CancelAfter` or `FinishAfter` time you calculated in the previous step. Set the `Amount` to the total amount of [XRP, in drops][], to escrow. +[Sign and submit](../../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowCreate transaction][]. Set the `Condition` field of the transaction to the time when the held payment should be released. Set the `Destination` to the recipient, which can be the same address as the sender. Include the `CancelAfter` or `FinishAfter` time you calculated in the previous step. Set the `Amount` to the total amount of [XRP, in drops][], to escrow. {% partial file="/docs/_snippets/secret-key-warning.md" /%} @@ -122,7 +122,7 @@ Response: ## 5. Confirm that the escrow was created -Use the [tx method][] with the transaction's identifying hash to check its final status. In particular, look for a `CreatedNode` in the transaction metadata to indicate that it created an [Escrow ledger object](../../../concepts/payment-types/escrow.md). +Use the [tx method][] with the transaction's identifying hash to check its final status. In particular, look for a `CreatedNode` in the transaction metadata to indicate that it created an [Escrow ledger object](../../../../concepts/payment-types/escrow.md). Request: @@ -146,9 +146,9 @@ Response: ## 6. Submit EscrowFinish transaction -[Sign and submit](../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowFinish transaction][] to execute the release of the funds after the `FinishAfter` time has passed. Set the `Owner` field of the transaction to the `Account` address from the EscrowCreate transaction, and the `OfferSequence` to the `Sequence` number from the EscrowCreate transaction. Set the `Condition` and `Fulfillment` fields to the condition and fulfillment values, in hexadecimal, that you generated in step 1. Set the `Fee` ([transaction cost](../../../concepts/transactions/transaction-cost.md)) value based on the size of the fulfillment in bytes: a conditional EscrowFinish requires at least 330 drops of XRP plus 10 drops per 16 bytes in the size of the fulfillment. +[Sign and submit](../../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowFinish transaction][] to execute the release of the funds after the `FinishAfter` time has passed. Set the `Owner` field of the transaction to the `Account` address from the EscrowCreate transaction, and the `OfferSequence` to the `Sequence` number from the EscrowCreate transaction. Set the `Condition` and `Fulfillment` fields to the condition and fulfillment values, in hexadecimal, that you generated in step 1. Set the `Fee` ([transaction cost](../../../../concepts/transactions/transaction-cost.md)) value based on the size of the fulfillment in bytes: a conditional EscrowFinish requires at least 330 drops of XRP plus 10 drops per 16 bytes in the size of the fulfillment. -**Note:** If you included a `FinishAfter` field in the EscrowCreate transaction, you cannot execute it before that time has passed, even if you provide the correct fulfillment for the Escrow's condition. The EscrowFinish transaction fails with the [result code](../../../references/protocol/transactions/transaction-results/transaction-results.md) `tecNO_PERMISSION` if the previously-closed ledger's close time is before the `FinishAfter` time. +**Note:** If you included a `FinishAfter` field in the EscrowCreate transaction, you cannot execute it before that time has passed, even if you provide the correct fulfillment for the Escrow's condition. The EscrowFinish transaction fails with the [result code](../../../../references/protocol/transactions/transaction-results/transaction-results.md) `tecNO_PERMISSION` if the previously-closed ledger's close time is before the `FinishAfter` time. If the escrow has expired, you can only [cancel the escrow](cancel-an-expired-escrow.md) instead. @@ -196,19 +196,19 @@ Response: - [Crypto-Conditions Specification][] - **Concepts:** - - [What is XRP?](../../../introduction/what-is-xrp.md) - - [Payment Types](../../../concepts/payment-types/index.md) - - [Escrow](../../../concepts/payment-types/escrow.md) + - [What is XRP?](../../../../introduction/what-is-xrp.md) + - [Payment Types](../../../../concepts/payment-types/index.md) + - [Escrow](../../../../concepts/payment-types/escrow.md) - **Tutorials:** - - [Send XRP](../../get-started/send-xrp.md) - - [Look Up Transaction Results](../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) - - [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) + - [Send XRP](../../send-xrp.md) + - [Look Up Transaction Results](../../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) + - [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [EscrowCancel transaction][] - [EscrowCreate transaction][] - [EscrowFinish transaction][] - [account_objects method][] - [tx method][] - - [Escrow ledger object](../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) + - [Escrow ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md similarity index 76% rename from docs/tutorials/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md index e4439104a8..891e51a357 100644 --- a/docs/tutorials/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md @@ -43,7 +43,7 @@ print(release_date_ripple) ## 2. Submit EscrowCreate transaction -[Sign and submit](../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowCreate transaction][]. Set the `FinishAfter` field of the transaction to the time when the held payment should be released. Omit the `Condition` field to make time the only condition for releasing the held payment. Set the `Destination` to the recipient, which may be the same address as the sender. Set the `Amount` to the total amount of [XRP, in drops][], to escrow. +[Sign and submit](../../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowCreate transaction][]. Set the `FinishAfter` field of the transaction to the time when the held payment should be released. Omit the `Condition` field to make time the only condition for releasing the held payment. Set the `Destination` to the recipient, which may be the same address as the sender. Set the `Amount` to the total amount of [XRP, in drops][], to escrow. {% partial file="/docs/_snippets/secret-key-warning.md" /%} @@ -76,7 +76,7 @@ Take note of the transaction's identifying `hash` value so you can check its fin ## 4. Confirm that the escrow was created -Use the [tx method][] with the transaction's identifying hash to check its final status. Look for a `CreatedNode` in the transaction metadata to indicate that it created an [Escrow ledger object](../../../concepts/payment-types/escrow.md). +Use the [tx method][] with the transaction's identifying hash to check its final status. Look for a `CreatedNode` in the transaction metadata to indicate that it created an [Escrow ledger object](../../../../concepts/payment-types/escrow.md). Request: @@ -100,7 +100,7 @@ Response: ## 5. Wait for the release time -Held payments with a `FinishAfter` time cannot be finished until a ledger has already closed with a [`close_time` header field](../../../references/protocol/ledger-data/ledger-header.md) that is later than the Escrow node's `FinishAfter` time. +Held payments with a `FinishAfter` time cannot be finished until a ledger has already closed with a [`close_time` header field](../../../../references/protocol/ledger-data/ledger-header.md) that is later than the Escrow node's `FinishAfter` time. You can check the close time of the most recently-validated ledger with the [ledger method][]: @@ -127,7 +127,7 @@ Response: ## 6. Submit EscrowFinish transaction -[Sign and submit](../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowFinish transaction][] to execute the release of the funds after the `FinishAfter` time has passed. Set the `Owner` field of the transaction to the `Account` address from the EscrowCreate transaction, and the `OfferSequence` to the `Sequence` number from the EscrowCreate transaction. For an escrow held only by time, omit the `Condition` and `Fulfillment` fields. +[Sign and submit](../../../../concepts/transactions/index.md#signing-and-submitting-transactions) an [EscrowFinish transaction][] to execute the release of the funds after the `FinishAfter` time has passed. Set the `Owner` field of the transaction to the `Account` address from the EscrowCreate transaction, and the `OfferSequence` to the `Sequence` number from the EscrowCreate transaction. For an escrow held only by time, omit the `Condition` and `Fulfillment` fields. ***TODO: First half of this statement is covered by concept info already. It's also reiterated in escrow.md. The second portion about potential recipients should remain.*** **Tip:** The EscrowFinish transaction is necessary because the XRP Ledger's state can only be modified by transactions. The sender of this transaction may be the recipient of the escrow, the original sender of the escrow, or any other XRP Ledger address. @@ -190,19 +190,19 @@ Response: ## See Also - **Concepts:** - - [What is XRP?](../../../introduction/what-is-xrp.md) - - [Payment Types](../../../concepts/payment-types/index.md) - - [Escrow](../../../concepts/payment-types/escrow.md) + - [What is XRP?](../../../../introduction/what-is-xrp.md) + - [Payment Types](../../../../concepts/payment-types/index.md) + - [Escrow](../../../../concepts/payment-types/escrow.md) - **Tutorials:** - - [Send XRP](../../get-started/send-xrp.md) - - [Look Up Transaction Results](../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) - - [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) + - [Send XRP](../../send-xrp.md) + - [Look Up Transaction Results](../../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) + - [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [EscrowCancel transaction][] - [EscrowCreate transaction][] - [EscrowFinish transaction][] - [account_objects method][] - [tx method][] - - [Escrow ledger object](../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) + - [Escrow ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/escrow.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-specialized-payment-types/use-escrows/use-an-escrow-as-a-smart-contract.md b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/use-an-escrow-as-a-smart-contract.md similarity index 92% rename from docs/tutorials/use-specialized-payment-types/use-escrows/use-an-escrow-as-a-smart-contract.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-escrows/use-an-escrow-as-a-smart-contract.md index ab3ceb0266..9fcaf2566a 100644 --- a/docs/tutorials/use-specialized-payment-types/use-escrows/use-an-escrow-as-a-smart-contract.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-escrows/use-an-escrow-as-a-smart-contract.md @@ -28,15 +28,15 @@ Here’s a roadmap to the high-level tasks that these participants need to compl The party host (sender) must have: -- An XRP Ledger [account](../../../concepts/accounts/accounts.md#creating-accounts) that holds enough XRP to pay for escrow and any fees incurred. +- An XRP Ledger [account](../../../../concepts/accounts/accounts.md#creating-accounts) that holds enough XRP to pay for escrow and any fees incurred. -- Access to a secure signing environment, which includes having a network connection to a [`rippled` server](../../../infrastructure/installation/index.md) (any server) that they can submit signed transactions to. +- Access to a secure signing environment, which includes having a network connection to a [`rippled` server](../../../../infrastructure/installation/index.md) (any server) that they can submit signed transactions to. The party band (receiver) must have: -- An XRP Ledger [account](../../../concepts/accounts/accounts.md#creating-accounts) that can receive the XRP paid by the escrow. +- An XRP Ledger [account](../../../../concepts/accounts/accounts.md#creating-accounts) that can receive the XRP paid by the escrow. -- Access to a [`rippled` server](../../../infrastructure/installation/index.md) that they can use to look up the details of an XRP Ledger transaction hash and submit the fulfillment value to finish the escrow. +- Access to a [`rippled` server](../../../../infrastructure/installation/index.md) that they can use to look up the details of an XRP Ledger transaction hash and submit the fulfillment value to finish the escrow. The party planner (oracle) must have: diff --git a/docs/tutorials/use-specialized-payment-types/use-payment-channels.md b/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md similarity index 91% rename from docs/tutorials/use-specialized-payment-types/use-payment-channels.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md index 639dd54ccc..0e7984fa2c 100644 --- a/docs/tutorials/use-specialized-payment-types/use-payment-channels.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/index.md @@ -9,9 +9,9 @@ labels: --- # Use Payment Channels -[Payment Channels](../../concepts/payment-types/payment-channels.md) are an advanced feature for sending "asynchronous" XRP payments that can be divided into very small increments and settled later. This tutorial walks through the entire process of using a payment channel, with examples using the [JSON-RPC API](../../references/http-websocket-apis/index.md) of a local [`rippled` server](../../concepts/networks-and-servers/index.md). +[Payment Channels](../../../../concepts/payment-types/payment-channels.md) are an advanced feature for sending "asynchronous" XRP payments that can be divided into very small increments and settled later. This tutorial walks through the entire process of using a payment channel, with examples using the [JSON-RPC API](../../../../references/http-websocket-apis/index.md) of a local [`rippled` server](../../../../concepts/networks-and-servers/index.md). -Ideally, to step through this tutorial, you would have two people, each with the keys to a [funded XRP Ledger account](../../concepts/accounts/accounts.md). However, you can also step through the tutorial as one person managing two XRP Ledger addresses. +Ideally, to step through this tutorial, you would have two people, each with the keys to a [funded XRP Ledger account](../../../../concepts/accounts/accounts.md). However, you can also step through the tutorial as one person managing two XRP Ledger addresses. ## Example Values @@ -58,9 +58,9 @@ This is a [PaymentChannelCreate transaction][]. As part of this process, the pay **Tip:** The "settlement delay" does not delay the settlement, which can happen as fast as a ledger version closes (3-5 seconds). The "settlement delay" is a forced delay on closing the channel so that the payee has a chance to finish with settlement. -The following example shows creation of a payment channel by [submitting](../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#sign-and-submit-mode) to a local `rippled` server with the JSON-RPC API. The payment channel allocates 100 XRP from the [example payer](#example-values) (`rN7n7...`) to the [example payee](#example-values) (`rf1Bi...`) with a settlement delay of 1 day. The public key is the example payer's master public key, in hexadecimal. +The following example shows creation of a payment channel by [submitting](../../../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#sign-and-submit-mode) to a local `rippled` server with the JSON-RPC API. The payment channel allocates 100 XRP from the [example payer](#example-values) (`rN7n7...`) to the [example payee](#example-values) (`rf1Bi...`) with a settlement delay of 1 day. The public key is the example payer's master public key, in hexadecimal. -**Note:** A payment channel counts as one object toward the payer's [owner reserve](../../concepts/accounts/reserves.md#owner-reserves). The owner must keep at least enough XRP to satisfy the reserve after subtracting the XRP allocated to the payment channel. +**Note:** A payment channel counts as one object toward the payer's [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves). The owner must keep at least enough XRP to satisfy the reserve after subtracting the XRP allocated to the payment channel. Request: @@ -170,9 +170,9 @@ Response: In the response from the JSON-RPC, the payer should look for the following: - In the transaction's `meta` field, confirm that the `TransactionResult` is `tesSUCCESS`. -- Confirm that the response has `"validated":true` to indicate the data comes from a validated ledger. (The result `tesSUCCESS` is only [final](../../concepts/transactions/finality-of-results/index.md) if it appears in a validated ledger version.) +- Confirm that the response has `"validated":true` to indicate the data comes from a validated ledger. (The result `tesSUCCESS` is only [final](../../../../concepts/transactions/finality-of-results/index.md) if it appears in a validated ledger version.) - In the `AffectedNodes` array of the transaction's `meta` field, look for a `CreatedNode` object with the `LedgerEntryType` of `PayChannel`. The `LedgerIndex` field of the `CreatedNode` object indicates the Channel ID. (In the above example, this is a hex string starting with "`5DB0`...") The Channel ID is necessary later to sign claims. - For more information on the PayChannel ledger object type, see [PayChannel ledger object](../../references/protocol/ledger-data/ledger-entry-types/paychannel.md). + For more information on the PayChannel ledger object type, see [PayChannel ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/paychannel.md). ## 2. The payee checks specifics of the payment channel. @@ -455,7 +455,7 @@ Response: } ``` -The payee should confirm that this transaction is successful in a validated ledger. For the full details, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md). +The payee should confirm that this transaction is successful in a validated ledger. For the full details, see [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md). ## 9. When the payer and payee are done doing business, the payer requests for the channel to be closed. @@ -469,7 +469,7 @@ The payee can also close a payment channel immediately after processing a claim -Example of [submitting a transaction](../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#sign-and-submit-mode) requesting a channel to close: +Example of [submitting a transaction](../../../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#sign-and-submit-mode) requesting a channel to close: ```json { @@ -520,13 +520,13 @@ In this example, the `expiration` value 547073182 in [seconds since the Ripple E After the settlement delay has passed or the channel has reached its planned expiration time, the channel is expired. Any further transaction that would affect the channel can only close it, returning unclaimed XRP to the payer. -The channel can remain on the ledger in an expired state indefinitely. This is because the ledger cannot change except as the results of a transaction, so _someone_ must send a transaction to cause the expired channel to close. As long as the channel remains on the ledger, it counts as an object owned by the payer for purposes of the [owner reserve](../../concepts/accounts/reserves.md#owner-reserves). +The channel can remain on the ledger in an expired state indefinitely. This is because the ledger cannot change except as the results of a transaction, so _someone_ must send a transaction to cause the expired channel to close. As long as the channel remains on the ledger, it counts as an object owned by the payer for purposes of the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves). Ripple recommends that the payer sends a second [PaymentChannelClaim transaction][] with the `tfClose` flag for this purpose. However, other accounts, even those not involved in the payment channel, can cause an expired channel to close. -The command to submit the transaction is the same as the previous example requesting channel expiration. (However, its resulting [auto-filled](../../references/protocol/transactions/common-fields.md#auto-fillable-fields) `Sequence` number, signature, and identifying hash are unique.) +The command to submit the transaction is the same as the previous example requesting channel expiration. (However, its resulting [auto-filled](../../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) `Sequence` number, signature, and identifying hash are unique.) -Example of [submitting](../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#sign-and-submit-mode) a transaction to close an expired channel: +Example of [submitting](../../../../references/http-websocket-apis/public-api-methods/transaction-methods/submit.md#sign-and-submit-mode) a transaction to close an expired channel: ```json { @@ -649,19 +649,19 @@ This concludes the tutorial of Payment Channel usage. Ripple encourages users to ## See Also - **Concepts:** - - [What is XRP?](../../introduction/what-is-xrp.md) - - [Payment Types](../../concepts/payment-types/index.md) - - [Payment Channels](../../concepts/payment-types/payment-channels.md) + - [What is XRP?](../../../../introduction/what-is-xrp.md) + - [Payment Types](../../../../concepts/payment-types/index.md) + - [Payment Channels](../../../../concepts/payment-types/payment-channels.md) - **Tutorials:** - - [Send XRP](../get-started/send-xrp.md) - - [Look Up Transaction Results](../../concepts/transactions/finality-of-results/look-up-transaction-results.md) - - [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md) + - [Send XRP](../../send-xrp.md) + - [Look Up Transaction Results](../../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) + - [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - [PaymentChannelClaim transaction][] - [PaymentChannelCreate transaction][] - [PaymentChannelFund transaction][] - [channel_authorize method][] - [channel_verify method][] - - [PayChannel ledger object](../../references/protocol/ledger-data/ledger-entry-types/paychannel.md) + - [PayChannel ledger object](../../../../references/protocol/ledger-data/ledger-entry-types/paychannel.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-specialized-payment-types/open-a-payment-channel-to-enable-an-inter-exchange-network.md b/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md similarity index 80% rename from docs/tutorials/use-specialized-payment-types/open-a-payment-channel-to-enable-an-inter-exchange-network.md rename to docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md index 5fca7447c2..fb5cd6dc0e 100644 --- a/docs/tutorials/use-specialized-payment-types/open-a-payment-channel-to-enable-an-inter-exchange-network.md +++ b/docs/tutorials/tasks/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md @@ -8,7 +8,7 @@ labels: --- # Open a Payment Channel to Enable an Inter-Exchange Network -A payment channel enables you to send one-way, "asynchronous" XRP payments that can be divided into very small increments and settled later. As a digital asset exchange, if you send many payments of XRP to another exchange, you can improve the efficiency of these payments by opening an XRP Ledger [payment channel](../../concepts/payment-types/payment-channels.md) between your exchange (the _payer_ exchange) and the other exchange (the _payee_ exchange). In the case of a two-way flow with another exchange, you can open two payment channels (one for each direction). +A payment channel enables you to send one-way, "asynchronous" XRP payments that can be divided into very small increments and settled later. As a digital asset exchange, if you send many payments of XRP to another exchange, you can improve the efficiency of these payments by opening an XRP Ledger [payment channel](../../../../concepts/payment-types/payment-channels.md) between your exchange (the _payer_ exchange) and the other exchange (the _payee_ exchange). In the case of a two-way flow with another exchange, you can open two payment channels (one for each direction). @@ -22,7 +22,7 @@ The need to send XRP from your exchange to another exchange may originate with y Here are some of the benefits of using a payment channel to send XRP instead of using individual payment transactions: -- **Process withdrawals faster:** A standard payment transaction involves submitting an XRP Ledger transaction and waiting for a new ledger version that includes the transaction to be approved by [consensus](../../concepts/consensus-protocol/index.md). When you use a payment channel to send XRP, creation and verification of a claim, which guarantees the payment of XRP, all happen outside of the consensus process. This means that the payer exchange can guarantee XRP payments to the payee exchange at a rate limited only by the participants' ability to create and verify the digital signatures of the claims. +- **Process withdrawals faster:** A standard payment transaction involves submitting an XRP Ledger transaction and waiting for a new ledger version that includes the transaction to be approved by [consensus](../../../../concepts/consensus-protocol/index.md). When you use a payment channel to send XRP, creation and verification of a claim, which guarantees the payment of XRP, all happen outside of the consensus process. This means that the payer exchange can guarantee XRP payments to the payee exchange at a rate limited only by the participants' ability to create and verify the digital signatures of the claims. ``` For your customers who are moving XRP to take advantage of arbitrage opportunities or to do algorithmic trading, speed matters. Enabling a customer to move XRP and start trading in an instant is a compelling differentiator for your exchange. @@ -34,7 +34,7 @@ Here are some of the benefits of using a payment channel to send XRP instead of Connecting your exchange to other exchanges by way of payment channels is another differentiator. For customers who are moving XRP to buy various currencies across exchanges, knowing that they can move XRP at a moment's notice from your exchange to any number of exchanges in the Internet of Value can make your exchange a preferred place to custody their assets. ``` -Here’s a roadmap to the high-level tasks you’ll need to perform to implement this payment channel use case. To go directly to a full payment channels tutorial, see [Use Payment Channels](use-payment-channels.md). +Here’s a roadmap to the high-level tasks you’ll need to perform to implement this payment channel use case. To go directly to a full payment channels tutorial, see [Use Payment Channels](index.md). @@ -44,7 +44,7 @@ Here’s a roadmap to the high-level tasks you’ll need to perform to implement Learn more about payment channels and whether they provide the features you need for your specific implementation. -[Understand payment channels >](../../concepts/payment-types/payment-channels.md) +[Understand payment channels >](../../../../concepts/payment-types/payment-channels.md) @@ -54,7 +54,7 @@ To use a payment channel to send and receive XRP, both the payer and payee excha If not, a great way for an exchange to get access to a `rippled` server is to set up and run one. -[Set up and run rippled servers >](../../infrastructure/installation/install-rippled-on-ubuntu.md) +[Set up and run rippled servers >](../../../../infrastructure/installation/install-rippled-on-ubuntu.md) @@ -67,11 +67,11 @@ Along these lines, there's a good chance that you are following industry best pr - The payer exchange must have a funded XRP Ledger account to be used to send XRP to the payee exchange. ``` - Aside from the [base reserve](../../concepts/accounts/reserves.md) (10 XRP) and the [owner reserve](../../concepts/accounts/reserves.md#owner-reserves) of a payment channel (2 XRP), the account must also be able to set aside enough XRP in the payment channel to cover the intended number of transactions. + Aside from the [base reserve](../../../../concepts/accounts/reserves.md) (10 XRP) and the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) of a payment channel (2 XRP), the account must also be able to set aside enough XRP in the payment channel to cover the intended number of transactions. - The payer exchange can always top-off the channel using the [PaymentChannelFund](../../references/protocol/transactions/types/paymentchannelfund.md) transaction if it runs out of XRP. However, topping-off requires an actual on-ledger transaction and confirmation, so it could take 4-5 seconds of processing time and ~10 drops of XRP to complete the top-off transaction. The more XRP the payer exchange pre-funds, the less often they need to top-off, so they can save some time and money by pre-funding more XRP. + The payer exchange can always top-off the channel using the [PaymentChannelFund](../../../../references/protocol/transactions/types/paymentchannelfund.md) transaction if it runs out of XRP. However, topping-off requires an actual on-ledger transaction and confirmation, so it could take 4-5 seconds of processing time and ~10 drops of XRP to complete the top-off transaction. The more XRP the payer exchange pre-funds, the less often they need to top-off, so they can save some time and money by pre-funding more XRP. - However, if the payer exchange puts in more XRP than they need, they need to [close the payment channel](use-payment-channels.md#9-when-the-payer-and-payee-are-done-doing-business-the-payer-requests-for-the-channel-to-be-closed) to get the XRP back. This means waiting out the following events: + However, if the payer exchange puts in more XRP than they need, they need to [close the payment channel](index.md#9-when-the-payer-and-payee-are-done-doing-business-the-payer-requests-for-the-channel-to-be-closed) to get the XRP back. This means waiting out the following events: 1. Completion of the payer's request to start closing the payment channel. 2. Passage of the `SettleDelay` time set for the payment channel. @@ -81,19 +81,19 @@ Along these lines, there's a good chance that you are following industry best pr - The payee exchange must have a funded XRP Ledger account to be used to redeem (receive) XRP sent by the payer exchange. ``` - The account needs at least 11 XRP, which provides the 10 XRP [base reserve](../../concepts/accounts/reserves.md), plus enough to pay the transaction costs of redeeming claims, which are trivial. For example, you could redeem thousands of claims for less than 1 XRP in total. + The account needs at least 11 XRP, which provides the 10 XRP [base reserve](../../../../concepts/accounts/reserves.md), plus enough to pay the transaction costs of redeeming claims, which are trivial. For example, you could redeem thousands of claims for less than 1 XRP in total. ``` -[Fund XRP Ledger accounts with enough XRP >](../../concepts/accounts/accounts.md) +[Fund XRP Ledger accounts with enough XRP >](../../../../concepts/accounts/accounts.md) -## Payer: [Open a payment channel](use-payment-channels.md#1-the-payer-creates-a-payment-channel-to-a-particular-recipient) +## Payer: [Open a payment channel](index.md#1-the-payer-creates-a-payment-channel-to-a-particular-recipient) The payer exchange opens a payment channel from their XRP Ledger account to the payee exchange's XRP Ledger account. Opening a payment channel includes setting certain specifics of the channel, such as its expiration date and the amount it can hold. For this exchange use case, there is no real need to ever close the channel, so the payer exchange may not want to define a `CancelAfter` (expiration) value. If they ever need to close the channel, they can still do so. -As the payer exchange, you can think of the payment channel as a special sub-wallet exclusively for a particular destination. Consider estimating how much XRP the payment channel requires similar to how you would estimate a hot wallet's needs. According to [typical best practices](../../concepts/accounts/account-types.md), exchanges hold the vast majority of XRP across all of their user accounts in a cold wallet, with a small amount of XRP in a hot wallet. +As the payer exchange, you can think of the payment channel as a special sub-wallet exclusively for a particular destination. Consider estimating how much XRP the payment channel requires similar to how you would estimate a hot wallet's needs. According to [typical best practices](../../../../concepts/accounts/account-types.md), exchanges hold the vast majority of XRP across all of their user accounts in a cold wallet, with a small amount of XRP in a hot wallet. Along these lines, you should also decide approximately how often you want to add more XRP to the payment channel---for example, daily, every 4 hours, or every 15 minutes---and estimate the volume of XRP that you send to the payee exchange during that interval. You should fund the payment channel with enough to cover at least that much volume or the largest withdrawal that you want to process without delay, whichever is larger. For example, if you plan to refill the channel every 15 minutes, have an average volume of 50 XRP every 15 minutes, but occasionally send transfers of 10,000 XRP, you should supply the channel with at least 10,000 XRP. @@ -110,7 +110,7 @@ Since payment channels are unidirectional, you need a second channel in the oppo The payee exchange reviews the details of the payment channel. -[Verify payment channel details >](use-payment-channels.md#2-the-payee-checks-specifics-of-the-payment-channel) +[Verify payment channel details >](index.md#2-the-payee-checks-specifics-of-the-payment-channel) @@ -118,7 +118,7 @@ The payee exchange reviews the details of the payment channel. The payer exchange creates one or more claims for amounts of XRP that it wants to guarantee to the payee exchange. -[Create claims >](use-payment-channels.md#3-the-payer-creates-one-or-more-signed-claims-for-the-xrp-in-the-channel) +[Create claims >](index.md#3-the-payer-creates-one-or-more-signed-claims-for-the-xrp-in-the-channel) ## Payer: Send claim details to the payer exchange @@ -146,7 +146,7 @@ Consider a series of claims prompted by payer exchange customers withdrawing XRP | **Amount** | Cumulative amount of the claims created by the payer exchange. The payee exchange needs this value to verify and redeem the claim. For information about how to calculate the actual amount the payee exchange needs to credit the customer, see [Verify claims](#payee-verify-claims). | | **Destination Tag** | Destination tag of the customer account on the payee exchange that needs to be credited based on the claim. The payer exchange can get this value from their customer's withdrawal request, which should provide a destination tag for the deposit to the payee exchange. When the payee exchange redeems claims, the XRP is deposited into the payee exchange's XRP Ledger account. The payee exchange can then credit the XRP from the claim to the appropriate customer account based on the destination tag provided. | -[Send claim details to the payer exchange >](use-payment-channels.md#4-the-payer-sends-a-claim-to-the-payee-as-payment-for-goods-or-services) +[Send claim details to the payer exchange >](index.md#4-the-payer-sends-a-claim-to-the-payee-as-payment-for-goods-or-services) ## Payee: Verify claims @@ -157,7 +157,7 @@ After verifying claims, the payee exchange should credit the claimed XRP to the For example, to know how much to credit a customer for a claim amount of 3000, the payee exchange needs to know that the previous claim amount was 2000. The difference between the claim amount and the previous claim amount (3000 - 2000 = 1000) is the amount the payee exchange must credit to the customer account. -[Verify claims >](use-payment-channels.md#5-the-payee-verifies-the-claims) +[Verify claims >](index.md#5-the-payee-verifies-the-claims) @@ -177,7 +177,7 @@ The payee exchange can redeem batches of claims after verifying them to receive -[Redeem them in batches >](use-payment-channels.md#8-when-ready-the-payee-redeems-a-claim-for-the-authorized-amount) +[Redeem them in batches >](index.md#8-when-ready-the-payee-redeems-a-claim-for-the-authorized-amount) @@ -185,11 +185,11 @@ The payee exchange can redeem batches of claims after verifying them to receive Payer and payee exchanges can continue to send, verify, and redeem batches of claims as needed within the parameters set by the payment channel. -[Continue to use the payment channel >](use-payment-channels.md#7-repeat-steps-3-6-as-desired) +[Continue to use the payment channel >](index.md#7-repeat-steps-3-6-as-desired) ## Payer: When it's time, make a request to close the payment channel When the payer exchange and payee exchange are done using the payment channel, the payer exchange can make a request to close the payment channel. -[Close the payment channel >](use-payment-channels.md#9-when-the-payer-and-payee-are-done-doing-business-the-payer-requests-for-the-channel-to-be-closed) +[Close the payment channel >](index.md#9-when-the-payer-and-payee-are-done-doing-business-the-payer-requests-for-the-channel-to-be-closed) diff --git a/docs/tutorials/use-tokens/create-an-automated-market-maker.md b/docs/tutorials/tasks/use-tokens/create-an-automated-market-maker.md similarity index 88% rename from docs/tutorials/use-tokens/create-an-automated-market-maker.md rename to docs/tutorials/tasks/use-tokens/create-an-automated-market-maker.md index a90094de63..4b5f211399 100644 --- a/docs/tutorials/use-tokens/create-an-automated-market-maker.md +++ b/docs/tutorials/tasks/use-tokens/create-an-automated-market-maker.md @@ -16,7 +16,7 @@ steps: ['Connect', 'Generate', 'Acquire tokens', 'Check for AMM', 'Look up AMMCr _(Requires the [AMM amendment][] {% not-enabled /%})_ -An [Automated Market Maker (AMM)](../../concepts/tokens/decentralized-exchange/automated-market-makers.md) can be an efficient way to facilitate exchanges between two assets while earning its liquidity providers passive income. This tutorial shows how to create an AMM for a given asset pair. +An [Automated Market Maker (AMM)](../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) can be an efficient way to facilitate exchanges between two assets while earning its liquidity providers passive income. This tutorial shows how to create an AMM for a given asset pair. @@ -26,10 +26,10 @@ An [Automated Market Maker (AMM)](../../concepts/tokens/decentralized-exchange/a - You must have an XRP Ledger address and some XRP. For development and testing purposes, you can get these from a [Faucet](/resources/dev-tools/xrp-faucets). - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/) **version 2.11.0 or later**. See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/) **version 2.11.0 or later**. See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. - You can also read along and use the interactive steps in your browser without any setup. -- You should have a basic understanding of how [tokens](../../concepts/tokens/index.md) work in the XRP Ledger. -- You may want to read about [Automated Market Makers in the XRP Ledger](../../concepts/tokens/decentralized-exchange/automated-market-makers.md) first. +- You should have a basic understanding of how [tokens](../../../concepts/tokens/index.md) work in the XRP Ledger. +- You may want to read about [Automated Market Makers in the XRP Ledger](../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) first. ## Example Code @@ -43,7 +43,7 @@ Complete sample code for all of the steps of these tutorials is available under ### 1. Connect to the network -You must be connected to the network to query it and submit transactions. The following code shows how to connect to a public {{use_network}} server using a supported [client library](../../references/client-libraries.md): +You must be connected to the network to query it and submit transactions. The following code shows how to connect to a public {{use_network}} server using a supported [client library](../../../references/client-libraries.md): {% tabs %} @@ -59,11 +59,11 @@ For this tutorial, click the following button to connect: ### 2. Get credentials -To transact on the XRP Ledger, you need an address, a secret key, and some XRP. For development and testing purposes, you can get these on the [{{use_network}}](../../concepts/networks-and-servers/parallel-networks.md) using the following interface: +To transact on the XRP Ledger, you need an address, a secret key, and some XRP. For development and testing purposes, you can get these on the [{{use_network}}](../../../concepts/networks-and-servers/parallel-networks.md) using the following interface: {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). The following code shows how to get a `Wallet` instance using either the faucet or a seed provided by environment variable: +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). The following code shows how to get a `Wallet` instance using either the faucet or a seed provided by environment variable: {% tabs %} @@ -78,7 +78,7 @@ When you're building production-ready software, you should use an existing accou As the creator of an AMM, you are also the first liquidity provider and you have to supply it with a starting pool of assets. Other users of the XRP Ledger can also become liquidity providers by supplying assets after the AMM exists. It's crucial to choose assets carefully because, as a liquidity provider for an AMM, you are supplying some amounts of both for users to swap between. If one of the AMM's assets becomes worthless, other users can use the AMM to trade for the other asset, leaving the AMM (and thus, its liquidity providers including you) holding only the worthless one. Technically, the AMM always holds some positive amount of both assets, but the amounts can be very small. -You can choose any pair of fungible assets in the XRP Ledger, including XRP or tokens, as long as they meet the [restrictions on AMM assets](../../concepts/tokens/decentralized-exchange/automated-market-makers.md#restrictions-on-assets). +You can choose any pair of fungible assets in the XRP Ledger, including XRP or tokens, as long as they meet the [restrictions on AMM assets](../../../concepts/tokens/decentralized-exchange/automated-market-makers.md#restrictions-on-assets). For each of the two assets, you need to know its currency code and issuer; as an exception, XRP has no issuer. For each of the assets, you must hold a balance of the asset (or _be_ the issuer). The following sample code acquires two assets, "TST" (which it buys using XRP) and "FOO" (which it receives from the issuer). @@ -90,7 +90,7 @@ For each of the two assets, you need to know its currency code and issuer; as an {% /tabs %} -This tutorial includes some example code to issue FOO tokens from a second test address. This is not realistic for a production scenario, because tokens do not inherently have value, but it makes it possible to demonstrate creating a new AMM for a unique currency pair. In production, you would acquire a second token in some other way, such as making an off-ledger deposit with the [stablecoin issuer](../../use-cases/tokenization/stablecoin-issuer.md), or buying it in the [decentralized exchange](../../concepts/tokens/decentralized-exchange/index.md). +This tutorial includes some example code to issue FOO tokens from a second test address. This is not realistic for a production scenario, because tokens do not inherently have value, but it makes it possible to demonstrate creating a new AMM for a unique currency pair. In production, you would acquire a second token in some other way, such as making an off-ledger deposit with the [stablecoin issuer](../../../use-cases/tokenization/stablecoin-issuer.md), or buying it in the [decentralized exchange](../../../concepts/tokens/decentralized-exchange/index.md). The helper function for issuing follows an abbreviated version of the steps in the [Issue a Fungible Token](issue-a-fungible-token.md) tutorial: @@ -139,7 +139,7 @@ If the AMM does already exist, you should double-check that you specified the ri ### 5. Look up the AMMCreate transaction cost -Creating an AMM has a special [transaction cost][] to prevent spam: since it creates objects in the ledger that no one owns, you must burn at least one [owner reserve increment](../../concepts/accounts/reserves.md) of XRP to send the AMMCreate transaction. The exact value can change due to [fee voting](https://xrpl.org/fee-voting.html), so you should look up the current incremental reserve value using the [server_state method][]. +Creating an AMM has a special [transaction cost][] to prevent spam: since it creates objects in the ledger that no one owns, you must burn at least one [owner reserve increment](../../../concepts/accounts/reserves.md) of XRP to send the AMMCreate transaction. The exact value can change due to [fee voting](https://xrpl.org/fee-voting.html), so you should look up the current incremental reserve value using the [server_state method][]. It is also a good practice to display this value and give a human operator a chance to stop before you send the transaction. Burning an owner reserve is typically a much higher cost than sending a normal transaction, so you don't want it to be a surprise. (Currently, on both Mainnet and Devnet, the cost of sending a typical transaction is 0.000010 XRP but the cost of AMMCreate is 2 XRP.) @@ -262,7 +262,7 @@ You can also use the [account_lines method][] to get an updated view of your tok {% /tabs %} -The `account_lines` response shows only the tokens held by the account you looked up (probably yours). If you have a lot of tokens, you may want to specify the AMM address as the `peer` in the request so you don't have to [paginate](../../references/http-websocket-apis/api-conventions/markers-and-pagination.md) over multiple requests to find the AMM's LP Tokens. In this tutorial, your account probably only holds the three different tokens, so you can see all three in the same response. +The `account_lines` response shows only the tokens held by the account you looked up (probably yours). If you have a lot of tokens, you may want to specify the AMM address as the `peer` in the request so you don't have to [paginate](../../../references/http-websocket-apis/api-conventions/markers-and-pagination.md) over multiple requests to find the AMM's LP Tokens. In this tutorial, your account probably only holds the three different tokens, so you can see all three in the same response. **Tip:** If one of the assets in the AMM's pool is XRP, you need to call the [account_info method][] on your account to see the difference in your balance (the `Balance` field of the account object). diff --git a/docs/tutorials/use-tokens/enable-no-freeze.md b/docs/tutorials/tasks/use-tokens/enable-no-freeze.md similarity index 75% rename from docs/tutorials/use-tokens/enable-no-freeze.md rename to docs/tutorials/tasks/use-tokens/enable-no-freeze.md index 4b319e5f44..d923121aba 100644 --- a/docs/tutorials/use-tokens/enable-no-freeze.md +++ b/docs/tutorials/tasks/use-tokens/enable-no-freeze.md @@ -12,13 +12,13 @@ steps: ['Generate', 'Connect', 'Send AccountSet', 'Wait', 'Confirm Settings'] --- # Enable No Freeze -If you [issue tokens](../../concepts/tokens/index.md) in the XRP Ledger, can enable the [No Freeze setting](../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) to permanently limit your own ability to use the token freezing features of the XRP Ledger. (As a reminder, this only applies to issued tokens, not XRP.) This tutorial shows how to enable the No Freeze setting on your issuing account. +If you [issue tokens](../../../concepts/tokens/index.md) in the XRP Ledger, can enable the [No Freeze setting](../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) to permanently limit your own ability to use the token freezing features of the XRP Ledger. (As a reminder, this only applies to issued tokens, not XRP.) This tutorial shows how to enable the No Freeze setting on your issuing account. ## Prerequisites - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. - You don't need to have [issued a token](issue-a-fungible-token.md) in the XRP Ledger to enable No Freeze, but the main reason you would do so is if you intend to or have already issued such a token. @@ -36,20 +36,20 @@ Complete sample code for all of the steps of this tutorial is available under th ### 1. Get Credentials -To transact on the XRP Ledger, you need an address and secret key, and some XRP. If you use the best practice of having separate ["cold" and "hot" addresses](../../concepts/accounts/account-types.md), you need the **master keys** to the _cold address_, which is the **issuer** of the token. Only the issuer's No Freeze setting has any effect on a token. +To transact on the XRP Ledger, you need an address and secret key, and some XRP. If you use the best practice of having separate ["cold" and "hot" addresses](../../../concepts/accounts/account-types.md), you need the **master keys** to the _cold address_, which is the **issuer** of the token. Only the issuer's No Freeze setting has any effect on a token. -**Caution:** You cannot use a [regular key pair](../../concepts/accounts/cryptographic-keys.md) or [multi-signing](../../concepts/accounts/multi-signing.md) to enable the No Freeze setting. +**Caution:** You cannot use a [regular key pair](../../../concepts/accounts/cryptographic-keys.md) or [multi-signing](../../../concepts/accounts/multi-signing.md) to enable the No Freeze setting. For this tutorial, you can get credentials from the following interface: {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). ### 2. Connect to the Network -You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../references/client-libraries.md): +You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../../references/client-libraries.md): {% tabs %} @@ -66,7 +66,7 @@ For this tutorial, click the following button to connect: ### 3. Send AccountSet Transaction -To enable the No Freeze setting, send an [AccountSet transaction][] with a `SetFlag` field containing the [`asfNoFreeze` value (`6`)](../../references/protocol/transactions/types/accountset.md#accountset-flags). To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network. +To enable the No Freeze setting, send an [AccountSet transaction][] with a `SetFlag` field containing the [`asfNoFreeze` value (`6`)](../../../references/protocol/transactions/types/accountset.md#accountset-flags). To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network. For example: @@ -112,14 +112,14 @@ For example: ### 4. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).) +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).) {% partial file="/docs/_snippets/interactive-tutorials/wait-step.md" /%} ### 5. Confirm Account Settings -After the transaction is validated, you can check your account's settings to confirm that the No Freeze flag is enabled. You can do this by calling the [account_info method][] and checking the value of the account's `Flags` field to see if the [`lsfNoFreeze` bit (`0x00200000`)](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) is enabled. +After the transaction is validated, you can check your account's settings to confirm that the No Freeze flag is enabled. You can do this by calling the [account_info method][] and checking the value of the account's `Flags` field to see if the [`lsfNoFreeze` bit (`0x00200000`)](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) is enabled. {% tabs %} @@ -186,8 +186,8 @@ Response: ## See Also - **Concepts:** - - [Freezing Issued Currencies](../../concepts/tokens/fungible-tokens/freezes.md) - - [Trust Lines](../../concepts/tokens/fungible-tokens/index.md) + - [Freezing Issued Currencies](../../../concepts/tokens/fungible-tokens/freezes.md) + - [Trust Lines](../../../concepts/tokens/fungible-tokens/index.md) - **Tutorials:** - [Enact Global Freeze](enact-global-freeze.md) - [Freeze a Trust Line](freeze-a-trust-line.md) @@ -196,7 +196,7 @@ Response: - [account_info method][] - [AccountSet transaction][] - [TrustSet transaction][] - - [AccountRoot Flags](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) - - [RippleState (trust line) Flags](../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags) + - [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) + - [RippleState (trust line) Flags](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-tokens/enact-global-freeze.md b/docs/tutorials/tasks/use-tokens/enact-global-freeze.md similarity index 74% rename from docs/tutorials/use-tokens/enact-global-freeze.md rename to docs/tutorials/tasks/use-tokens/enact-global-freeze.md index 25411602d6..46a29f2263 100644 --- a/docs/tutorials/use-tokens/enact-global-freeze.md +++ b/docs/tutorials/tasks/use-tokens/enact-global-freeze.md @@ -13,7 +13,7 @@ steps: ['Generate', 'Connect', 'Send AccountSet (Start Freeze)', 'Wait', 'Confir --- # Enact Global Freeze -If you [issue tokens](../../concepts/tokens/index.md) in the XRP Ledger, can enact a [Global Freeze](../../concepts/tokens/fungible-tokens/freezes.md#global-freeze) to prevent users from sending your tokens to each other and trading your token in the [decentralized exchange](../../concepts/tokens/decentralized-exchange/index.md). This tutorial shows how to enact and end a Global Freeze. You might want to do this, for example, if you see signs of suspicious activity related to your issuing address in the ledger, or to off-ledger systems you use to manage your token. (For example, if your token is a stablecoin and you process withdrawals and deposits from the ledger, you may want to freeze your token while you investigate if you suspect your systems have been hacked.) You can later disable the Global Freeze setting unless you have also enabled the [No Freeze setting](../../concepts/tokens/fungible-tokens/freezes.md#no-freeze). +If you [issue tokens](../../../concepts/tokens/index.md) in the XRP Ledger, can enact a [Global Freeze](../../../concepts/tokens/fungible-tokens/freezes.md#global-freeze) to prevent users from sending your tokens to each other and trading your token in the [decentralized exchange](../../../concepts/tokens/decentralized-exchange/index.md). This tutorial shows how to enact and end a Global Freeze. You might want to do this, for example, if you see signs of suspicious activity related to your issuing address in the ledger, or to off-ledger systems you use to manage your token. (For example, if your token is a stablecoin and you process withdrawals and deposits from the ledger, you may want to freeze your token while you investigate if you suspect your systems have been hacked.) You can later disable the Global Freeze setting unless you have also enabled the [No Freeze setting](../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze). **Tip:** As a reminder, freezes only apply to issued tokens, not XRP, and do not prevent users from sending the tokens _directly_ back to the issuer. @@ -21,7 +21,7 @@ If you [issue tokens](../../concepts/tokens/index.md) in the XRP Ledger, can ena - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. - You don't need to have [issued a token](issue-a-fungible-token.md) in the XRP Ledger to enact a Global Freeze, but the main reason you would do so is if you have already issued such a token. @@ -38,20 +38,20 @@ Complete sample code for all of the steps of this tutorial is available under th ### 1. Get Credentials -To transact on the XRP Ledger, you need an address and secret key, and some XRP. If you use the best practice of having separate ["cold" and "hot" addresses](../../concepts/accounts/account-types.md), you need the keys to the _cold address_, which is the **issuer** of the token. Only the issuer's Global Freeze setting has any effect on a token. +To transact on the XRP Ledger, you need an address and secret key, and some XRP. If you use the best practice of having separate ["cold" and "hot" addresses](../../../concepts/accounts/account-types.md), you need the keys to the _cold address_, which is the **issuer** of the token. Only the issuer's Global Freeze setting has any effect on a token. -**Tip:** Unlike the No Freeze setting, you _can_ enable and disable a Global Freeze using a [regular key pair](../../concepts/accounts/cryptographic-keys.md) or [multi-signing](../../concepts/accounts/multi-signing.md). +**Tip:** Unlike the No Freeze setting, you _can_ enable and disable a Global Freeze using a [regular key pair](../../../concepts/accounts/cryptographic-keys.md) or [multi-signing](../../../concepts/accounts/multi-signing.md). For this tutorial, you can get credentials from the following interface: {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). ### 2. Connect to the Network -You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../references/client-libraries.md): +You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../../references/client-libraries.md): {% tabs %} @@ -68,7 +68,7 @@ For this tutorial, click the following button to connect: ### 3. Send AccountSet Transaction to Start the Freeze -To enable the Global Freeze setting, send an [AccountSet transaction][] with a `SetFlag` field containing the [`asfGlobalFreeze` value (`7`)](../../references/protocol/transactions/types/accountset.md#accountset-flags). To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network. +To enable the Global Freeze setting, send an [AccountSet transaction][] with a `SetFlag` field containing the [`asfGlobalFreeze` value (`7`)](../../../references/protocol/transactions/types/accountset.md#accountset-flags). To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network. **Caution:** Enacting a global freeze affects _all tokens issued by the address._ Furthermore, if you use the No Freeze setting, you cannot undo this action. @@ -114,7 +114,7 @@ For example: ### 4. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).) +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).) {% interactive-block label="Wait" steps=$frontmatter.steps %} @@ -125,7 +125,7 @@ Most transactions are accepted into the next ledger version after they're submit ### 5. Confirm Account Settings -After the transaction is validated, you can check your issuing account's settings to confirm that the Global Freeze flag is enabled. You can do this by calling the [account_info method][] and checking the value of the account's `Flags` field to see if the [`lsfGlobalFreeze` bit (`0x00400000`)](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) is on. +After the transaction is validated, you can check your issuing account's settings to confirm that the Global Freeze flag is enabled. You can do this by calling the [account_info method][] and checking the value of the account's `Flags` field to see if the [`lsfGlobalFreeze` bit (`0x00400000`)](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) is on. {% tabs %} @@ -195,16 +195,16 @@ At this point all token issued by your address are frozen. During this time, you Keep in mind that while a token is frozen, it is still possible for the frozen token to be sent _directly to_ or _directly from_ the issuer, so you may still want to disable any systems you have that are configured to send such transactions, and you may want to track incoming transactions without processing them so that you can eventually process the legitimate ones. -If you use a [hot wallet or operational address](../../concepts/accounts/account-types.md), it has no special status compared to other users, so it also cannot send and receive the frozen tokens except when dealing directly with the issuer. +If you use a [hot wallet or operational address](../../../concepts/accounts/account-types.md), it has no special status compared to other users, so it also cannot send and receive the frozen tokens except when dealing directly with the issuer. -If you use the [No Freeze setting](../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) then the Global Freeze continues forever. If you want to resume issuing tokens, you must create a new account and start over from there. +If you use the [No Freeze setting](../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) then the Global Freeze continues forever. If you want to resume issuing tokens, you must create a new account and start over from there. Otherwise, you can continue to the next step whenever you're ready. ### 6. Send AccountSet Transaction to End the Freeze -To end the Global Freeze, send an [AccountSet transaction][] with a `ClearFlag` field containing the [`asfGlobalFreeze` value (`7`)](../../references/protocol/transactions/types/accountset.md#accountset-flags). As always, you first _prepare_ the transaction, _sign_ it, and finally _submit_ it to the network. +To end the Global Freeze, send an [AccountSet transaction][] with a `ClearFlag` field containing the [`asfGlobalFreeze` value (`7`)](../../../references/protocol/transactions/types/accountset.md#accountset-flags). As always, you first _prepare_ the transaction, _sign_ it, and finally _submit_ it to the network. For example: @@ -255,7 +255,7 @@ As before, wait for the previous transaction to be validated by consensus before ### 8. Confirm Account Settings -After the transaction is validated, you can confirm the status of the Global Freeze flag in the same way as before: by calling the [account_info method][] and checking the value of the account's `Flags` field to see if the [`lsfGlobalFreeze` bit (`0x00400000`)](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) is **off**. +After the transaction is validated, you can confirm the status of the Global Freeze flag in the same way as before: by calling the [account_info method][] and checking the value of the account's `Flags` field to see if the [`lsfGlobalFreeze` bit (`0x00400000`)](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) is **off**. {% interactive-block label="Confirm Settings (After Freeze)" steps=$frontmatter.steps %} @@ -271,8 +271,8 @@ After the transaction is validated, you can confirm the status of the Global Fre ## See Also - **Concepts:** - - [Freezing Issued Currencies](../../concepts/tokens/fungible-tokens/freezes.md) - - [Trust Lines](../../concepts/tokens/fungible-tokens/index.md) + - [Freezing Issued Currencies](../../../concepts/tokens/fungible-tokens/freezes.md) + - [Trust Lines](../../../concepts/tokens/fungible-tokens/index.md) - **Tutorials:** - [Enable No Freeze](enable-no-freeze.md) - [Freeze a Trust Line](freeze-a-trust-line.md) @@ -282,7 +282,7 @@ After the transaction is validated, you can confirm the status of the Global Fre - [account_info method][] - [AccountSet transaction][] - [TrustSet transaction][] - - [AccountRoot Flags](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) - - [RippleState (trust line) Flags](../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags) + - [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) + - [RippleState (trust line) Flags](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-tokens/freeze-a-trust-line.md b/docs/tutorials/tasks/use-tokens/freeze-a-trust-line.md similarity index 84% rename from docs/tutorials/use-tokens/freeze-a-trust-line.md rename to docs/tutorials/tasks/use-tokens/freeze-a-trust-line.md index 960a7a451d..23007a3ac4 100644 --- a/docs/tutorials/use-tokens/freeze-a-trust-line.md +++ b/docs/tutorials/tasks/use-tokens/freeze-a-trust-line.md @@ -13,7 +13,7 @@ steps: ['Generate', 'Connect', 'Choose Trust Line', 'Send TrustSet to Freeze', ' --- # Freeze a Trust Line -This tutorial shows the steps to [freeze an individual trust line](../../concepts/tokens/fungible-tokens/freezes.md#individual-freeze). The issuer of a token in the XRP Ledger may freeze the trust line to a particular counterparty if that account is engaged in suspicious activity. +This tutorial shows the steps to [freeze an individual trust line](../../../concepts/tokens/fungible-tokens/freezes.md#individual-freeze). The issuer of a token in the XRP Ledger may freeze the trust line to a particular counterparty if that account is engaged in suspicious activity. **Tip:** As a reminder, freezes only apply to issued tokens, not XRP. @@ -22,9 +22,9 @@ This tutorial shows the steps to [freeze an individual trust line](../../concept - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. - This tutorial assumes **you have already [issued a token](issue-a-fungible-token.md)** in the XRP Ledger. -- You **cannot** have enabled the [No Freeze setting](../../concepts/tokens/fungible-tokens/freezes.md#no-freeze), which gives up your ability to freeze individual trust lines. +- You **cannot** have enabled the [No Freeze setting](../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze), which gives up your ability to freeze individual trust lines. @@ -41,13 +41,13 @@ Complete sample code for all of the steps of this tutorial is available under th ### 1. Get Credentials -To transact on the XRP Ledger, you need an address and secret key, and some XRP. If you use the best practice of having separate ["cold" and "hot" addresses](../../concepts/accounts/account-types.md), you need the keys to the _cold address_, which is the **issuer** of the token. +To transact on the XRP Ledger, you need an address and secret key, and some XRP. If you use the best practice of having separate ["cold" and "hot" addresses](../../../concepts/accounts/account-types.md), you need the keys to the _cold address_, which is the **issuer** of the token. {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} ### 2. Connect to the Network -You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../references/client-libraries.md): +You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](/docs/references/client-libraries.md): {% tabs %} @@ -76,7 +76,7 @@ You can only freeze one trust line per transaction, so you need to know which tr - The address of the account linked to yours via the trust line. - The currency code of the trust line. -There can be multiple [trust lines](../../concepts/tokens/fungible-tokens/index.md) between two accounts, each for a different currency. If you suspect a particular account is behaving maliciously, you may want to freeze all the trust lines between your accounts, one at a time. Use the [account_lines method][] with a pair of accounts to find all trust lines between those accounts, then choose a trust line to freeze from among the results. For example: +There can be multiple [trust lines](../../../concepts/tokens/fungible-tokens/index.md) between two accounts, each for a different currency. If you suspect a particular account is behaving maliciously, you may want to freeze all the trust lines between your accounts, one at a time. Use the [account_lines method][] with a pair of accounts to find all trust lines between those accounts, then choose a trust line to freeze from among the results. For example: {% tabs %} @@ -140,7 +140,7 @@ For purposes of this tutorial, a second test address has created a trust line to ### 4. Send TrustSet Transaction to Freeze the Trust Line -To enable or disable an Individual Freeze on a specific trust line, send a [TrustSet transaction][] with the [`tfSetFreeze` flag enabled](../../references/protocol/transactions/types/trustset.md#trustset-flags). The fields of the transaction should be as follows: +To enable or disable an Individual Freeze on a specific trust line, send a [TrustSet transaction][] with the [`tfSetFreeze` flag enabled](../../../references/protocol/transactions/types/trustset.md#trustset-flags). The fields of the transaction should be as follows: | Field | Value | Description | |--------------------------|--------|-------------| @@ -195,12 +195,12 @@ As always, to send a transaction, you _prepare_ it by filling in all the necessa {% /interactive-block %} -**Note:** If you want to freeze multiple trust lines in different currencies with the same counterparty, repeat this step for each trust line. It is possible to send several transactions in a single ledger if you use a different [sequence number](../../references/protocol/data-types/basic-data-types.md#account-sequence) for each transaction. +**Note:** If you want to freeze multiple trust lines in different currencies with the same counterparty, repeat this step for each trust line. It is possible to send several transactions in a single ledger if you use a different [sequence number](../../../references/protocol/data-types/basic-data-types.md#account-sequence) for each transaction. ### 5. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).) +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).) {% partial file="/docs/_snippets/interactive-tutorials/wait-step.md" /%} @@ -275,7 +275,7 @@ Example Response: ### 7. (Optional) Send TrustSet Transaction to End the Freeze -If you decide that the trust line no longer needs to be frozen (for example, you investigated and decided that the suspicious activity was benign), you can end the individual freeze in almost the same way that you froze the trust line in the first place. To end an individual freeze, send a [TrustSet transaction][] with the [`tfClearFreeze` flag enabled](../../references/protocol/transactions/types/trustset.md#trustset-flags). The other fields of the transaction should be the same as when you froze the trust line: +If you decide that the trust line no longer needs to be frozen (for example, you investigated and decided that the suspicious activity was benign), you can end the individual freeze in almost the same way that you froze the trust line in the first place. To end an individual freeze, send a [TrustSet transaction][] with the [`tfClearFreeze` flag enabled](../../../references/protocol/transactions/types/trustset.md#trustset-flags). The other fields of the transaction should be the same as when you froze the trust line: | Field | Value | Description | |--------------------------|--------|-------------| @@ -342,8 +342,8 @@ As before, wait for the transaction to be validated by consensus. ## See Also - **Concepts:** - - [Freezing Issued Currencies](../../concepts/tokens/fungible-tokens/freezes.md) - - [Trust Lines](../../concepts/tokens/fungible-tokens/index.md) + - [Freezing Issued Currencies](../../../concepts/tokens/fungible-tokens/freezes.md) + - [Trust Lines](../../../concepts/tokens/fungible-tokens/index.md) - **Tutorials:** - [Enable No Freeze](enable-no-freeze.md) - [Enact Global Freeze](enact-global-freeze.md) @@ -353,7 +353,7 @@ As before, wait for the transaction to be validated by consensus. - [account_info method][] - [AccountSet transaction][] - [TrustSet transaction][] - - [AccountRoot Flags](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) - - [RippleState (trust line) Flags](../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags) + - [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags) + - [RippleState (trust line) Flags](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-tokens/issue-a-fungible-token.md b/docs/tutorials/tasks/use-tokens/issue-a-fungible-token.md similarity index 84% rename from docs/tutorials/use-tokens/issue-a-fungible-token.md rename to docs/tutorials/tasks/use-tokens/issue-a-fungible-token.md index 3560a9d018..14a4657e1b 100644 --- a/docs/tutorials/use-tokens/issue-a-fungible-token.md +++ b/docs/tutorials/tasks/use-tokens/issue-a-fungible-token.md @@ -12,17 +12,17 @@ steps: ['Generate', 'Connect', 'Configure Issuer', 'Wait (Issuer Setup)', 'Confi --- # Issue a Fungible Token -Anyone can issue various types of tokens in the XRP Ledger, ranging from informal "IOUs" to fiat-backed stablecoins, purely digital fungible and semi-fungible tokens, and more. This tutorial shows the technical steps of creating a token in the ledger. For more information on how XRP Ledger tokens work, see [Issued Currencies](../../concepts/tokens/index.md); for more on the business decisions involved in issuing a stablecoin, see [Stablecoin Issuer](../../use-cases/tokenization/stablecoin-issuer.md). +Anyone can issue various types of tokens in the XRP Ledger, ranging from informal "IOUs" to fiat-backed stablecoins, purely digital fungible and semi-fungible tokens, and more. This tutorial shows the technical steps of creating a token in the ledger. For more information on how XRP Ledger tokens work, see [Issued Currencies](../../../concepts/tokens/index.md); for more on the business decisions involved in issuing a stablecoin, see [Stablecoin Issuer](../../../use-cases/tokenization/stablecoin-issuer.md). ## Prerequisites - You need two funded XRP Ledger accounts, each with an address, secret key, and some XRP. For this tutorial, you can generate new test credentials as needed. - - Each address needs enough XRP to satisfy the [reserve requirement](../../concepts/accounts/reserves.md) including the additional reserve for a trust line. + - Each address needs enough XRP to satisfy the [reserve requirement](../../../concepts/accounts/reserves.md) including the additional reserve for a trust line. - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. - - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../get-started/get-started-using-python.md) for setup steps. - - **Java** with the [xrpl4j library](https://github.com/XRPLF/xrpl4j). See [Get Started Using Java](../get-started/get-started-using-java.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. + - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../../python/get-started.md) for setup steps. + - **Java** with the [xrpl4j library](https://github.com/XRPLF/xrpl4j). See [Get Started Using Java](../../java/get-started.md) for setup steps. - You can also read along and use the interactive steps in your browser without any setup. @@ -41,7 +41,7 @@ Complete sample code for all of the steps of these tutorials is available under To transact on the XRP Ledger, you need an address and secret key, and some XRP. You also need one or more recipients who are willing to hold the tokens you issue: unlike in some other blockchains, in the XRP Ledger you cannot force someone to hold a token they do not want. -The best practice is to use ["cold" and "hot" addresses](../../concepts/accounts/account-types.md). The cold address is the **issuer** of the token. The hot address is like a regular user's address that you control. It receives tokens from the cold address, which you can then transfer to other users. A hot address is not strictly necessary, since you could send tokens directly to users from the cold address, but it is good practice for security reasons. In production, you should take extra care of the cold address's cryptographic keys (for example, keeping them offline) because it is much harder to replace a cold address than a hot address. +The best practice is to use ["cold" and "hot" addresses](../../../concepts/accounts/account-types.md). The cold address is the **issuer** of the token. The hot address is like a regular user's address that you control. It receives tokens from the cold address, which you can then transfer to other users. A hot address is not strictly necessary, since you could send tokens directly to users from the cold address, but it is good practice for security reasons. In production, you should take extra care of the cold address's cryptographic keys (for example, keeping them offline) because it is much harder to replace a cold address than a hot address. In this tutorial, the hot address receives the tokens you issue from the cold address. You can get the keys for two addresses using the following interface. @@ -57,14 +57,14 @@ In this tutorial, the hot address receives the tokens you issue from the cold ad {% /interactive-block %} -**Caution:** Ripple provides the [Testnet and Devnet](../../concepts/networks-and-servers/parallel-networks.md) for testing purposes only, and sometimes resets the state of these test networks along with all balances. As a precaution, **do not** use the same addresses on Testnet/Devnet and Mainnet. +**Caution:** Ripple provides the [Testnet and Devnet](../../../concepts/networks-and-servers/parallel-networks.md) for testing purposes only, and sometimes resets the state of these test networks along with all balances. As a precaution, **do not** use the same addresses on Testnet/Devnet and Mainnet. -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). ### 2. Connect to the Network -You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server with a supported [client library](../../references/client-libraries.md): +You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server with a supported [client library](../../../references/client-libraries.md): {% tabs %} @@ -98,8 +98,8 @@ First, configure the settings for your cold address (which will become the issue - [Authorized Trust Lines][]: (Optional) This setting (also called "Require Auth") limits your tokens to being held _only_ by accounts you've explicitly approved. You cannot enable this setting if you already have any trust lines or offers for _any_ token. **Note:** To use authorized trust lines, you must perform additional steps that are not shown in this tutorial. -[Default Ripple]: ../../concepts/tokens/fungible-tokens/rippling.md -[Authorized Trust Lines]: ../../concepts/tokens/fungible-tokens/authorized-trust-lines.md +[Default Ripple]: ../../../concepts/tokens/fungible-tokens/rippling.md +[Authorized Trust Lines]: ../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md Other settings you may want to, optionally, configure for your cold address (issuer): @@ -108,13 +108,13 @@ Other settings you may want to, optionally, configure for your cold address (iss | [Require Destination Tags][] | Enabled or Disabled | Enable if you process withdrawals of your token to outside systems. (For example, your token is a stablecoin.) | | Disallow XRP | Enabled or Disabled | Enable if this address isn't meant to process XRP payments. | | [Transfer Fee][] | 0–1% | Charge a percentage fee when users send your token to each other. | -| [Tick Size][] | 5 | Limit the number of decimal places in exchange rates for your token in the [decentralized exchange](../../concepts/tokens/decentralized-exchange/index.md). A tick size of 5-6 reduces churn of almost-equivalent offers and speeds up price discovery compared to the default of 15. | -| [Domain][] | (Your domain name) | Set to a domain you own so can [verify ownership of the accounts](../../references/xrp-ledger-toml.md#account-verification). This can help reduce confusion or impersonation attempts. | +| [Tick Size][] | 5 | Limit the number of decimal places in exchange rates for your token in the [decentralized exchange](../../../concepts/tokens/decentralized-exchange/index.md). A tick size of 5-6 reduces churn of almost-equivalent offers and speeds up price discovery compared to the default of 15. | +| [Domain][] | (Your domain name) | Set to a domain you own so can [verify ownership of the accounts](../../../references/xrp-ledger-toml.md#account-verification). This can help reduce confusion or impersonation attempts. | [Require Destination Tags]: ../manage-account-settings/require-destination-tags.md -[Transfer Fee]: ../../concepts/tokens/transfer-fees.md -[Tick Size]: ../../concepts/tokens/decentralized-exchange/ticksize.md -[Domain]: ../../references/protocol/transactions/types/accountset.md#domain +[Transfer Fee]: ../../../concepts/tokens/transfer-fees.md +[Tick Size]: ../../../concepts/tokens/decentralized-exchange/ticksize.md +[Domain]: ../../../references/protocol/transactions/types/accountset.md#domain You can change these settings later as well. @@ -201,7 +201,7 @@ The following code sample shows how to send an [AccountSet transaction][] to ena ### 4. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. You should wait for your earlier transactions to be fully validated before proceeding to the later steps, to avoid unexpected failures from things executing out of order. For more information, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md). +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. You should wait for your earlier transactions to be fully validated before proceeding to the later steps, to avoid unexpected failures from things executing out of order. For more information, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md). The code samples in this tutorial use helper functions to wait for validation when submitting a transaction: @@ -224,7 +224,7 @@ The hot address does not strictly require any settings changes from the default, | [Authorized Trust Lines][] | Enabled | Enable this setting on the hot address—and never approve any trust lines to the hot address—to prevent accidentally issuing tokens from the wrong address. (Optional, but recommended.) | | [Require Destination Tags][] | Enabled or Disabled | Enable if you process withdrawals of your token to outside systems. (For example, your token is a stablecoin.) | | Disallow XRP | Enabled or Disabled | Enable if this address isn't meant to process XRP payments. | -| [Domain][] | (Your domain name) | Set to a domain you own so can [verify ownership of the accounts](../../references/xrp-ledger-toml.md#account-verification). This can help reduce confusion or impersonation attempts. | +| [Domain][] | (Your domain name) | Set to a domain you own so can [verify ownership of the accounts](../../../references/xrp-ledger-toml.md#account-verification). This can help reduce confusion or impersonation attempts. | The following code sample shows how to send an [AccountSet transaction][] to enable the recommended hot address settings: @@ -304,9 +304,9 @@ As before, wait for the previous transaction to be validated by consensus before ### 7. Create Trust Line from Hot to Cold Address -Before you can receive tokens, you need to create a [trust line](../../concepts/tokens/fungible-tokens/index.md) to the token issuer. This trust line is specific to the [currency code](../../references/protocol/data-types/currency-formats.md#currency-codes) of the token you want to issue, such as USD or FOO. You can choose any currency code you want; each issuer's tokens are treated as separate in the XRP Ledger protocol. However, users' balances of tokens with the same currency code can [ripple](../../concepts/tokens/fungible-tokens/rippling.md) between different issuers if the users enable rippling settings. +Before you can receive tokens, you need to create a [trust line](../../../concepts/tokens/fungible-tokens/index.md) to the token issuer. This trust line is specific to the [currency code](../../../references/protocol/data-types/currency-formats.md#currency-codes) of the token you want to issue, such as USD or FOO. You can choose any currency code you want; each issuer's tokens are treated as separate in the XRP Ledger protocol. However, users' balances of tokens with the same currency code can [ripple](../../../concepts/tokens/fungible-tokens/rippling.md) between different issuers if the users enable rippling settings. -The hot address needs a trust line like this before it can receive tokens from the issuer. Similarly, each user who wants to hold your token must also create a trust line[¹](#footnotes). Each trust line increases the [reserve requirement](../../concepts/accounts/reserves.md) of the hot address, so you must hold enough spare XRP to pay for the increased requirement. Your reserve requirement goes back down if you remove the trust line. +The hot address needs a trust line like this before it can receive tokens from the issuer. Similarly, each user who wants to hold your token must also create a trust line[¹](#footnotes). Each trust line increases the [reserve requirement](../../../concepts/accounts/reserves.md) of the hot address, so you must hold enough spare XRP to pay for the increased requirement. Your reserve requirement goes back down if you remove the trust line. **Tip:** A trust line has a "limit" on how much the recipient is willing to hold; others cannot send you more tokens than your specified limit. For community credit systems, you may want to configure limits per individual based on how much you trust that person. For other types and uses of tokens, it is normally OK to set the limit to a very large number. @@ -376,7 +376,7 @@ The following code sample shows how to send a [TrustSet transaction][] from the {% /interactive-block %} -**Note:** If you use [Authorized Trust Lines][], there is an extra step after this one: the cold address must approve the trust line from the hot address. For details of how to do this, see [Authorizing Trust Lines](../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#authorizing-trust-lines). +**Note:** If you use [Authorized Trust Lines][], there is an extra step after this one: the cold address must approve the trust line from the hot address. For details of how to do this, see [Authorizing Trust Lines](../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#authorizing-trust-lines). ### 8. Wait for Validation @@ -394,7 +394,7 @@ Now you can create tokens by sending a [Payment transaction][] from the cold add |---|---| | `TransactionType` | `"Payment"` | | `Account` | The cold address issuing the token. | -| `Amount` | An [token amount](../../references/protocol/data-types/basic-data-types.md#specifying-currency-amounts) specifying how much of which token to create. | +| `Amount` | An [token amount](../../../references/protocol/data-types/basic-data-types.md#specifying-currency-amounts) specifying how much of which token to create. | | `Amount.currency` | The currency code of the token. | | `Amount.value` | Decimal amount of the token to issue, as a string. | | `Amount.issuer` | The cold address issuing the token. | @@ -403,7 +403,7 @@ Now you can create tokens by sending a [Payment transaction][] from the cold add | `SendMax` | Omit this field when issuing tokens. | | `DestinationTag` | Any whole number from 0 to 232-1. You must specify _something_ here if you enabled [Require Destination Tags][] on the hot address. | -You can use [auto-filled values](../../references/protocol/transactions/common-fields.md#auto-fillable-fields) for all other required fields. +You can use [auto-filled values](../../../references/protocol/transactions/common-fields.md#auto-fillable-fields) for all other required fields. The following code sample shows how to send a [Payment transaction][] to issue 88 FOO from the cold address to the hot address: @@ -509,12 +509,12 @@ Now that you've created the token, you can explore how it fits into features of - Send tokens from the hot address to other users. - Trade it in the decentralized exchange. - Monitor for incoming payments of your token. -- Create an [xrp-ledger.toml file](../../references/xrp-ledger-toml.md) and set up domain verification for your token's issuer. -- Learn about other [features of XRP Ledger tokens](../../concepts/tokens/index.md). +- Create an [xrp-ledger.toml file](../../../references/xrp-ledger-toml.md) and set up domain verification for your token's issuer. +- Learn about other [features of XRP Ledger tokens](../../../concepts/tokens/index.md). ## Footnotes -¹ Users can hold your token without explicitly creating a trust line if they buy your token in the [decentralized exchange](../../concepts/tokens/decentralized-exchange/index.md). Buying a token in the exchange [automatically creates the necessary trust lines](../../concepts/tokens/decentralized-exchange/offers.md#offers-and-trust). This is only possible if someone is selling your token in the decentralized exchange. +¹ Users can hold your token without explicitly creating a trust line if they buy your token in the [decentralized exchange](../../../concepts/tokens/decentralized-exchange/index.md). Buying a token in the exchange [automatically creates the necessary trust lines](../../../concepts/tokens/decentralized-exchange/offers.md#offers-and-trust). This is only possible if someone is selling your token in the decentralized exchange. {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/use-tokens/trade-in-the-decentralized-exchange.md b/docs/tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md similarity index 90% rename from docs/tutorials/use-tokens/trade-in-the-decentralized-exchange.md rename to docs/tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md index 706401bd59..4af8efcc3a 100644 --- a/docs/tutorials/use-tokens/trade-in-the-decentralized-exchange.md +++ b/docs/tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md @@ -12,14 +12,14 @@ steps: ['Connect', 'Generate', 'Look Up Offers',' Send OfferCreate', 'Wait', 'Ch --- # Trade in the Decentralized Exchange -This tutorial demonstrates how you can buy and sell tokens in the [decentralized exchange](../../concepts/tokens/decentralized-exchange/index.md) (DEX). +This tutorial demonstrates how you can buy and sell tokens in the [decentralized exchange](../../../concepts/tokens/decentralized-exchange/index.md) (DEX). ## Prerequisites - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-using-javascript.md) for setup steps. - - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../get-started/get-started-using-python.md) for setup steps. + - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/get-started.md) for setup steps. + - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../../python/get-started.md) for setup steps. - You can also read along and use the interactive steps in your browser without any setup. @@ -45,7 +45,7 @@ This tutorial demonstrates how to buy a fungible token in the decentralized exch ### 1. Connect to Network -You must be connected to the network to submit transactions to it. Additionally, some languages (including JavaScript) require a high-precision number library for performing calculations on currency amounts you may find in the ledger. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../references/client-libraries.md) with the appropriate dependencies. +You must be connected to the network to submit transactions to it. Additionally, some languages (including JavaScript) require a high-precision number library for performing calculations on currency amounts you may find in the ledger. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../../references/client-libraries.md) with the appropriate dependencies. {% tabs %} @@ -67,11 +67,11 @@ For this tutorial, click the following button to connect: ### 2. Get Credentials -To transact on the XRP Ledger, you need an address, a secret key, and some XRP. For development purposes, you can get these on the [{{use_network}}](../../concepts/networks-and-servers/parallel-networks.md) using the following interface: +To transact on the XRP Ledger, you need an address, a secret key, and some XRP. For development purposes, you can get these on the [{{use_network}}](../../../concepts/networks-and-servers/parallel-networks.md) using the following interface: {% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%} -When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md). The following code shows how to create a `Wallet` instance to use your keys: +When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md). The following code shows how to create a `Wallet` instance to use your keys: {% tabs %} @@ -105,7 +105,7 @@ The following code shows how to look up existing Offers and compare them to a pr {% /tabs %} -**Note:** Other users of the XRP Ledger can also make trades at any time, so this is only an estimate of what would happen if nothing else changes. The outcome of a transaction is not guaranteed until it is [final](../../concepts/transactions/finality-of-results/index.md). +**Note:** Other users of the XRP Ledger can also make trades at any time, so this is only an estimate of what would happen if nothing else changes. The outcome of a transaction is not guaranteed until it is [final](../../../concepts/transactions/finality-of-results/index.md). The following block demonstrates these calculations in action: @@ -193,14 +193,14 @@ You can use this interface to send the transaction specified by the amounts in t ### 4. Wait for Validation -Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).) +Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).) {% partial file="/docs/_snippets/interactive-tutorials/wait-step.md" /%} ### 5. Check Metadata -You can use the validated transaction's [metadata](../../references/protocol/transactions/metadata.md) to determine exactly what it did. (Don't use metadata from tentative transaction results, because it may be different from the [final result](../../concepts/transactions/finality-of-results/index.md), especially when using the decentralized exchange.) In case of an OfferCreate transaction, likely results include: +You can use the validated transaction's [metadata](../../../references/protocol/transactions/metadata.md) to determine exactly what it did. (Don't use metadata from tentative transaction results, because it may be different from the [final result](../../../concepts/transactions/finality-of-results/index.md), especially when using the decentralized exchange.) In case of an OfferCreate transaction, likely results include: - Some or all of the Offer may have been filled by matching with existing Offers in the ledger. - The unmatched remainder, if any, has been placed into the ledger to await new matching Offers. diff --git a/docs/tutorials/tasks/use-xrpl-sidechains/set-up-iou-iou-bridge.md b/docs/tutorials/tasks/use-xrpl-sidechains/set-up-iou-iou-bridge.md index 835e010507..ac81aa8c94 100644 --- a/docs/tutorials/tasks/use-xrpl-sidechains/set-up-iou-iou-bridge.md +++ b/docs/tutorials/tasks/use-xrpl-sidechains/set-up-iou-iou-bridge.md @@ -12,13 +12,13 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ Setting up an IOU-IOU bridge enables you to move tokens between chains. -**Note**: The code samples on this page illustrate how to bridge a hypotethical "TST" token from *Devnet* to *Sidechain-Devnet*, using a supported [client library](../../../references/client-libraries.md) to query and submit transactions. +**Note**: The code samples on this page illustrate how to bridge a hypotethical "TST" token from *Devnet* to *Sidechain-Devnet*, using a supported [client library](/docs/references/client-libraries.md) to query and submit transactions. ## Prerequisites - An XRP-XRP bridge must be set up between the locking and issuing chain. - Ensure the witnesses' transaction submission accounts are funded on the locking and issuing chains. -- Set up an issuer on the issuing chain to mint and burn a wrapped version of the token you want to bridge. See: [Issue a Fungible Token](../../use-tokens/issue-a-fungible-token.md) +- Set up an issuer on the issuing chain to mint and burn a wrapped version of the token you want to bridge. See: [Issue a Fungible Token](../use-tokens/issue-a-fungible-token.md) ## Steps diff --git a/docs/tutorials/tasks/use-xrpl-sidechains/set-up-xrp-xrp-bridge.md b/docs/tutorials/tasks/use-xrpl-sidechains/set-up-xrp-xrp-bridge.md index c2e6b59efe..2f5a212044 100644 --- a/docs/tutorials/tasks/use-xrpl-sidechains/set-up-xrp-xrp-bridge.md +++ b/docs/tutorials/tasks/use-xrpl-sidechains/set-up-xrp-xrp-bridge.md @@ -12,7 +12,7 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ Setting up an XRP-XRP bridge enables you to move XRP between chains. The set up requires using the genesis account on the issuing chain as a door account to submit attestations and create transaction submission accounts for witnesses. -**Note**: The code samples on this page illustrate how a bridge was set up between *Devnet* and *Sidechain-Devnet*, using a supported [client library](../../../references/client-libraries.md) to query and submit transactions. This bridge is already created, so the process can't be reproduced on these networks. +**Note**: The code samples on this page illustrate how a bridge was set up between *Devnet* and *Sidechain-Devnet*, using a supported [client library](/docs/references/client-libraries.md) to query and submit transactions. This bridge is already created, so the process can't be reproduced on these networks. ## Prerequisites diff --git a/docs/use-cases/defi/algorithmic-trading.md b/docs/use-cases/defi/algorithmic-trading.md index 861ac03938..23b7936732 100644 --- a/docs/use-cases/defi/algorithmic-trading.md +++ b/docs/use-cases/defi/algorithmic-trading.md @@ -72,13 +72,13 @@ The legal requirements for trading on a blockchain vary by jurisdiction. In many ### Placing Trades -Buying and selling _fungible_ tokens and XRP within the XRP Ledger's decentralized exchange typically involves sending [OfferCreate transactions](../../references/protocol/transactions/types/offercreate.md). For a detailed walkthrough of the code and technical steps to place a trade this way, see [Trade in the Decentralized Exchange](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md). It is also possible to exchange currencies using the [Payment transaction type](../../references/protocol/transactions/types/payment.md). You could send a [cross-currency payment](../../concepts/payment-types/cross-currency-payments.md) to another user or even send it back to yourself, using a long [path](../../concepts/tokens/fungible-tokens/paths.md) to link arbitrage opportunities together into a single operation. +Buying and selling _fungible_ tokens and XRP within the XRP Ledger's decentralized exchange typically involves sending [OfferCreate transactions](../../references/protocol/transactions/types/offercreate.md). For a detailed walkthrough of the code and technical steps to place a trade this way, see [Trade in the Decentralized Exchange](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md). It is also possible to exchange currencies using the [Payment transaction type](../../references/protocol/transactions/types/payment.md). You could send a [cross-currency payment](../../concepts/payment-types/cross-currency-payments.md) to another user or even send it back to yourself, using a long [path](../../concepts/tokens/fungible-tokens/paths.md) to link arbitrage opportunities together into a single operation. -Non-fungible tokens work differently; for the code and technical steps to trade NFTs, see [Transfer NFTokens Using JavaScript](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +Non-fungible tokens work differently; for the code and technical steps to trade NFTs, see [Transfer NFTokens Using JavaScript](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). ### Reading Trade Data -There are many sources of information about the trading activity in the XRP Ledger. Depending on your trading strategy and use case, you may be able to connect to the XRP Ledger through [Public Servers](../../tutorials/get-started/public-servers.md), but you can often benefit from running your own server, and some use cases may not be practical without doing so. See [Install `rippled`](../../infrastructure/installation/index.md) for instructions on how to set up a core server in P2P mode. +There are many sources of information about the trading activity in the XRP Ledger. Depending on your trading strategy and use case, you may be able to connect to the XRP Ledger through [Public Servers](../../tutorials/public-servers.md), but you can often benefit from running your own server, and some use cases may not be practical without doing so. See [Install `rippled`](../../infrastructure/installation/index.md) for instructions on how to set up a core server in P2P mode. If your approach involves following other transaction activity, you may need to read the transactions' detailed metadata to know exactly how much they traded. Offers can partially execute and may consume multiple matching offers. For a detailed explanation of how to interpret transaction metadata, see [Look Up Transaction Results](../../concepts/transactions/finality-of-results/look-up-transaction-results.md). diff --git a/docs/use-cases/defi/list-xrp-as-an-exchange.md b/docs/use-cases/defi/list-xrp-as-an-exchange.md index 7e95046931..e2efbbea8c 100644 --- a/docs/use-cases/defi/list-xrp-as-an-exchange.md +++ b/docs/use-cases/defi/list-xrp-as-an-exchange.md @@ -614,9 +614,9 @@ Off-Ledger Balances - [Source and Destination Tags](../../concepts/transactions/source-and-destination-tags.md) - **Tutorials:** - [Install `rippled`](../../infrastructure/installation/index.md) - - [Send XRP](../../tutorials/get-started/send-xrp.md) + - [Send XRP](../../tutorials/tasks/send-xrp.md) - [Set Up Secure Signing](../../concepts/transactions/secure-signing.md) - - [Monitor Incoming Payments with WebSocket](../../tutorials/get-started/monitor-incoming-payments-with-websocket.md) + - [Monitor Incoming Payments with WebSocket](../../tutorials/http-websocket-apis/monitor-incoming-payments-with-websocket.md) - **References:** - [Payment transaction][] - [account_info method][] diff --git a/docs/use-cases/payments/restricting-deposits-uc.md b/docs/use-cases/payments/restricting-deposits-uc.md index b31ac7a94d..90d89367f8 100644 --- a/docs/use-cases/payments/restricting-deposits-uc.md +++ b/docs/use-cases/payments/restricting-deposits-uc.md @@ -42,7 +42,7 @@ Checks are a straightforward, familiar, and flexible way to transfer funds when While this method is the simplest, it doesn't guarantee the funds. Checks are deferred payments, meaning funds aren't moved until the moment you try to cash the check. It's possible for the sending account to not have the necessary funds at the time the check is cashed, which can cause delays or other headaches, depending on your business. -See: [Use Checks](../../tutorials/use-specialized-payment-types/use-checks/use-checks.md). +See: [Use Checks](../../tutorials/tasks/use-specialized-payment-types/use-checks/use-checks.md). ### Escrow diff --git a/docs/use-cases/payments/smart-contracts-uc.md b/docs/use-cases/payments/smart-contracts-uc.md index ad3652d4df..50fdeb557d 100644 --- a/docs/use-cases/payments/smart-contracts-uc.md +++ b/docs/use-cases/payments/smart-contracts-uc.md @@ -37,7 +37,7 @@ The oracle gives the condition hex value to the escrow creator, enabling them to After the oracle's programming detects the conditions are met, it gives the fulfillment hex value to the escrow recipient. It does nothing else after this point, such as finishing the escrow. The recipient of the escrow would most likely finish the escrow. -See: [Generate a condition and fulfillment](../../tutorials/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md#1-generate-condition-and-fulfillment). +See: [Generate a condition and fulfillment](../../tutorials/tasks/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md#1-generate-condition-and-fulfillment). ## Examples diff --git a/docs/use-cases/tokenization/authorized-minter.md b/docs/use-cases/tokenization/authorized-minter.md index 62056b8115..6ef7c450c1 100644 --- a/docs/use-cases/tokenization/authorized-minter.md +++ b/docs/use-cases/tokenization/authorized-minter.md @@ -12,7 +12,7 @@ _As an authorized minter, I want to mint tokens for a token issuer at an agreed You can act as an authorized minter for token issuers. When you do this, you own the NFToken, but royalties flow to the NFToken issuer. When you make a sale of that NFToken, the proceeds of the initial sale go to you. You can have an agreement with your issuer to pay them some or all of your portion of the initial sale amount. -You can learn more in the tutorial [Assign an Authorized Minter](../../tutorials/quickstart/assign-an-authorized-minter-using-javascript.md). +You can learn more in the tutorial [Assign an Authorized Minter](../../tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md). [![Authorized Minter Flow](/docs/img/nft-mkt-auth-minter.png "Authorized Minter Flow")](/docs/img/nft-mkt-auth-minter.png) @@ -28,7 +28,7 @@ Once you finish creating NFTs, the creator can revoke your privileges and reasse ![Auctioning NFTs](/docs/img/uc-nft-transferring-nfts.png) -To mint your first NFTs on behalf of another account, see [Authorizing Another Account to Mint Your NFTs](../../tutorials/quickstart/assign-an-authorized-minter-using-javascript.md). +To mint your first NFTs on behalf of another account, see [Authorizing Another Account to Mint Your NFTs](../../tutorials/javascript/modular-tutorials/nfts/assign-an-authorized-minter.md). If you, as the owner or issuer, want to be able to burn the token in the future, set the `Flags` field to _1._ To make the NFT transferable, set the `Flags` field to _8_. Set the `Flags` field to _9_ to make the NFT both burnable and transferable. See[ Burnable flag](../../references/protocol/data-types/nftoken.md#nftoken-flags) and [Transferable flag](../../references/protocol/data-types/nftoken.md#nftoken-flags). @@ -47,11 +47,11 @@ You can assure scarcity of NFTs you create by creating them with what might be c ## Transferring NFTs -You transfer NFTs by creating a sell offer or accepting a buy offer. See [Transfer NFTokens](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +You transfer NFTs by creating a sell offer or accepting a buy offer. See [Transfer NFTokens](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). You can sell your NFTs in an auction format. See [Running an NFT Auction](../../concepts/tokens/nfts/running-an-nft-auction.md). -You can act as a broker, connecting sellers with bidders, completing the transfer and keeping a percentage of the purchase price. See [Broker a NFToken sale](../../tutorials/quickstart/broker-an-nft-sale-using-javascript.md). +You can act as a broker, connecting sellers with bidders, completing the transfer and keeping a percentage of the purchase price. See [Broker a NFToken sale](../../tutorials/javascript/modular-tutorials/nfts/broker-an-nft-sale.md). ### Reserve requirements @@ -71,11 +71,11 @@ See: ### Checkout -The most straightforward payment for XRPL NFTs is XRP. For examples of selling and buying NFTs using XRP, see [Transfer NFTokens](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +The most straightforward payment for XRPL NFTs is XRP. For examples of selling and buying NFTs using XRP, see [Transfer NFTokens](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). ![Checkout](/docs/img/uc-nft-checkout.png) -For trade in other currencies, you can leverage the DEX to accept and convert issued currencies of all kinds. See [Trade in the Decentralized Exchange](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange). +For trade in other currencies, you can leverage the DEX to accept and convert issued currencies of all kinds. See [Trade in the Decentralized Exchange](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange). ## Indexing NFTs diff --git a/docs/use-cases/tokenization/digital-artist.md b/docs/use-cases/tokenization/digital-artist.md index e509eb129c..fba72112d8 100644 --- a/docs/use-cases/tokenization/digital-artist.md +++ b/docs/use-cases/tokenization/digital-artist.md @@ -18,13 +18,13 @@ As a digital artist, you’re focused on creating NFTs, presumably to sell on th You can create NFTokens using an app such as the [Xumm app](https://xumm.app). -For a more hands-on experience, you can follow the steps in the [Quickstart Tutorial 3 - Mint and Burn NFTokens](../../tutorials/quickstart/mint-and-burn-nfts-using-javascript.md). +For a more hands-on experience, you can follow the steps in the [Quickstart Tutorial 3 - Mint and Burn NFTokens](../../tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md). [![Digital Artist Flow](/docs/img/nft-mkt-digital-artist.png "Digital Artist Flow")](/docs/img/nft-mkt-digital-artist.png) ## Use a public server -As you get started, you will likely have comparatively few transactions. You can work with one of the free XRP Ledger public servers. As your business grows, you might consider your own NFT Ledger instance to handle increased sales traffic. See [Public servers](../../tutorials/get-started/public-servers.md). +As you get started, you will likely have comparatively few transactions. You can work with one of the free XRP Ledger public servers. As your business grows, you might consider your own NFT Ledger instance to handle increased sales traffic. See [Public servers](../../tutorials/public-servers.md). ## Create NFTs @@ -37,11 +37,11 @@ To create your first NFTs, follow the instructions in the tutorial _Mint and Bur * You can mint NFTs in logical collections using the TokenTaxon field. See [Minting NFTs into Collections](../../concepts/tokens/nfts/collections.md). * If you, as the issuer, want to be able to burn the token in the future, set the Flags field to 1. To make the NFT transferable, set the Flags field to 8. Set the Flags field to 9 to make the NFT both burnable and transferable. See[ Burnable flag](../../references/protocol/data-types/nftoken.md#nftoken-flags) and [Transferable flag](../../references/protocol/data-types/nftoken.md#nftoken-flags). -See [Mint and Burn NFTokens](../../tutorials/quickstart/mint-and-burn-nfts-using-javascript.md). +See [Mint and Burn NFTokens](../../tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md). ## Sell NFTs -You transfer NFTs by creating a sell offer. See [Transfer NFTokens](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +You transfer NFTs by creating a sell offer. See [Transfer NFTokens](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). ![Transferring NFTs](/docs/img/uc-nft-transferring-nfts.png) @@ -65,11 +65,11 @@ See: ### Checkout -The most straightforward payment for XRPL NFTs is XRP. For examples of selling and buying NFTs using XRP, see [Transfer NFTokens](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +The most straightforward payment for XRPL NFTs is XRP. For examples of selling and buying NFTs using XRP, see [Transfer NFTokens](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). ![Checkout](/docs/img/uc-nft-checkout.png) -For trade in other currencies, you can leverage the DEX to accept and convert issued currencies of all kinds. See [Trade in the Decentralized Exchange](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange). +For trade in other currencies, you can leverage the DEX to accept and convert issued currencies of all kinds. See [Trade in the Decentralized Exchange](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange). ## Indexing NFTs diff --git a/docs/use-cases/tokenization/nft-mkt-overview.md b/docs/use-cases/tokenization/nft-mkt-overview.md index 37ea0c355e..b4dbd34bc3 100644 --- a/docs/use-cases/tokenization/nft-mkt-overview.md +++ b/docs/use-cases/tokenization/nft-mkt-overview.md @@ -40,7 +40,7 @@ There are 4 essential areas of preparation for starting your NFT business. ## Connect to XRPL -If you want to set up a smaller site with fewer transactions, you can work with one of the free XRP Ledger public servers. See [Public servers](../../tutorials/get-started/public-servers.md). +If you want to set up a smaller site with fewer transactions, you can work with one of the free XRP Ledger public servers. See [Public servers](../../tutorials/public-servers.md). If you want to set up a larger site with high volume, it might be worth investing in your own XRP Ledger server instance. See [Install rippled](../../infrastructure/installation/index.md). @@ -52,7 +52,7 @@ See also: You can begin to build your marketplace by minting some NFTs to sell. -To create your first NFTs, follow the instructions in the tutorial _Mint and Burn NFTokens_. See [Mint and Burn NFTokens](../../tutorials/quickstart/mint-and-burn-nfts-using-javascript.md). +To create your first NFTs, follow the instructions in the tutorial _Mint and Burn NFTokens_. See [Mint and Burn NFTokens](../../tutorials/javascript/modular-tutorials/nfts/mint-and-burn-nfts.md). The NFToken URL is a link to the location where the content of the NFT is stored. One option is create an IPFS account and store the NFToken content at a persistent URL. See [Best Practices for Storing NFT Data](https://docs.ipfs.io/how-to/best-practices-for-nft-data). @@ -83,13 +83,13 @@ When you set up your account, keep in mind that there is a base reserve requirem ### Transferring NFTs -You transfer NFTs by creating a sell offer or accepting a buy offer. See [Transfer NFTokens](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +You transfer NFTs by creating a sell offer or accepting a buy offer. See [Transfer NFTokens](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). ![Transferring NFTs](/docs/img/uc-nft-transferring-nfts.png) You can sell your NFTs in an auction format. See [Running an NFT Auction](../../concepts/tokens/nfts/running-an-nft-auction.md). -You can act as a broker, connecting sellers with bidders, completing the transfer and keeping a percentage of the purchase price. See [Broker a NFToken sale](../../tutorials/quickstart/broker-an-nft-sale-using-javascript.md). +You can act as a broker, connecting sellers with bidders, completing the transfer and keeping a percentage of the purchase price. See [Broker a NFToken sale](../../tutorials/javascript/modular-tutorials/nfts/broker-an-nft-sale.md). #### Reserve requirements @@ -109,11 +109,11 @@ See: #### Checkout -The most straightforward payment for XRPL NFTs is XRP. For examples of selling and buying NFTs using XRP, see [Transfer NFTokens](../../tutorials/quickstart/transfer-nfts-using-javascript.md). +The most straightforward payment for XRPL NFTs is XRP. For examples of selling and buying NFTs using XRP, see [Transfer NFTokens](../../tutorials/javascript/modular-tutorials/nfts/transfer-nfts.md). ![Checkout](/docs/img/uc-nft-checkout.png) -For trade in other currencies, you can leverage the DEX to accept and convert issued currencies of all kinds. See [Trade in the Decentralized Exchange](../../tutorials/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange). +For trade in other currencies, you can leverage the DEX to accept and convert issued currencies of all kinds. See [Trade in the Decentralized Exchange](../../tutorials/tasks/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange).