So erstellen Sie Bitcoin Core Linux-Tarball aus Quellen

Ich versuche, denselben Tarball zu erstellen, den Sie von der Website herunterladen können, der den folgenden Dateibaum enthält:

$ ls -R ../../bitcoin-0.15.0/
../../bitcoin-0.15.0/:
bin  include  lib  share

../../bitcoin-0.15.0/bin:
bitcoin-cli  bitcoind  bitcoin-qt  bitcoin-tx  test_bitcoin

../../bitcoin-0.15.0/include:
bitcoinconsensus.h

../../bitcoin-0.15.0/lib:
libbitcoinconsensus.so  libbitcoinconsensus.so.0  libbitcoinconsensus.so.0.0.0

../../bitcoin-0.15.0/share:
man

../../bitcoin-0.15.0/share/man:
man1

../../bitcoin-0.15.0/share/man/man1:
bitcoin-cli.1  bitcoind.1  bitcoin-qt.1  bitcoin-tx.1

Ich verwende das „Präfix“-Konfigurieren, um die Binärdateien in einem bestimmten Ordner abzulegen

./configure --prefix=/home/ff/bitcoin-build

Jetzt ist der Inhalt, den ich im Zielverzeichnis erhalte, fast derselbe (es gibt einige Dateien mehr). Wenn ich jedoch versuche, es in einen Container zu kopieren und auszuführen, erhalte ich einen Fehler (was beim ursprünglichen Tarball nicht der Fall ist).

Meine Frage ist also: Wie erstelle ich die Quellen, um denselben Tarball zu erstellen, den Sie von der Website erhalten?

Antworten (1)

Die kompilierten Binärdateien auf der Website werden mit Gitian erstellt. Dies ist deterministisch, sodass Sie zu Überprüfungszwecken einen identischen Build wie alle anderen erhalten, die ihn erstellt haben. Eine Anleitung dazu finden Sie hier: https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md

Der Vollständigkeit halber füge ich diesen ebenfalls sehr wichtigen Link hinzu: github.com/bitcoin-core/docs/blob/master/gitian-building.md
Da ich einige Schwierigkeiten hatte, den Bauprozess tatsächlich abzuschließen, habe ich eine kleine Anleitung als Referenz geschrieben: gist.github.com/frz-dev/3e3e906fa06294e61930e81b473e1e5b