Migrate interactive tutorials (post realm v0.70)

Attempt migrating interactive tutorial again

Migrate interactive tutorial snippet syntax

Interactive tutorials: partially migrate send-xrp, no-freeze to new syntax

Fix Send XRP interactive tutorial

Interactive tutorials: fixes for Redocly incl. localization challenges

Interactive tutorials: switch defaultValue back to value in anticipation of Redocly bugfix

Fix document.ready→window.onRouteChange, cyclers, etc. in interactive
tutorials.
This commit is contained in:
mDuo13
2023-12-21 13:57:58 -08:00
parent 4c9a8c0bf9
commit ee8acbbd22
41 changed files with 671 additions and 540 deletions

View File

@@ -1,20 +1,17 @@
{% if use_network is undefined or use_network == "Testnet" %}
{% set ws_url = "wss://s.altnet.rippletest.net:51233" %}
{% set explorer_url = "https://testnet.xrpl.org" %}
{% set use_network = "Testnet" %}
{% elif use_network == "Devnet" %}
{% set ws_url = "wss://s.devnet.rippletest.net:51233" %}
{% set explorer_url = "https://devnet.xrpl.org" %}
{% elif use_network == "Mainnet" %}
{% set ws_url = "wss://xrplcluster.com" %}
{% set explorer_url = "https://livenet.xrpl.org" %}
{% endif %}
<!-- Interactive tutorials are hard-coded to Testnet for now due to Redocly
limitations. They'll be replaced with new-style tutorials next anyway.
Localized step names don't currently work due to problems with unicode
in regexes. -->
{{ start_step("Connect") }}
<button id="connect-button" class="btn btn-primary" data-wsurl="{{ws_url}}" data-explorer="{{explorer_url}}">{{use_network}}に接続する</button>
{% interactive-block label=default($label, "Connect") steps=$frontmatter.steps %}
<button id="connect-button" class="btn btn-primary" data-wsurl="wss://s.altnet.rippletest.net:51233" data-explorer="https://testnet.xrpl.org">Testnetに接続する</button>
<div>
<strong>接続ステータス:</strong>
<span id="connection-status">接続されていません</span>
<div class="loader collapse" id="loader-connect"><img class="throbber" src="assets/img/xrp-loader-96.png"></div>
{% loading-icon /%}
</div>
{{ end_step() }}
{% /interactive-block %}

View File

