btcd est une implémentation alternative de Bitcoin à nœud complet écrite en Go (golang).
Ce projet est actuellement en développement actif et est à l’état bêta. Il est extrêmement stable et est utilisé en production depuis octobre 2013.
Il télécharge, valide et sert correctement la chaîne de blocs en utilisant les règles exactes (y compris les bogues de consensus) pour l'acceptation des blocs en tant que Bitcoin Core. Nous avons pris grand soin d’éviter que btcd ne provoque une bifurcation dans la chaîne de blocs. Il comprend un cadre de test de validation de bloc complet qui contient tous les tests d'acceptation de bloc « officiels » (et quelques tests supplémentaires) qui sont exécutés sur chaque demande d'extraction pour garantir qu'elle suit correctement le consensus. En outre, il transmet toutes les données de test JSON dans le code Bitcoin Core.
Il relaie également correctement les blocs nouvellement extraits, maintient un pool de transactions et relaie les transactions individuelles qui n'ont pas encore été transformées en bloc. Il garantit que toutes les transactions individuelles admises dans le pool suivent les règles requises par la chaîne de blocs et comprend également des contrôles plus stricts qui filtrent les transactions en fonction des exigences des mineurs (transactions "standard").
L'une des principales différences entre btcd et Bitcoin Core est que btcd n'inclut PAS de fonctionnalité de portefeuille et il s'agit d'une décision de conception très intentionnelle. Voir l'entrée du blog ici pour plus de détails. Cela signifie que vous ne pouvez pas réellement effectuer ou recevoir de paiements directement avec btcd. Cette fonctionnalité est fournie par les projets btcwallet et Paymetheus (Windows uniquement) qui sont tous deux en développement actif.
Passez à la version 1.17 ou plus récente.
https://github.com/btcsuite/btcd/releases
Installez Go selon les instructions d'installation ici : http://golang.org/doc/install
Assurez-vous que Go a été installé correctement et qu'il s'agit d'une version prise en charge :
version $ aller $ aller env GOROOT GOPATH
REMARQUE : GOROOT
et GOPATH
ci-dessus ne doivent pas être le même chemin. Il est recommandé que GOPATH
soit défini sur un répertoire de votre répertoire personnel tel que ~/goprojects
pour éviter les problèmes d'autorisation en écriture. Il est également recommandé d'ajouter $GOPATH/bin
à votre PATH
à ce stade.
Exécutez les commandes suivantes pour obtenir btcd, toutes les dépendances, et installez-le :
$ cd $GOPATH/src/github.com/btcsuite/btcd $ GO111MODULE=on va installer -v . ./cmd/...
btcd (et les utilitaires) seront désormais installés dans $GOPATH/bin
. Si vous n'avez pas déjà ajouté le répertoire bin à votre chemin système lors de l'installation de Go, nous vous recommandons de le faire maintenant.
Exécutez les commandes suivantes pour mettre à jour btcd, toutes les dépendances, et installez-le :
$ cd $GOPATH/src/github.com/btcsuite/btcd $ git pull $ GO111MODULE=on va installer -v . ./cmd/...
btcd dispose de plusieurs options de configuration disponibles pour modifier son fonctionnement, mais toutes les opérations de base décrites dans la section d'introduction fonctionnent sans configuration.
$ ./btcd
irc.libera.chat
chaîne #btcd
discussion en ligne
Le outil de suivi des problèmes github intégré est utilisé pour ce projet.
La documentation est un travail en cours. Il se trouve dans le dossier docs.
Veuillez consulter notre documentation sur le processus de build/vérification actuel pour toutes nos versions pour plus d'informations sur la façon de vérifier l'intégrité des versions publiées à l'aide de notre système de build reproductible.
btcd est sous licence ISC sans copie.