• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

addrmgr/H03-May-2022-

blockchain/H13-May-2020-

btcec/H13-May-2020-

btcjson/H13-May-2020-

chaincfg/H13-May-2020-

cmd/H13-May-2020-

connmgr/H13-May-2020-

database/H13-May-2020-

docs/H13-May-2020-

integration/H13-May-2020-

limits/H13-May-2020-

mempool/H13-May-2020-

mining/H13-May-2020-

netsync/H13-May-2020-

peer/H13-May-2020-

release/H13-May-2020-

rpcclient/H13-May-2020-

txscript/H13-May-2020-

wire/H13-May-2020-

.gitignoreH A D13-May-2020328

.travis.ymlH A D13-May-2020434

CHANGESH A D13-May-202048.6 KiB

LICENSEH A D13-May-2020802

README.mdH A D13-May-20204.3 KiB

btcd.goH A D13-May-20209 KiB

config.goH A D13-May-202045.5 KiB

config_test.goH A D13-May-20201.7 KiB

doc.goH A D13-May-20209.5 KiB

go.modH A D13-May-2020913

go.sumH A D13-May-20205.1 KiB

goclean.shH A D13-May-20201,009

log.goH A D13-May-20204.9 KiB

params.goH A D13-May-20202.6 KiB

rpcadapters.goH A D13-May-20209.4 KiB

rpcserver.goH A D13-May-2020138.8 KiB

rpcserverhelp.goH A D13-May-202048.3 KiB

rpcserverhelp_test.goH A D13-May-20201.9 KiB

rpcwebsocket.goH A D13-May-202081.6 KiB

sample-btcd.confH A D13-May-202013.4 KiB

server.goH A D13-May-202099 KiB

service_windows.goH A D13-May-20208.5 KiB

signal.goH A D13-May-20202 KiB

signalsigterm.goH A D13-May-2020333

upgrade.goH A D13-May-20205.1 KiB

upnp.goH A D13-May-202012.9 KiB

version.goH A D13-May-20202.4 KiB

README.md

1btcd
2====
3
4[![Build Status](https://travis-ci.org/btcsuite/btcd.png?branch=master)](https://travis-ci.org/btcsuite/btcd)
5[![ISC License](http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
6[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](http://godoc.org/github.com/btcsuite/btcd)
7
8btcd is an alternative full node bitcoin implementation written in Go (golang).
9
10This project is currently under active development and is in a Beta state.  It
11is extremely stable and has been in production use since October 2013.
12
13It properly downloads, validates, and serves the block chain using the exact
14rules (including consensus bugs) for block acceptance as Bitcoin Core.  We have
15taken great care to avoid btcd causing a fork to the block chain.  It includes a
16full block validation testing framework which contains all of the 'official'
17block acceptance tests (and some additional ones) that is run on every pull
18request to help ensure it properly follows consensus.  Also, it passes all of
19the JSON test data in the Bitcoin Core code.
20
21It also properly relays newly mined blocks, maintains a transaction pool, and
22relays individual transactions that have not yet made it into a block.  It
23ensures all individual transactions admitted to the pool follow the rules
24required by the block chain and also includes more strict checks which filter
25transactions based on miner requirements ("standard" transactions).
26
27One key difference between btcd and Bitcoin Core is that btcd does *NOT* include
28wallet functionality and this was a very intentional design decision.  See the
29blog entry [here](https://blog.conformal.com/btcd-not-your-moms-bitcoin-daemon)
30for more details.  This means you can't actually make or receive payments
31directly with btcd.  That functionality is provided by the
32[btcwallet](https://github.com/btcsuite/btcwallet) and
33[Paymetheus](https://github.com/btcsuite/Paymetheus) (Windows-only) projects
34which are both under active development.
35
36## Requirements
37
38[Go](http://golang.org) 1.12 or newer.
39
40## Installation
41
42#### Windows - MSI Available
43
44https://github.com/btcsuite/btcd/releases
45
46#### Linux/BSD/MacOSX/POSIX - Build from Source
47
48- Install Go according to the installation instructions here:
49  http://golang.org/doc/install
50
51- Ensure Go was installed properly and is a supported version:
52
53```bash
54$ go version
55$ go env GOROOT GOPATH
56```
57
58NOTE: The `GOROOT` and `GOPATH` above must not be the same path.  It is
59recommended that `GOPATH` is set to a directory in your home directory such as
60`~/goprojects` to avoid write permission issues.  It is also recommended to add
61`$GOPATH/bin` to your `PATH` at this point.
62
63- Run the following commands to obtain btcd, all dependencies, and install it:
64
65```bash
66$ cd $GOPATH/src/github.com/btcsuite/btcd
67$ GO111MODULE=on go install -v . ./cmd/...
68```
69
70- btcd (and utilities) will now be installed in ```$GOPATH/bin```.  If you did
71  not already add the bin directory to your system path during Go installation,
72  we recommend you do so now.
73
74## Updating
75
76#### Windows
77
78Install a newer MSI
79
80#### Linux/BSD/MacOSX/POSIX - Build from Source
81
82- Run the following commands to update btcd, all dependencies, and install it:
83
84```bash
85$ cd $GOPATH/src/github.com/btcsuite/btcd
86$ git pull
87$ GO111MODULE=on go install -v . ./cmd/...
88```
89
90## Getting Started
91
92btcd has several configuration options available to tweak how it runs, but all
93of the basic operations described in the intro section work with zero
94configuration.
95
96#### Windows (Installed from MSI)
97
98Launch btcd from your Start menu.
99
100#### Linux/BSD/POSIX/Source
101
102```bash
103$ ./btcd
104```
105
106## IRC
107
108- irc.freenode.net
109- channel #btcd
110- [webchat](https://webchat.freenode.net/?channels=btcd)
111
112## Issue Tracker
113
114The [integrated github issue tracker](https://github.com/btcsuite/btcd/issues)
115is used for this project.
116
117## Documentation
118
119The documentation is a work-in-progress.  It is located in the [docs](https://github.com/btcsuite/btcd/tree/master/docs) folder.
120
121## Release Verification
122
123Please see our [documentation on the current build/verification
124process](https://github.com/btcsuite/btcd/tree/master/release) for all our
125releases for information on how to verify the integrity of published releases
126using our reproducible build system.
127
128## License
129
130btcd is licensed under the [copyfree](http://copyfree.org) ISC License.
131