mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-21 04:05:49 +00:00
translate ticket page
This commit is contained in:
@@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
html: tickets.html
|
||||||
|
parent: accounts.html
|
||||||
|
blurb: トランザクションを非連続的な順序で送信する
|
||||||
|
labels:
|
||||||
|
- アカウント
|
||||||
|
- トランザクション送信
|
||||||
|
---
|
||||||
|
# Ticket
|
||||||
|
|
||||||
|
_([TicketBatch amendment][]が必要です。)_
|
||||||
|
|
||||||
|
XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引のために[シーケンス番号][Sequence Number]を確保する方法です。チケットを使うことで、通常の順序以外で取引を送信することができます。この使用例としては、必要な署名を集めるのに時間がかかるような[マルチサイン取引](multi-signing.html)などが挙げられます。
|
||||||
|
|
||||||
|
## 背景
|
||||||
|
|
||||||
|
[トランザクション](transaction-basics.html)にはシーケンス番号が付いているので、任意のトランザクションを2回以上実行することはできません。シーケンス番号はまた、任意のトランザクションが一意であることを保証します。全く同じ金額を同じ人に複数回送信する場合、シーケンス番号は毎回異なることが保証される1つの詳細です。最後に、シーケンス番号は、ネットワーク全体に送信される際に一部のトランザクションが順不同で届いたとしても、トランザクションを一貫した順序で並べるためのエレガントな方法を提供します。
|
||||||
|
|
||||||
|
しかし、シーケンス番号では限界がある場合もあります。たとえば、次のような場合です。
|
||||||
|
|
||||||
|
- 2人以上のユーザーがアカウントへのアクセスを共有し、それぞれが独立してトランザクションを送信することができる状態。これらのユーザーが事前に調整することなく同時期に取引を送信しようとすると、それぞれが同じシーケンス番号を異なる取引に使用しようとする可能性があり、成功するのは1人だけです。
|
||||||
|
- トランザクションを事前に準備して署名し、安全な場所に保存しておいて、特定のイベントが発生したときにいつでも実行できるようにしておきたい場合があります。しかし、その間も通常通りにアカウントを使用したい場合、準備しておくトランザクションに使用するシーケンス番号がわかりません。 <!-- STYLE_OVERRIDE: will -->
|
||||||
|
- トランザクションを有効にするために[複数人が署名しなければならない](multi-signing.html)場合、一度に複数のトランザクションを計画するのは難しいでしょう。トランザクションに別々のシーケンス番号をつけると、全員が前のトランザクションに署名するまで、後の番号のトランザクションを送信することができません。しかし、保留中のトランザクションに同じシーケンス番号を使用すると、1つのトランザクションのみ成功します。
|
||||||
|
|
||||||
|
チケットでは、これらの問題を解決するために、通常の順番とは別に、後からでも(ただし、それぞれ1回まで)使用可能なシーケンス番号を用意しています。
|
||||||
|
|
||||||
|
|
||||||
|
## チケットは予約済みのシーケンス番号
|
||||||
|
|
||||||
|
チケットとは、あるシーケンス番号が後に使用されるために確保されたという記録です。アカウントは、まず[TicketCreate トランザクション][]を送信して、1つまたは複数のシーケンス番号をチケットとして確保します。これにより、[台帳の状態データ](ledgers.html)に、予約された各シーケンス番号について[Ticket オブジェクト][]の形で記録が残されます。
|
||||||
|
|
||||||
|
チケットには、チケット作成時に設定されたシーケンス番号が使用されます。例えば、あなたのアカウントの現在のシーケンス番号が101で、3枚のチケットを作成した場合、それらのチケットにはチケットシーケンス番号102、103、104が付けられます。これにより、あなたのアカウントのシーケンス番号は105になります。
|
||||||
|
|
||||||
|
{{ include_svg("img/ticket-creation.svg", "Diagram: Creating three Tickets") }}
|
||||||
|
|
||||||
|
後から、シーケンス番号の代わりに特定のチケットを使用してトランザクションを送信することができます。これにより、元帳の状態データから対応するチケットが削除され、アカウントの通常のシーケンス番号は変更されません。また、チケットを使用せずに、通常のシーケンス番号を使用してトランザクションを送信することもできます。利用可能なチケットは、いつでもどのような順番でも使用できますが、各チケットは1回しか使用できません。
|
||||||
|
|
||||||
|
{{ include_svg("img/ticket-usage.svg", "Diagram: Using Ticket 103.") }}
|
||||||
|
|
||||||
|
上記の例では、シーケンス番号105または作成した3つのチケットのいずれかを使用してトランザクションを送信できます。チケット103を使ってトランザクションを送信すると、それによってチケット103は元帳から削除されます。その後の次のトランザクションでは、シーケンス番号105、チケット102、またはチケット104を使用できます。
|
||||||
|
|
||||||
|
**注意:** チケットは1枚ごとに[所有者準備金](reserves.html#所有者準備金)としてカウントされますので、チケット1枚につき2XRPを確保する必要があります。 (このXRPは、チケットを使用した後に再び使用可能になります)一度に多くのチケットを作成すると、このコストはすぐに膨れ上がります。
|
||||||
|
|
||||||
|
シーケンス番号と同様に、トランザクションの送信は、そのトランザクションが[コンセンサス](consensus.html)によって確認された場合にのみ、チケットを使用します。しかし、意図した通りにならなかった取引でも、[`tec`クラスの結果コード](tec-codes.html)を用いてコンセンサスで確認することができます。
|
||||||
|
|
||||||
|
あるアカウントで利用可能なチケットを調べるには、[account_objects メソッド][]を使用します。
|
||||||
|
|
||||||
|
## 制約事項
|
||||||
|
|
||||||
|
どのアカウントでも、どのような種類の取引でもチケットを作成し、使用することができます。ただし、いくつかの制限があります。
|
||||||
|
|
||||||
|
- 各チケットは一度しか使用できません。同じチケットシーケンスを使用する複数の異なるトランザクション候補があることは可能ですが、コンセンサスで検証できるのはそのうちの1つだけです。
|
||||||
|
- 各アカウントでは、一度に250枚以上のチケットをレジャーに登録することはできません。また、一度に250枚以上のチケットを作成することもできません。
|
||||||
|
- チケットを使って別のチケットを作ることは_できます_。その場合、使用したチケットは、一度に所持できるチケットの合計数にはカウントされません。
|
||||||
|
- 各チケットは[所有者準備金](eserves.html#所有者準備金)にカウントされるため、まだ使用していないチケット1枚につき2XRPを確保する必要があります。このXRPは、チケットを使用した後、再び使用することができます。
|
||||||
|
- 個々の元帳の中では、チケットを使用した取引は、同じ送信者からの他の取引の後に実行されます。1つのアカウントが同じ元帳のバージョンでTicketを使用する複数のトランザクションを持つ場合、それらのTicketは最も低いTicket Sequenceから最も高いTicket Sequenceの順に実行されます。 (詳細については、コンセンサスの[正規順序](consensus.html#xrp-ledgerプロトコル-コンセンサスと検証)に関するドキュメントを参照してください)。
|
||||||
|
- 個々の元帳の中では、チケットを使用した取引は、同じ送信者からの他の取引の後に実行されます。1つのアカウントが同じ元帳のバージョンでチケットを使用する複数のトランザクションを持つ場合、それらのチケットは最も低いチケット シーケンス番号から最も高いチケット シーケンス番号の順に実行されます。 (詳細については、コンセンサスの[正規順序](consensus.html#xrp-ledgerプロトコル-コンセンサスと検証)に関するドキュメントを参照してください)。
|
||||||
|
|
||||||
|
## 関連項目
|
||||||
|
|
||||||
|
|
||||||
|
- **Concepts:**
|
||||||
|
- [マルチ署名](multi-signing.html)
|
||||||
|
- **Tutorials:**
|
||||||
|
- [チケットを使用する](use-tickets.html)
|
||||||
|
- **References:**
|
||||||
|
- [TicketCreate トランザクション][]
|
||||||
|
- [トランザクションの共通フィールド](transaction-common-fields.html)
|
||||||
|
- [Ticket オブジェクト](ticket.html)
|
||||||
|
- [account_objects メソッド][]
|
||||||
|
|
||||||
|
<!--{# common link defs #}-->
|
||||||
|
{% include '_snippets/rippled-api-links.md' %}
|
||||||
|
{% include '_snippets/tx-type-links.md' %}
|
||||||
|
{% include '_snippets/rippled_versions.md' %}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
---
|
||||||
|
html: ticket.html
|
||||||
|
parent: ledger-object-types.html
|
||||||
|
blurb: チケットは、将来使用するために確保されたアカウントのシーケンス番号を追跡します。
|
||||||
|
labels:
|
||||||
|
- トランザクション送信
|
||||||
|
---
|
||||||
|
# Ticket
|
||||||
|
|
||||||
|
[[ソース]](https://github.com/ripple/rippled/blob/76a6956138c4ecd156c5c408f136ed3d6ab7d0c1/src/ripple/protocol/impl/LedgerFormats.cpp#L155-L164)
|
||||||
|
|
||||||
|
_([TicketBatch amendment][]が必要です)_
|
||||||
|
|
||||||
|
`Ticket`オブジェクトタイプは、将来の使用のために確保されたアカウント[シーケンス番号][Sequence Number]を追跡する[Ticket](tickets.html)を表します。[TicketCreate トランザクション][]で新しいチケットを作成することができます。[New in: rippled 1.7.0][].
|
||||||
|
|
||||||
|
## {{currentpage.name}} JSONの例
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"Account" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de",
|
||||||
|
"Flags" : 0,
|
||||||
|
"LedgerEntryType" : "Ticket",
|
||||||
|
"OwnerNode" : "0000000000000000",
|
||||||
|
"PreviousTxnID" : "F19AD4577212D3BEACA0F75FE1BA1644F2E854D46E8D62E9C95D18E9708CBFB1",
|
||||||
|
"PreviousTxnLgrSeq" : 4,
|
||||||
|
"TicketSequence" : 3
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## {{currentpage.name}}フィールド
|
||||||
|
|
||||||
|
`Ticket`オブジェクトのフィールドは次のとおりです。
|
||||||
|
|
||||||
|
| フィールド | JSONの型 | 内部の型 | 説明 |
|
||||||
|
|:--------------------|:----------|:--------------|:---------------------------|
|
||||||
|
| `LedgerEntryType` | 文字列 | UInt16 | 文字列 `Ticket` にマッピングされた値 `0x0054` は、このオブジェクトが {{currentpage.name}} オブジェクトであることを示しています。 |
|
||||||
|
| `Account` | 文字列 | AccountID | このチケットを所有する[アカウント](accounts.html)です。 |
|
||||||
|
| `Flags` | Number | UInt32 | ブール値フラグのビットマップ。Ticketにはフラグが定義されていないため、この値は常に0です。 |
|
||||||
|
| `OwnerNode` | 文字列 | UInt64 | 送金元の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。注記: このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 |
|
||||||
|
| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更した[トランザクション](transaction-basics.html)の識別用ハッシュ。 |
|
||||||
|
| `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションを含む[レジャーインデックス][Ledger Index]。 |
|
||||||
|
| `TicketSequence` | 数値 | UInt32 | 本チケットが設定する[シーケンス番号][]。 |
|
||||||
|
|
||||||
|
## {{currentpage.name}} IDのフォーマット
|
||||||
|
|
||||||
|
TicketオブジェクトのIDは、以下の値がこの順序で連結されているSHA-512ハーフです
|
||||||
|
|
||||||
|
* Ticketスペースキー (`0x0054`)
|
||||||
|
* チケットの所有者のアカウントID
|
||||||
|
* チケットの`TicketSequence`
|
||||||
|
|
||||||
|
<!--{# common link defs #}-->
|
||||||
|
{% include '_snippets/rippled-api-links.md' %}
|
||||||
|
{% include '_snippets/tx-type-links.md' %}
|
||||||
|
{% include '_snippets/rippled_versions.md' %}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
html: ticketcreate.html
|
||||||
|
parent: transaction-types.html
|
||||||
|
blurb: チケットとして1つ以上のシーケンス番号を確保する。
|
||||||
|
labels:
|
||||||
|
- Transaction Sending
|
||||||
|
---
|
||||||
|
# TicketCreate
|
||||||
|
|
||||||
|
[[ソース]](https://github.com/ripple/rippled/blob/develop/src/ripple/app/tx/impl/CreateTicket.cpp "Source")
|
||||||
|
|
||||||
|
_([TicketBatch amendment][]が必要です)_
|
||||||
|
|
||||||
|
TicketCreateトランザクションは、1つまたは複数の[シーケンス番号][sequence numbers]を[Tickets](ticket.html)として確保します。
|
||||||
|
|
||||||
|
## {{currentpage.name}}JSONの例
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"TransactionType": "TicketCreate",
|
||||||
|
"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
|
||||||
|
"Fee": "10",
|
||||||
|
"Sequence": 381,
|
||||||
|
"TicketCount": 10
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
{% include '_snippets/tx-fields-intro.md' %}
|
||||||
|
<!--{# fix md highlighting_ #}-->
|
||||||
|
|
||||||
|
| フィールド | JSONの型 | [内部の型][] | 説明 |
|
||||||
|
|:-----------------|:-----------------|:------------------|:-------------------|
|
||||||
|
| `TicketCount` | 数値 | UInt32 | 作成するチケットの枚数。これは正の数でなければならず、このトランザクションの実行の結果、アカウントが250枚以上のチケットを所有することはできません。 |
|
||||||
|
|
||||||
|
トランザクションが要求されたチケット_全て_を作成できない場合(250チケットの制限または[所有者準備金](reservices.html)のいずれかが原因)、失敗してチケットは作成されません。アカウントが現在所有しているチケットの数を調べるには、[account_info メソッド][]を使用して、`account_data.TicketCount`フィールドを確認してください。
|
||||||
|
|
||||||
|
**ヒント:** このトランザクションは、送信アカウントの[シーケンス番号][Sequence Number]を1 _+_ 作成するチケットの数(`TicketCount`)だけ増加させます。この取引は、アカウントのシーケンス番号を1より多く増加させる唯一の取引です。
|
||||||
|
|
||||||
|
## エラーケース
|
||||||
|
|
||||||
|
すべてのトランザクションで発生する可能性のあるエラーに加えて、{{currentpage.name}}トランザクションでは、次の[トランザクション結果コード](transaction-results.html)が発生する可能性があります。
|
||||||
|
|
||||||
|
| エラーコード | 説明 |
|
||||||
|
|:--------------------------|:-------------------------------------------------|
|
||||||
|
| `temINVALID_COUNT` | TicketCount`フィールドが無効です。1から250までの整数でなければなりません。|
|
||||||
|
| `tecDIR_FULL` | この取引により、アカウントが一度に所有するチケットの上限である250枚を超えたり、一般的なレジャーオブジェクトの上限数を超えたりすることになります。 |
|
||||||
|
| `tecINSUFFICIENT_RESERVE` | 送信側のアカウントには、要求されたすべてのチケットの[所有者準備金](reserves.html)を満たすだけのXRPがありません。 |
|
||||||
|
|
||||||
|
<!--{# common link defs #}-->
|
||||||
|
{% include '_snippets/rippled-api-links.md' %}
|
||||||
|
{% include '_snippets/tx-type-links.md' %}
|
||||||
|
{% include '_snippets/rippled_versions.md' %}
|
||||||
261
content/tutorials/manage-account-settings/use-tickets.ja.md
Normal file
261
content/tutorials/manage-account-settings/use-tickets.ja.md
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
---
|
||||||
|
html: use-tickets.html
|
||||||
|
parent: manage-account-settings.html
|
||||||
|
blurb: チケットは、通常のシーケンス順序以外でトランザクションを送信するために使用します。
|
||||||
|
embed_xrpl_js: true
|
||||||
|
filters:
|
||||||
|
- interactive_steps
|
||||||
|
- include_code
|
||||||
|
labels:
|
||||||
|
- アカウント
|
||||||
|
---
|
||||||
|
# チケットの使用
|
||||||
|
|
||||||
|
[チケット](ticket.html)は、通常の順序ではないトランザクションを送信する方法を提供します。このチュートリアルでは、チケットを作成し、それを使って別のトランザクションを送信する手順を説明します。
|
||||||
|
|
||||||
|
## 前提条件
|
||||||
|
|
||||||
|
<!-- 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 -->
|
||||||
|
|
||||||
|
このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](get-started-using-javascript.html)をご覧ください。
|
||||||
|
|
||||||
|
JavaScriptはWebブラウザ上で動作するため、セットアップなしで読み進められ、インタラクティブな手順を利用することができます。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 手順
|
||||||
|
{% set n = cycler(* range(1,99)) %}
|
||||||
|
|
||||||
|
このチュートリアルはいくつかの段階に分かれています。
|
||||||
|
|
||||||
|
- (Steps 1-2) **準備:** XRP Ledgerのアドレスとシークレットが必要です。本番環境では、同じアドレスとシークレットを一貫して使用することができます。このチュートリアルでは、必要に応じて新しいテスト認証情報を生成することができます。また、ネットワークに接続されている必要があります。
|
||||||
|
- (Steps 3-6) **チケットの作成:** トランザクションを送信して、いくつかのチケットを確保します。
|
||||||
|
- (任意) **休憩:** チケットを作成した後、以下のステップの前、中、後にいつでも様々な他のトランザクションを送信することができます。
|
||||||
|
- (Steps 7-10) **チケットの使用:** 設定されているチケットのうち1枚を使ってトランザクションを送信します。使用するチケットが1枚でも残っていれば、前の部分を飛ばしてこの手順を繰り返すことができます。
|
||||||
|
|
||||||
|
### {{n.next()}}. クレデンシャルの入手
|
||||||
|
|
||||||
|
XRP Ledgerでトランザクションを送信するには、アドレスと秘密鍵、そしてXRPが必要です。開発用には、[{{use_network}}](parallel-networks.html)で以下のようなインターフェースを使ってこれらを入手することができます。
|
||||||
|
|
||||||
|
{% include '_snippets/interactive-tutorials/generate-step.md' %}
|
||||||
|
|
||||||
|
[本番環境のソフトウェアを作成する場合](production-readiness.html)には、既存のアカウントを使用し、[安全な署名](set-up-secure-signing.html)を使用して鍵を管理する必要があります。
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. ネットワークへの接続
|
||||||
|
|
||||||
|
トランザクションをネットワークに送信するには、ネットワークに接続している必要があります。チケットは今のところDevnetでしか利用できないので、Devnetサーバーに接続する必要があります。例えば、以下のようになります。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Connect to", end_before="// Get credentials") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
**注記:** このチュートリアルのコードサンプルでは、JavaScriptの[`async`/`await`パターン](https://javascript.info/async-await)を使用しています。`await`は`async`関数の中で使用する必要があるため、残りのコードサンプルはここから始まる`main()`関数の中で続けるように書かれています。なお、`async`/`await`の代わりにPromiseのメソッド`.then()`や`.catch()`を使うこともできます。
|
||||||
|
|
||||||
|
このチュートリアルでは、以下のボタンをクリックして接続します。
|
||||||
|
|
||||||
|
{% include '_snippets/interactive-tutorials/connect-step.md' %}
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. シーケンス番号の確認
|
||||||
|
|
||||||
|
チケットを作成する前に、自分のアカウントの[シーケンス番号][]を確認しておきましょう。次のステップのために現在のシーケンス番号が必要であり、設定されるチケットのシーケンス番号はこの番号から始まります。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Check Sequence", end_before="// Prepare and Sign TicketCreate") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
{{ start_step("Check Sequence") }}
|
||||||
|
<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>
|
||||||
|
<div class="output-area"></div>
|
||||||
|
{{ end_step() }}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. TicketCreateの準備と署名
|
||||||
|
|
||||||
|
前のステップで決定したシーケンス番号を使用して、[TicketCreate トランザクション][]を構築します。`TicketCount`フィールドを使って、作成するチケットの枚数を指定します。例えば、10枚のチケットを作成するトランザクションを準備するには、次のようにします。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Prepare and Sign TicketCreate", end_before="// Submit TicketCreate") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
トランザクションのハッシュと`LastLedgerSequence`の値を記録しておけば、[後で検証されたかどうかを確認](reliable-transaction-submission.html)することができます。
|
||||||
|
|
||||||
|
|
||||||
|
{{ start_step("Prepare & Sign") }}
|
||||||
|
<button id="prepare-and-sign" class="btn btn-primary previous-steps-required">Prepare & Sign</button>
|
||||||
|
<div class="output-area"></div>
|
||||||
|
{{ end_step() }}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. TicketCreateの提出
|
||||||
|
|
||||||
|
前のステップで作成した署名付きトランザクションBlobを送信します。例えば、以下のようになります。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Submit TicketCreate", end_before="// Wait for Validation") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
{{ start_step("Submit") }}
|
||||||
|
<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>
|
||||||
|
<div class="output-area"></div>
|
||||||
|
{{ end_step() }}
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. 検証の待機
|
||||||
|
|
||||||
|
ほとんどのトランザクションは、送信された後に次の台帳のバージョンに受け入れられます。つまり、トランザクションの結果が確定するまでに4~7秒かかることがあります。XRP Ledgerが混雑している場合や、ネットワークの接続性が悪いためにトランザクションがネットワーク全体に中継されない場合は、トランザクションが確定するまでに時間がかかることがあります。(トランザクションの有効期限を設定する方法については、[信頼できるトランザクションの送信](reliable-transaction-submission.html)を参照してください)。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Wait for Validation", end_before="// Check Available") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
{{ start_step("Wait") }}
|
||||||
|
{% include '_snippets/interactive-tutorials/wait-step.md' %}
|
||||||
|
{{ end_step() }}
|
||||||
|
|
||||||
|
|
||||||
|
### (任意) 休憩
|
||||||
|
|
||||||
|
チケットの強みは、チケットを使ったトランザクションの準備をしている間も、アカウントの業務を通常通り行うことができる点にあります。チケットを使用してトランザクションを送信する場合、別のチケットを使用しているものも含め、他のトランザクションの送信と並行して行うことができ、いつでもチケット付きトランザクションを送信することができます。唯一の制約は、1つのチケットは1回しか使用できないということです。
|
||||||
|
|
||||||
|
**ヒント:** 以下のステップの間または途中で、ここに戻ってきてシーケンス取引を送信することができますが、その際、チケット取引の成功を妨げることはありません。
|
||||||
|
|
||||||
|
{{ start_step("Intermission") }}
|
||||||
|
<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() }}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. 有効なチケットの確認
|
||||||
|
|
||||||
|
チケット付きのトランザクションを送信したい場合、どのチケットシーケンス番号を使用するかを知る必要があります。アカウントを注意深く管理していれば、どのチケットを持っているかはすでにわかっていると思いますが、よくわからない場合は、[account_objects メソッド][]を使って、利用可能なチケットを調べることができます。例えば、以下のようになります。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Check Available Tickets", end_before="// Prepare and Sign Ticketed") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
|
||||||
|
{{ start_step("Check Tickets") }}
|
||||||
|
<button id="check-tickets" class="btn btn-primary previous-steps-required">Check Tickets</button>
|
||||||
|
<div class="output-area"></div>
|
||||||
|
{{ end_step() }}
|
||||||
|
|
||||||
|
**ヒント:** チケットが残っている限り、ここから最後まで同じ手順を繰り返すことができます。
|
||||||
|
|
||||||
|
### {{n.next()}}. チケット付きトランザクションの準備
|
||||||
|
|
||||||
|
チケットが利用できるようになったので、それを使用するトランザクションを準備します。
|
||||||
|
|
||||||
|
ここでは、好きな[トランザクションのタイプ](transaction-types.html)を使用することができます。次の例では、何も行わない[AccountSet トランザクション][]を使用していますが、これはレジャーに他の設定を必要としないからです。`Sequence`フィールドを`0`に設定して、利用可能なチケットの1つのチケットシーケンス番号を持つ`TicketSequence`フィールドを含めます。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Prepare and Sign Ticketed", end_before="// Submit Ticketed Transaction") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
> **ヒント:** TicketCreateトランザクションをすぐに送信する予定がない場合は、トランザクションが期限切れにならないように、`LastLedgerSequence`を設定しないようにする必要があります。これを行う方法はライブラリによって異なります。
|
||||||
|
>
|
||||||
|
> - **xrpl.js:** トランザクションの自動入力の際に、`"LastLedgerSequence": null`を指定する。
|
||||||
|
> - **`rippled`:** 用意された指示から`LastLedgerSequence`を省略します。サーバーはデフォルトでは値を提供しません。
|
||||||
|
|
||||||
|
{{ start_step("Prepare Ticketed Tx") }}
|
||||||
|
<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() }}
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. チケット付きトランザクションの送信
|
||||||
|
|
||||||
|
前のステップで作成した署名付きトランザクションBlobを送信します。例えば、以下のようになります。
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_START -->
|
||||||
|
|
||||||
|
_JavaScript_
|
||||||
|
|
||||||
|
{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Submit Ticketed Transaction", end_before="// Wait for Validation (again)") }}
|
||||||
|
|
||||||
|
<!-- MULTICODE_BLOCK_END -->
|
||||||
|
|
||||||
|
{{ start_step("Submit Ticketed Tx") }}
|
||||||
|
<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() }}
|
||||||
|
|
||||||
|
|
||||||
|
### {{n.next()}}. 検証の待機
|
||||||
|
|
||||||
|
チケット付きトランザクションは、シーケンス付きトランザクションと同じようにコンセンサスプロセスを経ます。
|
||||||
|
|
||||||
|
{{ start_step("Wait Again") }}
|
||||||
|
{% include '_snippets/interactive-tutorials/wait-step.md' %}
|
||||||
|
{{ end_step() }}
|
||||||
|
|
||||||
|
## マルチ署名で使用する
|
||||||
|
|
||||||
|
チケットの主な使用例としては、複数の[マルチ署名](multi-signing.html)を並行して集めることができます。チケットを使用することで、複数署名されたトランザクションが完全に署名されて準備が整った時点で、どれが先に準備されるかを気にすることなく送信することができます。
|
||||||
|
|
||||||
|
このシナリオでは、[step8,「チケット付きトランザクションの準備」](#8-prepare-ticketed-transaction)が若干異なります。準備と署名を一度に行うのではなく、[任意のマルチ署名トランザクションの送信](send-a-multi-signed-transaction.html)の手順に従うことになります。まずトランザクションを準備し、次に信頼できる署名者の間でトランザクションを循環させて署名を集め、最後に署名を組み合わせて最終的なマルチ署名トランザクションを作成します。
|
||||||
|
|
||||||
|
複数の異なるトランザクションを処理する場合、それぞれが異なるチケットを使用する限り、この作業を並行して行うことができます。
|
||||||
|
|
||||||
|
|
||||||
|
## 関連項目
|
||||||
|
|
||||||
|
- **Concepts:**
|
||||||
|
- [チケット](tickets.html)
|
||||||
|
- [マルチ署名](multi-signing.html)
|
||||||
|
- **Tutorials:**
|
||||||
|
- [マルチ署名の設定](set-up-multi-signing.html)
|
||||||
|
- [信頼出来るトランザクションの送信](reliable-transaction-submission.html)
|
||||||
|
- **References:**
|
||||||
|
- [account_objects メソッド][]
|
||||||
|
- [sign_for メソッド][]
|
||||||
|
- [submit_multisigned メソッド][]
|
||||||
|
- [TicketCreate トランザクション][]
|
||||||
|
- [トランザクションの共通フィールド](transaction-common-fields.html)
|
||||||
|
|
||||||
|
<!--{# common link defs #}-->
|
||||||
|
{% include '_snippets/rippled-api-links.md' %}
|
||||||
|
{% include '_snippets/tx-type-links.md' %}
|
||||||
|
{% include '_snippets/rippled_versions.md' %}
|
||||||
@@ -321,7 +321,16 @@ pages:
|
|||||||
blurb: Learn more about the XRPL Foundation, dedicated to advancing the development and use of the XRPL.
|
blurb: Learn more about the XRPL Foundation, dedicated to advancing the development and use of the XRPL.
|
||||||
sidebar: disabled
|
sidebar: disabled
|
||||||
targets:
|
targets:
|
||||||
- en
|
- ja
|
||||||
|
|
||||||
|
- name: XRPL財団
|
||||||
|
html: xrpl-foundation.html
|
||||||
|
template: page-xrpl-foundation.html.jinja
|
||||||
|
parent: xrp-ledger-overview.html
|
||||||
|
top_nav_grouping: About
|
||||||
|
blurb: XRPLの開発と利用を促進するためのXRPL財団についてはこちらをご覧ください。
|
||||||
|
sidebar: disabled
|
||||||
|
targets:
|
||||||
- ja
|
- ja
|
||||||
|
|
||||||
- md: faq.md
|
- md: faq.md
|
||||||
@@ -532,6 +541,9 @@ pages:
|
|||||||
- md: concepts/payment-system-basics/accounts/tickets.md
|
- md: concepts/payment-system-basics/accounts/tickets.md
|
||||||
targets:
|
targets:
|
||||||
- en
|
- en
|
||||||
|
|
||||||
|
- md: concepts/payment-system-basics/accounts/tickets.ja.md
|
||||||
|
targets:
|
||||||
- ja
|
- ja
|
||||||
|
|
||||||
- md: concepts/payment-system-basics/accounts/depositauth.md
|
- md: concepts/payment-system-basics/accounts/depositauth.md
|
||||||
@@ -1241,6 +1253,9 @@ pages:
|
|||||||
- md: tutorials/manage-account-settings/use-tickets.md
|
- md: tutorials/manage-account-settings/use-tickets.md
|
||||||
targets:
|
targets:
|
||||||
- en
|
- en
|
||||||
|
|
||||||
|
- md: tutorials/manage-account-settings/use-tickets.ja.md
|
||||||
|
targets:
|
||||||
- ja
|
- ja
|
||||||
|
|
||||||
# TODO: "Use Deposit Authorization to Block Unwanted Payments" (DOC-1555)
|
# TODO: "Use Deposit Authorization to Block Unwanted Payments" (DOC-1555)
|
||||||
@@ -2072,6 +2087,9 @@ pages:
|
|||||||
- md: references/protocol-reference/ledger-data/ledger-object-types/ticket.md
|
- md: references/protocol-reference/ledger-data/ledger-object-types/ticket.md
|
||||||
targets:
|
targets:
|
||||||
- en
|
- en
|
||||||
|
|
||||||
|
- md: references/protocol-reference/ledger-data/ledger-object-types/ticket.ja.md
|
||||||
|
targets:
|
||||||
- ja
|
- ja
|
||||||
|
|
||||||
- md: references/protocol-reference/transactions/transaction-formats.md
|
- md: references/protocol-reference/transactions/transaction-formats.md
|
||||||
@@ -2237,10 +2255,12 @@ pages:
|
|||||||
targets:
|
targets:
|
||||||
- ja
|
- ja
|
||||||
|
|
||||||
# TODO: translate
|
|
||||||
- md: references/protocol-reference/transactions/transaction-types/ticketcreate.md
|
- md: references/protocol-reference/transactions/transaction-types/ticketcreate.md
|
||||||
targets:
|
targets:
|
||||||
- en
|
- en
|
||||||
|
|
||||||
|
- md: references/protocol-reference/transactions/transaction-types/ticketcreate.ja.md
|
||||||
|
targets:
|
||||||
- ja
|
- ja
|
||||||
|
|
||||||
- md: references/protocol-reference/transactions/transaction-types/trustset.md
|
- md: references/protocol-reference/transactions/transaction-types/trustset.md
|
||||||
|
|||||||
Reference in New Issue
Block a user