什么是索引器?
Geode 索引器是一个轻量级服务,扫描以太坊上的 Geode 协议事件并存储在持久数据库中。它是以下数据的唯一数据源:- 已发行代币 — 每个通过 Geocurve 部署的代币
- 批量结算 — 出清价格、匹配量和结算者费用
索引器替代了结算者的易失性内存代币注册表。代币在重启后持久保存,结算者机器人每 30 秒自动从索引器同步池列表。
架构
托管实例
Geode 运行一个公共索引器:自托管
配置
FACTORY_ADDRESS— GeodeFactory 合约地址HOOK_ADDRESS— GeodeHook 合约地址RPC_URL— 您的以太坊 JSON-RPC 端点
配置
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
RPC_URL | 否 | https://ethereum-rpc.publicnode.com | 以太坊 JSON-RPC 端点 |
FACTORY_ADDRESS | ⚠️ | — | GeodeFactory 合约地址 |
HOOK_ADDRESS | ⚠️ | — | GeodeHook 合约地址 |
START_BLOCK | 否 | 当前 | 开始索引的区块号 |
POLL_INTERVAL_MS | 否 | 5000 | 扫描新区块的频率(毫秒) |
PORT | 否 | 3004 | HTTP API 端口 |
API 参考
列出所有代币
按地址获取代币
注册代币
列出结算
统计信息
健康检查
索引的事件
TokenLaunched
GeodeFactory 部署新 Geocurve 代币时发出。捕获名称、符号、部署者、储备和版税配置。
GeodeBatchSettled
GeodeHook 每次成功结算后发出。记录出清价格、匹配量、费用和结算者地址。
GeodeCurveSwap
每次直接联合曲线交换时发出。追踪输入/输出金额、费用和更新的 ETH 储备。
GeodeLaunched
来自 GeodeHook 的备份事件。确保即使 Factory 事件被遗漏,代币也能被捕获。
持久化
索引器使用 SQLite(WAL 模式)作为数据库。关键表:| 表 | 内容 |
|---|---|
tokens | 所有已发行代币及其元数据 |
settlements | 每次批量结算及出清价格、费用、结算者 |
indexer_state | 追踪 last_indexed_block 用于重启后恢复 |
结算者集成
结算者机器人自动从索引器同步池列表。每 30 秒,结算者从索引器获取GET /tokens 并注册任何新池。这意味着在 Geode 上发行的每个代币都自动可结算——无需手动池注册。