diff --git a/content/concepts/consensus-network/federated-sidechains.ja.md b/content/concepts/consensus-network/federated-sidechains.ja.md
new file mode 100644
index 0000000000..f6976c4624
--- /dev/null
+++ b/content/concepts/consensus-network/federated-sidechains.ja.md
@@ -0,0 +1,88 @@
+---
+html: federated-sidechains.html
+parent: consensus-network.html
+blurb: サイドチェーンとXRP Ledgerの間で、XRPやその他のトークン(IOU)の形で価値を効率的に移動させることができる、フェデレーションサイドチェーンについてご紹介します。
+labels:
+ - ブロックチェーン
+---
+# フェデレーションサイドチェーン
+
+_フェデレーションサイドチェーンは開発者プレビューとして提供されており、`rippled` 1.8.0を使った開発やテストに使用することができます。_
+
+サイドチェーンとは、独自のコンセンサスアルゴリズムと取引の種類やルールを持つ独立した台帳のことです。独自のブロックチェーンとして機能します。フェデレーションは、XRPや他のトークンの形で、サイドチェーンとXRP Ledger _メインチェーン_(通常はMainnetですが、テスト用に[Testnet or Devnet](parallel-networks.html)にすることもできます)の間で、価値を効率的に移動させることができます。フェデレーションサイドチェーンは、公開メインネットのスピード、効率、スループットを損なうことなく動作します。
+
+フェデレーションサイドチェーンにより、開発者はXRP Ledger技術の基盤を使って新機能や革新的なアプリケーションを立ち上げることができます。サイドチェーンは、特定のユースケースやプロジェクトのニーズに合わせてXRP Ledgerのプロトコルをカスタマイズし、独自のブロックチェーンとして運用することができます。いくつかの例をご紹介します。
+
+* Ethereum Virtual Machine (EVM)、Web Assembly、またはMove VMと互換性のあるエンジンを搭載した、スマートコントラクトレイヤーの構築。例えば、[smart sidechain with Hooks](https://hooks-testnet.xrpl-labs.com/)を有効にする等。
+* 台帳の種類や取引ルールをカスタマイズした独自のアルゴリズムでのステーブルコインの構築。
+* Mainnetの[分散型取引所](decentralized-exchange.html)で取引することが可能な資産を持つ、許可制またはほぼ無許可、中央集権型または大部分が分散型の台帳の構築。
+
+## フェデレーションサイドチェーンのしくみ
+
+サイドチェーンは、独自のコンセンサス・アルゴリズムや取引の種類・ルールを持つ独立した台帳です。各サイドチェーンは独自のサーバーセット(バリデータを含む)によって運営されており、サイドチェーン上の取引についてはMainnet上のバリデータに依存しません。
+
+各サイドチェーンには、サイドチェーン上とメインチェーン上の2つのドアアカウントがあり、サイドチェーン上のフェデレータが管理しています。フェデレータは、この両方のドアアカウントとの間のトランザクションを監視します。
+
+サイドチェーンには、両ネットワークのドア・アカウントを共同で管理する_フェデレータ_がおり、[マルチサイン](multi-signing.html)を用いて、フェデレータの80%が取引を承認しなければなりません。多くの場合、フェデレータはサイドチェーンの信頼できる検証者でもあるべきです。。
+
+ドアアカウントがサイドチェーンまたはメインチェーンのいずれかでトランザクションを受け取ると、フェデレータは他のチェーンでミラートランザクションを作成します。(例えば、メインチェーンの_ドアアカウントにXRPを送信_した場合、フェデレータはサイドチェーンのドアアカウントからXRPを_目的の受信者に送信_するために、サイドチェーンでトランザクションを作成します) フェデレータはそのトランザクションに署名し、お互いにブロードキャストします。同時に、フェデレータは他のフェデレータからの署名付きトランザクションをリッスンし、それを収集します。
+
+フェデレータの80%がトランザクションに署名したら、それを適宜サイドチェーンまたはメインチェーンに提出します。こうすることで、メインチェーンのドアアカウントが持つ資産をサイドチェーンの他の人に割り当てたり、サイドチェーンのドアアカウントが受け取る資産をメインチェーンの他の人に送ったりすることができます。
+
+サイドチェーン内の取引は、サイドチェーン上のサーバーからは見えません。
+
+
+## 用語解説
+
+_サイドチェーン_: XRP Ledgerのサイドチェーンとは、XRP Ledgerの技術をベースにした別のブロックチェーンのことです。_フェデレーター_サイドチェーンは、メインチェーンからサイドチェーンへの資産移転の手段を提供します。サイドチェーンは、XRP Ledgerのプロトコルの完全なコピーを使用することもできますし、[コンセンサス・アルゴリズム](consensus.html)、[トランザクション・タイプ](transaction-types.html)、その他のルールを含む変更を加えることもできます。
+
+_フェデレーター_: サイドチェーン上のサーバーで、メインチェーンとサイドチェーンの両方のトランザクションのトリガーをリッスンします。各フェデレーターは、トランザクションの署名に使用される署名鍵を持っています。トランザクションを送信するには、フェデレータの定足数による署名が必要です。フェデレータは、有効なレスポンス・トランザクションの作成と署名、他のフェデレータからの署名の収集、メイン・チェーンとサイド・チェーンへのトランザクションの送信に責任を負います。
+
+_メインチェーン_: 資産が生まれるブロックチェーンで、サイドチェーンで使用されている間、資産が保持される場所。ほとんどのサイドチェーンでは、メインチェーンはXRP Ledger Mainnet、Testnet、またはDevnetとなっています。
+
+_サイドチェーン_: 一部の資産がメインチェーンに裏付けられているカスタムブロックチェーンです。代理資産はサイドチェーンで発行され、同等の資産はメインチェーンのドアアカウントで保有されます。サイドチェーンはメインチェーンとは別の履歴、ルール、バリデーターを持ちます。サイドチェーン上の代理資産は、メインチェーンに送り返され、フェデレータの管理下からロックを解除することができます。
+
+_ドアアカウント_: フェデレータが管理するアカウントです。ドアアカウントは、メインチェーン上とサイドチェーン上の2つがあります。クロスチェーンの取引は、ユーザーがドアアカウントにアセットを送ることで始まります。メインチェーンからサイドチェーンへの取引では、メインチェーンのドアアカウントの残高が増加し、サイドチェーンのドアアカウントの残高が減少します。ドアと呼ばれるのは、あるチェーンから別のチェーンへと資産を移動させるための仕組みだからです。
+
+_トリガー トランザクション_: フェデレータが新たな応答トランザクションに署名して提出するプロセスを開始するきっかけとなるトランザクションのこと。例えば、メインチェーンのドアアカウントにXRPを送ることは、サイドチェーン上でフェデレータに新しいトランザクションを提出させるトリガーとなるトランザクションです。
+
+_レスポンス トランザクション_: トリガーとなるトランザクションに反応してフェデレータが提出するトランザクション。ほとんどの場合、レスポンス・トランザクションはトリガー・トランザクションと反対側のチェーンで発生する。ただし、失敗したトランザクションを処理するためのいくつかの例外があります。
+
+
+## フェデレーションサイドチェーンのセットアップ方法
+
+フェデレーションサイドチェーンは現在開発者プレビューとして提供されているため、サイドチェーンの可能性を実験的に探ることができます。メインチェーンネットワーク内の[サーバー](the-rippled-server.html)のバージョンが1.8.0以上であれば、サイドチェーンをXRP Ledger Testnet、Devnet、Mainnetに接続することができます。
+
+**注意:** サイドチェーンをXRP Ledger Mainnetに接続することで、少量の開発やテストを行うことができますが、フェデレーションサイドチェーンがリリースされるまでは、本番環境での使用はお勧めできません。
+
+サイドチェーンの設定には、次のような大まかなステップがあります。
+
+1. rippled`のソースコードをクローンして、`sidechain`ブランチをチェックアウトします。https://github.com/ripple/rippled/tree/sidechain。
+2. サイドチェーンのソースコードをカスタマイズします。例えば、カスタムの[トランザクションタイプ](transaction-types.html)を書きたいと思うかもしれません。 これは重要で簡単ではない作業であることに注意してください。
+3. 各サイドチェーン・フェデレーターにはそれぞれ設定ファイルがあり、以下の情報を含むように更新する必要があります。
+ - `[sidechain]` 節 - 署名鍵、メインチェーンアカウント、リッスンするメインチェーンアドレス(IPとポート)などの詳細を追加します。
+ `[sidechain_assets]` 節 - クロスチェーン取引に使用できる資産(XRPまたは[発行されたトークン](issued-currencies.html))、資産の交換レート、デフォルトになる可能性のある取引を阻止するためのオプションの返金ペナルティを定義します。
+ - [sidechain_federators] 節 - 署名に使用されるフェデレータ公開鍵のリスト。このリストは、サイドチェーン上のすべてのフェデレータに共通です。
+4. クロスチェーン取引を可能にするため、ドアアカウントを設定する。これには(両方のチェーンで)以下の手順が必要です。
+ - ドアアカウントの作成と資金調達
+ - ドアアカウントの[署名者リストの設定](set-up-multi-signing.html)
+ - エラー処理のためにの3つの[チケット](tickets.html)の作成
+ - そして最後に、フェデレータがドアアカウントを共同で管理するようにするためのドアアカウントの[マスターキーペアの無効化](disable-master-key-pair.html)
+
+ なお、この最後のステップは、これまでのステップが正常に完了した後に実行することが重要です。
+
+
+_サイドチェーン ローンチキット_は、フェデレーションサイドチェーンの設定を簡素化するコマンドラインツールで、ローカルマシン上でサイドチェーンを素早く立ち上げるのに使用できます。また、ローンチキットは、サイドチェーンとの対話を可能にするインタラクティブなサイドチェーンシェルをインストールします。
+
+[サイドチェーン ローンチキット >](https://github.com/xpring-eng/sidechain-launch-kit/blob/main/README.md)
+
+
+## 関連項目
+
+- **概念:**
+ - [フェデーレーションサイドチェーン ビデオ](https://www.youtube.com/embed/NhH4LM8NxgY)
+
+
+
+
+
diff --git a/content/concepts/payment-system-basics/accounts/tickets.ja.md b/content/concepts/payment-system-basics/accounts/tickets.ja.md
new file mode 100644
index 0000000000..62c052ad8a
--- /dev/null
+++ b/content/concepts/payment-system-basics/accounts/tickets.ja.md
@@ -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人だけです。
+- トランザクションを事前に準備して署名し、安全な場所に保存しておいて、特定のイベントが発生したときにいつでも実行できるようにしておきたい場合があります。しかし、その間も通常通りにアカウントを使用したい場合、準備しておくトランザクションに使用するシーケンス番号がわかりません。
+- トランザクションを有効にするために[複数人が署名しなければならない](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 メソッド][]
+
+
+{% include '_snippets/rippled-api-links.md' %}
+{% include '_snippets/tx-type-links.md' %}
+{% include '_snippets/rippled_versions.md' %}
diff --git a/content/references/protocol-reference/ledger-data/ledger-object-types/ticket.ja.md b/content/references/protocol-reference/ledger-data/ledger-object-types/ticket.ja.md
new file mode 100644
index 0000000000..3d7b73366f
--- /dev/null
+++ b/content/references/protocol-reference/ledger-data/ledger-object-types/ticket.ja.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`
+
+
+{% include '_snippets/rippled-api-links.md' %}
+{% include '_snippets/tx-type-links.md' %}
+{% include '_snippets/rippled_versions.md' %}
diff --git a/content/references/protocol-reference/transactions/transaction-types/ticketcreate.ja.md b/content/references/protocol-reference/transactions/transaction-types/ticketcreate.ja.md
new file mode 100644
index 0000000000..9a6c802283
--- /dev/null
+++ b/content/references/protocol-reference/transactions/transaction-types/ticketcreate.ja.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' %}
+
+
+| フィールド | 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がありません。 |
+
+
+{% include '_snippets/rippled-api-links.md' %}
+{% include '_snippets/tx-type-links.md' %}
+{% include '_snippets/rippled_versions.md' %}
diff --git a/content/tutorials/get-started/get-started-using-javascript.ja.md b/content/tutorials/get-started/get-started-using-javascript.ja.md
new file mode 100644
index 0000000000..f117688ef4
--- /dev/null
+++ b/content/tutorials/get-started/get-started-using-javascript.ja.md
@@ -0,0 +1,174 @@
+---
+html: get-started-using-javascript.html
+parent: get-started.html
+blurb: XRP Ledgerを参照するためのエントリーレベルのJavaScriptアプリケーションを構築します。
+top_nav_name: JavaScript
+top_nav_grouping: Get Started
+filters:
+ - include_code
+labels:
+ - 開発
+showcase_icon: assets/img/logos/javascript.svg
+---
+# JavaScriptを使ってみよう
+
+このチュートリアルでは、JavaScriptまたはTypeScript向けのクライアントライブラリである [`xrpl.js`](https://github.com/XRPLF/xrpl.js/) を使用して、Node.jsまたはウェブブラウザでXRP Ledgerに接続されたアプリケーションを構築するための基本的な手順を説明します。
+
+本ガイドで使用しているスクリプトや設定ファイルは、[本サイトのGitHubリポジトリ]({{target.github_forkurl}}/tree/{{target.github_branch}}/content/_code-samples/get-started/js/)で公開されています。
+
+
+## 学習目標
+
+このチュートリアルでは、以下のことを学びます。
+
+* XRP Ledgerベースのアプリケーションの基本構成要素。
+* xrpl.jsを使ったXRP Ledgerへの接続方法。
+* xrpl.jsを使った[テストネット](xrp-testnet-faucet.html)でのウォレット生成方法。
+* `xrpl.js`ライブラリを使った、XRP Ledgerアカウント情報の検索方法。
+* How to put these steps together to create a simple JavaScript app or web-app.
+
+
+## 前提条件
+
+このチュートリアルを実行するには、JavaScriptでコードを書き、小さなJavaScriptプロジェクトを管理することにある程度慣れている必要があります。ブラウザでは、JavaScriptをサポートする最新のWebブラウザであれば問題なく使用できます。Node.jsでは、**バージョン14**を推奨します。Node.jsのバージョン12と16も定期的にテストされています。
+
+
+## npmを使用したインストール
+
+空のフォルダを作成して新しいプロジェクトを開始し、そのフォルダに移動して[NPM](https://www.npmjs.com/)で最新版のxrpl.jsをインストールします。
+
+```sh
+npm install xrpl
+```
+
+
+## 作り始めましょう
+
+XRP Ledgerを使用する際には、XRPを[ウォレット](wallets.html)に追加したり、[分散型取引所](decentralized-exchange.html)と統合したり、[トークンを発行](issued-currencies.html)したりと、管理しなければならないことがいくつかあります。このチュートリアルでは、これらすべてのユースケースを始めるための共通の基本パターンを説明し、それらを実装するためのサンプルコードを提供します。
+
+多くのXRP Ledgerプロジェクトで使用している手順をご紹介します。
+
+1. [ライブラリのインポート](#1-ライブラリのインポート)
+1. [XRP Ledgerへの接続](#2-xrp-leddgerへの接続)
+1. [ウォレットの作成](#3-ウォレットの作成)
+1. [XRP Ledgerの参照](#4-xrp-ledgerの参照)
+1. [イベントのListen](#5-イベントのlisten)
+
+### 1. ライブラリのインポート
+
+プロジェクトに `xrpl.js` をどのように読み込むかは、開発環境によって異なります。
+
+#### ブラウザ
+
+以下のような`
+```
+
+上記の例のようにCDNからライブラリをロードすることも、リリースをダウンロードして自分のウェブサイトでホストすることもできます。
+
+これは、モジュールを `xrpl` としてトップレベルにロードします。
+
+#### Node.js
+
+[npm](https://www.npmjs.com/)を使って、ライブラリを追加します。これにより、`package.json`ファイルが更新されます。まだ存在していなければ新しいファイルが作成されます。
+
+```sh
+npm install xrpl
+```
+
+その後、ライブラリをインポートします。
+
+```js
+const xrpl = require("xrpl")
+```
+
+
+### 2. XRP Ledgerへの接続
+
+参照や取引を行うには、XRP Ledgerへの接続を確立する必要があります。`xrpl.js`でこれを行うには、`Client`クラスのインスタンスを作成し、`connect()`メソッドを使用します。
+
+**Tip:** `xrpl.js` の多くのネットワーク関数は、[Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)を使って非同期に値を返します。ここで紹介するコードサンプルでは、[`async/await` パターン](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await)を使用して、Promises の実際の結果を待ちます。
+
+{{ include_code("_code-samples/get-started/js/base.js", language="js") }}
+
+#### XRP Ledger メインネットへの接続
+
+前節のサンプルコードでは、利用可能な[並列ネットワーク](parallel-networks.html)の1つであるTestnetに接続する方法を紹介しました。本番環境に移行するには、XRP Ledger Mainnetに接続する必要があります。それには2つの方法があります。
+
+* [コアサーバをインストール](install-rippled.html) (`rippled`)して、自分でノードを動かしてみましょう。コアサーバーはデフォルトではMainnetに接続しますが、設定を変更してTestnetやDevnetを使うこともできます](connect-your-rippled-to-thexrp-test-net.html)。[独自のコアサーバーを運用するのには良い理由があります](the-rippled-server.html#reasons-to-run-your-own-server)。独自のサーバーを走らせた場合、次のようにして接続することができます。
+
+ const MY_SERVER = "ws://localhost:6006/"
+ const client = new xrpl.Client(MY_SERVER)
+ await client.connect()
+
+ デフォルト値の詳細については、[コアサーバー設定ファイル](https://github.com/ripple/rippled/blob/c0a0b79d2d483b318ce1d82e526bd53df83a4a2c/cfg/rippled-example.cfg#L1562)の例を参照してください。
+
+* 利用可能な[公開サーバー][]を利用する:
+
+ const PUBLIC_SERVER = "wss://xrplcluster.com/"
+ const client = new xrpl.Client(PUBLIC_SERVER)
+ await client.connect()
+
+
+### 3. ウォレットの作成
+
+`xrpl.js` ライブラリには、XRP Ledgerアカウントのキーとアドレスを扱うための "Wallet "クラスが用意されています。Testnetでは、次のようにして新しいウォレットに資金を供給することができます。
+
+{{ include_code("_code-samples/get-started/js/get-acct-info.js", start_with="// Create a wallet", end_before="// Get info", language="js") }}
+
+キーを生成するだけであれば、次のように新しいWalletインスタンスを作成することができます。
+
+```js
+const test_wallet = xrpl.Wallet.generate()
+```
+
+また、[base58][]でエンコードされたシードをすでに持っている場合は、次のようにしてそのシードからWalletをインスタンス化することができます。
+
+```js
+const test_wallet = xrpl.Wallet.fromSeed("sn3nxiW7v8KXzPzAqzyHXbSSKNuN9") // テスト用シークレット、本番環境では使用しないでください
+```
+
+### 4. XRP Ledgerの参照
+
+クライアントの`request()`メソッドを使って、XRP Ledgerの[WebSocket API](https://xrpl.org/request-formatting.html)にアクセスします。例えば、以下のようになります。
+
+{{ include_code("_code-samples/get-started/js/get-acct-info.js", start_with="// Get info", end_before="// Listen to ledger close events", language="js") }}
+
+
+### 5. イベントのListen
+
+XRP Ledgerの[コンセンサス プロセス](intro-to-consensus.html)が新しい[レジャーバージョン](ledgers.html)を生成したときなど、`xrpl.js`ではさまざまなタイプのイベントのハンドラを設定することができます。そのためには、まず[subscribeメソッド][]を呼び出して欲しいイベントの種類を取得し、クライアントの`on(eventType, callback)`メソッドを使ってイベントハンドラをアタッチします。
+
+{{ include_code("_code-samples/get-started/js/get-acct-info.js", start_with="// Listen to ledger close events", end_before="// Disconnect when done", language="js") }}
+
+
+## 作り続けましょう
+
+これで、`xrpl.js`を使って、XRP Ledgerに接続したり、ウォレットを生成したり、アカウントの情報を調べたりする方法がわかりました。
+次のようなことも可能です。
+
+* [XRPの送信](send-xrp.html).
+* [代替可能トークンの発行](issue-a-fungible-token.html)
+* アカウントに[安全な署名](set-up-secure-signing.html) を設定する。
+
+
+## 関連記事
+
+- **概念:**
+ - [XRP Ledger Overview](xrp-ledger-overview.html)
+ - [クライアントライブラリ](client-libraries.html)
+- **Tutorials:**
+ - [XRPの送信](send-xrp.html)
+- **References:**
+ - [`xrpl.js` リファレンス](https://js.xrpl.org/)
+ - [Public API Methods](public-rippled-methods.html)
+ - [API規約](api-conventions.html)
+ - [base58 エンコード](base58-encodings.html)
+ - [トランザクションフォーマット](transaction-formats.html)
+
+
+{% include '_snippets/rippled-api-links.md' %}
+{% include '_snippets/tx-type-links.md' %}
+{% include '_snippets/rippled_versions.md' %}
diff --git a/content/tutorials/get-started/get-started.ja.md b/content/tutorials/get-started/get-started.ja.md
new file mode 100644
index 0000000000..4ee907e362
--- /dev/null
+++ b/content/tutorials/get-started/get-started.ja.md
@@ -0,0 +1,123 @@
+---
+html: get-started.html
+parent: tutorials.html
+blurb: XRP Ledgerを使用する際に必要となるリソースの一部をご紹介します。
+filters:
+ - js_editor
+labels:
+ - 開発
+---
+# 始めましょう
+
+XRP Ledgerは常にオンラインで、完全に公開されています。このページにあるようなソースコードがあれば、誰でも**ブラウザから直接**アクセスすることができます。
+
+次の例では、最新の[レジャーバージョン](ledgers.html)と、そのレジャーバージョンで新たに検証されたトランザクションのリストを、[レジャー method][]を使って取得しています。このまま実行してみたり、コードを変更して何が起こるか見てみましょう。
+
+**ヒント:**可能であれば、**F12**を押して、ブラウザの開発者ツールを開いてください。コンソールタブには、JavaScriptのネイティブコンソールが用意されており、どのウェブページでどのようなコードが実行されているかを知ることができます。
+
+
+{{currentpage.ripple_lib_tag}}
+
+
+
+```js
+async function main() {
+ const api = new xrpl.Client('wss://xrplcluster.com');
+ await api.connect();
+
+ let response = await api.request({
+ "command": "ledger",
+ "ledger_index": "validated",
+ "transactions": true
+ });
+ console.log(response);
+}
+main();
+```
+
+```js
+async function main() {
+ const api = new xrpl.Client('wss://s.altnet.rippletest.net/');
+ await api.connect();
+
+ let response = await api.request({
+ "command": "ledger",
+ "ledger_index": "validated",
+ "transactions": true
+ });
+ console.log(response);
+}
+main();
+```
+
+```js
+async function main() {
+ const api = new xrpl.Client('wss://xrplcluster.com');
+ await api.connect();
+
+ let response = await api.request({
+ "command": "ledger",
+ "ledger_index": "validated",
+ "transactions": true
+ });
+
+ let tx_id = response.result.ledger.transactions[0];
+ let response2 = await api.request({
+ "command": "tx",
+ "transaction": tx_id
+ });
+ console.log(response2);
+}
+main();
+```
+
+```js
+async function main() {
+ const api = new xrpl.Client('wss://xrplcluster.com');
+ await api.connect();
+
+ let response = await api.request({
+ "command": "ledger",
+ "ledger_index": "validated",
+ "transactions": true
+ });
+ console.log('Total XRP: '+xrpl.dropsToXrp(response.result.ledger.total_coins));
+}
+main();
+```
+
+
+
+
+## 提案
+
+上のコードを編集して、何か別のことをしてみてください。
+
+- 代わりに、`wss://s.altnet.rippletest.net/`の[Testnet](parallel-networks.html)公開サーバに接続してみましょう。 [Answer >](javascript:js_interactives.step2.ex_1())
+- [tx メソッド][]を使って、台帳の取引の1つの詳細を調べてみましょう。[Answer >](javascript:js_interactives.step2.ex_2())
+- レスポンスの`total_coins`を10進数のXRPに変換してみましょう。 [Answer >](javascript:js_interactives.step2.ex_3())
+
+
+## セットアップ手順
+
+このページには必要な前提条件がすでに読み込まれていますが、そのページのHTMLに[xrpl.js](https://github.com/XRPLF/xrpl.js/)を読み込めば、**あらゆるウェブページ**からXRP Ledgerにアクセスすることができます。
+例えば、以下のようになります。
+
+```html
+
+```
+
+
+## 参考文献
+
+準備ができたら、これらのリソースを使ってXRP Ledgerを使い続けましょう。
+
+- [XRPを送信](send-xrp.html)して、最初の取引を行う。
+- XRP Ledgerの設計の背景にある[コンセプトを理解](concepts.html)する。
+- ネットワークに参加するために[`rippled`をインストール](install-rippled.html)する。
+- [Testnet XRPを入手](xrp-testnet-faucet.html)して、支払いの送受信を試す。
+
+
+{% include '_snippets/rippled-api-links.md' %}
+{% include '_snippets/tx-type-links.md' %}
+{% include '_snippets/rippled_versions.md' %}
diff --git a/content/tutorials/get-started/public-servers.ja.md b/content/tutorials/get-started/public-servers.ja.md
new file mode 100644
index 0000000000..fb9971cb2a
--- /dev/null
+++ b/content/tutorials/get-started/public-servers.ja.md
@@ -0,0 +1,31 @@
+---
+html: public-servers.html
+parent: get-started.html
+blurb: これらの公開サーバーを利用して、自社のインフラを必要とせずにXRP Ledgerにアクセスします。
+labels:
+ - コアサーバー
+---
+# 公開サーバー
+
+[自分で`rippled`サーバーを運営しない](install-rippled.html)場合は、以下の公開サーバーを利用して、トランザクションを送信したり、レジャーからデータを取得したりすることができます。
+
+| 運営者 | [ネットワーク][] | JSON-RPC URL | WebSocket URL | 尾行 |
+|:----------|:------------|:-------------|:--------------|:---------------------|
+| XRP Ledger 財団 | **Mainnet** | `https://xrplcluster.com/`
`https://xrpl.ws/` [²][] | `wss://xrplcluster.com/`
`wss://xrpl.ws/` [²][] | 全履歴サーバークラスター |
+| Ripple[¹][] | **Mainnet** | `https://s1.ripple.com:51234/` | `wss://s1.ripple.com/` | 汎用サーバークラスター |
+| Ripple[¹][] | **Mainnet** | `https://s2.ripple.com:51234/` | `wss://s2.ripple.com/` | [全履歴サーバ](ledger-history.html#full-history) クラスタ |
+| Ripple[¹][] | Testnet | `https://s.altnet.rippletest.net:51234/` | `wss://s.altnet.rippletest.net/` | Testnet 公開サーバー |
+| Ripple[¹][] | Devnet | `https://s.devnet.rippletest.net:51234/` | `wss://s.devnet.rippletest.net/` | Devnet 公開サーバー |
+
+[ネットワーク]: parallel-networks.html
+[¹]: #footnote-1
+[²]: #footnote-2
+
+¹ Ripple社の公開サーバーは、持続的な利用やビジネスでの利用には適しておらず、いつでも利用できなくなる可能性があります。定期的に使用する場合は、ご自身で `rippled` サーバーを運用するか、信頼できる人と契約してください。リップル社では、公開クラスターに[Reporting Mode][]サーバーが含まれています。
+
+² `xrpl.ws` は `xrplcluster.com` のエイリアスです。しかし、`.ws` というトップレベルドメインの信頼性は、本番での使用には適さないかもしれません。
+
+
+{% include '_snippets/rippled-api-links.md' %}
+{% include '_snippets/tx-type-links.md' %}
+{% include '_snippets/rippled_versions.md' %}
diff --git a/content/tutorials/manage-account-settings/use-tickets.ja.md b/content/tutorials/manage-account-settings/use-tickets.ja.md
new file mode 100644
index 0000000000..c30b623959
--- /dev/null
+++ b/content/tutorials/manage-account-settings/use-tickets.ja.md
@@ -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)は、通常の順序ではないトランザクションを送信する方法を提供します。このチュートリアルでは、チケットを作成し、それを使って別のトランザクションを送信する手順を説明します。
+
+## 前提条件
+
+
+
+{% set use_network = "Devnet" %}
+
+このページでは、[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サーバーに接続する必要があります。例えば、以下のようになります。
+
+
+
+_JavaScript_
+
+{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Connect to", end_before="// Get credentials") }}
+
+
+
+**注記:** このチュートリアルのコードサンプルでは、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()}}. シーケンス番号の確認
+
+チケットを作成する前に、自分のアカウントの[シーケンス番号][]を確認しておきましょう。次のステップのために現在のシーケンス番号が必要であり、設定されるチケットのシーケンス番号はこの番号から始まります。
+
+
+
+_JavaScript_
+
+{{ include_code("_code-samples/use-tickets/js/use-tickets.js", language="js", start_with="// Check Sequence", end_before="// Prepare and Sign TicketCreate") }}
+
+
+
+{{ start_step("Check Sequence") }}
+
+
Querying...
Sending...