跳至内容
0%

如何使用 Alchemy 的应用监控工具

作者:Deric Cheng

最后更新:2021年11月10日1 分钟阅读

你已经阅读过我们关于使用节点与区块链通信以及为什么你可能需要节点提供商(比如 Alchemy)而不是自己运行节点的文章了!

不过,我们还没有充分讨论的是,与普通节点提供商相比,使用我们能获得哪些额外的好处。

事实上,我们之所以拥有 Ethereum 生态系统中 70% 的顶级应用,主要原因之一是我们提供了一整套对开发者友好的工具,能大大简化开发者的工作。

这些工具覆盖了很多方面,从帮助你更快地搭建应用,到分析通过我们节点端点发送的请求和响应,再到实时监控你的流量和用户健康状况!如果你想直接体验一下而不是继续阅读本文,可以在这里试用。

我们仪表盘的主页
我们仪表盘的主页

‍即使在开发早期你还用不到这个仪表盘,相信我们——一旦你把 dApp 公开发布,其他人开始通过你的基础设施发送请求,这些工具在调试时会非常有用。

Alchemy explorer:查看历史请求

当你向区块链发送一个请求时,通常会立即从节点收到查询结果的响应。但在以下情况下你该怎么办?

  • 你的部分请求格式有误,你想查看过去一天内所有失败的请求,从而找出规律(例如找出所有返回 -32000 节点错误代码的响应)。
  • 你已经把 dApp 部署到生产环境,用户发送的请求会触发你基础设施中的区块链请求。他们开始反馈某些交易未能成功上链,你需要调试他们的交易发送请求。

如果没有工具来帮你处理这个过程,你就得翻查存储在压缩文本文件中的一页页日志,按时间排序,再用 grep 语句去筛选出你需要的信息。我们知道这很原始——这就是 Request Explorer 的用武之地!

上集回顾:“调试你的 JSON-RPC API 请求”
上集回顾:“调试你的 JSON-RPC API 请求”
Alchemy Request Explorer:搜索和筛选历史 JSON-RPC 请求
全新升级的请求调试工具!

我们的 Explorer 让你可以搜索通过我们基础设施发送的历史请求和响应,时间范围从 1 秒前到 10 天前!不用再翻找日志了——现代技术触手可及。

对于这些请求,你可以按各种参数进行筛选,比如方法类型、HTTP 响应,或节点特定的错误!你还可以根据时间戳、请求耗时等更多选项查看请求。

一旦你找到一个感兴趣的请求,通常会想做以下几件事:

  1. 在日志中搜索类似的请求,以确定某个问题的普遍程度。
  2. 尝试重新发出完全相同的请求,验证它是否仍然失败。

对于第一点,我们在每个请求旁边都提供了一个方便的小按钮“Explore Similar”,让你可以用匹配的参数进行新的搜索!对于第二点,这正好引出下面的内容:

Alchemy Dashboard Demo
Free video demo

查看 Alchemy 仪表盘的实际操作

30 分钟引导式演示:实时演示仪表盘中的每一个工具。

Watch the demo

Alchemy composer:在浏览器中测试请求

你是否觉得手动发出一次性的 API 请求比实际需要的时间要长得多?相信我们,我们也有同感。不管你是在终端里一丝不苟地编写 curl 请求,还是在查找两个月前自己起了个奇怪名字的 Postman 库——总归有点烦人。

Alchemy Composer 本质上让你可以通过基于浏览器的 GUI 发出一次性的区块链请求,并在同一网页上立即得到响应。

不需要:

  • 编写 curl 请求并选择端点,你只需选择要测试的区块链、网络和方法。
  • 猜测每个方法的参数,你只需从下拉菜单中选择!
  • 解析 JSON 对象,它们在浏览器中已经预先解析好了!
Alchemy Composer:在浏览器中测试区块链 API 请求
Alchemy Composer

还有一个特别实用的功能:如果你想把正在查看的请求分享给结对编程的伙伴,只需点击右上角的“Copy config URL”,就能把这个 URL 直接分享给对方,同时保留所有请求信息!这是朋友之间快速便捷地验证请求的好方法。

Alchemy mempool watcher:查看你的交易状态

首先,理解 Mempool 的作用很重要。本质上,mempool 是每个节点内用于待处理交易的等候区。这些交易是用户已发送但尚未被“挖出”、即尚未写入区块链的交易。

