lbcwallet/waddrmgr
Dave Collins 732ffe4ed1 Address a couple of nits with recent En(De)crypt.
This commit adds comments about the specific crypto key types, moves the
selectCryptoKey function before the Encrypt/Decrypt functions that call it
to be more consistent with the rest of the code base, and slightly
modifies the verbiage of the comment.
2014-10-31 10:09:44 -05:00
..
address.go Allow injection of crypto keys into the manager. 2014-10-13 16:19:11 -05:00
common_test.go Make scrypt parameters overridable/optional 2014-10-28 23:46:28 -05:00
cov_report.sh Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00
db.go Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00
doc.go Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00
error.go Expose functions needed from the voting pool package 2014-10-31 11:28:26 +01:00
error_test.go Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00
internal_test.go Make scrypt parameters overridable/optional 2014-10-28 23:46:28 -05:00
manager.go Address a couple of nits with recent En(De)crypt. 2014-10-31 10:09:44 -05:00
manager_test.go Make scrypt parameters overridable/optional 2014-10-28 23:46:28 -05:00
README.md Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00
sync.go Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00
test_coverage.txt Provide new wallet address manager package. 2014-10-13 16:19:09 -05:00

waddrmgr

[Build Status] (https://travis-ci.org/conformal/btcwallet)

Package waddrmgr provides a secure hierarchical deterministic wallet address manager.

A 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. Package waddrmgr is licensed under the liberal ISC license.

Feature Overview

  • BIP0032 hierarchical deterministic keys
  • BIP0043/BIP0044 multi-account hierarchy
  • Strong focus on security:
    • Fully encrypted database including public information such as addresses as well as private information such as private keys and scripts needed to redeem pay-to-script-hash transactions
    • Hardened against memory scraping through the use of actively clearing private material from memory when locked
    • Different crypto keys used for public, private, and script data
    • Ability for different passphrases for public and private data
    • Scrypt-based key derivation
    • NaCl-based secretbox cryptography (XSalsa20 and Poly1305)
  • Scalable design:
    • Multi-tier key design to allow instant password changes regardless of the number of addresses stored
    • Import WIF keys
    • Import pay-to-script-hash scripts for things such as multi-signature transactions
    • Ability to export a watching-only version which does not contain any private key material
    • Programmatically detectable errors, including encapsulation of errors from packages it relies on
    • Address synchronization capabilities
  • Comprehensive test coverage

Documentation

[GoDoc] (http://godoc.org/github.com/conformal/btcwallet/waddrmgr)

Full go doc style documentation for the project can be viewed online without installing this package by using the GoDoc site here: http://godoc.org/github.com/conformal/btcwallet/waddrmgr

You can also view the documentation locally once the package is installed with the godoc tool by running godoc -http=":6060" and pointing your browser to http://localhost:6060/pkg/github.com/conformal/btcwallet/waddrmgr

Installation

$ go get github.com/conformal/btcwallet/waddrmgr

Package waddrmgr is licensed under the copyfree ISC License.