Bitcoind

libbitcoin 過去是比特幣核心的一部分嗎?

  • January 18, 2022

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

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