2013-09-09 18:00:46 +02:00
|
|
|
btcd
|
|
|
|
====
|
|
|
|
|
2013-12-09 03:44:06 +01:00
|
|
|
[![Build Status](https://travis-ci.org/conformal/btcd.png?branch=master)]
|
|
|
|
(https://travis-ci.org/conformal/btcd)
|
|
|
|
|
2013-09-09 18:00:46 +02:00
|
|
|
btcd is an alternative full node bitcoin implementation written in Go (golang).
|
|
|
|
|
2013-10-05 05:59:05 +02:00
|
|
|
This project is currently under active development and is in an Alpha state.
|
|
|
|
|
|
|
|
It currently properly downloads, validates, and serves the block chain using the
|
|
|
|
exact rules (including bugs) for block acceptance as the reference
|
|
|
|
implementation (bitcoind). We have taken great care to avoid btcd causing a
|
|
|
|
fork to the block chain. It passes all of the 'official' block acceptance tests
|
|
|
|
(https://github.com/TheBlueMatt/test-scripts).
|
|
|
|
|
|
|
|
It also properly relays newly mined blocks, maintains a transaction pool,
|
|
|
|
and relays individual transactions that have not yet made it into a block. It
|
|
|
|
ensures all individual transactions admitted to the pool follow the rules
|
|
|
|
required into the block chain and also includes the vast majority of the more
|
|
|
|
strict checks which filter transactions based on miner requirements ("standard"
|
|
|
|
transactions).
|
|
|
|
|
|
|
|
One key difference between btcd and bitcoind is that btcd does *NOT* include
|
|
|
|
wallet functionality and this was a very intentional design decision. See the
|
2013-10-05 09:51:12 +02:00
|
|
|
blog entry [here](https://blog.conformal.com/btcd-not-your-moms-bitcoin-daemon)
|
|
|
|
for more details. This means you can't actually make or receive payments
|
2014-02-04 18:03:35 +01:00
|
|
|
directly with btcd. That functionality is provided by the
|
|
|
|
[btcwallet](https://github.com/conformal/btcwallet) and
|
|
|
|
[btcgui](https://github.com/conformal/btcgui) projects which are both under
|
|
|
|
active development.
|
2013-10-05 05:59:05 +02:00
|
|
|
|
2014-02-13 18:39:17 +01:00
|
|
|
## Requirements
|
|
|
|
|
|
|
|
[Go](http://golang.org) 1.2 or newer.
|
|
|
|
|
2013-10-05 05:59:05 +02:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
#### Windows - MSI Available
|
|
|
|
|
|
|
|
https://github.com/conformal/btcd/releases
|
|
|
|
|
|
|
|
#### Linux/BSD/POSIX - Build from Source
|
|
|
|
|
|
|
|
- Install Go according to the installation instructions here:
|
|
|
|
http://golang.org/doc/install
|
|
|
|
|
|
|
|
- Run the following command to obtain btcd, all dependencies, and install it:
|
2014-03-16 04:32:45 +01:00
|
|
|
```$ go get github.com/conformal/btcd/...```
|
2013-10-05 05:59:05 +02:00
|
|
|
|
2014-03-16 04:32:45 +01:00
|
|
|
- btcd (and utilities) will now be installed in either ```$GOROOT/bin``` or
|
|
|
|
```$GOPATH/bin``` depending on your configuration. If you did not already
|
|
|
|
add the bin directory to your system path during Go installation, we
|
|
|
|
recommend you do so now.
|
2013-10-05 05:59:05 +02:00
|
|
|
|
2013-10-08 20:30:36 +02:00
|
|
|
## Updating
|
|
|
|
|
|
|
|
#### Windows
|
|
|
|
|
|
|
|
Install a newer MSI
|
|
|
|
|
|
|
|
#### Linux/BSD/POSIX - Build from Source
|
|
|
|
|
|
|
|
- Run the following command to update btcd, all dependencies, and install it:
|
|
|
|
```$ go get -u -v github.com/conformal/btcd/...```
|
|
|
|
|
2013-10-05 05:59:05 +02:00
|
|
|
## Getting Started
|
|
|
|
|
|
|
|
btcd has several configuration options avilable to tweak how it runs, but all
|
|
|
|
of the basic operations described in the intro section work with zero
|
|
|
|
configuration.
|
|
|
|
|
|
|
|
#### Windows (Installed from MSI)
|
|
|
|
|
|
|
|
Launch btcd from your Start menu.
|
|
|
|
|
|
|
|
#### Linux/BSD/POSIX/Source
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ ./btcd
|
|
|
|
````
|
2014-03-04 18:58:59 +01:00
|
|
|
|
|
|
|
## IRC server
|
|
|
|
|
2014-03-04 19:00:06 +01:00
|
|
|
- irc.conformal.com:6697
|
2014-03-04 18:58:59 +01:00
|
|
|
- ssl required
|
|
|
|
- channel #btcd
|
|
|
|
|
2013-10-15 18:16:17 +02:00
|
|
|
## Mailing lists
|
|
|
|
|
|
|
|
- btcd: discussion of btcd and its packages.
|
|
|
|
- btcd-commits: readonly mail-out of source code changes.
|
|
|
|
|
|
|
|
To subscribe to a given list, send email to list+subscribe@opensource.conformal.com
|
2013-09-09 18:00:46 +02:00
|
|
|
|
2014-02-04 18:03:35 +01:00
|
|
|
## Issue Tracker
|
2013-09-09 18:00:46 +02:00
|
|
|
|
2014-02-04 18:06:39 +01:00
|
|
|
The [integrated github issue tracker](https://github.com/conformal/btcd/issues)
|
2014-02-04 18:03:35 +01:00
|
|
|
is used for this project.
|
2013-10-05 05:59:05 +02:00
|
|
|
|
2014-02-04 18:06:39 +01:00
|
|
|
## Documentation
|
|
|
|
|
|
|
|
The documentation is a work-in-progress. It uses the [github wiki](https://github.com/conformal/btcd/wiki) facility.
|
|
|
|
|
2013-10-05 05:59:05 +02:00
|
|
|
## GPG Verification Key
|
|
|
|
|
|
|
|
All official release tags are signed by Conformal so users can ensure the code
|
|
|
|
has not been tampered with and is coming from Conformal. To verify the
|
|
|
|
signature perform the following:
|
|
|
|
|
|
|
|
- Download the public key from the Conformal website at
|
|
|
|
https://opensource.conformal.com/GIT-GPG-KEY-conformal.txt
|
|
|
|
|
|
|
|
- Import the public key into your GPG keyring:
|
|
|
|
```bash
|
|
|
|
gpg --import GIT-GPG-KEY-conformal.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
- Verify the release tag with the following command where `TAG_NAME` is a
|
|
|
|
placeholder for the specific tag:
|
|
|
|
```bash
|
|
|
|
git tag -v TAG_NAME
|
|
|
|
```
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
2014-01-15 17:19:51 +01:00
|
|
|
btcd is licensed under the [copyfree](http://copyfree.org) ISC License.
|