本記事は2025年12月9日投稿のXRPL公式ブログ"Introducing XRP Ledger version 3.0.0“の和訳です。
XRP Ledgerプロトコルの基本サーバー実装であるrippledのバージョン3.0.0がリリースされました。 このリリースでは、新しいアメンドメントとバグ修正が導入されています。
対応が必要な変更
XRP Ledgerサーバーを運用されている場合は、サービスの継続を確実にするため、できるだけ早くバージョン3.0.0へのアップグレードをお願いします。
インストール/アップグレード
サポートされているプラットフォームで、rippledのインストールまたはアップデートに関する指示を参照してください。
| Package | SHA-256 |
|---|---|
| RPM for Red Hat / CentOS (x86-64) | 2e181c8e966e043e10e32f3b0e30184014b88c2b5b9513d07c0e13c605edf050 |
| DEB for Ubuntu / Debian (x86-64) | efbce53f39e2d94d74c3cfdb049758f8826aa5e0a2a246cd9b19e9246e7b4172 |
他のプラットフォームについては、ソースコードからビルドしてください。 HEADが、バージョン設定を変更するコミットであることを必ず確認してください。
commit 7527e35379a78901320b17a9a26c618e4384b1f6
Author: Ed Hennis <ed@ripple.com>
Date: Tue Dec 9 12:11:16 2025 -0500
Set version to 3.0.0
変更履歴
アメンドメント
- fixTokenEscrowV1 MPTのエスクローにおける会計上の不整合を修正します。具体的には、転送手数料(transfer fee)を持つMPTがエスクローからアンロックされる際に、本来は手数料を差し引いた純額(net amount)で減算されるべきMPT発行者のロック中残高が、誤って手数料込みの総額(gross amount)で減算されてしまう問題があります。これによりトークンの総供給量の会計に不整合が生じる可能性があります。 #5571
- fixIncludeKeyletFields
以下のレジャーエントリに不足していたkeyletフィールドを追加します:
EscrowおよびPayChannelへのSequenceSignerListへのOwnerOracleへのOracleDocumentID#5646
- fixPriceOracleOrder プライスオラクルが作成されたときと更新されたときとで、資産ペアデータの順序が異なってしまう問題を修正します。 #5485
- fixAMMClawbackRounding
AMMClawbackトランザクションを実行した際に、AMMのLPTokenBalanceに発生し得る丸め誤差を修正します。 #5750 - fixMPTDeliveredAmount
MPTを直接送付する
Paymentトランザクションのメタデータに、これまで欠けていたDeliveredAmountおよびdelivered_amountフィールドを追加します。 #5569
新機能
simulateAPIメソッドのメタデータフィールドに、delivered_amount、nftoken_id、nftoken_ids、offer_id、およびmpt_issuance_idを追加しました。 (#5754)- 負の32ビット整数フィールドをサポートするため、新しい
STypeとしてSTInt32を追加しました。 (#5788)
破壊的変更
ledger_entryAPIメソッドを更新し、複数のエントリを指定した場合はinvalidParamsエラーを返すようにしました。これまでは、ランダムに選ばれた1つのエントリの情報のみが返されていました。本変更により、リクエストごとに単一のエントリ参照のみが許容されるようになります。 (#5237)
バグ修正
- コンセンサスのstall(停滞)検出が、早すぎるタイミングでフラグを立てないよう修正しました。 (#5658)
- ピア接続が拒否された理由を区別できるよう、追加のロギングを実装しました。 (#5690)
- コードカバレッジのエラーを修正しました。 (#5765)
- UNLマニフェストを処理する際に、想定外の鍵や不正な鍵が出現した場合のログレベルを
INFOからWARNに引き上げました。 また、不正なUNLマニフェストフォーマットの内部エラーコードをuntrustedからinvalidに変更しました。 (#5804) - GCC 15.2でのリリースビルドエラーを修正しました。 (#5864)
STNumberおよびSTAmountのJSONパースで、負の整数の扱いに関する問題を修正しました。 (#5990)HttpClient.cppにおけるHTTPヘッダーの大文字小文字の扱いに関する問題を修正しました。 (#5767)- トランザクションの署名チェック関数が、
PreclaimContext全体ではなく必要なパラメータのみを受け取るよう修正しました。 (#5829) - 自己発行のクレデンシャルに対して
CredentialCreateトランザクションがsfSubjectNodeを設定しない問題を修正しました。 (#5936) - ノードの起動時にドメインオーダーブックが構築されない問題を修正しました。 (#5998)
リファクタリング
- netモジュールをxrpldから切り離し、RPC関連のクラスをrpcフォルダーへ移動しました。 (#5477)
- モジュール化の取り組みの一環として、ledgerコンポーネントを
libxrplへ移動しました。 (#5493) LendingProtocol導入に向けた事前準備として、コードをリファクタリングしました。 (#5590)parseLeafをリファクタリングし、STI_UINT16とSTI_UINT32のハンドラーを別々のヘルパー関数に分離しました。 (#5591)- 派生クラスの
preflight実装に含まれていたボイラープレートを取り除くため、Transactor::preflightの構造を再編しました。 (#5592) Transactorの署名チェックコードを再構築し、トランザクション全体または別のトランザクションを含むフィールドのいずれであっても扱えるsigObjectをサポートするようにしました。 (#5594)- 新しいDockerイメージを活用し、テストの自動化を改善するためCIワークフローを刷新しました。 (#5661)
- 可読性と保守性向上のため、
CTID.hのコードを整理しました。 (#5681) - 追加のトランザクション署名検証のサポートを追加しました。 (#5851)
- テストを簡潔にし読みやすくするため、JSONの
LastLedgerSequenceをlast_ledger_seqに置き換えました。 (#5884) - テスト内の
boost::lexical_cast<std::string>をto_stringに置き換えました。 (#5883) Json::Valueライブラリを使う代わりにJSONを文字列として書き出すテストを置き換えました。 (#5886)- TestHelpersおよび実装ファイルに
paychan名前空間を追加し、構造の明瞭性を高めました。 (#5840) - txsetの取り扱いを改善・リファクタリングしました。 (#5951)
ドキュメント
README.md内の古いリンクや記述を更新しました。 (#4701)std::counting_semaphoreの使用に対するコンパイラ警告を追加しました。 (#5595)- コードコメント内の重複した単語を削除しました。 (#5752)
conan lock createコマンドにremoteを追加しました。 (#5770)- JSON writerドキュメントの誤字を修正しました。 (#5881)
- コードベース全体のスペルミスを修正しました。 (#6002)
- コードコメントの誤字を修正しました。 (#6040)
NetworkOps_test.cppに誤って入っていた著作権表示を削除しました。 (#6066)
テスト
- JSONのユニットテストをdoctestフレームワークへ移行しました。 (#5533)
STIntegerおよびSTParsedJSONの基本的なテストを追加しました。 (#5726)env.meta内で、未検証トランザクションのnullメタデータをテストフレームワークが扱えるように修正しました。 (#5715)FeeVoteモジュールに対してより包括的なテストを追加しました。 (#5746)simulateRPCのメタデータに対する追加テストを追加しました。 (#5827)- クラッシュしたテストを失敗としてカウントするよう、ユニットテストのサマリーを更新しました。 (#5924)
- CIがすべてのテストバイナリをアップロードするよう修正しました。 (#5932)
CI/Build
こちらは中略しています。 XRPL.orgの元記事でご確認ください。
クレジット
このリリースに貢献してくれたGitHubユーザーの皆さん:
- RippleX Engineering
- RippleX Docs
- RippleX Product
- @dangell7
- @tequdev
- @tzchenxixi
- @wojake
バグバウンティと開示について
私たちはrippledコードのレビューを歓迎します。 リサーチャーの皆さんには、発見された問題を責任を持って開示してくださるようお願いしています。 バグを報告される場合は、詳細なレポートを次のアドレスへお送りください: bugs@xrpl.org