@@ -1,15 +1,9 @@
{% if use_network is undefined or use_network == "Testnet" %}
{% set use_network = "Testnet" %}
{% set faucet_url = "https://faucet.altnet.rippletest.net/accounts" %}
{% elif use_network == "Devnet" %}
{% set faucet_url = "https://faucet.devnet.rippletest.net/accounts" %}
{# No faucet for Mainnet! #}
{% endif %}
{% interactive-block label=default($label, "Generate") steps=$frontmatter.steps %}
{{ start_step("Generate") }}
<button id="generate-creds-button" class="btn btn-primary" data-fauceturl="{{faucet_url}}">{{use_network}}の暗号鍵を作成する</button>
<div class="loader collapse"><img class="throbber" src="assets/img/xrp-loader-96.png">暗号鍵を作成しています…</div>
<button id="generate-creds-button" class="btn btn-primary" data-fauceturl="https://faucet.altnet.rippletest.net/accounts">Testnetの暗号鍵を作成する</button>
{% loading-icon message="暗号鍵を作成しています…" /%}
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
**注意:** Rippleは[TestnetとDevnet](../../concepts/networks-and-servers/parallel-networks.md)をテストの目的でのみ運用しており、その状態とすべての残高を定期的にリセットしています。予防措置として、Testnet、DevnetとMainnetで同じアドレスを使用**しない**ことをお勧めします。

View File

@@ -1,12 +1,6 @@
{% if use_network is undefined or use_network == "Testnet" %}
{% set explorer_url = "https://testnet.xrpl.org" %}
{% elif use_network == "Devnet" %}
{% set explorer_url = "https://devnet.xrpl.org" %}
{% elif use_network == "Mainnet" %}
{% set explorer_url = "https://livenet.xrpl.org" %}
{% endif %}
{% interactive-block label=default($label, "Wait") steps=$frontmatter.steps %}
<table class="wait-step" data-explorerurl="{{explorer_url}}">
<table class="wait-step" data-explorerurl="https://testnet.xrpl.org">
<tr>
<th>トランザクションのID:</th>
<td class="waiting-for-tx">(無)</td>
@@ -25,3 +19,5 @@
<tr class="tx-validation-status">
</tr>
</table>
{% /interactive-block %}

View File

@@ -60,7 +60,7 @@ XRP Ledgerは、2011年から2012年初頭にかけて、Jed McCaleb、Arthur Br
| XRPの"X"ロゴ | Ripple社のトリスケリオン |
|:-------------------------------------|:-------------------------------------------|
| !["X"ロゴ](assets/img/xrp-x-logo.png) | ![トリスケリオン](/img/ripple-triskelion.png) |
| !["X"ロゴ](/img/xrp-x-logo.png) | ![トリスケリオン](/img/ripple-triskelion.png) |
### 商標

View File

@@ -2,6 +2,8 @@
html: ledger-data-formats.html
parent: protocol-reference.html
blurb: XRP Ledgerの共有状態を構成する個別のデータオブジェクトについて説明します。
metadata:
indexPage: true
---
# レジャーのデータ型
@@ -16,5 +18,4 @@ XRP Ledgerに各レジャーバージョンは3つの要素で構成されてい
{% partial file="/_snippets/ledger-objects-intro.md" /%}
{% from '_snippets/macros/page-children.md' import page_children with context %}
{{ page_children(pages|selectattr("html", "eq", "ledger-object-types.html")|first, 1, 1, True) }}
{% child-pages /%}

View File

@@ -22,8 +22,8 @@ WebSocketは、クライアントとサーバーが1つの接続を確立し、
- 丸め方によるエラーを発生させることなくXRPの価値を適切に処理するには、64ビット符号なし整数で計算できる数値タイプを使用できる必要があります。このチュートリアルの例では、[big.js](https://github.com/MikeMcl/big.js/)を使用しています。[トークン](../../concepts/tokens/index.md)を使用する場合は、さらに高い精度が求められます。詳細は、[通貨の精度](../../references/protocol/data-types/currency-formats.md#xrpの精度)を参照してください。
<!-- Helper for interactive tutorial breadcrumbs -->
<script type="application/javascript" src="assets/vendor/big.min.js"></script>
<script type="application/javascript" src="assets/js/interactive-tutorial.js"></script>
<script type="application/javascript" src="/vendor/big.min.js"></script>
<script type="application/javascript" src="/js/interactive-tutorial.js"></script>
<script type="application/javascript">
// Helper stuff for this interactive tutorial specifically
@@ -36,9 +36,7 @@ function writeToConsole(console_selector, message) {
</script>
{% set n = cycler(* range(1,99)) %}
## {{n.next()}}. XRP Ledgerへの接続
## 1. XRP Ledgerへの接続
着信ペイメントを監視する最初のステップとして、XRP Ledger、つまり`rippled`サーバーに接続します。
@@ -75,13 +73,15 @@ const socket = new WebSocket('ws://localhost:6006')
例:
{{ start_step("Connect") }}
{% interactive-block label="Connect" steps=$frontmatter.steps %}
<button id="connect-socket-button" class="btn btn-primary">Connect</button>
<strong>Connection status:</strong>
<span id="connection-status">Not connected</span>
<h5>Console:</h5>
<div class="ws-console" id="monitor-console-connect"><span class="placeholder">(Log is empty)</span></div>
{{ end_step() }}
{% /interactive-block %}
<script type="application/javascript">
let socket;
@@ -113,7 +113,7 @@ $("#connect-socket-button").click((event) => {
</script>
## {{n.next()}}. ハンドラーへの着信メッセージのディスパッチ
## 2. ハンドラーへの着信メッセージのディスパッチ
WebSocket接続では、複数のメッセージをどちらの方向にも送信することが可能で、リクエストとレスポンスの間に厳密な1:1の相互関係がないため、各着信メッセージに対応する処理を識別する必要があります。この処理をコーディングする際の優れたモデルとして、「ディスパッチャー」関数の設定が挙げられます。この関数は着信メッセージを読み取り、各メッセージを正しいコードのパスに中継して処理します。メッセージを適切にディスパッチできるように、`rippled`サーバーでは、すべてのWebSocketメッセージで`type`フィールドを使用できます。
@@ -190,12 +190,14 @@ async function pingpong() {
pingpong()
```
{{ start_step("Dispatch Messages") }}
{% interactive-block label="Dispatch Messages" steps=$frontmatter.steps %}
<button id="enable_dispatcher" class="btn btn-primary" disabled="disabled">Enable Dispatcher</button>
<button id="dispatch_ping" class="btn btn-primary" disabled="disabled">Ping!</button>
<h5>Responses</h5>
<div class="ws-console" id="monitor-console-ping"><span class="placeholder">(Log is empty)</span></div>
{{ end_step() }}
{% /interactive-block %}
<script type="application/javascript">
const AWAITING = {}
@@ -259,7 +261,7 @@ $("#dispatch_ping").click((event) => {
})
</script>
## {{n.next()}}. アカウントのサブスクライブ
## 3. アカウントのサブスクライブ
トランザクションがアカウントに影響を及ぼすたびに即座に通知を取得するには、[subscribeメソッド][]を使用してアカウントをサブスクライブします。実際には、このアカウントはあなた自身のアカウントでなくてもかまいません。すべてのトランザクションは公開されているため、任意のアカウントで、または複数のアカウントでもサブスクライブできます。
@@ -293,13 +295,15 @@ WS_HANDLERS["transaction"] = log_tx
以下の例では、別のウィンドウまたは別のデバイスで[Transaction Sender](/resources/dev-tools/tx-sender)を開くことと、サブスクライブしているアドレスへのトランザクションの送信を試みます。
{{ start_step("Subscribe") }}
{% interactive-block label="Subscribe" steps=$frontmatter.steps %}
<label for="subscribe_address">Test Net Address:</label>
<input type="text" class="form-control" id="subscribe_address" value="rUCzEr6jrEyMpjhs4wSdQdz4g8Y382NxfM">
<button id="tx_subscribe" class="btn btn-primary" disabled="disabled">Subscribe</button>
<h5>Transactions</h5>
<div class="ws-console" id="monitor-console-subscribe"><span class="placeholder">(Log is empty)</span></div>
{{ end_step() }}
{% /interactive-block %}
<script type="application/javascript">
async function do_subscribe() {
@@ -332,7 +336,7 @@ const log_tx = function(tx) {
WS_HANDLERS["transaction"] = log_tx
</script>
## {{n.next()}}. 着信ペイメントの読み取り
## 4. 着信ペイメントの読み取り
アカウントをサブスクライブすると、 _アカウントへのすべてのトランザクションとアカウントからのすべてのトランザクション_ 、および _アカウントに間接的に影響を及ぼすトランザクション_ に関するメッセージが表示されます。この例として、[トークン](../../concepts/tokens/index.md)の取引があります。アカウントが着信ペイメントを受け取った日時を認識することを目的とする場合、トランザクションストリームを絞り込んで、実際に支払われた額に基づいて支払いを処理する必要があります。以下の情報を探します。
@@ -364,11 +368,13 @@ WS_HANDLERS["transaction"] = log_tx
{% code-snippet file="/_code-samples/monitor-payments-websocket/js/read-amount-received.js" language="js" /%}
{{ start_step("Read Payments") }}
{% interactive-block label="Read Payments" steps=$frontmatter.steps %}
<button id="tx_read" class="btn btn-primary" disabled="disabled">Start Reading</button>
<h5>Transactions</h5>
<div class="ws-console" id="monitor-console-read"><span class="placeholder">(Log is empty)</span></div>
{{ end_step() }}
{% /interactive-block %}
<script type="application/javascript">
function CountXRPDifference(affected_nodes, address) {

View File

@@ -10,6 +10,7 @@ labels:
- 支払い
- XRP
top_nav_grouping: 人気ページ
steps: ['Generate', 'Connect', 'Prepare', 'Sign', 'Submit', 'Wait', 'Check']
---
# XRPの送金
@@ -18,8 +19,8 @@ top_nav_grouping: 人気ページ
## 前提条件
<!-- このチュートリアルのインタラクティブ部分のソースコード: -->
<script type="application/javascript" src="assets/js/tutorials/send-xrp.js"></script>
{% set use_network = "Testnet" %}
<script type="application/javascript" src="/js/interactive-tutorial.js"></script>
<script type="application/javascript" src="/js/tutorials/send-xrp.js"></script>
- このページでは、xrpl.jsライブラリーを使用するJavaScriptの例を紹介します。[xrpl.js入門ガイド](get-started-using-javascript.md)に、xrpl.jsを使用してJavaScriptからXRP Ledgerデータにアクセスする方法の説明があります。
@@ -28,9 +29,8 @@ top_nav_grouping: 人気ページ
{% partial file="/_snippets/interactive-tutorials/generate-step.md" /%}
## Testnetでの送金
{% set n = cycler(* range(1,99)) %}
### {{n.next()}}. Testnetサーバーへの接続
### 1. Testnetサーバーへの接続
必須の自動入力可能フィールドに入力されるようにするために、ripple-libを、アカウントの現在のステータスと共有レジャー自体を取得できるサーバーに接続する必要があります。セキュリティを高めるために、トランザクションの署名はオフライン中に行うことを推奨します。ただしその場合は、自動入力可能フィールドに手動で入力する必要があります。トランザクションの送信先となるネットワークに接続する必要があります。
@@ -58,7 +58,7 @@ top_nav_grouping: 人気ページ
{% partial file="/_snippets/interactive-tutorials/connect-step.md" /%}
### {{n.next()}}. トランザクションの準備
### 2. トランザクションの準備
通常は、XRP LedgerトランザクションをオブジェクトとしてJSON[トランザクションフォーマット](../../references/protocol/transactions/index.md)で作成します。以下の例に、必要最小限の送金仕様を示します。
@@ -96,7 +96,8 @@ XRP送金に対して指定する必要がある必要最小限の指示は次
{% /tabs %}
{{ start_step("Prepare") }}
{% interactive-block label="Prepare" steps=$frontmatter.steps %}
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">送金する額:</span>
@@ -110,9 +111,10 @@ XRP送金に対して指定する必要がある必要最小限の指示は次
</div>
<button id="prepare-button" class="btn btn-primary previous-steps-required">サンプルトランザクションを準備する</button>
<div class="output-area"></div>
{{ end_step() }}
### {{n.next()}}. トランザクションの指示への署名
{% /interactive-block %}
### 3. トランザクションの指示への署名
xrpl.jsの[Wallet.sign()メソッド](https://js.xrpl.org/classes/Wallet.html#sign)を使用して、トランザクションに署名します。最初の引数は、署名するJSONトランザクションの文字列バージョンです。
@@ -137,13 +139,15 @@ xrpl.jsの[Wallet.sign()メソッド](https://js.xrpl.org/classes/Wallet.html#si
署名APIは、トランザクションのID、つまり識別用ハッシュを返します。この識別用ハッシュは、後でトランザクションを検索する際に使用します。識別用ハッシュは、このトランザクションに固有の64文字の16進文字列です。
{{ start_step("Sign") }}
{% interactive-block label="Sign" steps=$frontmatter.steps %}
<button id="sign-button" class="btn btn-primary previous-steps-required">サンプルトランザクションに署名する</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. 署名済みブロブの送信
### 4. 署名済みブロブの送信
トランザクションをネットワークに送信します。
@@ -174,13 +178,17 @@ xrpl.jsの[Wallet.sign()メソッド](https://js.xrpl.org/classes/Wallet.html#si
他の可能性については、[トランザクション結果](../../references/protocol/transactions/transaction-results/transaction-results.md)の完全なリストを参照してください。
{{ start_step("Submit") }}
<button id="submit-button" class="btn btn-primary previous-steps-required" data-tx-blob-from="#signed-tx-blob" data-wait-step-name="Wait">サンプルトランザクションを送信する</button>
<div class="loader collapse"><img class="throbber" src="assets/img/xrp-loader-96.png"> 送信中...</div>
<div class="output-area"></div>
{{ end_step() }}
{% interactive-block label="Submit" steps=$frontmatter.steps %}
### {{n.next()}}. 検証の待機
<button id="submit-button" class="btn btn-primary previous-steps-required" data-tx-blob-from="#signed-tx-blob" data-wait-step-name="Wait">サンプルトランザクションを送信する</button>
{% loading-icon message=" 送信中..." /%}
<div class="output-area"></div>
{% /interactive-block %}
### 5. 検証の待機
ほとんどのトランザクションは送信後の次のレジャーバージョンに承認されます。つまり、47秒でトランザクションの結果が最終的なものになる可能性があります。XRP Ledgerがビジーになっているか、ネットワーク接続の品質が悪いためにトランザクションをネットワーク内で中継する処理が遅延した場合は、トランザクション確定までにもう少し時間がかかることがあります。トランザクションの有効期限を設定する方法については、[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください。)
@@ -200,12 +208,10 @@ xrpl.jsの[Wallet.sign()メソッド](https://js.xrpl.org/classes/Wallet.html#si
{% /tabs %}
{{ start_step("Wait") }}
{% partial file="/_snippets/interactive-tutorials/wait-step.md" /%}
{{ end_step() }}
### {{n.next()}}. トランザクションステータスの確認
### 6. トランザクションステータスの確認
トランザクションが行った内容を正確に把握するために、トランザクションが検証済みレジャーバージョンに記録されたときにトランザクションの結果を調べる必要があります。例えば、[txメソッド][]を使用して、トランザクションのステータスを確認できます。
@@ -228,10 +234,12 @@ xrpl.jsの[Wallet.sign()メソッド](https://js.xrpl.org/classes/Wallet.html#si
**注意:** APIは、まだ検証されていないレジャーバージョンからの暫定的な結果を返す場合があります。例えば、`rippled` APIの[txメソッド][]を使用した場合は、レスポンス内の`"validated": true`を探して、データが検証済みレジャーバージョンからのものであることを確認してください。検証済みレジャーバージョンからのものではないトランザクション結果は、変わる可能性があります。詳細は、[結果のファイナリティー](../../concepts/transactions/finality-of-results/index.md)を参照してください。
{{ start_step("Check") }}
{% interactive-block label="Check" steps=$frontmatter.steps %}
<button id="get-tx-button" class="btn btn-primary previous-steps-required">トランザクションステータスを確認する</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
## 本番環境の場合の相違点

View File

@@ -28,9 +28,7 @@ labels:
## 手順
{% set n = cycler(* range(1,99)) %}
### {{n.next()}}. トランザクションJSONの作成
### 1. トランザクションJSONの作成
アカウントから、`"SetValue": 4`のフィールドを持つ[AccountSet トランザクション][]を準備します。これは AccountSet フラグ "Disable Master" (`asfDisableMaster`) に対応する値です。このトランザクションの他の必須フィールドは、必須の[共通フィールド](../../references/protocol/transactions/common-fields.md)のみです。例えば、[自動入力可能なフィールド](../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) を省けば、以下のトランザクション指示で十分である。
@@ -44,7 +42,7 @@ labels:
**ヒント:** [予測可能な時間内にトランザクションの結果を確実に得る](../../concepts/transactions/reliable-transaction-submission.md)ために、`LastLedgerSequence`フィールドも提供することが強く推奨されています。
### {{n.next()}}. トランザクションへの署名
### 2. トランザクションへの署名
トランザクションの署名には、**マスターキーペア**を使用する必要があります。
@@ -182,7 +180,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
レスポンスに含まれる `tx_blob` の値をメモしておきます。これはネットワークに送信できる署名済みトランザクションバイナリである。
### {{n.next()}}. トランザクションの送信
### 3. トランザクションの送信
前のステップで署名されたトランザクションblobをXRP Ledgerに提出します。
@@ -308,11 +306,11 @@ Loading: "/etc/opt/ripple/rippled.cfg"
トランザクションが `tecNO_ALTERNATIVE_KEY` という結果で失敗した場合、あなたのアカウントでは現在トランザクションを認証するための別の方法が有効になっていません。[レギュラーキーペアを割り当てる](assign-a-regular-key-pair.md)か [マルチシグを設定](set-up-multi-signing.md) した後、再度マスターキーペアの無効化を試してみてください。
### {{n.next()}}. 検証の待機
### 4. 検証の待機
{% partial file="/_snippets/wait-for-validation.md" /%}
### {{n.next()}}. アカウントフラグの確認
### 5. アカウントフラグの確認
[account_infoメソッド][]で、アカウントのマスターキーが無効になっていることを確認します。以下のパラメータを必ず指定してください。

View File

@@ -26,9 +26,7 @@ labels:
## 手順
{% set n = cycler(* range(1,99)) %}
### {{n.next()}}. オフラインマシンの設定
### 1. オフラインマシンの設定
オフラインマシンには、安全な永続ストレージ(暗号化されたディスクドライブなど)と[トランザクションに署名する](../../concepts/transactions/secure-signing.md)ための方法が必要です。一般的には、必要なソフトウェアをオンラインマシンでダウンロードして、物理メディアを使ってオフラインマシンに転送します。オンラインマシン、物理メディア、ソフトウェア自体がマルウェアに感染していないことを確認する必要があります。
@@ -40,7 +38,7 @@ XRP Ledgerで署名するためのソフトウェアオプションは次のと
オフラインマシンでトランザクションの指示を生成するプロセスを容易にするために、カスタムソフトウェアを設定することもできます。例えば、ソフトウェアで次に使用する[シーケンス番号][]を追跡したり、送信するトランザクションのタイプに応じた設定済みテンプレートを含めるといったことが可能です。
### {{n.next()}}.暗号鍵の生成
### 2.暗号鍵の生成
**オフラインマシン**で、アカウントで使用する[暗号鍵](../../concepts/accounts/cryptographic-keys.md)のペアを生成します。鍵は、単純なパスフレーズやエントロピーが十分でないその他のソースから生成するのではなく、安全なランダム手続きで生成してください。(例えば、`rippled`の[wallet_proposeメソッド][]を使用することができます。)
@@ -79,7 +77,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
### {{n.next()}}.新しいアドレスへの資金の供給
### 3.新しいアドレスへの資金の供給
オンラインマシンから、ステップ1でメモした**アカウントアドレス** に十分なXRPを送金します。詳細は、[アカウントの作成](../../concepts/accounts/accounts.md#アカウントの作成)を参照してください。
@@ -87,7 +85,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
### {{n.next()}}.アカウントの詳細の確認
### 4.アカウントの詳細の確認
前のステップからのトランザクションがコンセンサスにより検証されたら、アカウントが作成されたことになります。オンラインマシンから、[account_infoメソッド][]を使用して、アカウントのステータスを確認します。レスポンスに`"validated": true`が含まれていることを確認し、この結果が最終的なものであることを確認します。
@@ -126,7 +124,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
{% /tabs %}
### {{n.next()}}.オフラインマシンでのシーケンス番号の入力
### 5.オフラインマシンでのシーケンス番号の入力
オフラインマシンでアカウントの開始シーケンス番号を保存します。オフラインマシンを使用してトランザクションを準備するときは、必ずこの保存されたシーケンス番号を使用し、シーケンス番号を1増やして、新しい値を保存します。
@@ -136,7 +134,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
### {{n.next()}}.初期設定トランザクションの署名(ある場合)
### 6.初期設定トランザクションの署名(ある場合)
オフラインマシンで、アカウントの設定用のトランザクションを準備して署名します。詳細は、アカウントを使用する目的によって異なります。例えば次のようなことができます。
@@ -187,13 +185,13 @@ Loading: "/etc/opt/ripple/rippled.cfg"
一定の時間内に _すべて_ のトランザクションで最終結果が得られるように、[`LastLedgerSequence`](../../concepts/transactions/reliable-transaction-submission.md#lastledgersequence)フィールドに入力してください。この値は、現行のレジャーインデックス(オンラインマシンから検索する必要がある)と、トランザクションを有効に保つ時間に基づいたものである必要があります。オンラインマシンからオフラインマシンへ、オフラインマシンからオンラインマシンへ切り替える時間を取れるだけの十分に大きな`LastLedgerSequence`値を設定するようにしてください。例えば、現行のレジャーインデックスより256大きな値では、トランザクションは約15分間有効になります。詳細は、[結果のファイナリティー](../../concepts/transactions/finality-of-results/index.md)と[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください。
### {{n.next()}}.オンラインマシンへのトランザクションのコピー
### 7.オンラインマシンへのトランザクションのコピー
トランザクションに署名したら、次のステップは署名済みのトランザクションデータをオンラインマシンに入れることです。その方法の例については、[前提条件](#前提条件)を参照してください。
### {{n.next()}}.設定したトランザクションの送信
### 8.設定したトランザクションの送信
次のステップはトランザクションの送信です。ほとんどのトランザクションは、送信後の次の検証済みレジャー約4秒後、またはキューに入っている場合はその後のレジャー10秒未満で最終結果が得られるはずです。トランザクションの最終結果を追跡する詳細な手順については、[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください。
@@ -238,7 +236,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
[最終的でない結果](../../concepts/transactions/finality-of-results/index.md)が得られて失敗したトランザクションの送信をやり直します。同じトランザクションが2回以上処理される可能性はありません。
### {{n.next()}}.トランザクションの最終ステータスの確認
### 9.トランザクションの最終ステータスの確認
送信した各トランザクションについて、トランザクションの[最終結果](../../concepts/transactions/finality-of-results/index.md)をメモします。例えば、[txメソッド][]を使用します。例:
@@ -311,7 +309,7 @@ Loading: "/etc/opt/ripple/rippled.cfg"
### {{n.next()}}.オフラインマシンのステータスの調整
### 10.オフラインマシンのステータスの調整
オフラインマシンに戻り、カスタムサーバーに保存されている設定に必要な変更を加えます。例えば次のような変更です。

View File

@@ -14,9 +14,9 @@ labels:
## 前提条件
<!-- Source for this specific tutorial's interactive bits: -->
<script type="application/javascript" src="assets/js/tutorials/use-tickets.js"></script>
{% set use_network = "Devnet" %}<!--TODO: change to Testnet eventually. NOTE, Testnet is a few days behind Mainnet in getting the amendment one enabled -->
<!-- Source for this tutorial's interactive bits: -->
<script type="application/javascript" src="/js/interactive-tutorial.js"></script>
<script type="application/javascript" src="/js/tutorials/use-tickets.js"></script>
このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](../get-started/get-started-using-javascript.md)をご覧ください。
@@ -25,7 +25,6 @@ JavaScriptはWebブラウザ上で動作するため、セットアップなし
## 手順
{% set n = cycler(* range(1,99)) %}
このチュートリアルはいくつかの段階に分かれています。
@@ -34,7 +33,7 @@ JavaScriptはWebブラウザ上で動作するため、セットアップなし
- (任意) **休憩:** チケットを作成した後、以下のステップの前、中、後にいつでも様々な他のトランザクションを送信することができます。
- (Steps 7-10) **チケットの使用:** 設定されているチケットのうち1枚を使ってトランザクションを送信します。使用するチケットが1枚でも残っていれば、前の部分を飛ばしてこの手順を繰り返すことができます。
### {{n.next()}}. クレデンシャルの入手
### 1. クレデンシャルの入手
XRP Ledgerでトランザクションを送信するには、アドレスと秘密鍵、そしてXRPが必要です。開発用には、[{{use_network}}](../../concepts/networks-and-servers/parallel-networks.md)で以下のようなインターフェースを使ってこれらを入手することができます。
@@ -43,7 +42,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
[本番環境のソフトウェアを作成する場合](/tutorials)には、既存のアカウントを使用し、[安全な署名](../../concepts/transactions/secure-signing.md)を使用して鍵を管理する必要があります。
### {{n.next()}}. ネットワークへの接続
### 2. ネットワークへの接続
トランザクションをネットワークに送信するには、ネットワークに接続している必要があります。チケットは今のところDevnetでしか利用できないので、Devnetサーバーに接続する必要があります。例えば、以下のようになります。
@@ -62,7 +61,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
{% partial file="/_snippets/interactive-tutorials/connect-step.md" /%}
### {{n.next()}}. シーケンス番号の確認
### 3. シーケンス番号の確認
チケットを作成する前に、自分のアカウントの[シーケンス番号][]を確認しておきましょう。次のステップのために現在のシーケンス番号が必要であり、設定されるチケットのシーケンス番号はこの番号から始まります。
@@ -74,15 +73,19 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
{% /tabs %}
{{ start_step("Check Sequence") }}
{% interactive-block label="Check Sequence" steps=$frontmatter.steps %}
<button id="check-sequence" class="btn btn-primary previous-steps-required">Check Sequence Number</button>
<div class="loader collapse"><img class="throbber" src="assets/img/xrp-loader-96.png">Querying...</div>
{% loading-icon message="Querying..." /%}
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. TicketCreateの準備と署名
### 4. TicketCreateの準備と署名
前のステップで決定したシーケンス番号を使用して、[TicketCreate トランザクション][]を構築します。`TicketCount`フィールドを使って、作成するチケットの枚数を指定します。例えば、10枚のチケットを作成するトランザクションを準備するには、次のようにします。
@@ -97,14 +100,16 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
トランザクションのハッシュと`LastLedgerSequence`の値を記録しておけば、[後で検証されたかどうかを確認](../../concepts/transactions/reliable-transaction-submission.md)することができます。
{{ start_step("Prepare & Sign") }}
{% interactive-block label="Prepare & Sign" steps=$frontmatter.steps %}
<button id="prepare-and-sign" class="btn btn-primary previous-steps-required">Prepare & Sign</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. TicketCreateの提出
### 5. TicketCreateの提出
前のステップで作成した署名付きトランザクションBlobを送信します。例えば、以下のようになります。
@@ -116,14 +121,18 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
{% /tabs %}
{{ start_step("Submit") }}
{% interactive-block label="Submit" steps=$frontmatter.steps %}
<button id="ticketcreate-submit" class="btn btn-primary previous-steps-required" data-tx-blob-from="#tx_blob" data-wait-step-name="Wait">Submit</button>
<div class="loader collapse"><img class="throbber" src="assets/img/xrp-loader-96.png">Sending...</div>
{% loading-icon message="Sending..." /%}
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. 検証の待機
### 6. 検証の待機
ほとんどのトランザクションは、送信された後に次の台帳のバージョンに受け入れられます。つまり、トランザクションの結果が確定するまでに47秒かかることがあります。XRP Ledgerが混雑している場合や、ネットワークの接続性が悪いためにトランザクションがネットワーク全体に中継されない場合は、トランザクションが確定するまでに時間がかかることがあります。(トランザクションの有効期限を設定する方法については、[信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)を参照してください)。
@@ -135,9 +144,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
{% /tabs %}
{{ start_step("Wait") }}
{% partial file="/_snippets/interactive-tutorials/wait-step.md" /%}
{{ end_step() }}
### (任意) 休憩
@@ -146,16 +153,18 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
**ヒント:** 以下のステップの間または途中で、ここに戻ってきてシーケンス取引を送信することができますが、その際、チケット取引の成功を妨げることはありません。
{{ start_step("Intermission") }}
{% interactive-block label="Intermission" steps=$frontmatter.steps %}
<button id="intermission-payment" class="btn btn-primary previous-steps-required">Payment</button>
<button id="intermission-escrowcreate" class="btn btn-primary previous-steps-required">EscrowCreate</button>
<button id="intermission-accountset" class="btn btn-primary previous-steps-required">AccountSet</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. 有効なチケットの確認
### 7. 有効なチケットの確認
チケット付きのトランザクションを送信したい場合、どのチケットシーケンス番号を使用するかを知る必要があります。アカウントを注意深く管理していれば、どのチケットを持っているかはすでにわかっていると思いますが、よくわからない場合は、[account_objects メソッド][]を使って、利用可能なチケットを調べることができます。例えば、以下のようになります。
@@ -168,14 +177,16 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘
{% /tabs %}
{{ start_step("Check Tickets") }}
{% interactive-block label="Check Tickets" steps=$frontmatter.steps %}
<button id="check-tickets" class="btn btn-primary previous-steps-required">Check Tickets</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
**ヒント:** チケットが残っている限り、ここから最後まで同じ手順を繰り返すことができます。
### {{n.next()}}. チケット付きトランザクションの準備
### 8. チケット付きトランザクションの準備
チケットが利用できるようになったので、それを使用するトランザクションを準備します。
@@ -196,17 +207,19 @@ TicketCreateトランザクションをすぐに送信する予定がない場
- **`rippled`:** 用意された指示から`LastLedgerSequence`を省略します。サーバーはデフォルトでは値を提供しません。
{% /admonition %}
{{ start_step("Prepare Ticketed Tx") }}
{% interactive-block label="Prepare Ticketed Tx" steps=$frontmatter.steps %}
<div id="ticket-selector">
<h4>Select a Ticket:</h4>
<div class="form-area"></div>
</div>
<button id="prepare-ticketed-tx" class="btn btn-primary previous-steps-required">Prepare Ticketed Transaction</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. チケット付きトランザクションの送信
### 9. チケット付きトランザクションの送信
前のステップで作成した署名付きトランザクションBlobを送信します。例えば、以下のようになります。
@@ -218,19 +231,19 @@ TicketCreateトランザクションをすぐに送信する予定がない場
{% /tabs %}
{{ start_step("Submit Ticketed Tx") }}
{% interactive-block label="Submit Ticketed Tx" steps=$frontmatter.steps %}
<button id="ticketedtx-submit" class="btn btn-primary previous-steps-required" data-tx-blob-from="#tx_blob_t" data-wait-step-name="Wait Again">Submit</button>
<div class="output-area"></div>
{{ end_step() }}
{% /interactive-block %}
### {{n.next()}}. 検証の待機
### 10. 検証の待機
チケット付きトランザクションは、シーケンス付きトランザクションと同じようにコンセンサスプロセスを経ます。
{{ start_step("Wait Again") }}
{% partial file="/_snippets/interactive-tutorials/wait-step.md" /%}
{{ end_step() }}
{% partial file="/_snippets/interactive-tutorials/wait-step.md" variables={label: "Wait Again"} /%}
## マルチシグで使用する