btcd ist eine alternative Full-Node-Bitcoin-Implementierung, die in Go (Golang) geschrieben ist.
Dieses Projekt befindet sich derzeit in der aktiven Entwicklung und befindet sich im Beta-Stadium. Es ist äußerst stabil und seit Oktober 2013 im Produktionseinsatz.
Es lädt die Blockchain ordnungsgemäß herunter, validiert sie und stellt sie unter Verwendung der genauen Regeln (einschließlich Konsensfehlern) für die Blockakzeptanz als Bitcoin Core bereit. Wir haben große Sorgfalt darauf verwendet, dass btcd keine Abspaltung der Blockchain verursacht. Es umfasst ein vollständiges Blockvalidierungstest-Framework, das alle „offiziellen“ Blockakzeptanztests (und einige zusätzliche) enthält, die bei jeder Pull-Anfrage ausgeführt werden, um sicherzustellen, dass sie dem Konsens ordnungsgemäß entspricht. Außerdem werden alle JSON-Testdaten im Bitcoin Core-Code übergeben.
Außerdem leitet es neu geschürfte Blöcke ordnungsgemäß weiter, verwaltet einen Transaktionspool und leitet einzelne Transaktionen weiter, die es noch nicht in einen Block geschafft haben. Es stellt sicher, dass alle in den Pool aufgenommenen Einzeltransaktionen den von der Blockchain geforderten Regeln entsprechen und umfasst außerdem strengere Kontrollen, die Transaktionen basierend auf den Miner-Anforderungen („Standard“-Transaktionen) filtern.
Ein wesentlicher Unterschied zwischen btcd und Bitcoin Core besteht darin, dass btcd KEINE Wallet-Funktionalität enthält und dies eine sehr bewusste Designentscheidung war. Weitere Informationen finden Sie im Blogeintrag hier. Das bedeutet, dass Sie mit btcd tatsächlich keine Zahlungen direkt tätigen oder empfangen können. Diese Funktionalität wird von den Projekten btcwallet und Paymetheus (nur Windows) bereitgestellt, die sich beide in der aktiven Entwicklung befinden.
Gehen Sie auf 1.17 oder neuer.
https://github.com/btcsuite/btcd/releases
Installieren Sie Go gemäß den Installationsanweisungen hier: http://golang.org/doc/install
Stellen Sie sicher, dass Go ordnungsgemäß installiert wurde und eine unterstützte Version ist:
$ go-Version $ go env GOROOT GOPATH
HINWEIS: GOROOT
und GOPATH
oben dürfen nicht derselbe Pfad sein. Es wird empfohlen, GOPATH
auf ein Verzeichnis in Ihrem Home-Verzeichnis wie ~/goprojects
festzulegen, um Probleme mit Schreibberechtigungen zu vermeiden. Es wird außerdem empfohlen, an dieser Stelle $GOPATH/bin
zu Ihrem PATH
hinzuzufügen.
Führen Sie die folgenden Befehle aus, um btcd und alle Abhängigkeiten abzurufen und zu installieren:
$ cd $GOPATH/src/github.com/btcsuite/btcd $ GO111MODULE=on go install -v . ./cmd/...
btcd (und Dienstprogramme) werden jetzt in $GOPATH/bin
installiert. Wenn Sie das bin-Verzeichnis nicht bereits während der Go-Installation zu Ihrem Systempfad hinzugefügt haben, empfehlen wir Ihnen, dies jetzt zu tun.
Führen Sie die folgenden Befehle aus, um btcd und alle Abhängigkeiten zu aktualisieren und zu installieren:
$ cd $GOPATH/src/github.com/btcsuite/btcd $ git pull $ GO111MODULE=on go install -v . ./cmd/...
btcd verfügt über mehrere Konfigurationsoptionen, um seine Ausführung zu optimieren, aber alle im Einführungsabschnitt beschriebenen Grundvorgänge funktionieren ohne Konfiguration.
$ ./btcd
irc.libera.chat
Kanal #btcd
Webchat
Für dieses Projekt wird der integrierte Github Issue Tracker verwendet.
Die Dokumentation ist in Arbeit. Es befindet sich im Ordner „docs“.
Informationen dazu, wie Sie die Integrität veröffentlichter Versionen mithilfe unseres reproduzierbaren Build-Systems überprüfen können, finden Sie in unserer Dokumentation zum aktuellen Build-/Verifizierungsprozess für alle unsere Releases.
BTCD ist unter der kopierfreien ISC-Lizenz lizenziert.