---
title: "Alchemy 推出过滤后的待处理交易通知功能"
description: "Alchemy 推出过滤后的待处理交易通知功能，可为智能合约提供实时更新和交互能力。"
---

# Alchemy 推出过滤后的待处理交易通知功能

开发者首次能够实时查看自己智能合约的交互情况，终端用户也能实时了解交易的生命周期状态。

假设你是智能合约的所有者，想要查看该合约的所有待处理交易。也许你正在为合约构建健康监控功能，也许你想把待处理通知推送给用户。无论出于什么目的，在目前的生态系统中做这件事都相当麻烦。

## 不使用 Alchemy 时如何流式获取合约交易

我们先看看不用 Alchemy 该怎么做。Ethereum 提供了 eth_newPendingTransactions API，可以给你一个待处理交易哈希的流。之后你需要对每个交易哈希单独获取完整的交易内容，提取出合约地址，再判断该地址是否与你的合约匹配，来执行相应的业务逻辑。

这个过程成本很快就会变得很高，因为每秒钟你都要检查几十笔交易，其中大部分与你无关，而且每一笔都要发起一次网络调用。

## 介绍 Alchemy 的过滤交易 API

Alchemy 不是把完整的待处理交易哈希流交给你再逐一检查，而是在推送之前就替你完成了筛选。你只需向我们的 [alchemy_pendingTransactions](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-subscribe) 端点提供一个地址，我们就会把发往或来自该地址的待处理交易推送给你。

我们来看一下实际效果。我们将观察 SushiSwap 路由地址的待处理交易。

<ImageBlock
  src="https://media.alchemy.com/1704792344-stream-pending-transactions.gif"
  alt="流式获取 SushiSwap 路由地址的待处理交易"
  width={640}
  height={380}
  caption="流式获取 SushiSwap 路由地址的待处理交易"
/>

可以看到 SushiSwap 相当活跃。

## 我们可以用它构建什么？

我们很期待看到大家的创意！为了给你一些启发，这里列出几个现在变得容易构建得多的应用：

为你的智能合约创建活动监控。你可以设置订阅，持续接收发往该合约的待处理交易。如果在给定时间内没有收到交易，就触发一条告警！

监测某个地址何时“活跃”起来。比如你想知道有人何时向一个已确认的诈骗地址转入 ETH，或者某个黑帽黑客何时终于把资金从某个地址转出。

在用户交易处于待处理状态时通知他们。当终端用户提交交易时，在客户端设置订阅，在交易进入 mempool 后通知用户。也许很快我们就不用再反复刷新区块浏览器了？

关于其他订阅能力以及 webhook，可查看 [Alchemy’s Notify](https://www.alchemy.com/docs/reference/notify-api-quickstart) 服务。
