Eric Martindale
75cf4c4f9a
tidy up identity class, add tests.
2014-10-02 22:27:18 -04:00
Eric Martindale
5fc9721647
Add support for identities.
2014-10-02 15:08:44 -04:00
Eric Martindale
f01ebd97d2
Buffers, identities, and randomNumbers.
2014-10-01 21:08:06 -04:00
Eric Martindale
43d21e9f02
Remove old tests.
2014-10-01 19:22:41 -04:00
Eric Martindale
e8d4786e48
CLASSICAL INHERITANCE IS FOR THE DOGS.
2014-10-01 19:20:03 -04:00
Eric Martindale
541196cb5a
Re-implement addresses.
2014-10-01 16:28:57 -04:00
Eric Martindale
5f60d26a2b
Migrate from Address() to Identity().
2014-10-01 16:26:09 -04:00
Eric Martindale
be95a3f3a7
Merge bitcore2 into bitcore, prepare branch.
2014-10-01 16:16:05 -04:00
Eric Martindale
fb1a193893
Merge branch 'master' of ../fullnode into v0.8
...
Conflicts:
.gitignore
.travis.yml
README.md
2014-10-01 16:12:01 -04:00
Eric Martindale
9e95e7bf34
Remove ephemeral content.
2014-10-01 16:05:32 -04:00
Manuel Aráoz
d98320a003
Merge pull request #509 from sagivo/patch-2
...
syntax fix - typeof is not a function, it's an operator
2014-10-01 13:18:09 -03:00
Manuel Aráoz
a4ea349238
Merge pull request #520 from matiu/test/dust
...
add test for uxtos containing dust
2014-10-01 13:17:32 -03:00
Manuel Aráoz
85b55dee3f
Merge pull request #501 from sagivo/patch-3
...
no need for ts argument
2014-10-01 11:52:37 -03:00
Matias Alejo Garcia
f7e3c037e7
add test for uxtos containing dust
2014-10-01 11:47:49 -03:00
Matias Alejo Garcia
ce9faf3e61
Merge pull request #517 from maraoz/fix/parseValue
...
Fix parseValue
2014-09-30 13:24:23 -03:00
Manuel Araoz
aae2e9a654
fix parseValue
2014-09-29 17:24:56 -03:00
Ryan X. Charles
b38a6671f7
clarify README
2014-09-28 18:39:19 -07:00
Ryan X. Charles
11919a5fee
clarify README
2014-09-28 18:38:31 -07:00
Ryan X. Charles
8b0b30e226
Initial commit of Full Node
...
all current code is forked from bitcore2
2014-09-28 18:33:54 -07:00
Manuel Aráoz
0977a2c23b
Merge pull request #490 from viacoin/op_return
...
Implement check for OP_RETURN
2014-09-25 08:38:43 -03:00
Ryan X. Charles
f54edfb618
Varint(BN()) convenience
...
...and add some tests for the various constructor conveniences
2014-09-23 22:19:01 -07:00
Ryan X. Charles
8e85eba08b
pushin, pushout
...
Add convenience methods for adding new inputs and outputs.
2014-09-23 22:09:41 -07:00
Ryan X. Charles
c07d509623
initialize transaction
...
In order to add convenience methods to a transaction, such as pushing new
inputs and outputs, we need to first have the notion of an initialized
transaction, which is actually not blank. An initialized transaction just has
default values for everything, such as no inputs and no outputs, and default
version and nlocktime.
2014-09-23 22:01:30 -07:00
Ryan X. Charles
729049a7da
Add error for when pushdata is exceptionally large
2014-09-23 21:37:18 -07:00
Ryan X. Charles
b37e39abca
Script().writeXX convenience methods
...
Script().writeOp('OP_CHECKMULTISIG'), or...
Script().writeOp(174), or...
Script().writeBuffer([push data buffer]), or...
Script().write([op string, number, or push data buffer])
These convenience methods let you easily write a script.
2014-09-23 21:28:03 -07:00
Ryan X. Charles
54818c0bd8
expose stealthtx
2014-09-23 21:08:00 -07:00
Ryan X. Charles
d689dbb77e
speed up random test slightly
...
...by caching hexes. Also, correct the "1000" typo - it's actually 100.
2014-09-23 20:28:16 -07:00
Ryan X. Charles
4f71535869
StealthTx
...
For spotting transactions to which you have the stealth key (or at least the
scan key) and creating transactions to a stealth address. So far it is only
partially working - you can see if a transaction is a stealth transaction (or
at least one of a limited kind of stealth transactions), and you can see that
you do not have the stealth key to spend one of these transactions. However, I
have not yet tested whether you can see a stealth transaction that you actually
have the key to. Also, it is not yet easy to spend to a stealth address.
2014-09-23 16:54:52 -07:00
Ryan X. Charles
4fabad21a1
get rid of obsolete 'bitcore' stealth addr format
2014-09-23 14:27:48 -07:00
Ryan X. Charles
fd499089bb
update readme to reflect toJSON/fromJSON
...
...rather than toObject/fromObject, which I had considered doing before, but
decided toJSON/fromJSON was more explicit.
2014-09-23 14:27:48 -07:00
Ryan X. Charles
22b87325d7
make Dark Wallet buffer/string formats the default
...
and rename the old functions to "bitcore buffer" and "bitcore string"
2014-09-23 14:27:48 -07:00
Ryan X. Charles
a3062b622c
Merge pull request #1 from petertodd/master
...
Minor: spelling
2014-09-22 18:26:43 -07:00
Ryan X. Charles
96df77429f
add support for Dark Wallet-style addresses
...
These functions are prefixed DW which stands for Dark Wallet. The code for the
Dark Wallet address format can be found here:
https://github.com/darkwallet/darkwallet/blob/develop/js/util/stealth.js
Note that I deliberately support only the simplest possible format, which is
where there is only one payload pubkey and the prefix is blank. I should now go
back and replace my old toString, fromString, toBuffer, fromBuffer functions
with these Dark Wallet versions, since they are much more well-thought out than
mine.
2014-09-22 18:23:10 -07:00
Ryan X. Charles
9b8ce05b15
BufferWriter().toBuffer convenience method
...
It does the same thing as .concat(), but may be easier to remember, since the
rest of the library uses the ".toBuffer()" convention
2014-09-22 17:09:53 -07:00
Ryan X. Charles
792e8080c8
classify pubkeyhash and scripthash scripts
...
...both the "in" (ScriptSig) and "out" (ScriptPubkey)
2014-09-22 16:04:06 -07:00
Ryan X. Charles
6f92775b2c
extra curly braces for code readability
2014-09-22 14:56:07 -07:00
Ryan X. Charles
5c7149aeab
Stealthkey toJSON/fromJSON
2014-09-22 14:45:41 -07:00
Ryan X. Charles
d6e3266179
toJSON/fromJSON for privkey, pubkey, keypair
2014-09-22 13:55:40 -07:00
Ryan X. Charles
f3614e4a90
Key -> Keypair
...
...that is what is called everywhere else.
2014-09-22 13:14:39 -07:00
Ryan X. Charles
e984736736
allow bufs in constructors
...
For Transaction, Block and Blockheader. This is a convenience so if you happen
to have the buffer for one of these, you can make a new one like this:
Transaction(txbuf);
Rather than having to do this:
Transaction().fromBuffer(txbuf);
2014-09-22 13:07:39 -07:00
Ryan X. Charles
1516ad3012
remove unused addressString variable
2014-09-22 12:52:09 -07:00
Ryan X. Charles
e6a424303e
remove unused base58check dependency
2014-09-22 12:51:18 -07:00
Ryan X. Charles
1bda566679
stealth address to/from JSON
2014-09-22 12:48:13 -07:00
Ryan X. Charles
27fbdb42ad
isOpReturn
...
standard OP_RETURN scripts contain either just an OP_RETURN or an OP_RETURN
followed by a single pushdata OP with not more than 40 bytes.
2014-09-19 21:59:19 -07:00
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