Webhooks上手指南

本文介绍了QuickNode Webhooks,一个实时区块链事件传递服务,它可以将过滤后的链上数据直接发送到用户的HTTP端点。文章详细说明了如何创建和测试Webhooks,以及Webhooks的关键功能,如实时传递、引导式向导、模板、重试逻辑、压缩和重组处理,同时还对比了Webhooks与QuickAlerts的差异,并提供了上手指南。

概述

QuickNode Webhooks 是一项实时区块链事件传递服务,可将经过筛选的链上数据直接发送到你的 HTTP 终端节点。它可以轻松获取你关心的数据,如Token转移或合约事件,而无需不断轮询或构建复杂的基础设施。

本指南将引导你创建和测试你的第一个 webhook。如果你目前正在使用 QuickAlerts,它还会高亮显示迁移到 Webhooks 以获得更高灵活性和可靠性的好处。

你将做什么

  • 探索 Webhooks UI 及其引导式向导
  • 从头开始创建一个新的 webhook,以便在要跟踪的新事件发生时收到通知
  • 测试到你自己的 URL 的传递并验证 payload

你将需要什么

什么是 Webhooks?

Webhooks 是一种简单而强大的产品,使你能够接收链上事件的实时通知,并具有高级过滤、压缩和交付保证。它消耗实时区块链数据,应用你在 UI 中定义的过滤器,然后将每个匹配的事件 POST 到你提供的 URL。

Webhooks 构建在为企业应用程序提供支持的相同强大基础设施之上,仅公开必要的配置来简化体验,使其非常适合需要实时数据而无需复杂基础设施要求的开发人员。

常见用例

Webhooks 非常适合构建:

  • 交易机器人:实时监控 DEX 交换和流动性变化
  • 分析仪表板:跟踪Token移动、巨鲸活动和协议指标
  • 通知系统:提醒用户链上活动
  • 钱包跟踪:跟踪特定钱包活动,例如Token转移
  • 合约事件跟踪:监控智能合约发出的特定事件,例如新的 mint、批准或函数调用
  • DeFi 监控:观察借贷头寸、收益耕作奖励和清算事件
  • NFT 追踪器:跟踪集合的 mint、转移和市场活动

主要功能

  • 实时传递:在事件刚发生在链上后立即接收
  • 引导式向导:选择一条链,选择一个no-code模板或编写你自己的过滤器,设置你的URL,仅此而已
  • 模板:一键式no-code表单支持常见的模式,例如Token转移、合约事件等
  • 重试逻辑:自动重试非 200 响应
  • 压缩:使用 gzip 压缩 payload 以减少 payload 大小
  • Reorg 处理:自动处理区块链重组以确保数据一致性
  • 升级到 Streams:你是否需要历史回填、批处理或不同的目标?查看 Streams

与 QuickAlerts 有什么不同?

Webhooks 保留了你在 QuickAlerts 中重视的一切,但具有更简化的体验和增强的功能。以下是不同和改进的地方:

功能 Webhooks QuickAlerts
过滤 具有简化 UI 的高级过滤功能(通过模板和自定义过滤器) 仅限于事件条件
交付保证 保证交付并重试 尽力而为的交付
多链支持 Solana、Bitcoin 以及不断扩展的 EVM 链列表 _( 查看完整列表)_ 36 条链 _( 查看完整列表)_
成本 按警报付费,比 QuickAlerts 便宜 55% 以上 按警报付费
Reorg 处理 自动 reorg 处理,以确保数据一致性 不适用
延迟/吞吐量 更低的延迟和更高的吞吐量 低延迟和高吞吐量
压缩 支持 gzip 压缩以减少 payload 大小 不适用
升级路径 轻松地将 webhooks 转换为完整的 Streams 管道以用于高级用例 不适用

QuickNode Webhooks 入门

设置 webhook 是一个简单的过程。以下是如何开始:

第 1 步:访问 Webhooks 仪表板

登录到你的 QuickNode 帐户 并导航到仪表板中的 Webhooks 部分。如果你还没有帐户,你可以在 此处 注册一个。

Webhooks 仪表板

第 2 步:创建你的第一个 Webhook

单击 创建 Webhook 以启动引导式向导,立即开始。本向导将指导你完成设置 webhook 的过程,从选择网络到定义过滤器和目标 URL。

