Linux

如何在 Fedora 20 上使用 Vanitygen?(openssl 限制)

  • August 16, 2014

我在 Fedora 上看到過幾種從原始碼建構比特幣的方法,但我沒有看到 vanitygen 的相應資訊。它建構並啟動,但隨後出現錯誤:“pattern.c:164: vg_exec_context_init: Assertion `vxcp->vxc_key’ failed。” 當然,原因很容易找到:OpenSSL 的 Fedora 實現不包括比特幣所依賴的算法。Bicoin 解決了這個問題,但 vanitygen 似乎無法解決。我從他們的網站下載並建構了最新版本的 OpenSSL。但是,使用“make -rpath [我建構的 openssl 的路徑]”並沒有改變任何東西。

所以我的問題是:如何讓 vanitygen 指向我的 OpenSSL 而不是預設的 OpenSSL?我不希望我的整個系統都使用自定義的 OpenSSL,因為我比我下載的更信任 Fedora 實現;但是,我不打算將生成的地址用於少量比特幣,因此它們不必那麼安全。

參考: 如何在 Fedora 18 中建構比特幣?

編輯:作為參考,下面接受的答案中引用的程序是:

注意:在這個和下面接受的答案中,**用最新版本的 OPENSSL 替換 openssl-1.0.1g。**1.0.1g 可能存在在未來版本中修補的安全漏洞——在撰寫本文時它是最新的,但可能不會在六個月內出現。

mkdir ~/devel
cd ~/devel

wget http://openssl.org/source/openssl-1.0.1g.tar.gz
tar xfz openssl-1.0.1g.tar.gz
cd openssl-1.0.1g

./config --prefix=/opt/openssl-1.0.1g zlib-dynamic shared
make

sudo make install_sw

首先,您需要從原始碼編譯 OpenSSL。我假設您已經按照Bitmessage 論壇中的描述編譯了它。這樣,包括橢圓曲線支持的 OpenSSL 安裝在 /opt/openssl-version 中。至於最近發布的 Heartbleed 漏洞,請使用 OpenSSL 最新的穩定版本。

按照這個描述,我現在假設已經在 /opt/openssl-1.0.1g 下安裝了包括橢圓曲線支持的OpenSSL

現在來到vanitygen:下載 zip 文件並將其解壓縮到您的硬碟驅動器。然後修改Makefile:在該文件的最頂部添加以下行:

export LD_RUN_PATH=/opt/openssl-1.0.1g/lib

之後,轉到設置CPFLAGS的行。修改它,使其如下所示:

CFLAGS=-ggdb -O3 -Wall -L/opt/openssl-1.0.1g/lib

基本上,該行未修改,除了已附加的自定義 OpenSSL 庫的庫路徑。

**而已!**現在你也可以在 Fedora 中編譯 vanitygen:

make
./vanitygen 1TEST

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