您好,登錄后才能下訂單哦!
在比特幣應用開發中,一個常見的問題就是,在知道比特幣地址的情況下,如何查詢這個地址上發生的所有交易?或者類似的說法,如何查詢一個指定的比特幣地址發生的所有交易? 本文將給出這一問題的三種解決方案。
由于比特幣的數據存儲結構,不可能直接利用比特幣的原始API來查詢指定地址的歷史交易數據。因此最樸素(Naive)的第一種解決方案,就是將比特幣區塊鏈上的每一筆交易數據存到自己的數據庫里,然后針對交易地址信息(例如Scriptpubkey、pubkey或者地址本身)建立索引,這樣就可以在數據庫上自由、高效地查詢了。
樸素的第一種方案需要自己解析比特幣區塊鏈數據,自己搭建數據庫環境,可能你覺得有點麻煩。好在有很多第三方機構已經做了這件繁瑣的事情,并且通過開放API的形式提供出來,你可以直接使用。
例如,你可以使用blockchain.info的api來實現這個功能:
$ curl https://blockchain.info/rawaddr/$bitcoin_address
如果你不愿意自己搞數據庫,也不愿意使用第三方的開放API,還有第三種解決方案,就是換一種支持按比特幣地址查詢交易的節點實現軟件,例如btcd,這是一個go語言實現的比特幣節點軟件,當你啟動btcd時,只要使用--addrindex
標志就可以自動建立比特幣地址索引了:
$ btcd --addrindex
本文列出的解決用比特幣地址查詢歷史交易的三種解決方案,分別適用于不同的應用場景,你可以根據自己的需要做出相應的選擇。
如果要快速掌握比特幣的對接與應用開發,推薦匯智網的在線互動課程:
Java比特幣開發詳解 -----
Php比特幣開發詳解 -----
C#比特幣開發詳解
匯智網原創,轉載請標明出處
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。