什么是结算者?
结算者是一个链下服务,从用户收集签名的交易意图,按池分批,并在 GeodeHook 合约上调用geodeSettleBatch()。作为回报,结算者从协议中赚取结算费用和 Gas 报销。
结算是无许可的 — 任何人都可以运行结算者。给定结算窗口中第一个提交的有效批次赢得费用。
架构
快速开始
配置环境
.env 并设置:SETTLER_PRIVATE_KEY— 您的结算者钱包私钥HOOK_ADDRESS— 已部署的 GeodeHook 合约地址RPC_URL— 您的以太坊 JSON-RPC 端点
配置
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
SETTLER_PRIVATE_KEY | ✅ | — | 结算者钱包的私钥。必须有 ETH 用于 Gas。 |
HOOK_ADDRESS | ⚠️ | — | 已部署的 GeodeHook 地址。没有则禁用自动结算。 |
RPC_URL | 否 | http://localhost:8545 | JSON-RPC 端点 |
SETTLE_INTERVAL_MS | 否 | 2000 | 检查待处理意图的频率(毫秒) |
PORT | 否 | 3003 | HTTP API 端口 |
API 参考
提交意图
查看待处理意图
强制结算
列出池
健康检查
经济学
结算费用
每个已成交意图输入金额的 0.1%。 在路由前扣除——结算者直接从 PoolManager 取得未路由的费用存款。
Gas 报销
Gas 成本 × 1.5,每批次上限 0.01 ETH。 从池的累积直接交换费用盈余中提取。
源代码
- GitHub: Geode-vAMM/geode-settler
- 依赖:
express,ethers v6,cors - 运行时: Node.js ≥ 18