[BREAKGLASS] Append-only mirror of github.com/seedhammer/dcrd
Go to file
Josh Rickmar 6842aa006d Merge remaining dcrutil code into a dcrd package.
This merge commit adds the following code from the
github.com/decred/dcrutil package into a new
github.com/decred/dcrd/dcrutil package:

* Address handling
* Amount type
* AppDataDir func
* bitflags functions
* Block wrapper type
* Hash160 func
* Tx wrapper type
* WIF type

as well as all tests for this code.

The old github.com/decred/dcrutil/hdkeychain package has also been
merged and moved to github.com/decred/dcrd/dcrutil/hdkeychain.

dcrd packages have been updated to use the new packages and the dep
files have been updated for this change.
2017-10-11 22:06:36 -04:00
addrmgr multi: Error descriptions are in lower case. 2017-09-08 18:03:59 +02:00
blockchain Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
bloom Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
certgen certgen: Add doc.go and README.md (#883) 2017-10-11 11:32:50 -04:00
chaincfg Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
cmd Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
connmgr multi: Error descriptions are in lower case. 2017-09-08 18:03:59 +02:00
database Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
dcrec dcrec: remove testify dependency. 2017-08-30 22:11:21 +00:00
dcrjson multi: update stakebase tx vin[0] structure. 2017-09-23 03:24:55 -05:00
dcrutil Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
docs Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
limits blockchain: Rework to use new db interface. 2016-08-18 15:42:18 -04:00
mempool Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
mining Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
peer peer: fix logic race in peer connection test. 2017-09-20 22:15:36 -05:00
release Add example service files. 2017-03-23 02:07:08 -05:00
rpcclient Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
rpctest Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
sampleconfig extend --profile cmd line option to allow interface to be specified 2017-09-09 15:26:37 +10:00
txscript Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
wire blockchain: Implement enforced relative seq locks. 2017-09-21 15:58:36 -05:00
.dockerignore Run testing and linting in a Dockerfile. 2017-05-30 11:39:19 -04:00
.gitignore Improve gitignore. 2017-10-11 14:52:00 -05:00
.travis.yml Test against Go 1.9 and drop 1.7. (#836) 2017-08-28 16:40:37 -04:00
blocklogger.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
blockmanager.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
CHANGES Apply various upstream comment fixes. 2016-05-27 00:35:06 -05:00
config.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
cpuminer.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
dcrd.go config: add --nofilelogging option. 2017-10-04 14:44:13 -05:00
doc.go config: add --nofilelogging option. 2017-10-04 14:44:13 -05:00
Gopkg.lock Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
Gopkg.toml Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
ipc.go remove deadcode 2017-07-17 15:06:47 -05:00
LICENSE license: add title 2016-11-18 12:36:40 -06:00
log.go config: add --nofilelogging option. 2017-10-04 14:44:13 -05:00
mining_test.go mining_test: add edge conditions from btcd. 2017-08-31 00:28:36 -05:00
mining.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
miningerror.go blockchain: Rework to use new db interface. 2016-08-18 15:42:18 -04:00
params.go Remove variables for testnet v1. 2017-03-16 20:19:07 -04:00
README.md Drop glide, use dep. 2017-10-09 17:49:38 -04:00
rpcserver_test.go rpctest: Gate rpctest-based behind a build tag. 2017-07-26 12:43:26 -05:00
rpcserver.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
rpcserverhelp_test.go blockchain: Rework to use new db interface. 2016-08-18 15:42:18 -04:00
rpcserverhelp.go multi: update stakebase tx vin[0] structure. 2017-09-23 03:24:55 -05:00
rpcwebsocket.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
run_tests.sh travis: test Gopkg.lock (#889) 2017-10-11 18:45:23 -04:00
server.go Merge remaining dcrutil code into a dcrd package. 2017-10-11 22:06:36 -04:00
service_windows.go dcrd: Simplify shutdown signal handling logic sync. 2016-11-18 12:06:55 -06:00
signal.go dcrd: Simplify shutdown signal handling logic sync. 2016-11-18 12:06:55 -06:00
signalsigterm.go Add pipes for parent process IPC. (#311) 2016-08-31 10:45:16 -04:00
upnp.go multi: Error descriptions are in lower case. 2017-09-08 18:03:59 +02:00
version.go Bump for v1.1.0 (#867) 2017-09-22 11:56:37 -05:00

dcrd

Build Status ISC License GoDoc

dcrd is a Decred full node implementation written in Go (golang).

This acts as a chain daemon for the Decred cryptocurrency. dcrd maintains the entire past transactional ledger of Decred and allows relaying of transactions to other Decred nodes across the world. To read more about Decred please see the project documentation.

Note: To send or receive funds and join Proof-of-Stake mining, you will also need dcrwallet.

This project is currently under active development and is in a Beta state. It is extremely stable and has been in production use since February 2016.

It is forked from btcd which is a bitcoin full node implementation written in Go. btcd is a ongoing project under active development. Because dcrd is constantly synced with btcd codebase, it will get the benefit of btcd's ongoing upgrades to peer and connection handling, database optimization and other blockchain related technology improvements.

Requirements

Go 1.7 or newer.

Getting Started

  • dcrd (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.

Updating

Windows

Install a newer MSI

Linux/BSD/MacOSX/POSIX - Build from Source

  • Dep

    Dep is used to manage project dependencies and provide reproducible builds. To install:

    go get -u github.com/golang/dep/cmd/dep

Unfortunately, the use of dep prevents a handy tool such as go get from automatically downloading, building, and installing the source in a single command. Instead, the latest project and dependency sources must be first obtained manually with git and dep, and then go is used to build and install the project.

Getting the source:

For a first time installation, the project and dependency sources can be obtained manually with git and dep (create directories as needed):

git clone https://github.com/decred/dcrd $GOPATH/src/github.com/decred/dcrd
cd $GOPATH/src/github.com/decred/dcrd
dep ensure
go install . ./cmd/...

To update an existing source tree, pull the latest changes and install the matching dependencies:

cd $GOPATH/src/github.com/decred/dcrd
git pull
dep ensure
go install . ./cmd/...

For more information about decred and how to set up your software please go to our docs page at docs.decred.org.

Docker

All tests and linters may be run in a docker container using the script run_tests.sh. This script defaults to using the current supported version of go. You can run it with the major version of go you would like to use as the only arguement to test a previous on a previous version of go (generally decred supports the current version of go and the previous one).

./run_tests.sh 1.7

To run the tests locally without docker:

./run_tests.sh local

Contact

If you have any further questions you can find us at:

  • irc.freenode.net (channel #decred)
  • webchat
  • forum.decred.org
  • decred.slack.com

Issue Tracker

The integrated github issue tracker is used for this project.

Documentation

The documentation is a work-in-progress. It is located in the docs folder.

License

dcrd is licensed under the copyfree ISC License.