ブロックチェーン監視器
中級
これはCrypto Trading, AI Summarization分野の自動化ワークフローで、14個のノードを含みます。主にIf, Code, Slack, Webhook, ScrapegraphAiなどのノードを使用。 ScrapeGraphAIによるリスク検知の基づくブロックチェーン監視ツール(リアルタイムアラート・Slack通知付き)
前提条件
- •Slack Bot Token または Webhook URL
- •HTTP Webhookエンドポイント(n8nが自動生成)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "VhEwspDqzu7ssFVE",
"meta": {
"instanceId": "f4b0efaa33080e7774e0d9285c40c7abcd2c6f7cf1a8b901fa7106170dd4cda3",
"templateCredsSetupCompleted": true
},
"name": "My workflow 2",
"tags": [
{
"id": "DxXGubfBzRKh6L8T",
"name": "Revenue Optimization",
"createdAt": "2025-07-25T16:24:30.370Z",
"updatedAt": "2025-07-25T16:24:30.370Z"
},
{
"id": "IxkcJ2IpYIxivoHV",
"name": "Content Strategy",
"createdAt": "2025-07-25T12:57:37.677Z",
"updatedAt": "2025-07-25T12:57:37.677Z"
},
{
"id": "PAKIJ2Mm9EvRcR3u",
"name": "Trend Monitoring",
"createdAt": "2025-07-25T12:57:37.670Z",
"updatedAt": "2025-07-25T12:57:37.670Z"
},
{
"id": "YtfXmaZk44MYedPO",
"name": "Dynamic Pricing",
"createdAt": "2025-07-25T16:24:30.369Z",
"updatedAt": "2025-07-25T16:24:30.369Z"
},
{
"id": "wJ30mjhtrposO8Qt",
"name": "Simple RAG",
"createdAt": "2025-07-28T12:55:14.424Z",
"updatedAt": "2025-07-28T12:55:14.424Z"
}
],
"nodes": [
{
"id": "1249a626-d963-4448-a5b1-26ca50200824",
"name": "🔗 Blockchain Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1392,
624
],
"webhookId": "eed656b3-6a7f-4460-92e0-802bca2522d0",
"parameters": {
"path": "eed656b3-6a7f-4460-92e0-802bca2522d0",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "16186e5f-84af-4303-a48a-bb7f5a8548e9",
"name": "📋 概要",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1936,
112
],
"parameters": {
"color": 4,
"width": 400,
"height": 492,
"content": "# 🔍 Simple Blockchain Monitor\n\n**Essential Setup:**\n- Real-time block monitoring\n- AI-powered data extraction\n- Smart risk detection\n- Instant alerts\n\n**Supported:**\n- Ethereum, Bitcoin, BSC, Polygon\n\n**Features:**\n✅ ScrapeGraphAI integration\n✅ High-value detection\n✅ Risk scoring\n✅ Slack alerts"
},
"typeVersion": 1
},
{
"id": "f29f94bb-cafd-43b6-8e2a-6557bca1dd7b",
"name": "🔄 データ正規化",
"type": "n8n-nodes-base.code",
"position": [
-1056,
624
],
"parameters": {
"jsCode": "// Simple blockchain data preparation\nconst input = $input.all()[0].json;\n\n// Basic normalization\nconst blockData = {\n block_number: input.blockNumber || input.block_number || input.height,\n blockchain: (input.blockchain || input.chain || 'ethereum').toLowerCase(),\n timestamp: input.timestamp || Date.now(),\n session_id: `block_${Date.now()}`\n};\n\n// Set explorer URL\nconst explorers = {\n ethereum: `https://etherscan.io/block/${blockData.block_number}`,\n bitcoin: `https://blockchair.com/bitcoin/block/${blockData.block_number}`,\n bsc: `https://bscscan.com/block/${blockData.block_number}`,\n polygon: `https://polygonscan.com/block/${blockData.block_number}`\n};\n\nblockData.explorer_url = explorers[blockData.blockchain] || explorers.ethereum;\n\nconsole.log(`Processing block ${blockData.block_number} on ${blockData.blockchain}`);\n\nreturn [{ json: blockData }];"
},
"typeVersion": 2
},
{
"id": "adc3d7ef-4928-4c92-acff-5fd0dacb4c91",
"name": "📡 入力情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1536,
112
],
"parameters": {
"color": 5,
"width": 396,
"height": 744,
"content": "# Step 1: Webhook Input 🔗\n\nReceives blockchain data from external sources.\n\n**Input Sources:**\n- Blockchain nodes\n- Third-party APIs (Moralis, Alchemy)\n- Exchange webhooks\n\n**Data Expected:**\n- Block number/height\n- Blockchain identifier\n- Timestamp (optional)"
},
"typeVersion": 1
},
{
"id": "473fd718-b826-45f1-a832-8609635c6214",
"name": "🤖 ScrapeGraphAI",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
-768,
608
],
"parameters": {
"userPrompt": "Extract transaction data from this blockchain explorer page. Return JSON with:\n\n**transactions**: Array of objects with:\n- hash: transaction ID\n- from: sender address \n- to: receiver address\n- value_usd: USD amount (if available)\n- fee_usd: fee in USD\n- status: success/failed\n- is_contract: true if contract interaction\n\n**summary**:\n- total_transactions: count\n- total_volume_usd: sum of values\n- high_value_count: transactions > $10,000\n- failed_count: failed transactions\n\nFocus on accuracy and include only confirmed data.",
"websiteUrl": "={{ $json.explorer_url }}"
},
"typeVersion": 1
},
{
"id": "26598a18-97d4-4e5d-bced-7a5bc9869265",
"name": "🔧 情報処理",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
112
],
"parameters": {
"color": 3,
"width": 300,
"height": 744,
"content": "# Step 2: Data Processing 🔄\n\nNormalizes blockchain data for analysis.\n\n**Functions:**\n- Multi-chain format standardization\n- Explorer URL selection\n- Basic validation\n\n**Supported Chains:**\n- Ethereum, Bitcoin, BSC, Polygon"
},
"typeVersion": 1
},
{
"id": "0ac361af-deb0-471b-8a0f-2d7a7c36a7e4",
"name": "⚡ リスク分析器",
"type": "n8n-nodes-base.code",
"position": [
-448,
608
],
"parameters": {
"jsCode": "// Simple risk analysis\nconst blockData = $('Normalize Data').first().json;\nconst scrapedData = $input.all()[0].json;\n\n// Initialize analysis\nlet analysis = {\n block_number: blockData.block_number,\n blockchain: blockData.blockchain,\n timestamp: new Date().toISOString(),\n \n // Basic stats\n total_transactions: 0,\n total_volume_usd: 0,\n high_value_transactions: [],\n failed_transactions: 0,\n \n // Risk assessment\n risk_score: 0,\n risk_level: 'low',\n alerts: []\n};\n\n// Process scraped data\nif (scrapedData.transactions && Array.isArray(scrapedData.transactions)) {\n analysis.total_transactions = scrapedData.transactions.length;\n \n scrapedData.transactions.forEach(tx => {\n const value = parseFloat(tx.value_usd || 0);\n analysis.total_volume_usd += value;\n \n // High-value detection\n if (value > 10000) {\n analysis.high_value_transactions.push({\n hash: tx.hash,\n value_usd: value,\n from: tx.from,\n to: tx.to\n });\n }\n \n // Failed transaction count\n if (tx.status === 'failed') {\n analysis.failed_transactions++;\n }\n });\n}\n\n// Use summary data if available\nif (scrapedData.summary) {\n analysis.total_transactions = scrapedData.summary.total_transactions || analysis.total_transactions;\n analysis.total_volume_usd = scrapedData.summary.total_volume_usd || analysis.total_volume_usd;\n analysis.failed_transactions = scrapedData.summary.failed_count || analysis.failed_transactions;\n}\n\n// Simple risk scoring\nlet riskScore = 0;\n\n// High value risk\nriskScore += analysis.high_value_transactions.length * 15;\n\n// Volume risk\nif (analysis.total_volume_usd > 1000000) riskScore += 20;\nelse if (analysis.total_volume_usd > 100000) riskScore += 10;\n\n// Failure rate risk\nconst failureRate = analysis.total_transactions > 0 ? \n analysis.failed_transactions / analysis.total_transactions : 0;\nif (failureRate > 0.1) riskScore += 15;\n\nanalysis.risk_score = Math.min(riskScore, 100);\n\n// Risk level determination\nif (analysis.risk_score >= 50) {\n analysis.risk_level = 'high';\n} else if (analysis.risk_score >= 25) {\n analysis.risk_level = 'medium';\n} else {\n analysis.risk_level = 'low';\n}\n\n// Generate alerts\nif (analysis.risk_level === 'high') {\n analysis.alerts.push(`High risk block: ${analysis.high_value_transactions.length} high-value transactions`);\n}\n\nif (analysis.high_value_transactions.length > 3) {\n analysis.alerts.push(`Multiple high-value transactions detected`);\n}\n\nif (failureRate > 0.2) {\n analysis.alerts.push(`High failure rate: ${Math.round(failureRate * 100)}%`);\n}\n\nconsole.log(`Analysis: ${analysis.total_transactions} txs, $${analysis.total_volume_usd.toLocaleString()}, Risk: ${analysis.risk_level}`);\n\nreturn [{ json: analysis }];"
},
"typeVersion": 2
},
{
"id": "44081a4a-0e37-4c69-a9b3-06f546a1b533",
"name": "🕷️ スクレイピング情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
112
],
"parameters": {
"color": 6,
"width": 300,
"height": 744,
"content": "# Step 3: AI Data Extraction 🤖\n\nScrapeGraphAI extracts transaction data.\n\n**Key Features:**\n- AI-powered understanding\n- Structured JSON output\n- Multi-explorer support\n- Error resilience\n\n**Extracted Data:**\n- Transaction details\n- USD values\n- High-value flags\n- Block summary"
},
"typeVersion": 1
},
{
"id": "e23fec64-72de-40eb-9ee0-25a1c753c54b",
"name": "🚨 リスクフィルター",
"type": "n8n-nodes-base.if",
"position": [
-128,
592
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "risk-check",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.risk_level }}",
"rightValue": "low"
}
]
}
},
"typeVersion": 2
},
{
"id": "0480096b-03cc-46bb-85b9-90b1d81f6596",
"name": "📊 分析情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
112
],
"parameters": {
"color": 2,
"width": 300,
"height": 744,
"content": "# Step 4: Risk Analysis ⚡\n\nAnalyzes transactions for risk factors.\n\n**Risk Factors:**\n- High-value transactions (>$10k)\n- Large block volume (>$100k)\n- High failure rates (>10%)\n\n**Risk Levels:**\n- High: Score ≥ 50\n- Medium: Score ≥ 25\n- Low: Score < 25"
},
"typeVersion": 1
},
{
"id": "7c567592-055a-4550-9867-ca728a0e11dc",
"name": "📱 Slack アラート",
"type": "n8n-nodes-base.slack",
"position": [
176,
608
],
"webhookId": "ccb327b2-8ac0-440e-a605-4f2964d5dfb6",
"parameters": {
"operation": "create"
},
"typeVersion": 2.1
},
{
"id": "a669635d-49fd-4fd4-b30a-08e98590de70",
"name": "🎯 フィルター情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
112
],
"parameters": {
"width": 300,
"height": 744,
"content": "# Step 5: Risk Filtering 🚨\n\nFilters blocks that need attention.\n\n**Trigger Conditions:**\n- Risk level: medium or high\n- Any high-value transactions\n- High failure rates\n\n**Alert Routing:**\n- Sends to Slack for team visibility\n- Only triggers on significant events"
},
"typeVersion": 1
},
{
"id": "6fa3b3f7-0142-4089-a46b-8fb69e17e91e",
"name": "🔔 アラート情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
112
],
"parameters": {
"color": 7,
"width": 300,
"height": 744,
"content": "# Step 6: Slack Alerts 📱\n\nSends formatted alerts to Slack.\n\n**Alert Content:**\n- Block and blockchain info\n- Risk level and score\n- Transaction statistics\n- High-value transaction list\n- Active alerts\n\n**Features:**\n- Rich formatting with emojis\n- Condensed but informative\n- Real-time delivery"
},
"typeVersion": 1
},
{
"id": "bd1d424c-6f26-4f96-ae80-ba4ef87e7c5e",
"name": "⚙️ 設定",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
112
],
"parameters": {
"color": 2,
"width": 350,
"height": 744,
"content": "## 🔧 Configuration\n\n**Required Setup:**\n1. ScrapeGraphAI API key\n2. Slack webhook/bot token\n3. Blockchain webhook URL\n\n**Customizable:**\n- High-value threshold ($10k)\n- Risk score thresholds\n- Slack channel ID\n- Supported blockchains\n\n**Simple & Effective:**\n- 6 essential nodes only\n- Fast execution\n- Easy maintenance\n- Clear alerting"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "ac7a0925-70ce-4b7f-91e7-19bf16686bfa",
"connections": {
"e23fec64-72de-40eb-9ee0-25a1c753c54b": {
"main": [
[
{
"node": "7c567592-055a-4550-9867-ca728a0e11dc",
"type": "main",
"index": 0
}
]
]
},
"0ac361af-deb0-471b-8a0f-2d7a7c36a7e4": {
"main": [
[
{
"node": "e23fec64-72de-40eb-9ee0-25a1c753c54b",
"type": "main",
"index": 0
}
]
]
},
"473fd718-b826-45f1-a832-8609635c6214": {
"main": [
[
{
"node": "0ac361af-deb0-471b-8a0f-2d7a7c36a7e4",
"type": "main",
"index": 0
}
]
]
},
"f29f94bb-cafd-43b6-8e2a-6557bca1dd7b": {
"main": [
[
{
"node": "473fd718-b826-45f1-a832-8609635c6214",
"type": "main",
"index": 0
}
]
]
},
"1249a626-d963-4448-a5b1-26ca50200824": {
"main": [
[
{
"node": "f29f94bb-cafd-43b6-8e2a-6557bca1dd7b",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - 仮想通貨取引, AI要約
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
セールスパイプライン自動化ダッシュボード
HubSpot CRM、ScrapeGraphAI、Google Sheets ダッシュボードを使って販売パイプラインを自動化
If
Code
Slack
+
If
Code
Slack
22 ノードvinci-king-01
顧客管理
私のワークフロー 2
ScrapeGraphAI、Google スプレッドシート、Slack アラートを使用して、サポートチケット分析ダッシュボードを構築
If
Code
Slack
+
If
Code
Slack
15 ノードvinci-king-01
チケット管理
私のワークフロー2
AI競合監視と収益最適化を組み合わせた自動動の管理価格設定
If
Code
Merge
+
If
Code
Merge
25 ノードvinci-king-01
市場調査
私のワークフロー 2
AIベースの請求書データ抽出と承認ワークフローで、ScrapeGraphAIとTelegramを統合
Code
Switch
Webhook
+
Code
Switch
Webhook
18 ノードvinci-king-01
請求書処理
私のワークフロー 2
ScrapeGraphAI、GPT-4、Google Sheets を使った深堀りリサーチの自動化
Code
Merge
Webhook
+
Code
Merge
Webhook
16 ノードvinci-king-01
市場調査
私のワークフロー2
ScrapeGraphAIで著作権侵害を検知し、自動のに法の対応を送信
If
Code
Telegram
+
If
Code
Telegram
12 ノードvinci-king-01
その他