Twitter Link with Icon

XRP Ledgerバージョン2.5.0公開!

  •    2025年6月24日   2025年6月24日
post-thumb

本記事は2025年6月24日投稿のXRPL公式ブログ"Introducing XRP Ledger version 2.5.0“の和訳です。


XRP Ledgerプロトコルの基本サーバー実装であるrippledのバージョン2.5.0がリリースされました。 このリリースでは新機能とバグ修正に加え、以下のアメンドメントが導入されています。

  • TokenEscrow
  • Batch
  • PermissionedDEX
  • PermissionDelegation
  • AMMv1_3
  • EnforceNFTokenTrustlineV2
  • PayChanCancelAfter

対応が必要な変更

XRP Ledgerサーバーを運用されている場合は、サービスの継続を確実にするため、できるだけ早くバージョン2.5.0へのアップグレードをお願いします。

加えて、新しいアメンドメントがXRP Ledgerのアメンドメントプロセスに従って投票可能となりました。 このプロセスでは、信頼されたバリデーターによる80%超の支持が2週間継続することでプロトコル変更が有効になります。 プロトコル変更が実際に適用されるタイミングは、分散型ネットワークの投票結果によります。

インストール/アップグレード

サポートされているプラットフォームで、rippledのインストールまたはアップデートに関する指示を参照してください。

Package SHA-256
RPM for Red Hat / CentOS (x86-64) 7719be1889619a37a83795a9740d803bbc1c08b0bd8c755cbf266aeb68b875b6
DEB for Ubuntu / Debian (x86-64) d935f678624349e422dff1944a40acaf3e287b11244b4f5b5056cb343fc31e9d

他のプラットフォームについては、ソースコードからビルドしてください。 HEADが、バージョン設定を変更するコミットであることを必ず確認してください。

commit 1e01cd34f7a216092ed779f291b43324c167167a
Author: Michael Legleux <mlegleux@ripple.com>
Date:   Tue Jun 17 10:38:07 2025 -0700

    Set version to 2.5.0

なお、本リリース以降、GCCの12未満、Clang(Apple Clangを含む)の16未満、Conan 1 はサポート対象外となります。

変更履歴

アメンドメント

このリリースで投票可能となるアメンドメントは以下のとおりです。

  • TokenEscrow (XLS-85) エスクロー機能を強化し、トラストラインベースのトークン (IOU) およびマルチパーパストークン (MPT) ともやり取りできるようにします。#5185
  • Batch (XLS-56) 複数のトランザクションをまとめてアトミックに実行できるようにします。これにより効率が向上し、複数ステップにまたがる複雑な操作が可能になります。#5060
  • PermissionedDEX (XLS-81) 参加者を制御できるパーミッションド分散型取引所を追加し、金融規制への準拠を確保します。#5404
  • PermissionDelegation (XLS-75) アカウント保有者が他のアカウントに対して特定の権限を委譲できるようにし、柔軟なアカウント管理と自動化を実現します。#5354
  • AMMv1_3 AMM関連トランザクションに対するinvariantチェックを追加します。#5203
  • EnforceNFTokenTrustlineV2 NFTのやり取りにおいてトラストライン認可要件が回避されてしまう問題を修正します。#5297
  • PayChanCancelAfter CancelAfterが過去の時刻の場合でもペイメントチャネルを作成できてしまう問題を修正します。#4717

