如何开始使用 Webhooks

本文介绍了QuickNode Webhooks,一种实时区块链事件传递服务,可以将过滤后的链上数据直接发送到HTTP端点。它简化了获取所需数据的过程,无需轮询或构建复杂的基础设施。文章详细说明了如何创建并测试第一个Webhook,以及Webhooks相对于QuickAlerts的优势。

概述

QuickNode Webhooks 是一种实时区块链事件传递服务,可将过滤后的链上数据直接发送到你的 HTTP 端点。 它可以轻松获取你关心的代币转账或合约事件之类的数据,而无需不断轮询或构建复杂的基础设施。

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

你将做什么

  • 探索 Webhooks UI 及其引导式向导
  • 从头创建一个新的 webhook,以获取你想要跟踪的新事件的通知
  • 测试到你自己的 URL 的交付并验证 payload

你需要的

什么是 Webhooks?

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

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

常见用例

Webhooks 非常适合构建:

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

主要功能

  • 实时交付:在事件发生后立即接收链上事件
  • 引导式向导:选择一条链,选择一个无代码模板或编写你自己的过滤器,设置你的 URL,就完成了
  • 模板:一键式无代码表单支持常见模式,例如代币转账、合约事件等
  • 重试逻辑:自动重试非 200 响应
  • 压缩:使用 gzip 压缩 payload 以减小 payload 大小
  • 重组处理:自动处理区块链重组以确保数据一致性
  • 升级到 Streams:你是否需要历史回填、批处理或不同的目的地?查看 Streams

与 QuickAlerts 有什么不同?

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

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

QuickNode Webhooks 入门

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

步骤 1:访问 Webhooks 仪表板

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

Webhooks 仪表板

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

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

步骤 3:配置你的 Webhook

链选择

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

过滤器选择

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

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

Webhooks 选择一个模板

在本指南中,我们将使用 Ethereum Mainnet 上的 Wallet transfers 模板作为一个示例,以便在特定钱包地址(例如,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,即 Vitalik Buterin 的钱包)发生跨 ETH、ERC-20 和 ERC-721 转移 的新活动时收到警报。

需要过滤方面的帮助吗?

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

步骤 4:测试你的过滤器

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

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

Webhooks - 测试你的过滤器

步骤 5:设置你的 Webhook URL

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

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

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

Webhooks - 结果

如果你需要一个示例代码来构建你自己的服务器,请查看我们的 Visualizing Real-Time Blockchain Data With Streams and React 指南中的“使用 Express.js 设置后端服务器”部分。

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

验证Token

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

查看 How to Validate Incoming Streams Webhook Messages 指南以获取更多详细信息。

压缩

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
江湖只有他的大名,没有他的介绍。