Code
節點取代 IF
節點?在我們的除錯過程中發現,IF
節點雖然簡單直觀,但在處理從 API 來的、超長的數字字串時,其內部的自動類型轉換有時會不符合預期。為了 100% 的精確和可靠,我們改用 Code
節點,並利用 JavaScript 的 BigInt
功能,來進行無損的、純粹的數學比較。這是處理金融和區塊鏈數據時更專業的做法。
這個節點是我們系統的「守門員」,負責攔截不符合條件的交易。
新增 Code 節點:
HTTP Request
節點右方點擊 +
,搜尋並選擇 Code
節點。Filter (篩選器)
,方便識別。貼上篩選器程式碼:
將以下「健壯版」的程式碼完整地複製並貼到 JavaScript Code
區域:
// ========================================================
// 健壯版巨鯨篩選器:先檢查,再處理
// ========================================================
// 1. 在進行任何操作前,先檢查這筆交易是否有 value 欄位
// 如果 value 是 undefined、null 或 0,就直接跳過這筆交易
if (!$input.item.json.value || $input.item.json.value === "0") {
// 為了方便除錯,我們可以在瀏覽器主控台印出一條訊息
console.log("偵測到一筆無效或零金額的交易,已自動跳過。");
// 回傳 null 來中止這一條路徑的執行
return null;
}
// 2. 定義我們的「巨鯨門檻」(單位是 Wei)
// 這裡我們設定為 0.5 ETH,你可以隨意調整這個數字
const threshold = BigInt("500000000000000000");
// 3. 只有在確定 value 存在時,才進行轉換和比較
const txValue = BigInt($input.item.json.value);
if (txValue > threshold) {
// 如果交易金額大於門檻,就將這筆交易的完整資料傳遞給下一個節點
return $input.item;
} else {
// 如果不符合條件,也回傳 null 來中止路徑
return null;
}
只有真正的巨鯨交易才能通過上一步的篩選。現在,我們要為這些珍貴的情報,製作一張精美的「快訊卡片」。
新增第二個 Code 節點:
Code (篩選器)
節點的唯一輸出端點擊 +
,新增另一個 Code
節點。Formatter (格式化工具)
。貼上格式化程式碼:
將以下程式碼貼入 Code (格式化工具)
節點的 JavaScript Code
區域:
// 獲取從篩選器流過來的這筆巨鯨交易資料
const tx = $input.item.json;
// 使用 BigInt 進行精確的單位換算 (Wei -> ETH)
const ethValue = (Number(BigInt(tx.value) * 100n / (10n**18n)) / 100).toFixed(2);
// 產生 Etherscan 的交易連結 (Markdown 格式)
const txUrl = `https://etherscan.io/tx/${tx.hash}`;
// 組裝最終要發送到 Discord 的告警訊息
const message = `🐋 **巨鯨快訊!** 🐋\n\n` +
`偵測到一筆大額交易!\n\n` +
`**金額**: **${ethValue} ETH**\n` +
`**From**: \`${tx.from}\`\n` +
`**To**: \`${tx.to}\`\n\n` +
`[點此立即查看交易詳情](${txUrl})`;
// 將組裝好的訊息,放入一個名為 discordMessage 的欄位中並輸出
return {
discordMessage: message
};
新增 Discord 節點:
在 Code
節點後方新增一個 Discord
節點。
設定節點:
選擇我們之前建立好的 Webhook
憑證。
在 Message
欄位,使用表達式來引用 Code
節點的輸出:
{{ $json.discordMessage }}
現在,啟動你的工作流!只要被監控的地址發生了大於 0.5ETH 的交易,你的 Discord 就會立刻收到一條格式精美的告警通知!
今天我們用更專業、更可靠的方式,從頭到尾打通了「Whale Alert」的核心流程。你學會了:
Code
節點和 BigInt
建立一個無懈可擊的數字篩選器。return null
在 n8n 中中止數據流的強大用法。Code
節點,實現「篩選 -> 加工 -> 輸出」的標準資料處理管線。我們的系統現在已經成為一個真正有價值、有深度的鏈上情報工具了!