블록체인 모니터
중급
이것은Crypto Trading, AI Summarization분야의자동화 워크플로우로, 14개의 노드를 포함합니다.주로 If, Code, Slack, Webhook, ScrapegraphAi 등의 노드를 사용하며. 基于ScrapeGraphAI风险检测의区块链모니터링器,即时警报및Slack알림
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
사용된 노드 (14)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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
기타