以下是一笔交易在区块链上确认之前的典型流程概要:

  1. 用户生成并签署一笔交易,创建 sendTransaction 请求,并将请求发送给一个节点。
  2. 该节点将待处理交易放入其 mempool。mempool 会对该交易进行一系列验证,否则会拒绝它。
  3. 该节点尽可能地将待处理交易分享给它的对等节点,依此类推,使网络中的各个节点的 mempool 里都能拥有这笔特定的待处理交易。
  4. 一旦一个区块被挖出,矿工会从其 mempool 中选择 gas 价格最高的待处理交易,并将它们打包进区块。这些待处理交易此时已被挖出确认。
  5. 随着时间推移,一笔始终未被挖出的待处理交易最终可能会被节点丢弃。

如果你还有疑问,这篇关于待处理交易的文章可能会对你有帮助!‍

一个主要问题是,mempool 对用户来说基本上是不透明的——获取其内容信息的唯一方式是通过 API 请求查询状态,而这会返回没完没了的日志流。

这是一个真实的、成功的请求,用于向内存池获取其状态。很不错吧。
这是一个真实的、成功的请求,用于向内存池获取其状态。很不错吧。

‍看到这有多麻烦后,我们决定构建一个 GUI,让你可以在仪表盘中查看 mempool 状态,而不用通过命令行!

以下是用我们的 Mempool Watcher 浏览 mempool 的效果:

Alchemy 内存池监视器展示待处理交易的 gas 价格和状态列表
Alchemy 内存池监视器

‍你是否曾想过为什么你的待处理交易迟迟未能上链?绝大多数情况下,是因为你交易的 gas 价格低于当前的市场行情价。有了这样的工具,你应该能够快速识别出卡在 mempool 中的交易,查看它们对应的 gas 价格,并与市场行情比较,判断是否该以更高的 gas 价格重新提交交易。

这些图表都是做什么用的?

Alchemy 仪表盘图表展示请求量和使用情况分析随时间变化
Alchemy 上的图表与分析

作为你的节点提供商,我们能为你收集到大量有用的信息——我们也在尽力将这些信息展示给你!以下是我们能为你绘制图表、而你原本无法看到的内容:

  • 按应用划分的请求数量随时间的变化。
  • 你的请求 IP 地址在美国地图和世界地图上的分布(如果你的客户端应用直接向 Alchemy 发送流量,这非常有用!)
  • 通过你的应用发送的近期请求的可视化展示。
  • 你的使用历史,可按应用和月份排序,帮助你识别流量趋势!

Alchemy 还能提供哪些其他好处?

Alchemy 为区块链提供节点基础设施,这意味着我们管理与向 Ethereum 区块链(以及其他几条链!)发送和接收请求相关的所有基础设施。以下是关于为什么你需要节点提供商的一些信息。

一旦你通过我们的系统发送请求,你就能获得上面提到的所有好处:可视化界面和基于浏览器的工具,让构建和监控你的应用变得更容易。

除此之外,我们还会为你提供:

  • 访问 Alchemy 的 Node API 的权限,其背后是专有基础设施,能解决困扰区块链的可扩展性和一致性问题。
  • 访问 Alchemy Notify 的权限,这是一个为区块链上发生的事件(比如交易)提供推送通知(webhook)的工具。
  • 访问我们 Enhanced APIs 的权限,让你能够发出那些原本计算成本高昂甚至不可能实现的区块链请求。
  • 还有更多,包括在 Flow、Crypto.org 等多种链,以及 Polygon 和 Arbitrum 等 L2 上使用这些功能的权限!

开始使用 Alchemy

将 Alchemy 设置为节点提供商极其简单——事实上,只需要一行代码!如果你一直在使用 web3.js 或 ethers.js,那么只需通过我们的仪表盘创建一个 Alchemy 账户,生成一个 API key,然后用类似这样的代码替换实例化过程即可:

如果你想看完整教程,请阅读我们的 Alchemy 入门指南。如果需要帮助,请访问 Alchemy 支持中心。

Alchemy 新闻通讯

第一时间获取发布信息

订阅我们的新闻通讯

获取 Alchemy 的最新产品更新和资源

A
O
D
+
超过 80,000 名订阅者

填写您的电子邮箱地址即表示您同意接收我们的营销通讯和产品更新。您确认 Alchemy 按照我们的隐私声明处理我们收到的信息。您可以随时取消订阅。