Commit Graph

253 Commits

Author SHA1 Message Date
Ethan Buchman 57da2e4af5 make byzantine logic testable 2016-11-15 18:45:36 -05:00
Jae Kwon ea4b60a602 Fix compile bug 2016-11-15 18:37:00 -05:00
Jae Kwon b73a6905a1 Initial pass at bft_fix_2 completion 2016-11-15 18:37:00 -05:00
Jae Kwon 655d829314 Fix proposal sign bytes. Start tracking blockID in POL 2016-11-15 18:35:17 -05:00
Jae Kwon 3c5a2f55c2 Add validator index and address to Vote. 2016-11-15 18:33:16 -05:00
Ethan Buchman 3ff9355e7b change some logs to debug 2016-11-03 20:13:39 -04:00
Jae Kwon 480f44f16c QuitService->BaseService 2016-10-28 12:14:24 -07:00
Ethan Buchman 7d493774c7 log: move some Info to Debug 2016-10-14 20:27:50 -04:00
Ethan Buchman 35d4cca8bb type safe events 2016-10-10 03:10:29 -04:00
Ethan Buchman 1110c5d37d privVal.LastSignBytes and more replay tests 2016-08-14 13:33:03 -04:00
Ethan Buchman 501c4e4bac fixes from review 2016-04-26 22:17:13 -04:00
Ethan Buchman 5e42c96267 crank the part size; prioritize data channel 2016-04-19 20:45:33 -04:00
Jae Kwon f17c4c1d57 s/Validation/Commit/g 2016-04-02 09:10:16 -07:00
Ethan Buchman 06a7bb531b consensus: dont allow peer round states to decrease 2016-03-05 16:41:54 -05:00
Ethan Buchman 50ac66f79b fast sync fixes 2016-02-07 16:56:59 -08:00
Jae Kwon 0f1cf243fd Merge remote-tracking branch 'origin/replay' 2016-01-28 19:53:22 -08:00
Jae Kwon 8a3bba48e3 s/*EventDataRoundState/EventDataRoundState/g 2016-01-28 19:44:44 -08:00
Ethan Buchman 3b06368569 rebase fixes 2016-01-14 20:15:33 -05:00
Ethan Buchman 6aaa5fb0bf consensus: msg saving and replay 2016-01-14 18:58:11 -05:00
Jae Kwon f100404362 Make EventDataRoundState use json:"-" instead of Getter/Setter 2016-01-14 11:07:31 -08:00
Ethan Buchman 0be13d1d27 move alert, events, rpc into own repos 2016-01-12 19:15:10 -05:00
Jae Kwon dcc1caaf68 Make Receive() logging consistent 2015-12-31 14:27:05 -08:00
Jae Kwon d87667a0c2 Conform to go-wire new TypeByte behavior for broadcasts 2015-12-21 15:18:16 -08:00
Jae Kwon 08d7980d80 Conform to go-wire new TypeByte behavior 2015-12-21 14:48:44 -08:00
Ethan Buchman c3a8f202ab consensus: fix negative timeout; log levels 2015-12-15 14:44:58 -05:00
Jae Kwon c95b89e98c Merge remote-tracking branch 'origin/consensus_refactor' into consensus_refactor_jae 2015-12-14 09:33:11 -08:00
Ethan Buchman b9e143d956 Fireable -> EventSwitch; rs in EventDataRoundState; fixes from review 2015-12-14 00:38:19 -05:00
Ethan Buchman 4483971776 conR uses events to trigger newstep & hasvote broadcasts 2015-12-13 19:30:15 -05:00
Jae Kwon 855cb0f906 Merge remote-tracking branch 'origin/develop' into consensus_refactor 2015-12-12 19:34:39 -08:00
Ethan Buchman c3f880e758 fire timeout events in handleTimeout; internalMsgQueue 2015-12-11 11:57:15 -05:00
Jae Kwon 34f6f50a07 Conform to go-merkle SimpleProof.Aunts 2015-12-10 11:09:25 -08:00
Ethan Buchman d9b55101e5 move routines to consensus state. drop locks and other go routines 2015-12-10 11:41:18 -05:00
Jae Kwon dfdd3cf18f Tweak channel for performance test 2015-12-09 13:53:31 -08:00
Jae Kwon ea378c5565 Improve logging 2015-12-09 12:30:42 -08: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 d69b5c5ab6 Conform to go-wire 1.0 2015-11-10 13:10:43 -08:00
Jae Kwon c4ed55d801 Refactor to move common libraries out of project 2015-10-22 17:39:06 -07:00
Jae Kwon 5631b1a728 fixes #152 and #153 2015-10-12 15:19:55 -07:00
Ethan Buchman 12566f51af better mempool queueing 2015-09-28 22:58:02 -04:00
Ethan Buchman 632e77c1cf rs.CommitRound 2015-09-15 16:13:39 -04:00
Ethan Buchman 2b8157ce2a addVote takes index 2015-09-15 14:26:42 -04:00
Ethan Buchman 555ecb095d precommit nil if locked and no POL 2015-09-15 14:25:50 -04:00
Jae Kwon 5e015bc669 Probable fix for #140 2015-09-11 21:09:01 -07:00
Jae Kwon 625f23af13 Blockpool better timeouts, download rate observation, quicker switching to consensus; Id -> ID (sorry, this doesn't belong here) 2015-09-11 21:09:00 -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 571a134318 BaseService and BaseReactor refactor and unification 2015-07-20 14:52:24 -07:00
Ethan Buchman a28d924966 move some logs to debug 2015-07-19 22:44:40 +00:00
Ethan Buchman bb4ca1407f info->notice, debug->info 2015-07-19 22:44:40 +00:00
Jae Kwon d91f073676 uuid branch tidying 2015-07-13 16:00:01 -07:00
Ethan Buchman 751b892cba cleanup, comments 2015-07-12 02:16:33 +00: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 16a1404cfe fixed inequality bug, loading catchup commits when shouldn't. 2015-07-05 20:26:02 -07:00
Jae Kwon b4605bc53a process ConsensusReactor messages during fast_sync 2015-07-05 20:02:23 -07:00
Jae Kwon e90c47c6fa Add rebroadcastRoundStepMessage 2015-07-05 19:07:51 -07:00
Jae Kwon 43a0cac453 ... 2015-07-05 17:42:52 -07:00
Jae Kwon fc0a4bae4e Do not reset Proposal* when EnterNewRound(0) 2015-07-05 15:35:26 -07:00
Jae Kwon 41d04cf5b8 consensus reactor code polish, fixed prs BitArray cache invalidation bug 2015-07-05 13:40:59 -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 4d209ee349 Fix consensus: use the right ValidatorSet upon Vote receive 2015-06-26 17:25:47 -07:00
Jae Kwon 24b9f8647c fix debug output 2015-06-26 17:14:40 -07:00
Jae Kwon 9b00f32901 Fix consensus: Send round-skip votes 2015-06-26 17:07:19 -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 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 5790ea9f43 consensus refactor: reconstruct LastCommits upon restart 2015-06-19 15:30:21 -07:00
Jae Kwon 1a652a1cbb Fix usage of SimpleProof for PartSet 2015-06-18 22:08:22 -07:00
Ethan Buchman bb67fe0356 dont run consensus state unless fast sync is off 2015-05-28 03:45:46 -07:00
Jae Kwon 6020223e85 fix bitArray nil bugs 2015-05-07 17:35:58 -07:00
Jae Kwon 5971617ac3 ... 2015-05-06 00:47:20 -07:00
Jae Kwon c3a12e3cb8 ... 2015-05-05 23:47:29 -07:00
Jae Kwon da73e001ad BitArray takes a pointer receiver. More logging 2015-05-05 23:01:19 -07:00
Jae Kwon 44076e816d more consensus logging 2015-05-05 18:03:00 -07:00
Jae Kwon 32f7babf87 boost sendQueue for votes 2015-05-05 17:03:11 -07:00
Jae Kwon 8b6d489755 Update vote log 2015-05-05 16:58:26 -07:00
Jae Kwon cfb4a40855 adding more debug logs 2015-05-04 22:22:39 -07:00
Ethan Buchman ff87958f95 broadcast on newStepCh on switch to consensus reactor 2015-05-04 19:08:07 -04: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 9a8652e001 Include peer round states in the dump_consensus_state RPC call. 2015-04-25 11:49:26 -07:00
Jae Kwon 4bcfc1e4bb Merge pull request #55 from tendermint/sync
Sync
2015-04-22 11:15:31 -07:00
Jae Kwon 9513f601de Removed Log.File, all log goes out to stdout. 2015-04-22 11:07:34 -07:00
Ethan Buchman d54bf6bcd5 blockchain reactor to consensus reactor transition on catchup 2015-04-21 19:51:23 -07:00
Jae Kwon 2ba6f86f2e Add Network to SignBytes, to prevent network clashes 2015-04-20 23:59:52 -07:00
Jae Kwon df026f64fa Remoted bytes from logging messages 2015-04-20 18:51:20 -07:00
Jae Kwon a9467414d6 Merge remote-tracking branch 'origin/websockets' into develop 2015-04-17 13:20:47 -07:00
Jae Kwon 44565872ae Fixed BlockchainMessage{} Decode issue.
Fixed Warn(UnknownMessage) issues.
2015-04-16 17:53:33 -07:00
Jae Kwon 89cfedeb73 Make all messages be registered as pointer receivers,
Warn on unknown messages.
2015-04-16 17:46:27 -07:00
Ethan Buchman d27e0bbad5 event cache and fireable interace 2015-04-16 00:08:58 -07:00
Jae Kwon e5d34befde Remote TypeByte() 2015-04-14 15:57:16 -07:00
Jae Kwon 5b1c1eb0e0 ProposalMessage wrapper, warn on unknown messages 2015-04-13 08:40:37 -07:00
Ethan Buchman 8e24b12888 rpc: first successful websocket event subscription 2015-04-08 19:07:17 -05:00
Jae Kwon 7356556938 Some renames and small fixes. 2015-04-08 12:30:49 -07:00
Ethan Buchman 474bf31400 events: integrate event switch into services via Eventable interface 2015-04-07 00:34:26 -05: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 7171823fc6 Fix blockpool bugs and clean up log messages. 2015-03-25 23:04:17 -07:00
Jae Kwon bd6d9d646d start peer before AddPeer() on reactors. 2015-03-25 13:22:46 -07:00
Jae Kwon a2b8318aac allow BlockchainReactor to reset ConsensusReactor state 2015-03-25 13:17:45 -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
Jae Kwon 06a440d9b2 use switch x := y.(type) form 2015-03-22 03:29:28 -07:00
Ethan Buchman 33f8943543 consensus: broadcast evidence tx on ErrVoteConflictingSignature 2015-03-18 23:23:56 -07:00
Jae Kwon 165907fbb9 Ensure correct peer vote bitarray capacity 2015-01-16 02:51:54 -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 bf5738f9f8 Send NewRoundStepMessage/CommitMessage on AddPeer() 2015-01-13 17:52:27 -08:00
Jae Kwon 7afb75049f API to list accounts 2015-01-11 14:27:46 -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 d20251849e Save blocks on catch-up too. 2014-12-31 16:53:48 -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 40fec4f319 Stop peer routines upon connection failure 2014-12-30 16:49:23 -08:00
Jae Kwon 16c80fd65f fix race condition for SetHasAllValidationCommits; "binary" log
filtering
2014-12-30 14:45:26 -08:00
Jae Kwon 69903e5bc2 HasAllValidationCommits -> attempt no more 2014-12-30 14:36:45 -08:00
Jae Kwon 2ca882a9b6 Log which commits are being sent for catchup 2014-12-29 19:59:06 -08:00
Jae Kwon 3215cbf0d5 use tendermint/log15 2014-12-29 19:44:38 -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 591d84947b Handle errors in DecodeMessage, added logging 2014-12-29 16:04:38 -08:00
Jae Kwon 5bace5cce8 Unreader to unread bytes 2014-12-29 15:14:54 -08:00
Jae Kwon 946fa21dc7 fix race conditions 2014-12-28 17:10:03 -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 8718bd52a4 made ValidatorSet.Hash deterministic; fix off-by-1 bugs 2014-11-05 03:12:07 -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 09c20ddea1 RoundActionCommit* bug fixes 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 0f484b6315 broadcastVote sets peer's vote bitarray 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 c3fc1a39ea BitArray sub fix 2014-11-05 03:11:38 -08:00
Jae Kwon 13d70e4112 stack trace in p2p/connection panics, bitArray fix 2014-11-05 03:11:37 -08:00