概要
Quicknode Webhooksは、フィルタリングされたオンチェーンデータをHTTPエンドポイントに直接送信する、リアルタイムのブロックチェーンイベント配信サービスです。これにより、絶えずポーリングを行ったり、複雑なインフラを構築したりすることなく、トークンの転送やコントラクトイベントなど、必要なデータを簡単に取得できます。
この動画をご覧いただき、QuicknodeのWebhookについて学び、ブロックチェーンのイベントがリアルタイムでWebhookサーバーに配信される仕組みをご確認ください。
一般的な利用例
Webhooksは、次のようなものの構築に最適です:
- トレーディングボット:DEXでのスワップや流動性の変化をリアルタイムで監視
- 分析ダッシュボード:トークンの動き、大口投資家の動向、プロトコルの指標を追跡
- 通知システム:オンチェーン上のアクティビティについてユーザーにアラートを送信する
- ウォレットの追跡:トークンの送金など、特定のウォレットの取引状況を追跡する
- スマートコントラクトのイベント追跡:新規ミント、承認、関数呼び出しなど、スマートコントラクトによって発生する特定のイベントを監視します
- DeFiモニタリング:貸付ポジション、イールドファーミングの報酬、清算イベントを監視する
- NFTトラッカー:コレクションのミント、譲渡、マーケットプレイスでの動向を追跡
主な機能
- リアルタイム配信:イベントがブロックチェーン上に記録された直後に受信
- ウィザードによるガイド:チェーンを選び、ノーコードテンプレートを選択するか、独自のフィルターを作成し、URLを設定するだけで完了です
- テンプレート:ワンクリックで作成できるノーコードフォームは、トークンの送金や契約イベントなど、一般的なパターンをサポートしています。
- 再試行ロジック:200以外のレスポンスに対する自動再試行
- 圧縮:gzip を使用してペイロードを圧縮し、ペイロードのサイズを縮小する
- 再編成の処理:ブロックチェーンの再編成を自動的に処理し、データの整合性を確保します
- Streams へのアップグレード:過去のデータの補完、バッチ処理、あるいは別の送信先が必要ですか?Streams をぜひご確認ください
価格
Webhooksの料金は、配信されたペイロード1件につき30 APIクレジットの定額制となっています。たとえば、100件のペイロードが配信された場合、3000 APIクレジットが課金されます。料金体系の詳細については、当社の「料金」ページをご覧ください。
Quicknode Webhooks の始め方
Webhookの設定は簡単な手順です。以下に、その手順を説明します。
手順 1:Webhooks ダッシュボードにアクセスする
Quicknodeアカウントにログインし、ダッシュボードの「Webhooks」セクションに移動してください。
ステップ 2:最初の Webhook を作成する
「Webhookを作成」をクリックすると、ガイド付きウィザードが起動し、すぐに設定を開始できます。このウィザードでは、ネットワークの選択からフィルタの定義、ターゲットURLの設定に至るまで、Webhookの設定プロセスを順を追って案内します。
ステップ 3: Webhook の設定
チェーンの選定
監視したいブロックチェーンネットワークを選択してください。これは、Webhooksにイベントをどこで受信待機するかを指定するための最初のステップです。
フィルターの選択
次に、受信したいイベントの種類を定義します。Webhooks では、「ウォレット間の送金」や「コントラクトイベント」といった一般的なパターンに対応したワンクリックテンプレートが用意されています。これらのテンプレートには必要なフィルターがあらかじめ設定されており、ユーザーはウォレットアドレスやコントラクトアドレスなどの関連パラメータを指定するだけで済みます。
イーサリアム・メインネットの「ウォレット送金」テンプレートを使用すると、特定のウォレットアドレスにおけるETH、ERC-20、およびERC-721の送金に新たな動きがあった際に通知を受け取ることができます。
利用可能なテンプレートに希望に合うものがない場合は、サポートチームにご連絡いただければ、新しいテンプレートの作成を依頼できます。より高度なフィルタリング機能が必要な場合は、JavaScript ベースのカスタムフィルタに対応している「Streams」へのアップグレードをご検討ください。
ステップ4:フィルターのテスト
Webhook を有効にする前に、フィルターが正しく動作し、意図したイベントを確実に捕捉していることを確認するために、フィルターのテストを行うことが極めて重要です。フィルターをテストするには:
- テストするブロック番号を選択してください
- テストブロック番号の入力フィールドの横にある「実行」をクリックしてください
- サンプルペイロードを確認し、すべてが期待通りに動作しているかテストしてください
ステップ 5:Webhook URL の設定
ペイロードを受信したいURLを入力してください。QuicknodeはこのURLにPOSTリクエストを送信します。ペイロードの形式はテスト用ペイロードと同じであるため、サーバー側で簡単に解析することができます。
独自のエンドポイントを実装する前に、TypedWebhook、Webhook.site、ngrokなどのサービスを利用して、Webhook の設定をテストすることができます。
Webhookを作成する前に、設定可能なその他のオプションについて確認しておきましょう。
検証トークン
各Webhookには、そのWebhookの正当性を確認するために使用できる検証トークンがあります。このトークンは自動的に生成され、「Webhooks」ダッシュボードで確認できます。この検証トークンを使用することで、受信したWebhookメッセージの正当性を確認し、そのメッセージがご自身のWebhookから送信されたものであることを確認できます。
圧縮
Quicknode Webhooks には、データ配信を最適化するための圧縮オプションが用意されています。gzip を使用してペイロードを圧縮し、サイズを縮小することができます。
Webhooks の料金は配信されたペイロードの数に基づいて算出されますが、圧縮を利用することで、インフラストラクチャにメリットをもたらすことができます。ペイロードのサイズが小さくなると、次のような効果が得られます:
- 帯域幅の使用量の削減:データ転送量に応じて課金される場合、これによりデータ転送コストを削減できます。
- 処理速度の向上:ペイロードが小さければ、送信が速くなり、受信サーバーでの処理もより効率的になるため、サーバーの負荷が軽減されます。
データ圧縮によるコスト削減の具体的な戦略については、当社のガイド『データ圧縮によるストリームコストの削減』をご覧ください。
ステップ 6: Webhook を作成する
最後に、後で識別できるよう、Webhookにわかりやすい名前を付け、ボタンをクリックしてWebhookを作成してください。これでWebhookが稼働し、条件フィルターが満たされるたびに、指定したURLへリアルタイムデータを配信するようになります。
セキュリティ
HMAC 検証(推奨)
Webhookの宛先エンドポイントを保護するための推奨方法は、HMAC検証を実装することです。この暗号化手法により、受信メッセージがWebhookから送信されたものであり、改ざんされていないことが保証されます。HMAC検証の実装に関する詳細については、ガイド「受信ストリームのWebhookメッセージの検証」をご覧ください。
IPアドレスの許可リスト登録(追加のセキュリティ対策)
追加のセキュリティ対策として、宛先エンドポイントへのアクセスを特定のIPアドレスに制限することができます。Webhooksは、以下のIPアドレスからデータを送信します:
141.148.40.227
このIPアドレスを許可リストに追加することで、セキュリティをさらに強化し、Webhookサーバーが正当なWebhookトラフィックのみを受け入れるようにすることができます。
よくある質問
QuicknodeのWebhookとは何ですか?
Quicknode Webhooksは、フィルタリングされたオンチェーンデータをHTTPエンドポイントに直接送信するリアルタイムのブロックチェーンイベント配信サービスであり、絶え間ないポーリングや複雑なインフラストラクチャが不要になります。
Webhook を作成するにはどうすればよいですか?
Quicknodeアカウントにログインし、「Webhooks」セクションに移動して、「Webhookを作成」をクリックしてウィザードを起動します。ブロックチェーンネットワークを選択し、テンプレートまたはカスタムコードを使用してフィルターを定義し、ターゲットURLを入力し、Webhookに名前を付けて、「作成」をクリックします。
Webhookはどのような用途に使えるのでしょうか?
Webhookは、トレーディングボット、分析ダッシュボード、通知システム、ウォレットの追跡、スマートコントラクトイベントの監視、DeFiの監視、NFTトラッカーの構築に最適です。
Webhookエンドポイントをどのように保護すればよいですか?
受信メッセージを暗号学的に検証するためにHMAC検証を実装し、必要に応じて、Quicknodeの配信用IPアドレス(141.148.40.227)へのアクセスを制限することで、IP許可リストを追加します。
Quicknodeは、失敗したWebhookの配信を再試行しますか?
はい、Quicknode Webhooks には、200 以外のレスポンスに対する自動リトライロジックが組み込まれており、確実な配信が保証されています。
Webhookのペイロードを圧縮することはできますか?
はい、gzip圧縮を有効にすることでペイロードサイズを縮小でき、これにより帯域幅の使用量が削減され、サーバーでの処理速度が向上します。