新機能

  • より高いトランザクション負荷に対応するため、ネットワークI/O容量を増強しました。 (#5464)
  • トランザクションリレーのロジックを強化しました。 (#4985)
  • rippledの設定に新しい Bootstrap Cluster として XRPL Commons を追加しました。 (#5263)
  • マルチシグアカウントから送信されたトランザクションに対するsimulateメソッドの取り扱いを改善しました。 また、シングル署名鍵とマルチ署名鍵の両方が指定された場合にトランザクションが許可されてしまう問題も修正しました。 (#5479)
  • RPC変更のコードレビュー担当者を更新しました。 (#5266)

バグ修正

  • 正しいアカウントアドレスが生成されるよう、pseudo-account ID の計算を修正しました。 (#5447)
  • unityビルドのエラーを修正しました。 (#5459)
  • GCC-15互換性のため、initializer listの初期化問題を修正しました。 (#5443)
  • macOSパイプラインでのテストが遅くなる問題を解消しました。 (#5392)
  • 独自実装のエンドポイント選択ロジックを廃止し、利用可能なエンドポイントへ順番に接続を試み、いずれかが成功するか全てが失敗するまで試行する方式に置き換えました。 (#5365)
  • カバレッジファイルがアトミックに生成されるよう修正しました。 (#5426)
  • 重度のCPU飢餓状態が発生した場合のクラッシュエラー名を、deadlock から stall に変更しました。 (#5341)
  • ledger_entry RPCメソッドで指定されたアカウントが文字列でない場合の、不正確なエラーメッセージを修正しました。 (#5344)
  • gRPC呼び出しで不正なmarkerパラメータを処理する際に発生し得るクラッシュを修正しました。 (#5317)
  • lsfDefaultRippleフラグまわりのトラストライン設定の挙動に関する問題を修正しました。 (#5345)
  • スタックトレースが必ず取得されるよう、LogicErrorから未定義動作を取り除きました。 (#5338)
  • ripple binary codec definitions へのリンクを更新しました。 (#5355)
  • コンセンサスラウンドの完了に時間がかかりすぎないよう、コンセンサスロジックを修正しました。 (#5277)
  • 非unityなWindowsビルドでのundefined uint128_t型の問題を修正しました。 (#5377)
  • MacOSのunityビルドが壊れるuint128の問題を修正しました。 (#5386)
  • メモリ順序のアサーション失敗を修正しました。 (#5381)
  • signing_supportが無効な場合はchannel_authorizeも無効化するよう修正しました。 (#5385)
  • subscribe管理RPCを使用した際のwebhookに関する問題を修正しました。 (#5163)
  • CTIDに関する問題を修正しました。 (#4738)
  • macOSにおける遅延の調査のため、ユニットテストを一時的に無効化しました。 (#5397)
  • CTIDが正しいledger_indexを使用するよう修正しました。 (#5408)
  • CODEOWNERSのパス設定を更新しました。 (#5440)
  • 未使用コードを削除しました。 (#5475)

その他の改善

  • バリデーターがパッシブsquelchingを有効化できるようにし、信頼していないバリデーターからのsquelchメッセージも受け付けることで、それらが生成する重複トラフィックを削減できるようにしました。 (#5358)
  • squelching の設定を改善しました。 (#5438)
  • CPP referenceのソースを更新しました。 (#5453)
  • codecovバッジを追加し、カバレッジのしきい値を引き上げました。 (#5428)
  • コードの一貫性向上のため、east constの記法を採用するようコードベースをリファクタリングしました。 (#5409)
  • Ubuntu 22.04+向けのビルド手順を更新しました。 (#5292)
  • ビルド時間を改善するためビルド手順を更新しました。 (#5288)
  • SECURITY.md内のキーサーバーのホスト例を更新しました。 (#5460)
  • Conan 2でのビルド時にtransitive_headersを実装しました。 (#5462)
  • 役割を明確にするため、ドキュメントCIジョブの名称を変更しました。 (#5398)
  • コードドキュメント向上のため、lsfDefaultRippleに関するコメントを明確にしました。 (#5410)
  • 不足していたヘッダーや未使用のヘッダーを整理しました。 (#5293)
  • numFeaturesを自動的に更新するようコードをリファクタリングしました。 (#5324)
  • clang formatによるヘッダー順序の整理を改善しました。 (#5343)
  • Conanの依存関係を更新しました。 (#5335)
  • libXRPL互換性チェックワークフローのペイロードに、PR番号を追加しました。 (#5310)
  • TxQのユニットテストを、参照手数料(reference fee)が可変でも動作するように更新しました。 (#5118, #5145)
  • メモリ効率とロックフリー同期のために、SHAMapのスマートポインタを最適化しました。 (#5152)
  • 用途を明確にするため、結合テストを別のフォルダに移動しました。 (#5367)
  • 参照手数料の値をコンパイル時に変更できるパラメータを有効化しました。 (#5159)
  • 検索しやすくするため、テストのログメッセージを整理しました。 (#5396)
  • CIジョブがDraftRunCIラベルが付いたPRでのみ実行されるよう改善しました。 (#5400)
  • XRPLFのサンプルURL設定を修正するため、validators-example.txtを更新しました。 (#5384)
  • env.meta内のレジャークローズを条件付きで実行するように変更し、meta関数の外でレジャーをクローズした場合の問題を調査しやすくしました。 (#5457)
  • 可読性のため、ログメッセージを集約して整理しました。 (#5347)

クレジット

このリリースに直接的に貢献してくれた皆さん:

バグバウンティと開示について

私たちはrippledコードのレビューを歓迎します。 リサーチャーの皆さんには、発見された問題を責任を持って開示してくださるようお願いしています。 バグを報告される場合は、詳細なレポートを次のアドレスへお送りください: bugs@xrpl.org