本文介绍了QuickNode Webhooks,一个实时区块链事件传递服务,它可以将过滤后的链上数据直接发送到用户的HTTP端点。文章详细说明了如何创建和测试Webhooks,以及Webhooks的关键功能,如实时传递、引导式向导、模板、重试逻辑、压缩和重组处理,同时还对比了Webhooks与QuickAlerts的差异,并提供了上手指南。
QuickNode Webhooks 是一项实时区块链事件传递服务,可将经过筛选的链上数据直接发送到你的 HTTP 终端节点。它可以轻松获取你关心的数据,如Token转移或合约事件,而无需不断轮询或构建复杂的基础设施。
本指南将引导你创建和测试你的第一个 webhook。如果你目前正在使用 QuickAlerts,它还会高亮显示迁移到 Webhooks 以获得更高灵活性和可靠性的好处。
Webhooks 是一种简单而强大的产品,使你能够接收链上事件的实时通知,并具有高级过滤、压缩和交付保证。它消耗实时区块链数据,应用你在 UI 中定义的过滤器,然后将每个匹配的事件 POST 到你提供的 URL。
Webhooks 构建在为企业应用程序提供支持的相同强大基础设施之上,仅公开必要的配置来简化体验,使其非常适合需要实时数据而无需复杂基础设施要求的开发人员。
Webhooks 非常适合构建:
Webhooks 保留了你在 QuickAlerts 中重视的一切,但具有更简化的体验和增强的功能。以下是不同和改进的地方:
功能 | Webhooks | QuickAlerts |
---|---|---|
过滤 | 具有简化 UI 的高级过滤功能(通过模板和自定义过滤器) | 仅限于事件条件 |
交付保证 | 保证交付并重试 | 尽力而为的交付 |
多链支持 | Solana、Bitcoin 以及不断扩展的 EVM 链列表 _( 查看完整列表)_ | 36 条链 _( 查看完整列表)_ |
成本 | 按警报付费,比 QuickAlerts 便宜 55% 以上 | 按警报付费 |
Reorg 处理 | 自动 reorg 处理,以确保数据一致性 | 不适用 |
延迟/吞吐量 | 更低的延迟和更高的吞吐量 | 低延迟和高吞吐量 |
压缩 | 支持 gzip 压缩以减少 payload 大小 | 不适用 |
升级路径 | 轻松地将 webhooks 转换为完整的 Streams 管道以用于高级用例 | 不适用 |
设置 webhook 是一个简单的过程。以下是如何开始:
登录到你的 QuickNode 帐户 并导航到仪表板中的 Webhooks 部分。如果你还没有帐户,你可以在 此处 注册一个。
单击 创建 Webhook 以启动引导式向导,立即开始。本向导将指导你完成设置 webhook 的过程,从选择网络到定义过滤器和目标 URL。
选择你要监视的区块链网络。这是告诉 Webhooks 在哪里侦听事件的第一步。
接下来,你将定义要接收的事件类型。你有两个主要选项:
在本指南中,我们将使用 以太坊主网 上的 钱包转移 模板作为示例,以便在新活动发生时收到警报,这些活动包括特定钱包地址(例如,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
,它是 Vitalik Buterin 的钱包)的 ETH、ERC-20 和 ERC-721 转移。
需要过滤器的帮助吗?
访问我们的 过滤器 文档或 Streams 指南 以了解有关高级过滤器的更多信息。
在激活 webhook 之前,测试你的过滤器以确保其正常工作并捕获你想要捕获的事件至关重要。要测试你的过滤器:
输入你要接收 payload 的 URL。QuickNode 将向此 URL 发送 POST 请求。payload 格式将与你在测试 payload 中看到的格式相同,因此你可以轻松地在你的服务器上解析它。
在本指南中,我们将使用 TypedWebhook 轻松测试我们的配置。TypedWebhook 是一项免费服务,可为你提供一个 URL 以发送测试 payload。请按照以下步骤进行设置:
如果你需要示例代码来构建你自己的服务器,请查看我们的 使用 Streams 和 React 可视化实时区块链数据 指南中的“使用 Express.js 设置后端服务器”部分。
在获得成功响应后,你可以创建你的 webhook。但是,在继续之前,让我们探索一些你可以配置的其他选项。
每个 webhook 都有一个验证Token,你可以使用该Token来验证 webhook 的真实性。此Token是自动生成的,可以在 Webhooks 仪表板中找到。通过使用验证Token,你可以验证传入的 webhook 消息并确保它们源自你的 webhook。
查看 如何验证传入的 Streams Webhook 消息 指南以获取更多详细信息。
QuickNode Webhooks 提供了一个压缩选项来优化你的数据交付。你可以选择使用 gzip 压缩 payload 以减小其大小。
虽然 Webhooks 的成本基于收到的警报数量,但使用压缩仍然可以为你的基础设施带来好处。更小的 payload 大小会导致:
最后,为你的 webhook 提供一个描述性名称,以便以后识别它,然后单击按钮以创建你的 webhook。现在,你的 webhook 将处于活动状态,并在满足你的条件过滤器时将实时数据流式传输到你指定的 URL。
恭喜!你已成功设置了你的第一个 QuickNode Webhook,使你能够轻松地接收实时区块链数据。Webhooks 提供了一种强大而简化的方式,可以将链上事件直接集成到你的应用程序中。
如果你有任何疑问,请随时使用我们在 Discord 上的专用频道,或者使用下面的表格提供反馈。通过在 X 和我们的 Telegram 公告频道 上关注我们来了解最新信息。
如果你有任何反馈或新主题的要求,请 告诉我们。我们很乐意听取你的意见。
- 原文链接: quicknode.com/guides/qui...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!