@@ -3,7 +3,7 @@ html: xrpljs2-migration-guide.html
blurb: JavaScriptコードをより新しいクライアントライブラリに移行する方法を学びましょう。
parent: https://js.xrpl.org/
---
# ripple-lib 1.xからxrpl.js 2.xへの移行ガイド
# ripple-lib 1.xからxrpl.js 2.xへの移行ガイド
**ripple-lib** (1.x)ライブラリからJavaScript / TypeScriptコードを移行し、代わりにXRP Ledger用**xrpl.js** (2.x)ライブラリーを使用するためには、以下の手順に従ってください。
@@ -53,7 +53,7 @@ const xrpl = require("xrpl");
## バリデーション結果
デフォルトでは、ripple-lib 1.xにおけるほとんどのメソッドは、[コンセンサスプロセス ](consensus.html )によって検証された最終結果をリターンするのみでした。xrpl.jsと同等の多くのメソッドは、WebSocket APIをコールするために[`Client.request()`メソッド ](https://js.xrpl.org/classes/Client.html#request )を使用します。WebSocket APIにおいて、XRP Ledgerサーバーのデフォルト設定では、検証済みデータだけはなく未検証のデータを含むことがあります。
デフォルトでは、ripple-lib 1.xにおけるほとんどのメソッドは、[コンセンサスプロセス ](consensus.html )によって検証された最終結果をリターンするのみでした。xrpl.jsと同等の多くのメソッドは、WebSocket APIをコールするために[`Client.request()`メソッド ](https://js.xrpl.org/classes/Client.html#request )を使用します。WebSocket APIにおいて、XRP Ledgerサーバーのデフォルト設定では、検証済みデータだけはなく未検証のデータを含むことがあります。
[分散型取引所 ](decentralized-exchange.html )の状態を調べる時のように、完了見込みの多数のトランザクション結果が保留中であるため、現時点のオープンレジャーを使用したい場合があります。また、完了したトランザクション結果を取り込んだ検証済みのレジャーを使用したい場合もあります。
@@ -85,7 +85,7 @@ xrpl.jsには、トランザクションの署名および送信のための、
- トランザクション送信および[最終結果 ](finality-of-results.html )の待機のために`submitAndWait()` を使用します。トランザクションが検証された場合、これは[txメソッド][]レスポンスにリゾルブし、そうでない場合、例外処理(exception)となります。例外処理(exception)は、トランザクションが検証されなかったことを保証しません。例えば、サーバーに[より大きなギャップ ](reliable-transaction-submission.html#ledger-gaps )がある場合、トランザクションは、そのギャップの中で検証される可能性があります。
- 即時の送信およびリターンのために`submit()` を使用します。これは[submitメソッド][]レスポンスにリゾルブし、仮の(最終ではない)結果を表示します。もしXRP Ledgerサーバーへのトランザクション送信に問題があった場合、このメソッドは例外処理(exception)のみとなります。
どちらのメソッドに関しても、準備済みトランザクション説明と[`Wallet`インスタンス ](#keys-and-wallets )をパスすることによって、署名済みトランザクションをメソッドに直接パス、もしくは、送信直前にトランザクションに署名することができます。
どちらのメソッドに関しても、準備済みトランザクション説明と[`Wallet`インスタンス ](#キーおよびウォレット )をパスすることによって、署名済みトランザクションをメソッドに直接パス、もしくは、送信直前にトランザクションに署名することができます。
```js
const tx_json = await client . autofill ({
@@ -211,9 +211,9 @@ const signed = wallet.sign(tx_json)
1.xでは、`RippleAPI` クラスの`.on()` メソッドを使用してレジャーイベントとAPIエラーにサブスクリプションできました。もしくは、`.connection.on()` を使用して特定のWebSocketメッセージタイプにサブスクリプションできました。これらは、[`Client.on()`メソッド ](https://js.xrpl.org/classes/Client.html#on )に統合されました。さらに、XRP Ledgerサーバーに接続する際、クライアントライブラリは、自動的にレジャークローズイベントにサブスクリプションしなくなったため、ハンドラを追加するだけでなく、レジャークローズイベントを取得するために **明確に台帳ストリームにサブスクリプションする必要があります** 。
レジャークローズイベントにサブスクリプションするには、`Client.(method)` を使用し、`"streams": ["ledger"]` で[サブスクリプション メソッド][]をコールします。イベントハンドラを追加するには、`Client.on(event_type, callback)` を使用します。これらのコールは任意の順で実行可能です。
レジャークローズイベントにサブスクリプションするには、`Client.(method)` を使用し、`"streams": ["ledger"]` で[subscribe メソッド][]をコールします。イベントハンドラを追加するには、`Client.on(event_type, callback)` を使用します。これらのコールは任意の順で実行可能です。
1.xからのRippleAPI特有の`ledger` イベントタイプは削除され、代わりに、`ledgerClosed` イベントを使用します。これらのイベントメッセージは同じデータを含んでいますが、フォーマットはWebSocket APIの[レジャーストリーム ](subscribe.html#ledger-stream )メッセージに対応しています。
1.xからのRippleAPI特有の`ledger` イベントタイプは削除され、代わりに、`ledgerClosed` イベントを使用します。これらのイベントメッセージは同じデータを含んでいますが、フォーマットはWebSocket APIの[レジャーストリーム ](subscribe.html#レジャーストリーム )メッセージに対応しています。
例:
@@ -267,24 +267,24 @@ ripple-lib 1.xでは、全てのメソッドとプロパティは、`RippleAPI`
| `disconnect()` | [`Client.disconnect()` ](https://js.xrpl.org/classes/Client.html#disconnect ) | |
| `isConnected()` | [`Client.isConnected()` ](https://js.xrpl.org/classes/Client.html#isConnected ) | |
| `getServerInfo()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [server_info メソッド][] を呼び出してください。 |
| `getFee()` | (削除済み - 注記カラムを参照) | [取引 コスト][]を自動的に提供するには [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使ってください。または `Client.request({"command": "fee"})` を使って、現在の取引 コスト ( _XRPのdrops_ ) についての情報を調べることができます。 |
| `getFee()` | (削除済み - 注記カラムを参照) | [トランザクション コスト][]を自動的に提供するには [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使ってください。または `Client.request({"command": "fee"})` を使って、現在のトランザクション コスト ( _XRPのdrops_ ) についての情報を調べることができます。 |
| `getLedgerVersion()` | [`Client.getLedgerIndex()` ](https://js.xrpl.org/classes/Client.html#getLedgerIndex ) | |
| `getTransaction()` | [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [tx メソッド][] を呼び出してください。**警告:** `getTransaction()` とは異なり、`tx` メソッドは [検証されていない最終結果 ](#validated-results ) を返すことがあります。トランザクションに対してアクションを起こす前に、レスポンスオブジェクトの中に `"validated": true` があるかどうかを必ず確認するようにしてください。 |
| `getTransaction()` | [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [tx メソッド][] を呼び出してください。**警告:** `getTransaction()` とは異なり、`tx` メソッドは [検証されていない最終結果 ](#バリデーション結果 ) を返すことがあります。トランザクションに対してアクションを起こす前に、レスポンスオブジェクトの中に `"validated": true` があるかどうかを必ず確認するようにしてください。 |
| `getTransactions()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_txメソッド][] を呼び出してください。 |
| `getTrustlines()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_lines メソッド][] を呼び出してください。**警告:** `getTrustlines()` とは異なり、`account_lines` は [検証されていない最終結果 ](#validated-results ) を返すことがあります。 |
| `getTrustlines()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_lines メソッド][] を呼び出してください。**警告:** `getTrustlines()` とは異なり、`account_lines` は [検証されていない最終結果 ](#バリデーション結果 ) を返すことがあります。 |
| `getBalances()` | [`Client.getBalances()` ](https://js.xrpl.org/classes/Client.html#getBalances ) | |
| `getBalanceSheet()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.getBalances()` ](https://js.xrpl.org/classes/Client.html#getBalances ) を使うか、 [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [gateway_balanceメソッド][] を呼び出してください。 |
| `getBalanceSheet()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.getBalances()` ](https://js.xrpl.org/classes/Client.html#getBalances ) を使うか、 [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [gateway_balances メソッド][] を呼び出してください。 |
| `getPaths()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [ripple_path_findメソッド][] を呼び出してください。 |
| `getOrders()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_offers メソッド][] を呼び出してください。 |
| `getOrderbook()` | [`Client.getOrderbook()` ](https://js.xrpl.org/classes/Client.html#getOrderbook ) | |
| `getSettings()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_info メソッド][] を呼び出してください。個々のフラグ設定のブール値を取得するには、 `Flags` フィールドで `xrpl.parseAccountRootFlags()` を使用します。**警告:** `getSettings()` とは異なり、`account_info` は [検証されていない最終結果 ](#validated-results )を返すことがあります。 |
| `getAccountInfo(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_info メソッド][] を呼び出してください。**警告:** `getAccountInfo()` とは異なり、`account_info` は [検証されていない最終結果 ](#validated-results ) を返すことがあります。 |
| `getAccountObjects(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_objects メソッド][] を呼び出してください。**警告:** `getAccountObjects()` とは異なり、`account_objects` は [検証されていない最終結果 ](#validated-results ) を返すことがあります。 |
| `getPaymentChannel()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [ledger_entry method ](ledger_entry.html#get-paychannel-object ) を呼び出してください。**警告:** `getPaymentChannel()` とは異なり、`ledger_entry` は [検証されていない最終結果 ](#validated-results )を返す可能性があります。|
| `getLedger()` | (削除済み - 注記カラムを参照) | `Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って、正確に [ledger メソッド][] を呼び出してください。**渓谷:** `getLedger()` とは異なり、`ledger` は [検証されていない最終的なレジャー ](#validated-results )を返すことがあります。 |
| `getSettings()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_info メソッド][] を呼び出してください。個々のフラグ設定のブール値を取得するには、 `Flags` フィールドで `xrpl.parseAccountRootFlags()` を使用します。**警告:** `getSettings()` とは異なり、`account_info` は [検証されていない最終結果 ](#バリデーション結果 )を返すことがあります。 |
| `getAccountInfo(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_info メソッド][] を呼び出してください。**警告:** `getAccountInfo()` とは異なり、`account_info` は [検証されていない最終結果 ](#バリデーション結果 ) を返すことがあります。 |
| `getAccountObjects(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [account_objects メソッド][] を呼び出してください。**警告:** `getAccountObjects()` とは異なり、`account_objects` は [検証されていない最終結果 ](#バリデーション結果 ) を返すことがあります。 |
| `getPaymentChannel()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って [ledger_entry method ](ledger_entry.html#get-paychannel-object ) を呼び出してください。**警告:** `getPaymentChannel()` とは異なり、`ledger_entry` は [検証されていない最終結果 ](#バリデーション結果 )を返す可能性があります。|
| `getLedger()` | (削除済み - 注記カラムを参照) | `Client.request()` ](https://js.xrpl.org/classes/Client.html#request ) を使って、正確に [ledger メソッド][] を呼び出してください。**渓谷:** `getLedger()` とは異なり、`ledger` は [検証されていない最終的なレジャー ](#バリデーション結果 )を返すことがあります。 |
| `parseAccountFlags()` | [`xrpl.parseAccountRootFlags()` ](https://js.xrpl.org/modules.html#parseAccountRootFlags ) | 現在は、モジュールの静的メソッドです。 |
| `prepareTransaction()` | [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) | 詳しくは、[トランザクション送信 ](#transaction-submission )を参照してください。 |
| `preparePayment()` | (削除済み - 注記カラムを参照) | [Paymenトランザクション][] を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `prepareTransaction()` | [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) | 詳しくは、[トランザクション送信 ](#トランザクションの送信 )を参照してください。 |
| `preparePayment()` | (削除済み - 注記カラムを参照) | [Payment トランザクション][] を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `prepareTrustline()` | (削除済み - 注記カラムを参照) | [TrustSetトランザクション][]を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `prepareOrder()` | (削除済み - 注記カラムを参照) | [OfferCreateトランザクション][] を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `prepareOrderCancellation()` | (削除済み - 注記カラムを参照) | [OfferCancelトランザクション][]を構築し、[`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill )を代わりに使用することができます。 |
@@ -299,11 +299,11 @@ ripple-lib 1.xでは、全てのメソッドとプロパティは、`RippleAPI`
| `prepareCheckCancel()` | (削除済み - 注記カラムを参照) | [CheckCancelトランザクション][] を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `prepareCheckCash()` | (削除済み - 注記カラムを参照) | [CheckCashトランザクション][] を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `prepareTicketCreate()` | (削除済み - 注記カラムを参照) | [TicketCreateトランザクション][] を構築し、代わりに [`Client.autofill()` ](https://js.xrpl.org/classes/Client.html#autofill ) を使用します。 |
| `sign()` | [`Wallet.sign()` ](https://js.xrpl.org/classes/Wallet.html#sign ) | 詳しくは、[キーとウォレット](#keys -and-wallets) を参照してください。 |
| `sign()` | [`Wallet.sign()` ](https://js.xrpl.org/classes/Wallet.html#sign ) | 詳しくは、[キーおよびウォレット ](#キーおよびウォレット ) を参照してください。 |
| `combine()` | [`xrpl.multisign()` ](https://js.xrpl.org/modules.html#multisign ) | |
| `submit()` | [`Client.submit()` ](https://js.xrpl.org/classes/Client.html#submit ) | また、信頼性の高いトランザクション送信も可能になりました。詳細は、[トランザクション送信 ](#transaction-submission )を参照してください。 |
| `generateXAddress()` | [`xrpl.Wallet.generate()` ](https://js.xrpl.org/classes/Wallet.html#generate ) | `xrpl.Wallet.generate()` で [`Wallet` インスタンス ](https://js.xrpl.org/classes/Wallet.html ) を作成し、ウォレットのインスタンスで `.getXAddress()` を呼び出して X-address を取得します。 詳しくは、[キーとウォレット](#keys -and-wallets) を参照してください。 |
| `generateAddress()` | [`xrpl.Wallet.generate()` ](https://js.xrpl.org/classes/Wallet.html#generate ) | [`Wallet`インスタンス ](https://js.xrpl.org/classes/Wallet.html )を作成します。. 詳しくは、[キーとウォレット](#keys -and-wallets) を参照してください。 |
| `submit()` | [`Client.submit()` ](https://js.xrpl.org/classes/Client.html#submit ) | また、信頼性の高いトランザクション送信も可能になりました。詳細は、[トランザクション送信 ](#トランザクションの送信 )を参照してください。 |
| `generateXAddress()` | [`xrpl.Wallet.generate()` ](https://js.xrpl.org/classes/Wallet.html#generate ) | `xrpl.Wallet.generate()` で [`Wallet` インスタンス ](https://js.xrpl.org/classes/Wallet.html ) を作成し、ウォレットのインスタンスで `.getXAddress()` を呼び出して X-address を取得します。 詳しくは、[キーおよびウォレット ](#キーおよびウォレット ) を参照してください。 |
| `generateAddress()` | [`xrpl.Wallet.generate()` ](https://js.xrpl.org/classes/Wallet.html#generate ) | [`Wallet`インスタンス ](https://js.xrpl.org/classes/Wallet.html )を作成します。. 詳しくは、[キーおよびウォレット ](#キーおよびウォレット ) を参照してください。 |
| `isValidAddress()` | [`xrpl.isValidAddress()` ](https://js.xrpl.org/modules.html#isValidAddress ) | 現在は、モジュールの静的メソッドです。 |
| `isValidSecret()` | [`xrpl.isValidSecret()` ](https://js.xrpl.org/modules.html#isValidSecret ) | 現在は、モジュールの静的メソッドです。 |
| `deriveKeypair()` | [`xrpl.deriveKeypair()` ](https://js.xrpl.org/modules.html#deriveKeypair ) | 現在は、モジュールの静的メソッドです。 |
@@ -316,7 +316,7 @@ ripple-lib 1.xでは、全てのメソッドとプロパティは、`RippleAPI`
| ` dropsToXrp()` | [` xrpl.dropsToXrp()`](https://js.xrpl.org/modules.html#dropsToXrp) | 現在は、モジュールの静的メソッドです。 |
| ` iso8601ToRippleTime()` | [` xrpl.isoTimeToRippleTime()`](https://js.xrpl.org/modules.html#isoTimeToRippleTime) | 現在は、モジュールの静的メソッドです。 |
| ` rippleTimeToISO8601()` | [` xrpl.rippleTimeToISOTime()`](https://js.xrpl.org/modules.html#rippleTimeToISOTime) | 現在は、モジュールの静的メソッドです。 また、新しいメソッド [` rippleTimeToUnixTime()`](https://js.xrpl.org/modules.html#rippleTimeToUnixTime) を使うと、UNIXエポック 1970-01-01 00:00:00 UTC からのミリ秒単位のUNIXスタイルのタイムスタンプを取得することができます。 |
| ` txFlags.Universal.FullyCanonicalSig` | (削除済み - 注記カラムを参照) | [RequireFullyCanonicalSigの修正案 ][]に伴い、不要となりました。 |
| ` txFlags.Universal.FullyCanonicalSig` | (削除済み - 注記カラムを参照) | [RequireFullyCanonicalSig amendment ][]に伴い、不要となりました。 |
| ` txFlags.Payment.NoRippleDirect` | ` xrpl.PaymentFlags.tfNoDirectRipple` | |
| ` txFlags.Payment.PartialPayment` | ` xrpl.PaymentFlags.tfPartialPayment` | |
| ` txFlags.Payment.LimitQuality` | ` xrpl.PaymentFlags.tfLimitQuality` | |
@@ -327,7 +327,7 @@ ripple-lib 1.xでは、全てのメソッドとプロパティは、`RippleAPI`
| ` accountSetFlags` | ` xrpl.AccountSetAsfFlags` | モジュールレベルでEnumになりました。 |
| ` schemaValidator` | (削除済み - 注記カラムを参照) | TypeScriptを使用して、ほとんどの型を検証することができます。 |
| ` schemaValidate()` | (削除済み - 注記カラムを参照) | TypeScriptを使用して、ほとんどの型を検証することができます。 トランザクションオブジェクトの検証を行うために ` xrpl.validate(transaction)` を呼び出すこともできます。 |
| ` .on("ledger", callback)` | [` Client.on("ledgerClosed", callback)`](https://js.xrpl.org/classes/Client.html#on) | **注意:** ledger streamもサブスクライブする必要があります。例と詳細については、[イベントとサブスクリプション](#events-and-subscriptions )を参照してください。 |
| ` .on("ledger", callback)` | [` Client.on("ledgerClosed", callback)`](https://js.xrpl.org/classes/Client.html#on) | **注意:** ledger streamもサブスクライブする必要があります。例と詳細については、[イベントとサブスクリプション](#イベントおよびサブスクリプション )を参照してください。 |
| ` .on("error", callback)` | [` Client.on("error", callback)`](https://js.xrpl.org/classes/Client.html#on) | |
| ` .on("connected", callback)` | [` Client.on("connected", callback)`](https://js.xrpl.org/classes/Client.html#on) | |
| ` .on("disconnected", callback)` | [` Client.on("connected", callback)`](https://js.xrpl.org/classes/Client.html#on ) | |