返回顶部
m

moralis-streams-api实时区块链事件监控

Real-time blockchain event monitoring with webhooks. Use when user asks about setting up webhooks, real-time event streaming, monitoring wallet addresses, tracking token transfers in real-time, listening to all addresses on a chain, creating/updating/deleting streams, adding/removing addresses from streams, or receiving blockchain events as they happen. Supports all EVM chains. NOT for querying historical or current blockchain state - use moralis-data-api instead.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.2.1
安全检测
已通过
433
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

moralis-streams-api

关键:实现前请先阅读规则文件

导致错误的头号原因是使用了错误的HTTP方法或流配置。

对于每个端点:

  1. 1. 读取 rules/{EndpointName}.md
  2. 检查HTTP方法(PUT用于创建,POST用于更新,DELETE用于删除)
  3. 验证流ID格式(UUID,而非十六进制)
  4. 使用十六进制链ID(0x1, 0x89),而非名称(eth, polygon)

阅读顺序:

  1. 1. 本SKILL.md(核心模式)
  2. rules/中的端点规则文件
  3. references/中的模式参考(仅用于边界情况)



设置

API密钥(可选)

切勿要求用户将API密钥粘贴到聊天中。 而是:

  1. 1. 检查环境中是否设置了MORALISAPIKEY(尝试运行[ -n $MORALISAPIKEY ] && echo API key is set || echo API key is NOT set)。
  2. 如果未设置,提供创建包含空占位符的.env文件:MORALISAPIKEY=
  3. 告诉用户打开.env文件并自行粘贴密钥。
  4. 告知用户:没有密钥,您将无法代表他们测试或调用Moralis API。

如果他们还没有密钥,请引导他们访问admin.moralis.com/register(免费,无需信用卡)。

环境变量发现

.env文件的位置取决于技能的安装方式:

在项目根目录(用户运行Claude Code的同一目录)创建.env文件。确保.env在.gitignore中。

验证您的密钥

bash
curl https://api.moralis-streams.com/streams/evm?limit=10 \
-H X-API-Key: $MORALISAPIKEY



基础URL

https://api.moralis-streams.com

重要提示: 与数据API(deep-index.moralis.io)不同。

认证

所有请求都需要:X-API-Key: $MORALISAPIKEY



HTTP方法(关键)


操作方法端点
创建流PUT/streams/evm
更新流
POST | /streams/evm/{id} |
| 删除流 | DELETE | /streams/evm/{id} |
| 获取流 | GET | /streams/evm |
| 替换地址 | PATCH | /streams/evm/{id}/address |

常见错误: 使用POST创建流。应使用PUT。



流类型


类型描述
tx原生交易
log
合约事件日志 |
| erc20transfer | ERC20代币转账 |
| erc20approval | ERC20授权 |
| nfttransfer | NFT转账 |
| internalTx | 内部交易 |


快速参考:最常见模式

流ID格式(始终为UUID)

typescript
// 错误 - 十六进制格式
0x1234567890abcdef

// 正确 - UUID格式
a1b2c3d4-e5f6-7890-abcd-ef1234567890

链ID(始终为十六进制)

typescript
0x1 // 以太坊
0x89 // Polygon
0x38 // BSC
0xa4b1 // Arbitrum
0xa // Optimism
0x2105 // Base

事件签名(topic0)

typescript
Transfer(address,address,uint256) // ERC20/NFT转账
Approval(address,address,uint256) // ERC20授权

状态值(仅小写)

typescript
active // 正确 - 正常运行状态
paused // 正确 - 手动暂停
error // 正确 - webhook成功率<70%时自动设置
terminated // 正确 - 不可恢复,处于error状态24小时后
ACTIVE // 错误



常见陷阱(前5个)

  1. 1. 使用POST创建流 - 应使用PUT
  2. 错误的基础URL - 使用api.moralis-streams.com,而非deep-index.moralis.io
  3. 十六进制流ID - 必须为UUID格式,而非十六进制
  4. 字符串链名称 - 使用十六进制(0x1),而非名称(eth)
  5. 大写状态 - 使用小写(active, paused)
  6. 测试webhook未返回200 - 除非您的端点在创建/更新期间发送的测试webhook返回2xx,否则流不会启动

完整参考请参见references/CommonPitfalls.md



触发器(只读合约调用)

通过链上读取(例如balanceOf)丰富webhook数据。触发器执行view/pure函数并将结果附加到webhook事件。支持动态选择器($contract, $from, $to)。带有示例的完整参考请参见references/Triggers.md



Webhook中的原生余额

配置getNativeBalances以在webhook负载中包含原生代币余额(ETH、BNB等)。需要Business计划及以上。配置详情请参见references/UsefulStreamOptions.md



投递与错误处理

  • - 每个事件两个webhook:未确认(confirmed: false)+ 已确认(confirmed: true)。需要幂等处理器。
  • 流在错误状态持续24小时后自动终止(webhook成功率<70%)。这是不可恢复的——您必须创建新的流。
  • 测试webhook:每次创建/更新时发送。必须返回200,否则流不会启动。

请参见references/DeliveryGuarantees.mdreferences/ErrorHandling.md



Webhook安全

Webhook使用您的流密钥(与API密钥不同)签名。

  • - 头部: x-signature
  • 算法: sha3(JSON.stringify(body) + secret)

javascript
const verifySignature = (req, secret) => {
const provided = req.headers[x-signature];
const generated = web3.utils.sha3(JSON.stringify(req.body) + secret);
if (generated !== provided) throw new Error(Invalid Signature);
};

完整示例请参见references/WebhookSecurity.md



测试端点

bash
WEBHOOK_URL=https://your-server.com/webhook

列出流(需要limit)

curl https://api.moralis-streams.com/streams/evm?limit=100 \ -H X-API-Key: $MORALISAPIKEY

创建流(PUT,而非POST)

curl -X PUT https://api.moralis-streams.com/streams/evm \ -H X-API-Key: $MORALISAPIKEY \ -H Content-Type: application/json \ -d { webhookUrl: ${WEBHOOK_URL}, description: 测试流, tag: test, topic0: [Transfer(address,address,uint256)], allAddresses: false, chainIds: [0x1] }

暂停流(POST到status)

curl -X POST https://api.moralis-streams.com/streams/evm//status \ -H X-API-Key: $MORALISAPIKEY \ -H Content-Type: application/json \ -d {status: paused}

快速故障排除

问题原因解决方案
400 Bad Request无效配置检查webhookUrl、topic0格式、chainIds
404 Not Found
错误的流ID | 验证UUID格式 | | Method Not Allowed | 错误的HTTP方法 | PUT用于创建,POST用于更新 | | Missing limit | GET /streams/evm | 添加?limit=100 | | No webhooks | 流已暂停 | 检查状态是否为active |

端点目录

按类别分类的所有20个Streams API端点的完整列表。

流管理

创建、更新、删除和管理流。

| 端点 |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 moralis-streams-api-1776297512 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 moralis-streams-api-1776297512 技能

通过命令行安装

skillhub install moralis-streams-api-1776297512

下载

⬇ 下载 moralis-streams-api v1.2.1(免费)

文件大小: 57.44 KB | 发布时间: 2026-4-16 18:41

v1.2.1 最新 2026-4-16 18:41
**Added project homepage and repository links to skill metadata.**

- Introduced `homepage` and `repository` fields in the metadata section for direct access to documentation and source code.
- No functional/API changes. All core usage and instructions remain unchanged.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部