dcrd/hdkeychain
Dave Collins 8354a310bc
main: Consume latest module minors and patches.
This updates the main module to use the latest available minor and patch
versions of all modules and reverts the recent change that incorrectly
removed all of the blake256 references from the various go.sum files.

The following required direct dependencies are bumped as follows:

- github.com/decred/dcrd/blockchain/stake@v1.2.1
- github.com/decred/dcrd/blockchain/stake/v2@v2.0.1
- github.com/decred/dcrd/certgen@v1.1.0
- github.com/decred/dcrd/chaincfg@v1.5.2
- github.com/decred/dcrd/chaincfg/chainhash@v1.0.2
- github.com/decred/dcrd/chaincfg/v2@v2.2.0
- github.com/decred/dcrd/dcrutil/v2@v2.0.0
- github.com/decred/dcrd/gcs@v1.1.0
- github.com/decred/dcrd/hdkeychain/v2@v2.0.1
- github.com/decred/dcrd/txscript/v2@v2.0.0
- github.com/decred/dcrwallet/rpc/jsonrpc/types@v1.2.0
2019-08-08 10:05:35 -05:00
..
bench_test.go hdkeychain: Use mock net params in tests. 2019-03-29 11:26:40 -05:00
doc.go hdkeychain: Require network on decode extended key. 2019-03-29 11:26:39 -05:00
example_test.go hdkeychain: Prepare v2.0.1. 2019-07-22 19:03:51 -05:00
extendedkey_test.go hdkeychain: Use mock net params in tests. 2019-03-29 11:26:40 -05:00
extendedkey.go hdkeychain: Add ChildNum and Depth methods. 2019-07-24 15:15:25 -05:00
go.mod hdkeychain: Prepare v2.0.1. 2019-07-22 19:03:51 -05:00
go.sum main: Consume latest module minors and patches. 2019-08-08 10:05:35 -05:00
README.md multi: Use https links where available. 2019-06-18 14:20:06 -05:00

hdkeychain

Build Status ISC License GoDoc

Package hdkeychain provides an API for Decred hierarchical deterministic extended keys (based on BIP0032).

A comprehensive suite of tests is provided to ensure proper functionality. See test_coverage.txt for the gocov coverage report. Alternatively, if you are running a POSIX OS, you can run the cov_report.sh script for a real-time report.

Feature Overview

  • Full BIP0032 implementation
  • Single type for private and public extended keys
  • Convenient cryptograpically secure seed generation
  • Simple creation of master nodes
  • Support for multi-layer derivation
  • Easy serialization and deserialization for both private and public extended keys
  • Support for custom networks by accepting a network parameters interface
  • Obtaining the underlying EC pubkeys and EC privkeys ties in seamlessly with existing secp256k1 types which provide powerful tools for working with them to do things like sign transactions and generate payment scripts
  • Uses the highly-optimized secp256k1 package
  • Code examples including:
    • Generating a cryptographically secure random seed and deriving a master node from it
    • Default HD wallet layout as described by BIP0032
    • Audits use case as described by BIP0032
  • Comprehensive test coverage including the BIP0032 test vectors
  • Benchmarks

Installation and Updating

$ go get -u github.com/decred/dcrd/hdkeychain

Examples

License

Package hdkeychain is licensed under the copyfree ISC License.