本記事は2025年6月24日投稿のXRPL公式ブログ"Introducing XRP Ledger version 2.5.0“の和訳です。
XRP Ledgerプロトコルの基本サーバー実装であるrippledのバージョン2.5.0がリリースされました。 このリリースでは新機能とバグ修正に加え、以下のアメンドメントが導入されています。
TokenEscrowBatchPermissionedDEXPermissionDelegationAMMv1_3EnforceNFTokenTrustlineV2PayChanCancelAfter
対応が必要な変更
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_entryRPCメソッドで指定されたアカウントが文字列でない場合の、不正確なエラーメッセージを修正しました。 (#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)
クレジット
このリリースに直接的に貢献してくれた皆さん:
- Alex Kremer akremer@ripple.com
- Ayaz Salikhov asalikhov@ripple.com
- Bart Thomee bthomee@users.noreply.github.com
- Brett Mollin brett@ripple.com
- Bronek Kozicki brok@incorrekt.com
- Cindy Yan 120398799+cindyyan317@users.noreply.github.com
- Darius Tumas Tokeiito@users.noreply.github.com
- David Fuelling fuelling@ripple.com
- Denis Angell dangell@transia.co
- Ed Hennis ed@ripple.com
- Elliot Lee github.public@intelliot.com
- Gregory Tsipenyuk gtsipenyuk@ripple.com
- Jingchen Wu jingchenw@ripple.com
- Luc des Trois Maisons lmaisons@ripple.com
- Mani Mounika Kunasani mkunasani@ripple.com
- Mark Travis mtrippled@users.noreply.github.com
- Matt Mankins mankins@gmail.com
- Mayukha Vadari mvadari@gmail.com
- Michael Legleux mlegleux@ripple.com
- Oleksandr Pidskopnyi opidskopnyi@ripple.com
- Ramkumar SG rgunasegharan@ripple.com
- Scott Determan scott.determan@yahoo.com
- Sergey Kuznetsov skuznetsov@ripple.com
- Sophia Xie sxie@ripple.com
- Shawn Xie shawnxie@ripple.com
- Valentin Balaschenko vbalaschenko@ripple.com
- Vito Tumas vtumas@ripple.com
- Vladislav Vysokikh vvysokikh@gmail.com
- Wietse Wind w.wind@ipublications.net
- Xun Zhao xzhao@ripple.com
- Yinyi Qian yqian@ripple.com
バグバウンティと開示について
私たちはrippledコードのレビューを歓迎します。 リサーチャーの皆さんには、発見された問題を責任を持って開示してくださるようお願いしています。 バグを報告される場合は、詳細なレポートを次のアドレスへお送りください: bugs@xrpl.org