...no longer relies on Manuel's repo hostig a version of "bignum" that actually
contained bignumber.js. This moves bignumber.js internally and removes bignum
from the browser build process. Also adds a bitcore.Bignum that links to the
right thing. In node, browser.Bignum is require('bignum'). And in the browser,
bitcore.Bignum is is now Bignumber.js (same as before ... except bignumber.js
is now inside bitcore).
Generating random numbers properly depends on the platform. The new
getRandomBuffer method does the right thing on the right platform. It will
sometimes fail due to insufficient entropy. The getPseudoRandomBuffer class is
also provided that will never fail, but it is not cryptographically secure and
should not be used for keys.
The Point class will ultimately be an all purpose tool for dealing with points
on the secp256k1 tool. For now, it just needs to have the ability to add two
points together, and work both in node and the browser, so that it can be used
for BIP32.
Added the ability to create a new master bip32 with new private key and chain code. The way this works is like this:
var bip32 = new BIP32('mainnet');
or:
var bip32 = new BIP32('testnet');
This BIP 32, or HD wallet implementation is directly copied from this repo:
https://github.com/sarchar/brainwallet.github.com/tree/bip32
It does not actually work with this commit, since it is designed to work with
bitcoin-js in the browser. It needs to be modified to work with bitcore in node
and the browser.