本記事は2025年3月6日投稿のXRPL公式ブログ"Introducing XRP Ledger version 2.4.0“の和訳です。
XRP Ledgerプロトコルの基本サーバー実装であるrippledのバージョン2.4.0がリリースされました。 このリリースでは新機能とバグ修正に加え、以下のアメンドメントが導入されています。
PermissionedDomainsDeepFreezeDynamicNFTfixFrozenLPTokenTransferfixInvalidTxFlags
注目のアップデート: 新XRPLファウンデーションが提供する新しい公開鍵
先日お知らせした新XRPLファウンデーションへの移行に伴い、XRPLファウンデーションのメンバーは旧XRPLファウンデーションから新XRPLファウンデーションへの Unique Node List (UNL) のスムーズな移行に向けて精力的に取り組んできました。
この移行には2つの重要な目的があります。
- ネットワークへの継続的な参加を確保し、ダウンタイムの発生を防ぐこと。
- バリデーターやノードオペレーターへの影響を最小限に抑え、段階的な移行を可能にすること。
これらの目的を踏まえ、既存の vl.xrplf.org リストと並行して、新しく unl.xrplf.org というサブドメインが導入されました。 このアプローチにより、現在のUNLリストの鍵を変更することなく段階的な移行が可能になります。 最終的には vl.xrplf.org は完全に廃止され、unl.xrplf.org に置き換えられる予定です。
rippled 2.4.0 リリースでは、validators-example.txtファイルが更新され、新XRPLファウンデーションが公開する新しい公開鍵が含まれるようになりました。
移行に関する詳細な情報は、近日中にXRPLファウンデーションから共有される予定です。
対応が必要な変更
XRP Ledgerサーバーを運用されている場合は、サービスの継続を確実にするため、できるだけ早くバージョン2.4.0へのアップグレードをお願いします。
加えて、新しいアメンドメントがXRP Ledgerのアメンドメントプロセスに従って投票可能となりました。 このプロセスでは、信頼されたバリデーターによる80%超の支持が2週間継続することでプロトコル変更が有効になります。 プロトコル変更が実際に適用されるタイミングは、分散型ネットワークの投票結果によります。
インストール/アップグレード
サポートされているプラットフォームで、rippledのインストールまたはアップデートに関する指示を参照してください。
| Package | SHA-256 |
|---|---|
| RPM for Red Hat / CentOS (x86-64) | f87f44005b84b35606413313f7414bfdf2bf09f01ce88bfe9fafc3ff75fd5199 |
| DEB for Ubuntu / Debian (x86-64) | a3df84ba3d21f7182a57c8ca11fb2fbd1707e5cf53112822e60aa89886d943ad |
他のプラットフォームについては、ソースコードからビルドしてください。 HEADが、バージョン設定を変更するコミットであることを必ず確認してください。
commit 2216e5a13f306d01baf34ef3a48966ecaf908ad6
Author: Michael Legleux <mlegleux@ripple.com>
Date: Wed Mar 5 11:48:16 2025 -0800
Set version to 2.4.0
変更履歴
アメンドメント
このリリースで投票可能となるアメンドメントは以下のとおりです。
- DynamicNFT (XLS-46)
URIを変更可能なミュータブルな
NFTokenオブジェクトをミントできる機能を追加します。#5048 - PermissionedDomains (XLS-80) パーミッションドドメインを追加します。これはコンプライアンスルールを満たすためにアクセスを制限する、XRP Ledger上の広範なシステムの一部として機能します。#5161
- DeepFreeze (XLS-77) トラストラインのディープフリーズ機能を追加し、トークン発行者がディープフリーズした保有者に対して資産の送付をブロックできるようにします。#5187
- fixFrozenLPTokenTransfer 関連する流動性プールに少なくとも1つの凍結された資産が含まれている場合、LPトークンの送付を禁止します。#5227
- fixInvalidTxFlags
CredentialCreate、CredentialAccept、CredentialDeleteトランザクションに対してトランザクションフラグのチェックを追加します。#5250
新機能
- トランザクションのドライランを実行し、シミュレートされたメタデータを確認できる新しいAPIメソッド
simulateを追加しました。 (#5069, #5265) - トランザクション内で資産を定義する際にMPTを指定できるようにしました。 (#5200)
ledger_entryAPIメソッドでripple_stateのエイリアスとしてstateを追加しました。 また、可読性向上のためLedgerEntry.cppをリファクタリングしました。 (#5199)- バリデーターが、合意するUNL公開者の最小数を設定できるようにしてUNLのセキュリティを強化しました。 (#5112)
- XRPLファウンデーションのUNL鍵を更新しました。 (#5289)
- 現在のUNLリストの鍵を変更することなく段階的な移行を可能にするため、新しいXRPLファウンデーションのサブドメインを追加しました。 (#5326)
ledger、ledger_data、account_objectsAPIメソッドで、レジャーエントリタイプを正規名でフィルタリングできるようにしました。 (#5271)- ネットワークから受信したバリデーションとプロポーザルそれぞれに対して、詳細なログを追加しました。 (#5291)
rippledのデバッグビルドのバージョンを確認する際の git commit hash の参照を改善しました。 また、管理者接続でserver_infoAPIメソッドを使用した際に git commit hash の情報を表示するようにしました。 (#5225)
バグ修正
Expectedクラスでデータ型が重複する問題を修正しました。 (#5218)- VS2022を使用したWindowsで
rippledがビルドできない問題を修正しました。 (#5197) server_definitionsのプレフィックスを修正しました。 (#5231)- 汎用的なMacOSランナー向けに、不足していた依存関係のインストールを追加しました。 (#5233)
- 非推奨となっていたGitHub Actionsを更新しました。 (#5241)
connect管理RPCを送信した際にassertが失敗するシナリオを修正しました。 (#5235)- 依存関係解析時に単一行コメントを無視するよう levelization スクリプトを修正しました。 (#5194)
PermissionedDomainDeleteで使用されていたassert名を修正しました。 (#5245)- MacOSのユニットテストを修正しました。 (#5196)
- バリデーターがアメンドメント投票を正確に反映しない問題を修正しました。 また、アメンドメント投票のデバッグログを追加しました。 (#5173, #5312)
- 手数料が二重に課金される可能性のある問題を修正しました。 (#5269)
new parent hashのassertを削除し、ログメッセージに置き換えました。 (#5313)- 新しい信頼済みプロポーザルが到着した場合に、過去に取得失敗したインバウンドレジャーが取得されない問題を修正しました。 (#5318)
その他の改善
AccountIDのハンドリングに関するユニットテストを追加しました。 (#5174)- CMakeを使った
libxrplでの levelization の強制を追加しました。 (#5199) libxrplおよびすべてのサブモジュールで同じコンパイラオプションを使用するよう更新しました。 (#5228)- Antithesis instrumentationを追加しました。 (#5042, #5213)
- 将来のバグを防ぐため、
LEDGER_ENTRYマクロにrpcNameを追加しました。 (#5202) - コードフリーズを回避する新しいワークフローを導入するため、コントリビューションガイドラインを更新しました。 また、メンテナーがブランチ管理に使用できるスクリプトと、
master、release、developの3つの主要ブランチ間でコードの整合性をチェックするCIジョブを追加しました。 (#5215) rippled 2.3.0で修正されたキャッシュの問題に対するユニットテストを追加しました。 (#5242)- APIの変更履歴を整理しました。 (#5207)
- ログの可読性を改善しました。 (#5251)
- Visual Studio CIをVS 2022に更新し、VSのデバッグビルドを追加しました。 (#5240)
secp256k1ライブラリをバージョン0.6.0に更新しました。 (#5254)rippledのサンプル設定の[port_peer]パラメータを51235に戻しました。 また、新規デプロイにはデフォルトポート2459の使用を推奨することを追記しました。 (#5290, #5299)- CI管理を改善しました。 (#5268)
- コントリビューター向けのgitコミットメッセージのルールを更新しました。 (#5283)
- 不要な
setCurrentThreadNameの呼び出しを修正しました。 (#5280) - Credentialsアメンドメントが有効になる前にPermissioned Domainsアメンドメントが有効になった場合に、パーミッションドドメインが作成されないようにするチェックを追加しました。 (#5275)
- Conanの依存関係を更新しました。 (#5256)
- コードコメントの軽微な誤字を修正しました。 (#5279)
- 不正確なビルド手順を修正しました。 (#5274)
- コールバック中にロックを保持しないよう
rotateWithLock()をリファクタリングしました。 (#5276) - 複数のデータポイントを単一のメッセージにまとめてデバッグログを整理しました。 (#5302)
- パフォーマンス低下を修正するため、ビルドフラグを更新しました。 (#5325)
クレジット
このリリースに直接的に貢献してくれた皆さん:
- Aanchal Malhotra amalhotra@ripple.com
- Bart Thomee 11445373+bthomee@users.noreply.github.com
- Bronek Kozicki brok@incorrekt.com
- code0xff ian.jungyong.um@gmail.com
- Darius Tumas tokeiito@tokeiito.eu
- David Fuelling fuelling@ripple.com
- Donovan Hide donovanhide@gmail.com
- Ed Hennis ed@ripple.com
- Elliot Lee github.public@intelliot.com
- Javier Romero jromero@ripple.com
- Kenny Lei klei@ripple.com
- Mark Travis 7728157+mtrippled@users.noreply.github.com
- Mayukha Vadari mvadari@gmail.com
- Michael Legleux mlegleux@ripple.com
- Oleksandr 115580134+oleks-rip@users.noreply.github.com
- Qi Zhao qzhao@ripple.com
- Ramkumar Srirengaram Gunasegharan rgunasegharan@ripple.com
- Shae Wang swang@ripple.com
- Shawn Xie shawnxie920@gmail.com
- Sophia Xie sxie@ripple.com
- Vijay Khanna Raviraj vraviraj@ripple.com
- Vladislav Vysokikh vvysokikh@gmail.com
- Xun Zhao xzhao@ripple.com
バグバウンティと開示について
私たちはrippledコードのレビューを歓迎します。 リサーチャーの皆さんには、発見された問題を責任を持って開示してくださるようお願いしています。 バグを報告される場合は、詳細なレポートを次のアドレスへお送りください: bugs@xrpl.org