:moneybag: High-performance Bitcoin HD Wallet in Javascript. https://github.com/trezor/hd-wallet
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Szymon Lesisz d304fa3b2c 8.2.4 1 month ago
example Flow fixes etc 9 months ago
fastxpub Fix emscripten build 1 year ago
gh-pages Remove generated file from example 1 year ago
src Fix Flow error 2 months ago
test Improve tests and coverage 6 months ago
type Add invalid transaction flag when it fails to parse transaction 6 months ago
.babelrc Much faster coverage, new babel 9 months ago
.eslintignore Added eslintignore to the right place 9 months ago
.eslintrc Fixed more eslint erros 2 9 months ago
.gitignore Added jest 9 months ago
.gitmodules Correcting trezor-crypto branch 2 years ago
.npmignore Another attempted npmignore fix 1 year ago
.travis.yml Remove godforsaken Bitcore docker 9 months ago
COPYING update license (to LGPL-3.0+) 2 years ago
Makefile Improve tests and coverage 6 months ago
README.md Add bitcore docker to travis+readme 9 months ago
jest.config.js Added test form cash address 9 months ago
karma.conf.js Remove godforsaken Bitcore docker 9 months ago
package.json 8.2.4 1 month ago
yarn.lock update socket.io-client package 1 month ago


High-performance Bitcoin HD Wallet

Build Status gitter

For now, mostly a PoC. Uses bitcore-node for transaction lookup and trezor-crypto for address derivation, compiled through emscripten and run in a web worker. Supports persisting discovered state and doing partial update later on. Should out-perform all wallets available today that do client-side chain discovery.

Example usage

Example is in example/index.js; it is compiled in makefile to gh-pages directory by make example.

Built version is in gh-pages branch.

You can also try it yourself here - http://trezor.github.io/hd-wallet/example.html (note that xpubs are preloaded there, but some simple GUI for inputing the XPUBs could be probably done).

Running regtest tests

Running the tests require an installed regtest-bitcore and an empty regtest blockchain, but there is a docker that runs the bitcore in background.

Before running coverage, do

  • make bitcore-test-docker

And you can normally run coverage tests.


LGPLv3, © 2016 Karel Bilek, Jan Pochyla

Coinselect MIT, © 2015 Daniel Cousens