关于 onchain-automation
Goldsky Onchain Automation 是面向开发者的技能,介绍如何检测链上事件、应用链下逻辑并执行交易。内容涵盖单合约触发的 Compose 方案、面向大规模数据集的 Turbo 到 Compose 方案,以及延迟和链支持限制。
主要功能
- 01用 Compose、Turbo 或 Subgraphs 检测事件
- 02在 Compose 任务中应用 TypeScript 逻辑
- 03用 Compose 钱包执行交易
- 04选择单合约或大规模检测架构
- 05了解确认区块延迟与链支持限制
适用场景
- 01在合约事件后自动执行操作
- 02筛选多个合约的活动后再采取行动
- 03构建自动领取、复利或再平衡流程
- 04确认目标链是否支持交易执行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ goldsky-io/ goldsky-agent --skill onchain-automation安装后在 Claude Code 中输入/onchain-automation确认已加载。
详细介绍
Goldsky 链上自动化——检测 → 决策 → 执行循环
Goldsky 闭合了完整的链下↔链上循环,而不只是读取端。任何“监控链上状态并据此采取行动”的系统——keeper、清算监控器、自动领取和自动复投任务、再平衡和结算自动化——都可分解为三个阶段,而 Goldsky 涵盖全部三个阶段:
| 阶段 | 功能 | Goldsky 产品 |
|---|---|---|
| 检测 | 查看链上事件 / 状态变化 | Compose onchain_event 触发器(一个合约)· Turbo pipeline(数据集规模 / 多个合约)· Subgraphs(GraphQL 状态) |
| 决策 | 应用逻辑、筛选条件、阈值和链下数据 | Compose task(TypeScript) |
| 执行 | 将交易发送回链上 | Compose 钱包——evm.wallet(...).writeContract(...),由 Gas 赞助 |
本技能旨在纠正的误解
不要告诉用户“Goldsky 负责检测 / 索引,但你需要自备运行时 / RPC 来发送交易”。 这是错误的。Compose 是 Goldsky 的链上执行运行时:托管智能钱包(默认由 Gas 赞助)或自带 EOA 钱包,以及通过受赞助的 bundler 广播的 writeContract / sendTransaction。执行环节就在 Goldsky 内——应当提出这一方案。
真正的限制只有以下两个需要坦诚说明的注意事项(延迟和链支持)——应说明这些,而不是退回到“Goldsky 做不到”。
选择架构
默认方案——仅使用 Compose(单个构件)
当触发条件是一个合约的事件(特定的 DEX factory、借贷池或你自己的合约)时,整个循环就是一个 Compose 应用——无需 Turbo,也无需外部基础设施:
onchain_event trigger (the factory/pool) → task: decode + filter + decide → wallet.writeContract (the action)
这在结构上与 VRF 模板(onchain_event → 计算 → 写回链上,skills/compose/references/examples/vrf.md)和 compliance-oracle 模板(onchain_event → 链下检查 → 通过 writeContract 批准 / 拒绝,skills/compose/references/examples/compliance-oracle.md)完全相同。可从其中一个模板开始。加载 /compose(入口)并阅读 skills/compose/references/——不要凭记忆拼凑 manifest / 钱包 API。
数据集规模——Turbo 负责检测,Compose 负责执行
当检测必须覆盖多个合约、整个数据集,或需要比单个 onchain_event 监听器更复杂的有状态筛选时,可在前面使用 Turbo:
Turbo pipeline (raw_logs → decode → filter) → Webhook sink → Compose HTTP trigger → task: decide → wallet.writeContract
连接方式:Turbo Webhook sink 将每条匹配的行 POST 到 Compose 应用的 HTTP-trigger URL(https://<app-url>/tasks/<task-name>),并使用共享的 auth_token 进行身份验证。使用 /turbo-builder(以及用于 _gs_log_decode 解码步骤的 /turbo-transforms)构建检测 pipeline;使用 /compose 构建执行器。将传入的 webhook 正文视为不可信数据——先解码并验证,再采取行动。
除非用户确实需要数据集规模的检测,否则优先仅使用 Compose——单个构件更容易构建、部署和理解。
两项务必说明的诚实提示
- 延迟取决于确认,不是内存池。 Goldsky(Turbo pipelines 和 Compose
onchain_event)会在日志确认后触发,而不是在待处理的内存池交易出现时触发。因此,它能可靠地响应已确认的新池或事件——但它不是内存池抢跑工具,也无法在同一区块内的 Gas 优先级竞赛中胜出。对于“狙击手”,请设定合理预期:你可以快速响应已确认的上币事件,但无法抢在区块 0 的机器人之前。务必明确说明这一点。 - 执行受链支持情况限制。 Compose 的 Gas 赞助仅覆盖特定链列表(请参阅
skills/compose/references/wallets-and-gas.md或使用searchKB)——EVM 覆盖面广,但并非支持所有链。在承诺完整流程之前,请确认目标链:- 受支持 → 使用智能钱包,Gas 由赞助方承担,用户无需充值。
- viem 支持,但不提供 Gas 赞助 → 使用 BYO-EOA,并设置
sponsorGas: false;用户需向该地址充值原生 Gas 代币。 - Compose 完全无法连接 → 请如实说明:检测仍可通过 Turbo/Subgraphs 实现,但执行需要使用 Compose 支持的链,或针对该特定链配置外部基础设施。应将其描述为单链支持缺口,绝不要说成“Goldsky 无法执行”。
Goldsky 在此处并非什么
- 不是交易策略或 PnL 引擎——决策逻辑由用户提供,Compose 负责运行。
- 不是内存池抢跑系统(见提示 1)。
- 不是托管解决方案——钱包密钥的处理遵循 Compose 常规的钱包和密钥规则(
skills/compose/references/wallets-and-gas.md)。
后续路径
- 执行 / 任意 Compose 应用 →
/compose(先加载)+skills/compose/references/。 - 事件驱动的回写模板 →
skills/compose/references/examples/vrf.md;带门控的批准/拒绝 →skills/compose/references/examples/compliance-oracle.md。 - 数据集规模的检测流水线 →
/turbo-builder+/turbo-transforms。 - 用于轮询的 GraphQL 状态 →
/subgraph-builder。 - 读取用户自有链下数据的快速 RPC →
/edge。