Commit Graph

8796 Commits

Author SHA1 Message Date
Jude Nelson
c1cc10dfc3 add some more unit tests for generating consenus hashes 2019-02-02 23:54:25 -05:00
Jude Nelson
e21b000e13 update error types 2019-02-02 23:54:11 -05:00
Jude Nelson
d6c4f594e5 indexer trait requires get_first_block_height() 2019-02-02 23:53:56 -05:00
Jude Nelson
bbf3ca131a allow writing to any location in the header file 2019-02-02 23:53:41 -05:00
Jude Nelson
19d5bd60cc rust-ify 2019-02-02 23:53:27 -05:00
Jude Nelson
bc4322bf2c add send_getdata() 2019-02-02 23:53:16 -05:00
Jude Nelson
df3c4b9e5b remove unused errors 2019-02-02 23:53:03 -05:00
Jude Nelson
49f7a11397 add a way to write a config file; make it so we don't always have to re-establish communications on peer_communicate(); fix up reorg detection logic 2019-02-02 23:52:28 -05:00
Jude Nelson
2e0826c7e0 use getdata, not getblocks 2019-02-02 23:52:03 -05:00
Jude Nelson
700e0043ea no more log::init 2019-02-02 23:51:52 -05:00
Jude Nelson
b4daa49bea no more log::init 2019-02-02 23:51:11 -05:00
Jude Nelson
1c40f204d8 use associated types instead of type parameters to encode the type of a burnchain indexer 2019-01-30 14:12:06 -05:00
Jude Nelson
3de125e8b8 remove log package; use our own log macros 2019-01-30 11:07:59 -05:00
Jude Nelson
7752d27d64 this module is defunct and will not be used 2019-01-29 18:47:17 -05:00
Jude Nelson
f47f9ab95a first stab at a "main loop" for indexing a burn chain 2019-01-29 18:47:04 -05:00
Jude Nelson
12f9b43480 thread join failure doesn't take an error cause 2019-01-29 18:46:50 -05:00
Jude Nelson
edbfdba306 have consensus hash commit to total burn so far 2019-01-29 18:46:37 -05:00
Jude Nelson
1313ae5217 more error types 2019-01-29 18:46:21 -05:00
Jude Nelson
566d855aad more error types 2019-01-29 18:46:10 -05:00
Jude Nelson
3a35edfeda more error types 2019-01-29 18:45:59 -05:00
Jude Nelson
d571c907d4 revamp interface between operations and the DB -- pass a connection instead of a DB instance 2019-01-29 18:45:41 -05:00
Jude Nelson
9f014622f2 somehow this got removed. re-add it. 2019-01-29 18:45:17 -05:00
Jude Nelson
4ddb987a9e traits for indexing, revisited 2019-01-29 18:44:59 -05:00
Jude Nelson
111ec0dfa2 revamp our story for dealing with multiple types of burn chains -- unfortunately, since rust lacks higher-kinded types, we have to have a lot of type parameters to encode all the specifics of blockchain indexing 2019-01-29 18:44:22 -05:00
Jude Nelson
f88e11d9aa revamp IPC story for block parsing and downloading -- instead of using a "pipeline", we'll directly implement a block parser and block downloader trait 2019-01-29 18:43:50 -05:00
Jude Nelson
c774f1aacc disable code for now 2019-01-27 18:25:28 -05:00
Jude Nelson
1fe0c0ad77 WIP: beginnings of a "main loop" that builds up the blockchain 2019-01-27 18:25:14 -05:00
Jude Nelson
d1aab4379a stub for stacks blockchain state 2019-01-27 18:25:06 -05:00
Jude Nelson
34cbb358e0 this module now points to both the burn chain state and the stacks chain state 2019-01-27 18:24:51 -05:00
Jude Nelson
7e18832c3b this directory has moved to src/chainstate/burn/operations 2019-01-27 18:24:31 -05:00
Jude Nelson
88ba930a7f clean up trait definitions for blockstack burn operations so they all take address and public key type parameters, and the compiler can assign them impls 2019-01-27 18:23:59 -05:00
Jude Nelson
1a57c08a2e this file now contains all our burn database types 2019-01-27 18:23:38 -05:00
Jude Nelson
c388cb4f19 flesh out more impls for data we stuff into the db; move to a burn db-specific folder 2019-01-27 18:22:58 -05:00
Jude Nelson
53637cc162 move burndb.rs to a burn-specific db dir; add code for snapshotting blocks and calculating consensus hashes; add code for processing parsed blocks, classifying their transactions, checking them, and committing them. 2019-01-27 18:21:59 -05:00
Jude Nelson
b58d6420c9 do some reorganization; adjust imports accordingly. also, add an error type for this module 2019-01-27 18:21:26 -05:00
Jude Nelson
9116f6711e clean up imports; more error types 2019-01-27 18:21:00 -05:00
Jude Nelson
78ea465b09 extend indexer trait to deal with reorgs and to fetch headers and blocks 2019-01-27 18:20:42 -05:00
Jude Nelson
2987a23889 API sync with new message handler trait 2019-01-27 18:20:29 -05:00
Jude Nelson
fe995996ad rework refs to messages in the network communication so that message handlers *consume* messages, and make it so we use Arc<...> for messages (so we can pass them between threads without having to copy them) 2019-01-27 18:19:50 -05:00
Jude Nelson
ceee097ab1 clean up imports 2019-01-27 18:19:41 -05:00
Jude Nelson
14b79a65ca clean up imports 2019-01-27 18:19:33 -05:00
Jude Nelson
1a462cab7a WIP: fleshed out indexer implementation to check for burn chain reorgs, fetch headers, fetch blocks, parse blocks, and (soon) feed them to the burn db 2019-01-27 18:18:59 -05:00
Jude Nelson
b61781f258 clean up imports; add pipeline processor trait impls to the block downloader and block parser so we can chain them together 2019-01-27 18:18:31 -05:00
Jude Nelson
90a2af22e1 clean up imports; add constructor for a burn header hash that takes a bitcoin header hash 2019-01-27 18:18:01 -05:00
Jude Nelson
5097644efd add to_string() and from_string() trait impls 2019-01-27 18:17:46 -05:00
Jude Nelson
4bc6a96f39 LeaderBlockCommitOp must indicate an epoch number so the parser will know whether or not it arrived on time (per SIP 001); also, make it so this op has a type parameter for both the address and public key so the rust compiler can assign impls when classifying transactions 2019-01-27 18:16:59 -05:00
Jude Nelson
1733658ccc clean up imports; add both an address and public key type parameter so the rust compiler can figure out how to match impls when classifying and checking transactions in the burndb code 2019-01-27 18:16:14 -05:00
Jude Nelson
da507017a9 clean up imports; force UserBurnSupportOp to be parameterized by both an address and public key type in order to make it possible for the rust compiler to correctly assign impls when processing transactions 2019-01-27 18:15:33 -05:00
Jude Nelson
c9fe11d61b add util error types in preparation for pipeline implementations 2019-01-27 18:15:09 -05:00
Jude Nelson
a391f13488 clean up imports 2019-01-27 18:14:58 -05:00