Solana Stream SDKの新機能
Validators DAOとELSOUL LABO B.V.が共同で開発した「Solana Stream SDK」が、バージョン1.1.1をリリースしました。この最新SDKは、Solanaネットワーク上での速やかなデータ処理を可能にするために、UDP Shredsを直接扱うためのRust製クライアントのスターターコードをオープンソースとして公開しています。これは、バリデータ間で直接やり取りされるShredsを用いて、RPCやWebSocket、gRPCといったAPI層を経ずに、リアルタイムでのデータ処理を実現するための取り組みです。
新機能の概要
今回のアップデートでは、UDP Shredsのシステムを利用したデータ受信の実装が紹介されています。特に、低レイテンシを重視した使用ケースでの価値が強調されており、実際の運用に役立つ具体的な方法となっています。UDPはコネクションの確立や再送制御がないため、TCPよりも効率的にデータを受信することができます。Solanaネットワークにおけるデータ処理の迅速化を進めるには、UDP Shredsが最適な選択肢となります。
検知のタイミング
Solanaネットワークにおいては、Shredsを用いることで同じ出来事を最も早く観測できるため、トランザクションの検知に関連して特に重要です。Geyser gRPCやRPC/WebSocketのような上位層と異なり、Shredsは直接バリデータの間でやり取りされる情報を扱います。そのため、同じ情報を取得するにしても、どの層から取得するかによって実際の検知タイミングが異なることを理解することが重要です。
pump.funの採用理由
Validators DAOは、実際のニーズを反映させるために、pump.funというプラットフォームを例に挙げました。このシステムではトークンのミントや初動での売買が極めて短い時間で行われ、そのタイミングによって結果が大きく変わるため、特に最速レイヤーを活用することが求められています。この最新のSDKでは、pump.funを使用した具体的な検知ロジックがデフォルトで組み込まれています。これにより、実際の運用において迅速な反応を可能にします。
通常のトランザクションへの対策
UDPによって流れ込む大量のトランザクションの中には、購入戦略に影響を与えない小規模な取引も含まれます。そのため本スターターコードでは、金額の閾値を設定し、一定以上の金額の取引のみを検知対象にする設計が採用されています。これにより、騒音の少ないデータセットを維持でき、必要な情報だけを迅速に捉えることが可能になります。
未確定情報の重要性
UDP Shredsが持つ性質として、確定前の情報を扱うことがあります。これにより、時には間違った情報が含まれることもありますが、これは最速レイヤーの特性として理解する必要があります。確定を待たずしてリアルタイムで変化を捉えることができる点は、大きなメリットです。また、この最新のスターターコードも、RPCに依存せずにShredsのみで検知を行う設計がされています。
開発者向けの情報
内部処理は、受信から復元・判定・出力に至るまで、明確な流れで整理されており、特に理解しやすさが重視されています。各プロセスは独立した構成要素として設計されており、柔軟にカスタマイズが可能です。これにより、開発者は必要な部分から段階的に変更・最適化が行えるようになっています。
GitHubにて最新のSolana Stream SDKが公開されているので、興味のある方はぜひチェックしてみてください。今後もValidators DAOはユーザーからのフィードバックを基に、さらなる改良を加えていく予定です。
提供情報
Solana Stream SDK v1.1.1を利用した開発に関する質問やフィードバックは、Validators DAOの公式Discordを通じて受け付けています。