|
3 | 3 |
|
4 | 4 | btcd is an alternative full node bitcoin implementation written in Go (golang). |
5 | 5 |
|
6 | | -This project is currently under active development and is not production ready |
7 | | -yet. |
| 6 | +This project is currently under active development and is in an Alpha state. |
| 7 | + |
| 8 | +It currently properly downloads, validates, and serves the block chain using the |
| 9 | +exact rules (including bugs) for block acceptance as the reference |
| 10 | +implementation (bitcoind). We have taken great care to avoid btcd causing a |
| 11 | +fork to the block chain. It passes all of the 'official' block acceptance tests |
| 12 | +(https://github.com/TheBlueMatt/test-scripts). |
| 13 | + |
| 14 | +It also properly relays newly mined blocks, maintains a transaction pool, |
| 15 | +and relays individual transactions that have not yet made it into a block. It |
| 16 | +ensures all individual transactions admitted to the pool follow the rules |
| 17 | +required into the block chain and also includes the vast majority of the more |
| 18 | +strict checks which filter transactions based on miner requirements ("standard" |
| 19 | +transactions). |
| 20 | + |
| 21 | +One key difference between btcd and bitcoind is that btcd does *NOT* include |
| 22 | +wallet functionality and this was a very intentional design decision. See the |
| 23 | +blog entry at https://blog.conformal.com/btcd-finally for more details. This |
| 24 | +means you can't actually make or receive payments directly with btcd. That |
| 25 | +functionality will be provided by the forthcoming btcwallet and btcgui. |
| 26 | + |
| 27 | +## Installation |
| 28 | + |
| 29 | +#### Windows - MSI Available |
| 30 | + |
| 31 | +https://github.com/conformal/btcd/releases |
| 32 | + |
| 33 | +#### Linux/BSD/POSIX - Build from Source |
| 34 | + |
| 35 | +- Install Go according to the installation instructions here: |
| 36 | + http://golang.org/doc/install |
| 37 | + |
| 38 | +- Run the following command to obtain btcd, all dependencies, and install it: |
| 39 | + ```$ go get github.com/conformal/btcd``` |
| 40 | + |
| 41 | +- btcd will now be installed in either ```$GOROOT/bin``` or ```$GOPATH/bin``` |
| 42 | + depending on your configuration. If you did not already add to your system |
| 43 | + path during the installation, we recommend you do so now. |
| 44 | + |
| 45 | +## Getting Started |
| 46 | + |
| 47 | +btcd has several configuration options avilable to tweak how it runs, but all |
| 48 | +of the basic operations described in the intro section work with zero |
| 49 | +configuration. |
| 50 | + |
| 51 | +#### Windows (Installed from MSI) |
| 52 | + |
| 53 | +Launch btcd from your Start menu. |
| 54 | + |
| 55 | +#### Linux/BSD/POSIX/Source |
| 56 | + |
| 57 | +```bash |
| 58 | +$ ./btcd |
| 59 | +```` |
8 | 60 |
|
9 | 61 | ## TODO |
10 | 62 |
|
11 | | -The following is a list of major items remaining before production release: |
| 63 | +The following is a brief overview of the next things we have planned to work on |
| 64 | +for btcd. Note this does not include the separate btcwallet and btcgui which |
| 65 | +are currently under heavy development: |
12 | 66 |
|
13 | 67 | - Documentation |
14 | | -- A lot of code cleanup |
15 | | -- Optimize |
| 68 | +- Code cleanup |
| 69 | +- Add remaining missing RPC calls |
| 70 | +- Add option to allow btcd run as a daemon/service |
| 71 | +- Complete several TODO items in the code |
| 72 | +- Offer 32-bit MSI as well as the 64-bit one |
| 73 | +- Offer cross-compiled binaries for popular OSes (Fedora, Ubuntu, FreeBSD, OpenBSD) |
| 74 | + |
| 75 | +## GPG Verification Key |
| 76 | + |
| 77 | +All official release tags are signed by Conformal so users can ensure the code |
| 78 | +has not been tampered with and is coming from Conformal. To verify the |
| 79 | +signature perform the following: |
| 80 | + |
| 81 | +- Download the public key from the Conformal website at |
| 82 | + https://opensource.conformal.com/GIT-GPG-KEY-conformal.txt |
| 83 | + |
| 84 | +- Import the public key into your GPG keyring: |
| 85 | + ```bash |
| 86 | + gpg --import GIT-GPG-KEY-conformal.txt |
| 87 | + ``` |
| 88 | + |
| 89 | +- Verify the release tag with the following command where `TAG_NAME` is a |
| 90 | + placeholder for the specific tag: |
| 91 | + ```bash |
| 92 | + git tag -v TAG_NAME |
| 93 | + ``` |
| 94 | + |
| 95 | +## License |
| 96 | + |
| 97 | +Package btcwire is licensed under the liberal ISC License. |
0 commit comments