nahrek/polyledger

Resumable Polymarket indexer: CLOB market metadata plus on-chain trades from Polygon, in one DuckDB file you can query with SQL

解決する課題

PolyLedgerは、Polymarketの市場メタデータとオンチェーン取引データを収集および整理するために設計された、再開可能なインデクサーです。Polymarket CLOBやGamma API、および生のPolygonブロックチェーンログから断片化されたデータを手動で集約する問題を解決し、履歴分析のための統一されたクエリ可能なデータベースを提供します。

仕組み

このツールは、Envio HyperSyncを介してPolygonネットワークからOrderFilledイベントをストリーミングし、CLOB APIから市場メタデータを取得します。これらのデータストリームを処理し、単一のDuckDBファイルに書き込みます。信頼性を確保するために、アトミックチェックポイント(行とブロックカーソルを1つのトランザクションでコミットする)と冪等な書き込みを使用し、実行が中断されて再起動された場合のデータ重複を防ぎます。

対象者

複雑なデータベースサーバーを管理することなく、Polymarketの取引と市場詳細の構造化されたSQLクエリ可能な履歴を必要とするデータアナリスト、研究者、およびトレーダー向けに構築されています。

ハイライト

  • DuckDBバックエンド: 単一ファイルで効率的なストレージ、圧縮、SQL結合を実現するサーバーレス列指向データベースを使用します。
  • 再開可能な同期: 組み込みのチェックポイントにより、インデクサーは中断後に停止した正確な位置から再開できます。
  • 複数世代のサポート: 異なるコントラクト世代からのV1およびV2 OrderFilledイベントレイアウトをデコードします。
  • スキーマ検証: Pydanticモデルを採用し、上流APIの変更がサイレントなデータ破損ではなく即時のエラーをトリガーするようにします。
  • ギャップリカバリ: 欠落しているトークンIDを自動的にフラグ付けし、Gamma APIを使用してバックフィルします。
  • Parquetエクスポート: pandas、polars、Sparkなどのツールで使用するために、すべてのテーブルをParquetファイルに簡単にエクスポートできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト