このプロジェクトについて

Sierpeは、ユーザーが登録したコントラクトを監視してStellarネットワークを追跡するセルフホスト型サーバーです。完全な履歴をオペレーター自身のPostgresデータベースに保存し、REST APIと組み込みの管理UIを通じて公開します。プロジェクトのバージョンはv1.5.2であり、docs/DESIGN.mdでは設計が安定していると説明されています。また、イベント、コントラクト状態、トークン転送、トラストライン、トークン移動の機能は完成しており、テストネットで動作することが述べられています。 インデックス対象 - 登録されたコントラクトから発行されたイベント。各コントラクトのオンチェーン仕様から発見され、チャンク単位でバックフィルされた後、チェーンの先端で追跡されます。 - コントラクト状態:ストレージエントリの変更履歴と現在のスナップショット。 - デコードされたトークン転送(SEP-41デコード、CAP-67マルチプレクス)およびSACアセットのクラシックなトラストライン。 - コントラクトへの流入または流出トークンの移動。どのコントラクトが転送を発行したかにかかわらず、種類ごとのカバレッジレポートを提供します。 - RPC保持期間より前の履歴:Stellar RPCは約7日間のイベントを保持するため、Sierpeはソースが許す限りジェネシスからバックフィルし、RPCが提供しない範囲については公開履歴アーカイブ(History Archives)をリプレイするように設計されています。アーカイブのリプレイは`-full`イメージを通じて提供されます。 利用方法 デプロイは、空のPostgresに隣接してコンテナを配置します。コントラクトはコードではなくデータとして、POST /v1/contractsなどの認証済みコール(コントラクトIDと`from: genesis`を指定)を通じて実行時に登録されます。その後、サーバーはコントラクトを分類し、履歴をバックフィルして追跡を継続します。ユーザーはgetEvents-v2スタイルのフィルタ(topic0やカーソルなど)を使用してイベントをクエリしたり、キーに対する現在のストレージスナップショットや、任意のストレージエントリの履歴を照会したりできます。ドキュメントにはRailway、Docker Compose、汎用コンテナでのデプロイが記載されており、READMEではRailway、AWS、GCP、または小規模なVPSで同じバイナリが動作し、一般的なプロジェクトで月額10ドル未満のコストを目標としていることが示唆されています。要件はDockerまたはGo 1.25以上で、設定はDATABASE_URL、NETWORK、ADMIN_TOKENを通じて行います。 APIの動作と誠実性の保証 READMEでは、カバレッジとギャップが第一級のデータであることが強調されています。すべてのレスポンスに`coverage`と、HAS_MORE、WAITING_FOR_LEDGERS、OLDEST_REACHED、COMPLETEのいずれかの`scanStatus`が宣言されるため、空のページは「何も存在しない」か「インデックス作成がその範囲に達していない」かのいずれかを示します。ページネーションは、ドリフトを防ぐためにクエリ全体をエンコードした不透明なカーソルに依存しています。完全なAPIサーフェスはdocs/openapi.yamlに指定されており、メトリクスはdocs/METRICS.mdに記載されています。また、アプライアンスの成果物としてGrafanaダッシュボードとステータスページがリストされています。 インターフェースとアクセス制御 管理UIが`/`に組み込まれており、コントラクト一覧エンドポイントが存在します。パブリックドメインにデプロイする場合のために、オプションでサーフェス全体のBasic認証モードが提供されています。 明示的な非目標 READMEでは、本プロジェクトはホスト型サービスではなく、分析プラットフォーム(ユーザーデータに対する集計やダッシュボードは提供しない)ではなく、チェーン全体のインデクサー(登録されたコントラクトのみをインデックス化する)ではなく、フレームワークでもないことが述べられています。利用するためにコードを書く必要がある場合は、バグとみなされます。 ロードマップ 完了したマイルストーンには、スケルトン(設定、ヘルスチェック、マイグレーション、継続性チェック付きのカーソルループ)、エンドツーエンドのイベント、コントラクト状態、アプライアンスリリースv1.0.0、トークン転送とSACトラストライン(v1.1)、アーカイブリプレイ(v1.2)、組み込みUIとコントラクト一覧(v1.3)、オプションのBasic認証(v1.4)、および種類ごとのカバレッジを伴うトークン移動(v1.5)が含まれます。今後の計画には、v1.6でのコントラクトクラス発見(wasmハッシュを登録すると、そこからデプロイされたすべてのコントラクトをインデックス化する)や、v2での署名付きウェブフックとブローカーシンクによるプッシュ配信が含まれており、MCPサーバーについても検討中であると説明されています。 プロジェクト資料 ドキュメントには、docs/DESIGN.md(アーキテクチャ、データモデル、APIサーフェス、設定、マイルストーン)、docs/DEPLOY.md、docs/KNOWLEDGE.md(本番インデクサーから抽出された29の原則とそれぞれのソース)、CONTRIBUTING.md、SECURITY.mdが含まれています。プロジェクトはApache-2.0ライセンスの下で提供されており、Issueやフィードバックを歓迎しています。