libbitcoin 過去是比特幣核心的一部分嗎?
c++
一段時間以來,我一直在嘗試使用Antonopoulos 書中的程式碼,但我似乎缺少一個include
名為bitcoin/bitcoin.hpp
.為了編譯程式碼,
g++
編譯器pkg-config
使用libbitcoin
. 所以我懷疑我必須安裝這個庫。由於這本書沒有提到要安裝任何其他東西,所以
bitcoin core
我真的想知道是否某些部分libbitcoin
最初是其中的一部分,bitcoin core
並且在某些時候被排除在外。另一種解釋是作者忘記提及它。但是,我必須為一個完整的
libbitcoin
節點bitcoin core
(這只是一件小事,對於該領域的專家來說可能是可笑的,但我也在
pkg-config
通過這樣做學習如何使用和編譯器。有人建議只安裝部分,
libbitcoin
但開發人員表示建議使用自動安裝腳本安裝完整的東西。此外,還有
libbitcoin-dev
,它是debian
(我執行 Raspbian Buster)中的一個包,但我無法用它編譯程式碼。
libbitcoin 不是,也從來不是比特幣核心的一部分。兩者都是比特幣協議的獨立實現。
比特幣核心在其建構過程中將創建許多名為“libbitcoin_…”的文件。這些只是本地生成的與 libbitcoin 項目無關的文件。
Bitcoin Core 沒有任何帶有“hpp”副檔名的文件。那麼你確定你真的在嘗試建構比特幣核心嗎?
該
libbitcoin
庫是一個完全獨立的庫,它不是比特幣核心參考實現程式碼的一部分。本書程式碼範例在此處附帶一個積極維護的 github 儲存庫。但是,需要特別注意
libbitcoin
庫依賴項,因為它有新的重大更改。例如,#include <bitcoin/bitcoin.cpp>
已重命名為#include <bitcoin/system.hpp>
. 沒有更多了bc::ec_point
。可以安裝舊的兼容版本的libbitcoin
庫,但我更喜歡使用最新版本並在addr.cpp
範常式式碼中進行了一些調整。我按照此處的建議手動建構
libbitcoin
庫並將其安裝到自定義位置。mkdir -p /opt/my/libbitcoin/ $ wget https://raw.githubusercontent.com/libbitcoin/libbitcoin/version3/install.sh $ chmod +x install.sh $ ./install.sh --prefix=/opt/my/libbitcoin/ --build-boost --disable-shared
然後我
addr.cpp
通過以下方式建構:export PKG_CONFIG_PATH=/opt/my/libbitcoin/lib/pkgconfig/ g++ -o addr addr.cpp $(pkg-config --cflags --libs libbitcoin-system) -lgmp
然後通過以下方式執行執行檔:
$ ./addr Public key: 0202a406624211f2abbdc68da3df929f938c3399dd79fac1b51b0e4ad1d26a47aa Address: 1PRTTaJesdNovgne6Ehcdu1fpEdX7913CK