Bitcoind

查詢某個 txid 以獲取其輸入的最快方法是什麼?

  • January 8, 2019

我正在從事一個分析比特幣交易的藝術/視覺化項目。我有一個Bitcore帶有洞察力 API 的實例,我通過 REST API 從 Python 腳本查詢,因此查詢以 json 格式返回。對於這個項目,我使用了一個 macbook pro,它的內部 ssd 驅動器每秒大約有 70 個查詢,使用外部 NTFS(保險絲驅動程序)驅動程序每秒只有 5 個查詢。

我想知道是否有更快的方法通過事務的雜湊查詢事務,即使它的程式碼更複雜。

查詢某個 txid 以獲取其輸入的最快方法是什麼?

一種快速且相對快速的方法(可能比 Bitcore 快得多)是使用最新版本的Bitcoin Core-txindex並使用and執行它-rest

然後使用REST 介面查詢一個 txid。

例子: curl localhost:18332/rest/tx/0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098.json

如果您希望通過使用.bin而不是.json在請求 URI 中進行更快的處理,您甚至可以繞過 JSON 編碼/解碼。

在內部,Bitcoin Core 使用 levelDB 作為 txindex,它的速度非常快,一旦從 levelDB 載入了文件和磁碟位置,相應的塊文件將被打開,然後文件指針尋找到 tx-position 並僅反序列化請求的 tx。

也不要忘記,Bitcore 在底層使用了 Bitcoin Core(很可能是一個過時的版本,因為 Bitcore 不再被 AFAIK 維護)。

使用 blockexplorer(或者說 web API)會讓你信任第三方,而且速度肯定會慢得多。

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