Commit Graph

25 Commits

Author SHA1 Message Date
Tadge Dryja 5c2bbff3eb fix more sync problems. Seems to work OK
One edge case is with long chains of unconfirmed txs.
All self-signed txs are stored, but not used to negate false incoming utxos yet.
2016-01-28 22:31:05 -08:00
Tadge Dryja 6ef9dc3d4a not saying it works, but it works better
redo how db and header sync works, somewhat simpler but a little
recursve-ish.  There is still an off by 1 error somewhere with headers.
2016-01-28 19:35:49 -08:00
Tadge Dryja d9afd623eb new stxo struct and more db methods
I'm getting away from having both in-ram and on-disk stores for the transaction store data.
it should all be on disk, it's safer that way.  It might be slower but this will not
process many txs / second anyway.
2016-01-27 01:24:16 -08:00
Tadge Dryja 851d3533e5 deals with incoming blocks and txs
gets stuck on reorgs though, until program is restarted
2016-01-22 17:15:56 -08:00
Tadge Dryja 5a7c04bdb5 incoming invs and tx signing
when we get inv messages, txs are easy but blocks are a little tricky
block heigh synchronization is done via os' file system
signing is a bit inelegant (searches through inputs for pkscript matches)
but fast enough in practice
2016-01-22 16:04:27 -08:00
Tadge Dryja 01c35e62ab check for already known txs (due to reorg?) 2016-01-22 01:41:08 -08:00
Tadge Dryja fbc424492d update filters as txs come in; missed some before 2016-01-21 21:50:42 -08:00
Tadge Dryja fc100921e8 add pushtx, and outpoint comparitor 2016-01-21 17:59:50 -08:00
Tadge Dryja 9215c18113 keep track of addresses, check incoming txs for full pkscript match 2016-01-21 01:04:45 -08:00
Tadge Dryja b7a2c46ea6 remove storage of pkscript; don't need it. 2016-01-20 22:57:05 -08:00
Tadge Dryja 278971936f pass network parameters as function arg 2016-01-20 21:27:58 -08:00
Tadge Dryja 73bbb29026 add keyfileio to manage private key storage on disk 2016-01-20 21:08:05 -08:00
Tadge Dryja 1f40c7214e good enough storage of spent txs 2016-01-20 01:23:47 -08:00
Tadge Dryja 29d0c0cc6f fix bolt slices. db read / write works.
also switch heights from uint32 to int32, which I guess is what they use.
Makes this thing last 2 billion blocks shorter.  If we get past uint32 time.
2016-01-19 23:40:04 -08:00
Tadge Dryja 0b5daa9b2b add utxodb for on disk storage of transactions. 2016-01-19 20:02:18 -08:00
Tadge Dryja 58c8d32ac5 add a height channel to keep track of incoming merkleblocks 2016-01-19 14:23:18 -08:00
Tadge Dryja ece5dc9d2d add txtostring 2016-01-19 11:59:01 -08:00
Tadge Dryja 709b8a05cd oh right, another fun thing I forgot about
When there's only the coinbase tx, the merkle root = the coinbase txid.
Needless complication in bitcoin == job security?
2016-01-19 10:59:13 -08:00
Tadge Dryja 7dbf4a4a4f update uspv, add function for height from header
still a bunch of problems getting utxo sets
2016-01-19 01:33:58 -08:00
Tadge Dryja 229e34b326 make SPVCon version agnostic 2016-01-18 23:43:41 -08:00
Olaoluwa Osuntokun 872db633df uspv: file compile error 2016-01-17 21:51:58 -08:00
Tadge Dryja 29a8e81029 spv sync works but more to add 2016-01-15 02:40:56 -08:00
Tadge Dryja e6970e132e spv header sync works OK 2016-01-14 23:58:05 -08:00
Tadge Dryja 6cebc7c952 remove odl filter file; in txstore now 2016-01-14 23:58:05 -08:00
Tadge Dryja 65c7d1c40c move elkrem, uspv libs to plasma repo 2016-01-14 23:58:05 -08:00