Commit Graph

296 Commits

Author SHA1 Message Date
Ethan Buchman 261647a012 Enter* -> enter*. Comments/fixes from Jae 2015-12-13 20:48:09 -05:00
Ethan Buchman 4483971776 conR uses events to trigger newstep & hasvote broadcasts 2015-12-13 19:30:15 -05:00
Ethan Buchman 9dea9539b4 fix consensus tests 2015-12-13 16:41:13 -05:00
Ethan Buchman 07a96a703e move updateToState back 2015-12-12 17:22:48 -05:00
Ethan Buchman e30d1bbd04 updateRoundStep consistency 2015-12-12 16:25:49 -05:00
Ethan Buchman 736bc1f02f public interface; max steps; move updateToState 2015-12-12 01:28:33 -05:00
Ethan Buchman c3f880e758 fire timeout events in handleTimeout; internalMsgQueue 2015-12-11 11:57:15 -05:00
Ethan Buchman d9b55101e5 move routines to consensus state. drop locks and other go routines 2015-12-10 11:41:18 -05:00
Ethan Buchman 4b6e992a47 timeoutRoutine 2015-12-08 16:00:59 -05:00
Ethan Buchman 2c595284d8 msgQueue and msgProcessor 2015-12-05 23:47:41 -05:00
Jae Kwon ef43af19ab Tendermint <-> Application refactor 2015-12-01 20:12:01 -08:00
Ethan Buchman 209bcf905e proposer selection tests. closes #53 2015-11-10 13:41:49 -08:00
Jae Kwon d69b5c5ab6 Conform to go-wire 1.0 2015-11-10 13:10:43 -08:00
Jae Kwon e12f9d10e7 Bare consensus refactor 2015-11-01 11:34:08 -08:00
Jae Kwon c4ed55d801 Refactor to move common libraries out of project 2015-10-22 17:39:06 -07:00
Jae Kwon 0a28cabd57 remove temporary limit on num block transactions 2015-10-12 09:42:53 -07:00
Jae Kwon 13e25ef164 Merge remote-tracking branch 'origin/consensus_tests' into develop 2015-10-11 18:20:19 -07:00
Jae Kwon ceed000c58 Use ResetFor... callback instead of EventSwitch for mempool new blocks 2015-09-29 12:31:34 -04:00
Ethan Buchman 12566f51af better mempool queueing 2015-09-28 22:58:02 -04:00
Ethan Buchman a26e0b4d48 consensus tests 2015-09-23 10:56:17 -04:00
Ethan Buchman 632e77c1cf rs.CommitRound 2015-09-15 16:13:39 -04:00
Ethan Buchman aab024f18d consensus events 2015-09-15 14:41:23 -04:00
Ethan Buchman 2b8157ce2a addVote takes index 2015-09-15 14:26:42 -04:00
Ethan Buchman a61a8176f1 fixes https://github.com/tendermint/halt/blob/master/case1/analysis.txt 2015-09-15 14:26:21 -04:00
Ethan Buchman 555ecb095d precommit nil if locked and no POL 2015-09-15 14:25:50 -04:00
Jae Kwon 5bf0040f14 Parts -> PartsHeader; *_parts -> *_parts_header in sign_bytes 2015-08-12 22:36:43 -07:00
Jae Kwon b96fd8a031 Beginning of complete merkle proofs 2015-08-11 14:12:30 -07:00
Jae Kwon 1b9fd811a1 RPCResponse.Result && EventData are registered interfaces; -skip_upnp option 2015-08-11 11:01:18 -07:00
Jae Kwon e86073ec96 Use rpc/client/ws_client; OnStart() returns error 2015-08-11 11:01:17 -07:00
Jae Kwon 3be3647dc8 tendermint/binary -> tendermint/wire 2015-07-28 12:18:17 -07:00
Jae Kwon e7c1febb65 Simplify Service/Reactor pattern 2015-07-22 06:21:21 -07:00
Ethan Buchman 8e50bf15de panic wrapper functions 2015-07-21 10:46:05 -04:00
Jae Kwon c0a64d74be Service log prettify 2015-07-20 17:02:18 -07:00
Jae Kwon 571a134318 BaseService and BaseReactor refactor and unification 2015-07-20 14:52:24 -07:00
Ethan Buchman bb4ca1407f info->notice, debug->info 2015-07-19 22:44:40 +00:00
Jae Kwon 1e7cc32597 tendermint/account -> acm 2015-07-19 09:40:55 -07:00
Jae Kwon f2f437a328 Improved consensus logging -- INFO shows round steps 2015-07-09 22:01:54 -07:00
Jae Kwon c79062ef6a Fix state/State race condition bug. 2015-07-09 21:46:15 -07:00
Jae Kwon f325675b83 Do not wipe cs.Votes upon SwitchToConsensus 2015-07-05 22:00:32 -07:00
Jae Kwon 1a1b9aaaab fix HeightVoteSet SetRound(0) bug which wipes out Prevotes; More logging for consensus/state addVote() 2015-07-05 21:01:59 -07:00
Jae Kwon 3cd459b60c Do not panic upon RoundStepType.String() for invalid type 2015-07-05 15:42:37 -07:00
Jae Kwon fc0a4bae4e Do not reset Proposal* when EnterNewRound(0) 2015-07-05 15:35:26 -07:00
Jae Kwon a14f2d197e consensus spec wording 2015-06-30 03:44:24 -07:00
Jae Kwon 26c192b047 Fix consensus:
* Use LastValidators when a Vote is received for the last height.
* Fix Validation.Height/Round to use FirstPrecommit.
2015-06-26 17:48:24 -07:00
Jae Kwon 9965dd5de6 uint* to int* whereever appropriate; https://www.reddit.com/r/golang/comments/2q5vdu/int_vs_uint/ 2015-06-25 20:28:34 -07:00
Jae Kwon 7a6b8944ab consensus/reactor cleanup 2015-06-25 14:05:18 -07:00
Jae Kwon 32811c3f86 comment cleanup 2015-06-25 12:52:16 -07:00
Jae Kwon 44216ab481 Unlocking from POL complete 2015-06-24 18:51:14 -07:00
Jae Kwon d05276ee87 wordings and clarifications, unnecessary code uncommenting 2015-06-24 17:05:52 -07:00
Jae Kwon 4d5fda7516 state machine cleanup 2015-06-24 14:43:04 -07:00
Jae Kwon 9e1794eaea Fixed tests 2015-06-24 14:04:40 -07:00
Jae Kwon 9b96e2e171 ProposalPOLRound... 2015-06-22 19:04:31 -07:00
Jae Kwon 7752405945 Draft of consensus/reactor refactor. 2015-06-21 18:09:51 -07:00
Jae Kwon 927823140b fast-forward when +2/3 precommits found for future round 2015-06-19 15:30:21 -07:00
Jae Kwon 15e80c6c28 fixes to state transition upon addVote 2015-06-19 15:30:21 -07:00
Jae Kwon 01b5540ffe consensus/state is 2-step asynchronous 2015-06-19 15:30:21 -07:00
Jae Kwon 5790ea9f43 consensus refactor: reconstruct LastCommits upon restart 2015-06-19 15:30:21 -07:00
Ethan Buchman 2045aee9cd pass chainID through sign interfaces 2015-05-29 18:14:19 -04:00
Ethan Buchman 8a2d9525f0 network > chain_id, put in genesis.json 2015-05-29 18:14:19 -04:00
Jae Kwon 75ef479547 Config is passed into each module. Remove tendermint/confer 2015-05-17 16:19:57 -07:00
Jae Kwon 85c8850ac2 Config names have no dots, are under_scored. 2015-05-12 17:40:29 -07:00
Jae Kwon 84c3fd9a85 more debug messages for consensus 2015-05-04 11:18:21 -07:00
Jae Kwon 9d1f1162e0 added more debug messages in consensus 2015-05-04 10:15:58 -07:00
Jae Kwon ef42d41636 allow commit votes for the last height when we're in
RoundStepNewHeight
2015-04-25 15:03:40 -07:00
Jae Kwon 014166deb4 Rebond and the right height 2015-04-25 14:05:25 -07:00
Jae Kwon 27c193dd86 Error message in RebondTx so we know why it's failing. 2015-04-25 13:50:29 -07:00
Jae Kwon 2ba6f86f2e Add Network to SignBytes, to prevent network clashes 2015-04-20 23:59:52 -07:00
Jae Kwon 733dfcf4ad Add dump_consensus_state rpc command. Made it a little more secure
by moving the PrivValidator out of RoundState.
2015-04-20 20:39:42 -07:00
Jae Kwon 3f5d2a1ed9 StartTime is equal to now when nodes start up. 2015-04-20 16:33:23 -07:00
Jae Kwon 0db6b0b005 Maybe fixed validatorSet.IncrementAccum() 2015-04-19 09:55:06 -07:00
Jae Kwon 5bdd73f4a4 New genesis.json 2015-04-18 23:08:02 -07:00
Ethan Buchman d27e0bbad5 event cache and fireable interace 2015-04-16 00:08:58 -07:00
Ethan Buchman a1c5e32d76 fixes from review with jae 2015-04-15 22:19:29 -07:00
Ethan Buchman 2e918e8c0b rpc: websocket events testing 2015-04-14 01:39:41 -07:00
Ethan Buchman 85661de293 fire events, event urls 2015-04-13 21:42:48 -07:00
Ethan Buchman 8e24b12888 rpc: first successful websocket event subscription 2015-04-08 19:07:17 -05:00
Jae Kwon f271ab7256 various changes. removed debora temporarily 2015-04-03 16:15:52 -07:00
Jae Kwon 13b6508ecd Package import path change 2015-04-01 17:30:16 -07:00
Ethan Buchman 60f166e823 tendermint2 2015-03-31 15:33:31 -07:00
Jae Kwon 79304b0dd3 Create BlockCache and TxCache for performance. 2015-03-28 23:44:07 -07:00
Jae Kwon fd0646fc4f Compare blockhashes in stageBlock() 2015-03-26 14:18:10 -07:00
Jae Kwon 788f9bfb93 started/stopped -> running; contiguous vs fast forward ConsensusState
updates.
2015-03-25 13:01:28 -07:00
Jae Kwon cebfae60c7 BlockchainReactor syncs first before ConsensusReactor. 2015-03-25 11:50:28 -07:00
Jae Kwon 08a83aa9fb Reactors can be stopped or started at any time. 2015-03-25 00:15:18 -07:00
Jae Kwon 0237d284cc Channel bytes are spelled fully, "XXXChannel" 2015-03-24 12:00:27 -07:00
Jae Kwon 87e1f76324 tendermint/block -> tendermint/types and tendermint/blockchain 2015-03-22 19:00:08 -07:00
Matthew Wampler-Doty 150959b182 Introducing make economy and docker 2015-03-18 23:27:27 -07:00
Matthew Wampler-Doty f03547007a App -> App() 2015-03-18 23:27:26 -07:00
Jae Kwon 687815f6ed Less log lines to STDOUT 2015-01-20 15:31:31 -08:00
Jae Kwon 6c48642ff9 don't cache the block/header hashes. fixes a cache invalidation bug 2015-01-19 14:08:53 -08:00
Jae Kwon 249ae38068 test bondTx 2015-01-17 01:56:55 -08:00
Jae Kwon d1a36d2ac2 Validation validation bug fix --> keep track of LastBondedValidators 2015-01-16 02:18:49 -08:00
Jae Kwon 0a6c28c2da block module -> import as blk 2015-01-15 22:43:15 -08:00
Jae Kwon 135894ea88 Dot import -> named import
Changed modulename_ to short module names
Also removed Unreader, replaced with PrefixdReader in select locations
2015-01-14 20:34:53 -08:00
Jae Kwon 7afb75049f API to list accounts 2015-01-11 14:27:46 -08:00
Jae Kwon fe566739fd rpc/account; fixed mempool tx filter bug; fixed iavl_tree persistence
bug
2015-01-10 05:41:50 -08:00
Jae Kwon 4a81b06b6e Send SeenValidation to peer & use for proposals when we don't have LastCommits due to reboot 2015-01-09 02:40:36 -08:00
Jae Kwon 05c642a84c Changed config to confer, TOML format. 2015-01-08 16:40:23 -08:00
Jae Kwon 325b88b083 time encoding in binary/reflect 2015-01-06 15:51:41 -08:00
Jae Kwon d20251849e Save blocks on catch-up too. 2014-12-31 16:53:48 -08:00
Jae Kwon 0dac36aa5d Do not panic when double-signing, return error. 2014-12-31 16:53:33 -08:00
Jae Kwon 0f399c42d4 Actually sends catch-up parts; BitArray is goroutine-safe 2014-12-30 21:29:49 -08:00
Jae Kwon 71c59cb36b improve debug output for action & step 2014-12-30 17:14:54 -08:00
Jae Kwon 07b5b7a8f2 various log fixes 2014-12-29 18:39:19 -08:00
Jae Kwon 0bfb389b35 change logger to log15 2014-12-29 18:09:06 -08:00
Jae Kwon 62ff48c02b Documented Block, some renames 2014-12-23 01:35:54 -08:00
Jae Kwon 61d1635085 Fixed tests 2014-12-21 21:47:38 -08:00
Jae Kwon 6cacf6f09b RebondTx and more efficient IncrementAccum() 2014-12-16 05:45:40 -08:00
Jae Kwon 83d313cbe5 Refactor Tx, Validator, and Account structure 2014-12-16 05:45:40 -08:00
Jae Kwon 4424a85fbd start writing rpc 2014-12-16 05:43:23 -08:00
Jae Kwon 8718bd52a4 made ValidatorSet.Hash deterministic; fix off-by-1 bugs 2014-11-05 03:12:07 -08:00
Jae Kwon c035a383b7 runActionCh <- on a separate goroutine to avoid deadlock. 2014-11-05 03:12:06 -08:00
Jae Kwon 4aad34bafb set CommitTime upon addVote and +2/3 commits. 2014-11-05 03:12:06 -08:00
Jae Kwon b97d23e538 debug messages... 2014-11-05 03:12:06 -08:00
Jae Kwon 5f794d14fb nil bugs 2014-11-05 03:12:06 -08:00
Jae Kwon 5d1bdc6b1a Don't send bitarrays, just send height/round/type/index. 2014-11-05 03:12:06 -08:00
Jae Kwon 08d1b50570 Store BlockParts && also Validation on its own. 2014-11-05 03:12:06 -08:00
Jae Kwon da8e25343c Added LastBlockParts to state, and also validates. 2014-11-05 03:12:05 -08:00
Jae Kwon e42771e36f fix tests 2014-11-05 03:11:39 -08:00
Jae Kwon f6093caac9 check *parts.rootHash before sending 2014-11-05 03:11:38 -08:00
Jae Kwon 6416185a6f Revert to one action for commit-or-next-round 2014-11-05 03:11:38 -08:00
Jae Kwon 3df3107479 Update peerState's vote bitarrays when needed. 2014-11-05 03:11:38 -08:00
Jae Kwon 647d26f7a0 consensus cleanup, privValidator config 2014-11-05 03:11:37 -08:00
Jae Kwon bccf0afe00 removed commitTime from VoteSet. 2014-11-05 03:11:37 -08:00
Jae Kwon 89418ee7af Added CommitTimeWait step, the state machine model changed a bit. 2014-11-05 03:11:36 -08:00
Jae Kwon 5ffe406f16 RunAction* directly on ConsensusState. 2014-10-21 01:18:46 -07:00
Jae Kwon f5d0794756 RoundAction // FinalizeCommit // LastCommits 2014-10-20 19:02:10 -07:00
Jae Kwon 9ea504030e pretty print ConsensusState 2014-10-18 01:42:33 -07:00
Jae Kwon ac147e2353 everything but binary, common, and blocks are explicitly imported. 2014-10-16 16:00:48 -07:00
omni c5d9a93cbe Pretty print Vote, VoteSet 2014-10-15 20:15:38 -07:00
Jae Kwon 18fc7aec73 ... 2014-10-14 13:11:54 -07:00
Jae Kwon 810aeb7bcb fix tests 2014-10-12 21:14:10 -07:00
Jae Kwon 7652c5d0de fix tests 2014-10-11 21:27:58 -07:00
Jae Kwon 18e2d4bf48 implementing ExecTx... 2014-10-07 23:11:04 -07:00
Jae Kwon 0c206aa748 Signable interface. 2014-10-07 19:37:20 -07:00
Jae Kwon 31c1a1bbf7 remove mutex from state. 2014-10-07 01:05:54 -07:00
Jae Kwon 08f86176fc state save/load test. 2014-10-07 00:43:34 -07:00
Jae Kwon 8e452aa0d2 fixed algorithm 2014-10-03 01:09:26 -07:00
Jae Kwon 8b606f9e66 s/Manager/Agent/g 2014-09-11 10:55:32 -07:00
Jae Kwon 6a8bb68888 vote ranks are tracked and used for efficiency. 2014-09-08 16:18:50 -07:00
Jae Kwon 7523f501fd commitTime is used to derive next startTime. :) 2014-09-08 15:32:08 -07:00
Jae Kwon 5dfa2ecebb share block parts when we're the proposer 2014-09-07 18:28:04 -07:00
Jae Kwon f030c69495 draft of consensus+state code, compiles. 2014-09-04 03:32:38 -07:00
Jae Kwon e53b148acf refactor from Binary centric model to global method model 2014-09-03 20:41:57 -07:00
Jae Kwon fa382a3b05 numeric fields are all native unboxed. 2014-08-30 16:28:51 -07:00
Jae Kwon d300a67bb1 saving development state... 2014-08-30 04:17:10 -07:00