Commit Graph

253 Commits

Author SHA1 Message Date
Ryan X. Charles
ffdfe0ce83 add fromString test for bip32
...since it was lacking any tests
2014-09-19 21:02:57 -07:00
Ryan X. Charles
d57613bc91 body is actually defined in the function 2014-09-19 17:41:22 -07:00
Ryan X. Charles
cc3196085f add .hash() function for a block
This is the plain old hash, which is a double sha256. The id of a block is the
reverse of this.
2014-09-19 17:29:40 -07:00
Ryan X. Charles
aff3992ffb transaction hash and id
...the hash is the usual hash, and the id is the reverse of that, which is what
is usually graphically displayed by bitcoind.
2014-09-19 17:25:35 -07:00
Ryan X. Charles
40d17c5180 block id
The block id is the reverse of the double sha256 hash of the blockheader.
2014-09-19 17:08:44 -07:00
Ryan X. Charles
f191e93711 make block reading more efficient
...by using streams. This way we don't load all the blocks before parsing them.
We parse them as we go.
2014-09-19 16:40:29 -07:00
Ryan X. Charles
cfd509f859 make receivePubkey compatible with dark wallet
I had been using this formula for the receiveKeypair:

scanKeypair + payloadKeypair + sharedKeypair

However, Dark Wallet uses this formula:

payloadKeypair + sharedKeypair

It is not actually necessary to add the scanKeypair in order to have all the
features of stealth addresses, at least as far as I can tell. So in order to
bring my implementation closer to Dark Wallet's, I have removed the scanKeypair
from this calculation.
2014-09-19 14:32:32 -07:00
Ryan X. Charles
7647663a5e typo 2014-09-19 14:02:44 -07:00
Ryan X. Charles
199ed7c4ba update dependencies 2014-09-18 18:46:31 -07:00
Ryan X. Charles
04887db261 update blockreader example to use toJSON 2014-09-18 17:52:43 -07:00
Ryan X. Charles
e11019a083 toJSON, fromJSON
Every object should have toJSON and fromJSON methods so you can have a reliable
way to store and retrieve objects.
2014-09-18 17:52:02 -07:00
Ryan X. Charles
2ecf1cdcdf Block parsing example
bitcoind saves blocks in files called blk*****.dat. Those files can be piped
into this example, which will parse them and spit out a nice looking string of
all the blocks, which also includes parsed transactions.
2014-09-18 15:20:23 -07:00
Ryan X. Charles
f17d604e44 Address().fromHashbuf() convenience method
...useful for when you have the pubkeyhash, but not the version byte.
2014-09-18 15:18:53 -07:00
Ryan X. Charles
60459b6c7a expose
Block, Blockheader, Transaction, Txin, Txout
2014-09-17 17:36:59 -07:00
Ryan X. Charles
d2bc960744 fix capitalization error on case-sensitive filesystems 2014-09-17 17:02:40 -07:00
Ryan X. Charles
6fe5d416a0 fix capitalization error on case-sensitive filesystems 2014-09-17 17:00:32 -07:00
Ryan X. Charles
1fa5482518 add travis file
...for travis automated testing
2014-09-17 16:56:36 -07:00
Ryan X. Charles
cf5b2f1250 varint -> vi canonical spelling 2014-09-17 16:48:23 -07:00
Ryan X. Charles
4a21a9551c fromX is actually static
...should add an instance method in the future
2014-09-17 16:32:38 -07:00
Ryan X. Charles
2caf7c6471 bn -> BN canonical capitalization 2014-09-17 16:08:42 -07:00
Ryan X. Charles
f727c5ad25 fix varint test broken in browser 2014-09-17 16:03:57 -07:00
Ryan X. Charles
0212e4bd4c replace .buffer with .read 2014-09-17 15:49:45 -07:00
Ryan X. Charles
8e049b7244 smarter 2014-09-17 15:44:59 -07:00
Ryan X. Charles
6cee393c5d put brains in read 2014-09-17 15:43:15 -07:00
Ryan X. Charles
6e1dfd3003 allow bufferreader.read to specify length
...to be more symmetric with the write function of bufferwriter
2014-09-17 15:41:30 -07:00
Ryan X. Charles
7918f53f12 bnjs -> BN ... for consistency 2014-09-17 15:32:58 -07:00
Ryan X. Charles
aee8547093 add fromString method for library consistency 2014-09-17 15:32:14 -07:00
Ryan X. Charles
6494ca5076 convenience: varint -> vi 2014-09-17 15:27:12 -07:00
Ryan X. Charles
0eeba8eadb canonical BN notation 2014-09-17 15:22:52 -07:00
Ryan X. Charles
5f21059bf8 more convenient names 2014-09-17 15:20:01 -07:00
Ryan X. Charles
eb34a16511 more convenient name 2014-09-17 15:17:54 -07:00
Ryan X. Charles
9473bdf9b0 more convenient name 2014-09-17 15:15:56 -07:00
Ryan X. Charles
bd16eddf54 Key -> Keypair 2014-09-17 15:13:57 -07:00
Ryan X. Charles
7390b15f89 add set function to bip32 2014-09-17 15:11:16 -07:00
Ryan X. Charles
0641184e84 support string input in constructor 2014-09-17 15:02:11 -07:00
Ryan X. Charles
c41419b6ef use buffer functions
...instead of adhoc uint functions
2014-09-17 14:49:17 -07:00
Ryan X. Charles
5da964739d remove unused base58 dependency 2014-09-17 14:44:16 -07:00
Ryan X. Charles
9e188574f7 base58check in extendedPrivateKeyString 2014-09-17 14:43:14 -07:00
Ryan X. Charles
70d9f0db93 use base58check in extendedPublicKeyString 2014-09-17 14:41:51 -07:00
Ryan X. Charles
70659ad9d4 use base58check in fromString 2014-09-17 14:40:29 -07:00
Ryan X. Charles
334c443d8b "gc" was some find-replace error from earlier 2014-09-17 14:37:53 -07:00
Ryan X. Charles
af6932a313 console.log?
this must have been a remnant of some earlier debugging, either in bitcore2 or
in bitcore.
2014-09-17 14:35:20 -07:00
Ryan X. Charles
78ef76eb2f more convenient constructor
...allow inputing strings or buffers in the constructor.
2014-09-17 14:29:53 -07:00
Ryan X. Charles
40ea68a3ff more convenient Base58 constructor 2014-09-17 14:26:19 -07:00
Ryan X. Charles
ac85264a28 Address().fromBuffer(buf); 2014-09-17 14:22:18 -07:00
Ryan X. Charles
8a52e6c316 Block 2014-09-16 18:42:11 -07:00
Ryan X. Charles
0d180810de Blockheader 2014-09-16 17:28:00 -07:00
Ryan X. Charles
7ea66e032f add real-world tx to transaction test 2014-09-16 14:39:51 -07:00
Ryan X. Charles
5b25679e15 Transaction 2014-09-16 14:35:26 -07:00
Ryan X. Charles
03291f9f89 add ECDSA example 2014-09-16 11:54:38 -07:00