---
title: "Alchemy、フィルタ付きPending Transaction Notificationsをリリース"
description: "Alchemyがフィルタ付きPending Transaction Notificationsを導入し、スマートコントラクトのリアルタイムな更新とやり取りを可能にします。"
---

# Alchemy、フィルタ付きPending Transaction Notificationsをリリース

初めて、開発者は自分のスマートコントラクトへのエンゲージメントをリアルタイムで確認できるようになり、エンドユーザーはトランザクションのライフサイクルに関するリアルタイムの更新を受け取れるようになります。

あなたがスマートコントラクトのオーナーで、自分のコントラクトに対する保留中のトランザクションをすべて確認したいとします。コントラクトのヘルスモニタリングを構築しているのかもしれません。あるいは、保留中の通知をユーザーにルーティングしようとしているのかもしれません。いずれにせよ、現状のエコシステムではこれを行うのは大きな手間です。

## Alchemyを使わずにコントラクトのトランザクションをストリーミングする場合

まず、Alchemyを使わずにどのように行うかを見てみましょう。Ethereumはeth_newPendingTransactions APIを公開しており、これは保留中のトランザクションハッシュのストリームを提供します。その後、これらのトランザクションハッシュそれぞれについて完全なトランザクションペイロードを取得し、コントラクトアドレスを抽出して、そのアドレスが自分のコントラクトと一致する場合にビジネスロジックを実行することになります。

このプロセスは、1秒あたり数十件のトランザクションをチェックすることになり、そのほとんどは自分に無関係であるにもかかわらず、それぞれに対してネットワークコールを行うため、すぐにコストがかさみます。

## 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)をご覧ください。
