本文介绍了 Webhook 的概念、工作原理及其在 Web3 中的应用。Webhook 是一种自动化机制,允许应用程序实时地向其他应用程序推送数据,用于实现 Web3 应用程序的实时通知,改善用户体验。Alchemy Notify API 基于 Webhook,可以帮助开发者监控地址活动、交易等事件,并提供了多种类型的通知功能。
由 Brady Werkheiser 审核
发布于 2022年6月20日 阅读时间5分钟
Webhook 使开发者能够以自动化的方式促进两个应用程序之间的实时通信。与持续轮询服务器以获取信息不同,Webhook 设置快速、简单,并且通常被认为是构建成熟 API 服务的轻量级替代方案。
使用 Alchemy Notify API,开发者可以将关键事件(例如地址活动、已挖出的交易和其他用例)的实时通知推送给用户。
例如,使用 Webhook 可以实现并简化构建具有 实时交易通知 的去中心化应用程序。实施 Webhook 显着改善了最终用户体验,并消除了从头构建耗时且复杂的通知系统的需要。
本文详细阐述了什么是 Webhook、它的工作原理、众多的 web3 通知用例以及 如何开始使用 Web3 Webhook。
Webhook 是一种自动媒介,通过它可以将实时数据从一个应用程序推送到另一个应用程序。 Webhook 只能促进两个服务之间的单向通信,比轮询端点更快,并且需要更少的开发工作。
Webhook URL 是应用程序的地址,用于接收来自发送者应用程序的数据。 通常,Webhook 用于连接两个不同的应用程序,其中一个应用程序是事件信息的“发送者”,另一个是“订阅者”。当发送者应用程序上发生事件时,它会将该数据发送到订阅者应用程序的 Webhook URL。
Webhook 端点是为发送者应用程序配置的 Webhook URL,用于向订阅者应用程序提供数据。 为了使发送者应用程序能够向订阅者应用程序提供数据,它需要一个 Webhook URL 来传递所请求的信息。
实际上,Webhook URL 就是端点,并且需要公开,以便应用程序之间无缝流动信息。一旦请求被触发并且数据被解析,订阅者应用程序就可以发送回调消息,并带有 HTTPS 状态代码,以通知已收到数据。
与持续轮询端点以确定是否发生了状态更改不同,Webhook 会在信息可用时立即提供信息。换句话说,Webhook 可以被视为“反向 API”,因为通信是由提供数据的程序而不是请求数据的程序发起的。
就像传统的 API 一样,信息和功能在两个软件接口之间共享。凭借使用 Webhook 的效率和切实的优势,开发者将该媒介视为实时数据更新和 web3 通知的可行、轻量级解决方案。
Webhook 集成允许开发者使用唯一的 URL 自动执行一个应用程序和另一个应用程序之间的消息传递。例如,开发者可以利用 Zapier,这是一种软件工具,可以在两个或多个应用程序之间自动执行重复性任务,而无需编写新功能。如果没有 Zapier,用户将不会收到通知,并且响应将只是另一个响应,通常是 JSON 对象。
相反,将 Zapier 与 Alchemy Webhook 集成 可以导致在 Discord、Twitter 和 Slack 等各种第三方应用程序之间共享 Web3 数据。因此,当链上事件发生时(例如,在跟踪的钱包中发生新的活动),Zapier 可以向专用的 Slack 频道、Discord 服务器或 Twitter 帐户发送消息。实际上,像 Zapier 这样的服务改进了通信循环,并为开发者和用户创造了更有用的产品。
将 Zapier 与 Alchemy Webhook 集成相对简单明了。事实上,开发者不需要过多的工具来完成集成,只需要 一个 Alchemy 帐户 和一个 Zapier 帐户。
Webhook 使应用程序能够与其他应用程序共享实时数据,从而增强功能。 为了帮助加快 Web3 应用程序开发,基于 Webhook 的 Alchemy 的 Notify API 帮助用户处理在以太坊、Polygon、Optimism 和 Arbitrum 区块链网络上监控地址活动、挖掘交易等事务。
开发者可以使用 Alchemy Notify 为四种类型的通知构建功能:
挖掘交易 Webhook 可用于在通过你的 API 密钥发送的交易成功挖掘时通知你的应用程序。当需要立即通知客户他们的交易已执行时,此通知非常有用。
丢弃交易 Webhook 用于在通过你的 API 密钥发送的交易被丢弃时通知你的应用程序。
Webhook 还可以用于跟踪开发者想要的任意数量以太坊地址的所有 ETH、ERC20 和 ERC721 转账事件。
Webhook 可用于多种目的,以通知用户新的活动或 dApp 更新。
由于以太坊区块链本身不支持通知,因此 dApp 用户如果没有不断刷新其应用程序或检查 etherscan,就无法及时了解交易状态。总的来说,这是一个耗时的过程,会阻止用户再次使用该应用程序。
现在,使用 Alchemy Notify 和 Alchemy 的待处理交易 WebSocket,用户可以 无缝地跟踪已挖掘和待处理的 ETH 交易。
上述演练的最终结果使开发者能够向用户发送 SMS 通知,以了解交易生命周期中的任何活动。这带来卓越的用户体验,可以在当今竞争激烈的市场中提供优势。
随着以太坊等区块链网络获得主流普及,去中心化应用程序在架构上变得更加复杂。然而,Web3 生态系统中的最终用户体验仍然落后于 Web2。
Web3 UX 基础设施中缺失的一项是实时通知。例如,最终用户想知道他们的交易何时执行、交易何时失败以及他们的拍卖竞标何时被接受等需求。
开发者需要知道对 Webhook 的支持不足可能会迫使他们的 dApp 用户因上述原因以及交易焦虑和延迟确认而完全放弃他们的服务。
一般来说,由于从头开始构建系统的复杂性、时间和不可避免的错误,在 dApp 中设置实时通知一直是开发者的痛点。
开发者可以将 Webhook 通知视为类似于 SMS 通知。打算发送消息的最终用户拥有你注册的电话号码,该号码充当传递信息的地址。通过随后响应消息确认你已收到该消息,你就可以创建一个双向通信系统。
调用 Webhook 需要开发者通过一个三步流程进行一些输入:
1. 开发者确定应接收数据的应用程序的端点或 Webhook URL。
2. 需要将 Webhook URL 合并到发送数据的应用程序中,以便可以解析 payload 和查询变量而不会遇到问题。
3. 指定 Webhook 的规则,该规则最终将触发事件类型通知给最终用户。
如今,开发者可以 从 Alchemy 的仪表板或以编程方式设置 Webhook。要在 Web3 教程的上下文中练习调用 Webhook,请学习 如何在 Telegram 中构建鲸鱼警报机器人。
确保 Webhook 启动并运行所需的时间有限。 事实上,开发者可以查看本教程,了解 如何设置 Webhook 服务器,其中展示了三个简单的步骤来设置 Alchemy Notify Webhook 服务器,可以使用 node-express 配置或使用 python-django 构建的 Webhook 服务器配置。
总的来说,安装、运行和本地测试 Webhook 服务器的工作量很小,只需要几个命令。
通过对以太坊、Optimism、Arbitrum 和 Polygon 的 Webhook 支持,web3 开发者应该评估使用 Alchemy Notify 来改善其去中心化应用程序用户体验的案例。
随着 web3 领域的构建者和竞争的增多,用户体验设计是一个重要的领域,面向消费者的应用程序(如钱包和 dApp)可以在其中与竞争对手区分开来。
Supercharged | Alchemy | Substack
使用 Alchemy 的开发者工具免费开始构建 web3 产品 获取你的 API 密钥
📚 目录
分享:
\
\
Web3 工具\
\
如何在影响用户之前快速识别 Dapp 中的问题并部署修复程序\
\
了解工程师在监控 Dapp 健康状况时面临的挑战和解决方案
\
\
Web3 工具\
\
如何在 Alchemy 上启动 Dapp\
\
本指南分享了如何最好地为启动 Dapp 做准备的最佳实践
\
\
Web3 工具\
\
如何使用链上数据来提高 Dapp 用户参与度\
\
了解链上数据分析工具如何管理用户信息并提出建议以提高参与度
Alchemy 将最强大的 web3 开发者产品和工具与资源、社区和传奇支持相结合。
- 原文链接: alchemy.com/overviews/wh...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!