ChainStream トリガーノード
ChainstreamTrigger ノードは、n8nでイベント駆動型のワークフローを実現します。スケジュールに基づいて変更をポーリングする代わりに、このノードはChainStreamからWebhook経由でリアルタイムイベントを受信し、オンチェーンで何かが発生した瞬間にワークフローを開始します。
仕組み
ChainStream Event ──webhook POST──> n8n Webhook URL ──> ChainstreamTrigger Node ──> Your Workflow
- トリガーノードがアクティブな場合、n8nはWebhookエンドポイントを公開します。
- そのエンドポイントをChainStreamダッシュボードに登録します。
- 一致するオンチェーンイベントが発生すると、ChainStreamがWebhookにPOSTリクエストを送信します。
- トリガーノードがペイロードを解析し、ワークフローを開始します。
セットアップ
ステップ1 — トリガーノードを追加する
n8nワークフローエディタで:
- Add Node をクリックし、ChainStream Trigger を検索します。
- ノードをキャンバスにドラッグして、ワークフローの最初のノードとして配置します。
- リッスンしたい Event Type を選択します(下の表を参照)。
ステップ2 — Webhook URLをコピーする
トリガーノードを配置したら:
- ノード設定を開きます。
- 上部に表示される Webhook URL をコピーします。以下のような形式です:
https://your-n8n-instance.com/webhook/chainstream-trigger/XXXXXXXX
本番モードでは、ワークフローエディタを閉じてもトリガーがアクティブなままになるよう、Production URL(テストURLではなく)を使用してください。
ステップ3 — ChainStreamにWebhookを登録する
- ChainStreamダッシュボードで、Settings > Webhooks に移動します。
- Create Webhook をクリックします。
- n8nのWebhook URLを貼り付けます。
- サブスクライブするイベントタイプを選択します。
- 保存して有効化します。
ステップ4 — 接続をテストする
- n8nで、トリガーノードの Listen for Test Event をクリックします。
- ChainStreamで、作成したWebhookの Send Test Event をクリックします。
- トリガーノードがペイロードを受信することを確認します。
サポートされるイベント
| イベント | 説明 | ペイロードフィールドの例 |
|---|
token.price.change | トークン価格が設定した閾値を超えて変動 | tokenAddress, price, changePercent |
token.transfer.large | 指定した値を超える送金が発生 | from, to, amount, tokenAddress |
token.new | 監視対象チェーンで新しいトークンが検出 | tokenAddress, chain, name, symbol |
trade.activity | 監視対象のペアまたはウォレットで取引アクティビティを検出 | tradeType, amount, wallet, pair |
ノード設定
{
"nodes": [
{
"parameters": {
"event": "token.price.change",
"options": {
"chain": "solana",
"tokenAddress": "So11111111111111111111111111111111111111112",
"threshold": 5
}
},
"name": "ChainStream Trigger",
"type": "n8n-nodes-chainstream.chainstreamTrigger",
"typeVersion": 1,
"position": [250, 300],
"webhookId": "chainstream-trigger",
"credentials": {
"chainstreamApi": {
"id": "1",
"name": "ChainStream API"
}
}
}
]
}
イベントペイロード
token.price.change
{
"event": "token.price.change",
"timestamp": "2026-03-26T12:00:00Z",
"data": {
"chain": "solana",
"tokenAddress": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"price": 185.42,
"previousPrice": 176.10,
"changePercent": 5.29,
"currency": "usd"
}
}
token.transfer.large
{
"event": "token.transfer.large",
"timestamp": "2026-03-26T12:05:00Z",
"data": {
"chain": "solana",
"tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"symbol": "USDC",
"from": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
"to": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1",
"amount": 2500000,
"txSignature": "5K4u...xQ7p"
}
}
token.new
{
"event": "token.new",
"timestamp": "2026-03-26T12:10:00Z",
"data": {
"chain": "solana",
"tokenAddress": "NEW_TOKEN_MINT_ADDRESS",
"name": "Example Token",
"symbol": "EXT",
"decimals": 9,
"creator": "CREATOR_WALLET_ADDRESS"
}
}
trade.activity
{
"event": "trade.activity",
"timestamp": "2026-03-26T12:15:00Z",
"data": {
"chain": "solana",
"tradeType": "buy",
"wallet": "TRADER_WALLET_ADDRESS",
"pair": "SOL/USDC",
"amount": 1500,
"price": 185.42,
"dex": "raydium",
"txSignature": "3Fj2...mN8k"
}
}
例:大口送金のTelegramアラート
大口のUSDC送金を検出した際にTelegramメッセージを送信する完全なワークフローです。
{
"nodes": [
{
"parameters": {
"event": "token.transfer.large",
"options": {
"chain": "solana",
"tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"minAmount": 1000000
}
},
"name": "Large Transfer Trigger",
"type": "n8n-nodes-chainstream.chainstreamTrigger",
"typeVersion": 1,
"position": [250, 300],
"webhookId": "large-transfer",
"credentials": {
"chainstreamApi": {
"id": "1",
"name": "ChainStream API"
}
}
},
{
"parameters": {
"chatId": "-100XXXXXXXXXX",
"text": "Large USDC transfer detected:\nFrom: {{ $json.data.from }}\nTo: {{ $json.data.to }}\nAmount: {{ $json.data.amount }} USDC\nTx: {{ $json.data.txSignature }}"
},
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"position": [450, 300]
}
],
"connections": {
"Large Transfer Trigger": {
"main": [[{ "node": "Telegram", "type": "main", "index": 0 }]]
}
}
}
トラブルシューティング
| 問題 | 解決方法 |
|---|
| トリガーが発火しない | ChainStreamダッシュボードでWebhookがアクティブであること、およびn8nでワークフローが有効化されていること(エディタで開いているだけでなく)を確認してください。 |
| テストイベントは動作するがライブイベントが動作しない | テストURLではなく、本番用のWebhook URLを使用していることを確認してください。 |
| イベントの重複 | ChainStreamはタイムアウト時にリトライする場合があります。n8nインスタンスが10秒以内に応答するようにしてください。txSignature またはイベントの timestamp を使用して重複を排除してください。 |
| 認証エラー | ChainStream APIの認証情報がn8nの認証情報ストアに正しく設定されていることを確認してください。 |
次のステップ
n8n 概要
ChainStream n8nノードで利用可能なすべてのリソースとオペレーションを確認できます。
Webhooks API
ChainStream APIを通じてWebhookサブスクリプションをプログラムで管理できます。