第 3 步:配置你的 Webhook

链选择

选择你要监视的区块链网络。这是告诉 Webhooks 在哪里侦听事件的第一步。

过滤器选择

接下来,你将定义要接收的事件类型。你有两个主要选项:

  • 选择一个模板:Webhooks 为常见的模式(如“钱包转移”或“合约事件”)提供一键式启动器。这些模板预先配置了必要的过滤器,只需要你指定相关的参数,如钱包地址或合约地址。
  • 编写自定义过滤器:对于更具体或复杂的需求,你可以使用基于 JavaScript 的服务器端过滤来编写你自己的自定义条件。

Webhooks 选择一个模板

在本指南中,我们将使用 以太坊主网 上的 钱包转移 模板作为示例,以便在新活动发生时收到警报,这些活动包括特定钱包地址(例如,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,它是 Vitalik Buterin 的钱包)的 ETH、ERC-20 和 ERC-721 转移。

需要过滤器的帮助吗?

访问我们的 过滤器 文档或 Streams 指南 以了解有关高级过滤器的更多信息。

第 4 步:测试你的过滤器

在激活 webhook 之前,测试你的过滤器以确保其正常工作并捕获你想要捕获的事件至关重要。要测试你的过滤器:

  • 选择一个用于测试的区块号
  • 单击测试区块号输入字段旁边的 运行
  • 查看示例 payload 以测试一切是否按预期工作

Webhooks - 测试你的过滤器

第 5 步:设置你的 Webhook URL

输入你要接收 payload 的 URL。QuickNode 将向此 URL 发送 POST 请求。payload 格式将与你在测试 payload 中看到的格式相同,因此你可以轻松地在你的服务器上解析它。

在本指南中,我们将使用 TypedWebhook 轻松测试我们的配置。TypedWebhook 是一项免费服务,可为你提供一个 URL 以发送测试 payload。请按照以下步骤进行设置:

  • 访问 TypedWebhook
  • 复制 URL 并将其粘贴到 Webhooks 仪表板上的 Webhook URL 字段中
  • 单击 发送测试 Payload 以将测试 payload 发送到你的目标 URL

Webhooks - 结果

如果你需要示例代码来构建你自己的服务器,请查看我们的 使用 Streams 和 React 可视化实时区块链数据 指南中的“使用 Express.js 设置后端服务器”部分。

在获得成功响应后,你可以创建你的 webhook。但是,在继续之前,让我们探索一些你可以配置的其他选项。

验证Token

每个 webhook 都有一个验证Token,你可以使用该Token来验证 webhook 的真实性。此Token是自动生成的,可以在 Webhooks 仪表板中找到。通过使用验证Token,你可以验证传入的 webhook 消息并确保它们源自你的 webhook。

查看 如何验证传入的 Streams Webhook 消息 指南以获取更多详细信息。

压缩

QuickNode Webhooks 提供了一个压缩选项来优化你的数据交付。你可以选择使用 gzip 压缩 payload 以减小其大小。

虽然 Webhooks 的成本基于收到的警报数量,但使用压缩仍然可以为你的基础设施带来好处。更小的 payload 大小会导致:

  • 减少带宽使用:如果你根据传输的数据量付费,这可以降低你的数据传输成本。
  • 更快的处理:更小的 payload 传输速度更快,并且可能被你的接收服务器更有效地处理,从而减少服务器负载。

第 6 步:创建你的 Webhook

最后,为你的 webhook 提供一个描述性名称,以便以后识别它,然后单击按钮以创建你的 webhook。现在,你的 webhook 将处于活动状态,并在满足你的条件过滤器时将实时数据流式传输到你指定的 URL。

Webhooks - 活动 Webhook

结论

恭喜!你已成功设置了你的第一个 QuickNode Webhook,使你能够轻松地接收实时区块链数据。Webhooks 提供了一种强大而简化的方式,可以将链上事件直接集成到你的应用程序中。

如果你有任何疑问,请随时使用我们在 Discord 上的专用频道,或者使用下面的表格提供反馈。通过在 X 和我们的 Telegram 公告频道 上关注我们来了解最新信息。

更多资源

我们 ❤️ 反馈!

如果你有任何反馈或新主题的要求,请 告诉我们。我们很乐意听取你的意见。

  • 原文链接: quicknode.com/guides/qui...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。