Bitcoin Tools of btcd
btcd is a full node bitcoin tool based on the Go language. It currently downloads, verifies and serves the blockchain by using precise rules (including bugs). It relies on both newly discovered blocks to maintain the transaction pool and on individual transactions that do not form blocks. With meticulous rules as well as checks, each individual transaction is secured and can be filtered based on the miner's needs.
One of the main differences between btcd and bitcoind is that btcd does not include the functionality of Bitcoin wallets, which is actually a well-designed one. This means you can't trade Bitcoin directly through btcd. However, this feature can be provided by two projects, btcwallet and btcgui, which are under development. Another significant difference is that btcd supports both HTTP POST (e.g. bitcoind) and recommended Websockets requests for both communication protocols. And btcd's RPC connection is set to TLS-on by default.
Installing btcd
To install Windows btcd, download and run msi from GitHub, and if you already have the Go language installed, enter the following command line in Linux:
$ go get github.com/conformal/btcd/...
To update btcd to the latest version, enter:
$ go get -u -v github.com/conformal/btcd/...
Debug btcd
btcd has many configuration options that can be viewed with the following command.
$ btcd --help
btcd is pre-installed with many useful feature packs, such as btcctl. It is a order-line tool that can be controlled and queried by RPC. Btcd does not have an RPC server turned on by default, and you must configure the RPC username and password from the following command line:
btcd.conf: [Application Options] rpcuser=myuser
rpcpass=SomeDecentp4ssw0rd
btcctl.conf: [Application Options] rpcuser=myuser
rpcpass=SomeDecentp4ssw0rd
If you want to rewrite the configuration, enter the following command:
$ btcd -u myuser -P SomeDecentp4ssw0rd
$ btcctl -u myuser -P SomeDecentp4ssw0rd
A range of options can be queried with the following command.
$ btcctl --help