您是否一直在寻找一种简单的解决方案来监控所有 ETH 转账交易?如果是这样,您来对地方了!借助 Moralis Streams API,您可以轻松监控 ETH 交易,并且可以通过 Moralis 的用户友好型 UI 或 SDK 进行监控。更重要的是,即使您选择 SDK 路径,也只需设置几行代码即可完成工作!例如,这些是使用 JavaScript 时要使用的代码片段:
教程:如何使用 Moralis Streams API 监控所有 ETH 转账交易
无论您计划使用 Moralis 的管理 UI 还是 SDK,您都需要一个有效的 Moralis 帐户。因此,在继续之前,请确保创建您的免费 Moralis 帐户。只需单击上一句中的链接或点击 Moralis 网站顶部菜单最右侧的“免费开始”按钮:

此外,为了本教程的目的,我们将重点介绍 Polygon 测试网。但是,如果您专注于以太坊主网或任何其他与 EVM 兼容的链,原理是相同的。话虽如此,如果您希望跟随我们的脚步,请务必使用Moralis Pure Faucets页面上等待您的Polygon Mumbai 水龙头获取一些“测试”MATIC 。
注意:您可以自由选择其他链。但我们强烈建议您先从测试网开始。
使用 Moralis Admin UI 跟踪 ETH 转移 – 入门
在您的 Moralis 帐户启动并运行后,您将能够访问您的管理区域。您可以随意从内部等待您的“入门”教程开始。或者,只需点击“创建项目”按钮并为您的项目命名:

创建项目后,您可以专注于“如何监控所有 ETH 转账交易”挑战。为此,请从侧面菜单中选择 Streams 选项,然后单击两个“创建新 Stream”按钮之一:

接下来,您必须输入要监控的以太坊地址。这可以是钱包地址或代币智能合约地址。为了本教程的目的,我们将重点介绍钱包跟踪。因此,请随意使用您想要的任何钱包地址。
但是,出于教育和测试目的,使用您控制的钱包地址是最佳选择。因此,如果您使用 MetaMask,只需复制您的地址即可。
要继续,只需将地址粘贴到“将 EVM/Aptos 地址添加到流”输入字段中:

只要您将地址粘贴到指定字段中,UI 就会自动向您显示流配置选项。
流设置
如下图所示,您可以在“演示”和“生产”之间切换,还有其他选项。一旦您准备好将此功能用于生产目的,您将需要切换到“生产”。但是,为了本教程的目的,请坚持使用“演示”:

查看上面的屏幕截图,您还会看到“Webhook URL”、“说明”和“标签”输入字段。出于演示目的,您无需提供 webhook URL。至于说明和标签字段,您可以使用默认选项。
继续向下滚动,您将看到“选择网络”部分。在这里,您可以切换要关注的所有网络旁边的按钮。但是,如前所述,为了本教程的目的,我们将重点关注 Polygon 的测试网(孟买):

选择要关注的网络后,您可以继续进行流设置过程的第四步。同样,您有多种选择:

如上图所示,我们决定专注于合约交互,因为我们将进行 ERC-20 转账示例。但是,如果您要直接解决“如何监控所有 ETH 转账交易”任务,则需要在步骤三中选择以太坊,并在步骤四中勾选“原生交易”框。
进一步向下滚动流设置,您还会看到“高级选项”和“触发器”部分。前者允许您使用智能合约的 ABI 进一步过滤监控议程,以定位特定的智能合约功能。
至于 Moralis 触发器,您可以运行只读智能合约函数。这样,您就可以从这些函数中获得结果,作为Web3 webhook的一部分。
查看结果 – 示例交易
无需任何特殊调整,您已经可以看到新流的强大功能。以下是我们在孟买测试网上的 Chainlink (LINK) 代币交易示例:

我们的演示流立即检测到上述示例交易:

为了体验这个神奇工具的强大功能,我们鼓励您运行自己的示例交易。然后,您将看到此类监控提供的所有相关链上数据(见上面的屏幕截图),包括交易哈希、事件涉及的智能合约、“发件人”和“收件人”地址、转移的价值等等。
本质上,设置 Moralis 流为您提供了一个强大的检测器来发现链上事件。而且,当任何事件发生时,您不仅可以检测到它们,还可以获得相关详细信息。因此,您可以轻松利用这些详细信息来创建强大的机器人、自动消息传递 dapp 等等。

如何使用 Moralis 的 JS SDK 监控所有 ETH 转账交易
虽然通过 Moralis 管理区域设置链上监控是最简单的途径,但在构建更高级的 dapp 时,您可能更喜欢通过 Moralis 的 SDK 进行设置。
注意:如果您想要有关如何通过 SDK 使用 Streams 的详细说明,请点击 Moralis 管理区域“Stream”页面上的相关按钮:

