Commit Graph

408 Commits

Author SHA1 Message Date
Ethan Buchman 6bcf53195f consensus: use replay log to avoid sign regression 2016-01-14 18:58:12 -05:00
Ethan Buchman bc2a721a0a clean up replay output 2016-01-14 18:58:12 -05:00
Ethan Buchman 56076d4d0e some cleanup; log time with consensus msgs 2016-01-14 18:58:11 -05:00
Ethan Buchman 9fc0726504 timeoutProposeDelta 2016-01-14 18:58:11 -05:00
Ethan Buchman 298928dc44 fix replay bug from timeoutRoutine 2016-01-14 18:58:11 -05:00
Ethan Buchman c0c2a4b968 use validation round in reconstructLastCommit 2016-01-14 18:58:11 -05:00
Ethan Buchman 2b13386d7b consensus: replay console 2016-01-14 18:58:11 -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 7cf85c5e71 Change commit timeout to 1 sec for testing 2016-01-09 20:22:10 -08:00
Jae Kwon 5d06bb964b Fix comments about AppHash, rollbacks, etc 2016-01-09 12:09:31 -08:00
Jae Kwon 3e3c0083c7 Make order be decided first; Remove TMSP Commit/Rollback 2016-01-08 16:51:20 -08:00
Jae Kwon ccbcb9f418 Reduce commit timeout for tests 2016-01-02 20:22:36 -08:00
Jae Kwon 9247b0fbd2 Fix HeightVoteSet bug where first catchup vote doesn't get added 2015-12-31 15:11:51 -08:00
Jae Kwon dcc1caaf68 Make Receive() logging consistent 2015-12-31 14:27:05 -08:00
Ethan Buchman 94194fea46 fix logging proposal when we might not have it 2015-12-29 15:39:24 -05:00
Jae Kwon ceb6e1e95f Make consensus logs use default log handler 2015-12-21 17:26:08 -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
Jae Kwon f288e58c81 Prefix TMSP messages with length 2015-12-20 08:18:39 -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 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
Jae Kwon 855cb0f906 Merge remote-tracking branch 'origin/develop' into consensus_refactor 2015-12-12 19:34:39 -08: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 334cab82c2 fix tests: propose and full round suites 2015-12-12 01:28:53 -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
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
Jae Kwon 15b751107e Tweak logging; allow consensus to bypass filter 2015-12-09 09:38:09 -08:00
Jae Kwon d0b8650edf Fix tests for counter application using uin64 2015-12-09 09:37:36 -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 35abb4df92 Allow for test apps to return nil hashes 2015-12-04 00:59:02 -08: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 5631b1a728 fixes #152 and #153 2015-10-12 15:19:55 -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 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 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 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 1e7cc32597 tendermint/account -> acm 2015-07-19 09:40:55 -07:00
Ethan Buchman dc7b912881 crypto byte arrays are fixed length 2015-07-17 17:19:16 -04: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 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 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 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 41d04cf5b8 consensus reactor code polish, fixed prs BitArray cache invalidation bug 2015-07-05 13:40:59 -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 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 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 1b95c09160 consensus refactor: add HeightVoteSet 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
Jae Kwon 1a652a1cbb Fix usage of SimpleProof for PartSet 2015-06-18 22:08:22 -07:00
Ethan Buchman 41502e05c1 chain_id written as string not hex in WriteSignBytes 2015-05-30 20:20:04 -04: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
Ethan Buchman bb67fe0356 dont run consensus state unless fast sync is off 2015-05-28 03:45:46 -07:00
Jae Kwon 489bf767cb importing tendermint/config/tendermint_test applies the test config 2015-05-17 16:19:58 -07: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 6020223e85 fix bitArray nil bugs 2015-05-07 17:35:58 -07:00
Jae Kwon ba17961269 Always return the validatorIndex upon AddVote() 2015-05-06 11:39:59 -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 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 b92c0401e6 Made all JSON fields lower_case 2015-05-01 17:26:49 -07:00
Jae Kwon 5366d808ba Proposal WriteSignBytes is JSON 2015-04-27 21:06:36 -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 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 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 df026f64fa Remoted bytes from logging messages 2015-04-20 18:51:20 -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
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
Ethan Buchman a1c5e32d76 fixes from review with jae 2015-04-15 22:19:29 -07:00
Jae Kwon df1d46d04d Errorf -> fmt.Errorf 2015-04-15 21:49:14 -07:00
Jae Kwon e5d34befde Remote TypeByte() 2015-04-14 15:57:16 -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
Jae Kwon 5b1c1eb0e0 ProposalMessage wrapper, warn on unknown messages 2015-04-13 08:40:37 -07:00
Jae Kwon 6d6f061f19 Support nil pointers for Binary.
If the thing does not already have a typebyte declared,
a fake one will be given (0x01).
A TypeByte of 0x00 is reserved for nil things.
No nil-dogs.
2015-04-12 17:46:16 -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 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 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
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
Ethan Buchman 33f8943543 consensus: broadcast evidence tx on ErrVoteConflictingSignature 2015-03-18 23:23:56 -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 165907fbb9 Ensure correct peer vote bitarray capacity 2015-01-16 02:51:54 -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 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 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 51c70dd8ac Write log also to a file. 2015-01-08 17:24:04 -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 7a8a0fefc7 type Ed25519[Signature|PubKey] struct{[]byte} -> []byte 2015-01-03 20:24:02 -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 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