Transactions

使用 node.js 觀察傳入交易

  • December 1, 2021

我想觀察一組比特幣地址,並能夠在他們收到付款時執行一些邏輯。

根據這個答案,可以使用blockchain.info來完成:

const Socket = require('blockchain.info/Socket');
const mySocket = new Socket();
mySocket.onTransaction(function() {
 console.log(arguments);
});

程式碼執行良好,我收到有關交易的通知,我什至可以過濾和查看特定地址(使用options參數),但我完全不清楚這些欄位的含義。交易中有多個欄位(下面是一個範例)。我應該檢查哪些欄位才能知道目標地址、進來的金額以及是否得到確認?

在此處輸入圖像描述

我應該檢查哪些欄位才能知道目標地址、進來的金額以及是否得到確認?

答案似乎很明顯,所以我可能遺漏了您問題的某些方面

目標地址

那將是JSON.0.out.0.addr兩者JSON.0.out.1.addr兼而有之JSON.0.out.*.addr

請記住,並非所有比特幣腳本都可以表示為地址。

數量 …

相應的value欄位顯示發送到每個地址的 Satoshi 數量。

……進來的

交易的輸入金額由總和提供 JSON.0.inputs.*.prev_out.value

如果它被證實?

您需要參考其他數據來計算確認。至少您需要知道目前區塊高度和包含此交易的第一個區塊的區塊高度。

我不熟悉這個 API,所以不能提出任何建議。也許 API 包含一個函式,您可以將事務 ID ( JSON.0.hash) 傳遞給該函式以獲取有關包含該事務的塊的資訊。也許有一種onBlock()方法可以用來處理塊數據?

引用自:https://bitcoin.stackexchange.com/questions/111041