因此,您可能想知道如何以编程方式监控所有 ETH 转账交易。首先,您必须决定要使用哪种编程语言/框架。您有很多选择,但 JavaScript 或 Python 与 NodeJS 相结合往往是最受欢迎的。
但是,在专注于通过 SDK 创建流之前,您需要准备一个服务器。后者将接收一个 webhook。幸运的是,您可以创建一个简单的 NodeJS Express 应用程序,它将为您提供一个“webhook”端点。
创建本地服务器
因此,为此,您可以使用以下代码行 - 只需将它们复制粘贴到“index.js”文件中即可:
注意:如果您从未创建过 NodeJS 应用程序和设置 Express 服务器,请深入了解我们的“快速入门 NodeJS ”指南。
有了上述脚本,只需npm run start
使用终端输入并运行命令即可。
响应上述命令,你的终端应该返回“正在监听流”消息:

创建转发隧道
接下来,打开一个新终端并运行该ngrok http 3000
命令。这将创建一个到端口的隧道3000
。响应此命令,您将获得一个 URL 地址,可用作流的 webhook URL。

准备好本地服务器和隧道后,您可以使用下一节中概述的代码行来监视各种链上活动。当然,“如何监视所有 ETH 转账交易”功能也是您可以关注的选项之一。
加密传输监控 – 代码演练
首先初始化另一个 NodeJS 应用程序。接下来,创建一个新的“index.js”文件,该文件需要依赖 Moralis 和dotenv
:
此外,您需要创建一个“ .env ”文件。在该文件中,将您的 Moralis Web3 API 密钥存储在MORALIS_KEY
变量下。要获取该变量的值,请访问您的 Moralis 管理区域,转到“设置”,然后复制默认 API 密钥或创建一个新密钥:

现在您有了 API 密钥,您可以初始化 Moralis。为此,请在下面添加以下代码行require (“dotenv”).config();
:
然后,是时候使用以下代码行来关注流的选项了:
查看上面的代码片段,您可以看到它定义了要关注的链、描述、标签和 webhook URL。这些都是我们在上一节中介绍的相同选项,因为我们使用了 Moralis 的管理 UI。
我们将专注于监听孟买测试网上的原生交易。因此,我们将 设置includeContractLogs
为false
,以便不监听 ERC-20 交易。此外,我们将 设置为 ,专注于原生货币转账includeNativeTxs
。true
对于孟买网络,原生货币是“测试”MATIC。
要在“index.js”脚本中使用上述代码行,您只需将其替换your webhook url
为之前生成的ngrok
URL:

如上图所示,请确保/webhook
在 URL 末尾添加ngrok
。
创建新流
通过完成上述所有步骤,您最终就可以实现本文介绍中展示的代码行了。
因此,请关注上面定义的内容async function streams
,并在该行下方添加以下代码片段webhookUrl
:
该Moralis.Streams.add(options)
方法使用上面定义的流选项来创建新流。接下来,代码使用它const {id}
来获取新流的 ID。此外,它还定义了要监控的钱包地址。这是您需要wallet_address_you_want_to_track
用实际地址替换的地方。
该Moralis.Streams.addAddress
方法使用您的流的 ID 为其分配钱包地址。最后,代码Fin
在完成所有前面的步骤后记录。
要运行脚本,请输入node index.js
。如果您按照上述说明进行了所有操作,您应该Fin
在终端中看到:

本国货币示例交易
在出于测试目的执行本地货币交易之前,请打开“Express 服务器”终端。在那里,您应该看到一个空的 webhook 正在初始化:

现在,使用您的 MetaMask 并从您正在监控的地址转移一些“测试”MATIC。一旦交易确认,您将能够在终端中看到测试交易的详细信息:

这就是如何通过其 SDK 使用 Moralis Streams 监控所有 ETH 转移交易!
什么是加密交易监控?
无论您决定跟踪特定的智能合约还是钱包,最终还是要监听实时的链上交易。由于交易围绕不同的活动进行,因此您有很多选择。
例如,在上面的教程中,我们首先关注 ERC-20 转账,然后关注原生转账。然而,这只是两个常见的链上事件示例。您还可以关注其他几个链上事件。各种 dapp 都可以从使用这种监控中受益匪浅。

最佳加密交易监控工具
您可能知道,链上数据(对于公共区块链)可供任何人使用。但是,原始格式的数据毫无用处。因此,开发人员要么浪费时间和资源自己解析数据,要么使用出色的工具来为他们完成工作。
在监控加密交易方面,Moralis 的 Streams API 是最好的工具。它允许开发人员在事件发生时检测它们,并返回与这些事件相关的解析数据。因此,这为 dapp 开发人员节省了大量时间,使他们能够专注于创建最佳用户体验。
Streams API 工具的一些核心优势包括:
✅ 跨链互操作性
✅ 用户友好性(跨平台互操作性)
✅ 监听加密钱包和智能合约
✅ 速度和效率
✅ 高级过滤选项
✅ 可通过免费帐户访问
此外,有了这个强大的工具,您还可以避免:
❌ 连接和维护有缺陷的 RPC 节点
❌ 构建不必要的抽象
浪费时间构建复杂的数据管道
有些开发者仍在使用 ethers.js 监听区块链,因此错过了上述所有好处。