Commit Graph

421 Commits

Author SHA1 Message Date
hxzqlh b9b2782c3c logger key doesn't support space 2017-06-14 14:41:36 +08:00
zramsay bf5181d9ca address PR comments 2017-05-30 13:27:08 -04:00
zramsay cf31f8d06f core: apply megacheck vet tool (unused, gosimple, staticcheck) 2017-05-29 23:11:40 -04:00
Ethan Buchman bd7ec18c19 fix tests 2017-05-26 12:17:32 -04:00
Ethan Buchman 3fbe286e5a small fixes to changelog, config, default logging 2017-05-22 08:16:25 -04:00
Adrian Brink eb9ca23250 log whether node is a validator in each round 2017-05-16 14:01:52 +02:00
Anton Kaliaev f8fdbe3dbc
changes as per Bucky's review 2017-05-13 16:22:51 +02:00
Anton Kaliaev f803544195
new logging 2017-05-13 10:24:58 +02:00
Ethan Buchman 46151720f8 fix tests 2017-05-04 22:46:41 -04:00
Ethan Buchman 4982cb4d1f fix tests for state and mempool 2017-05-04 22:43:55 -04:00
Ethan Buchman 29c0e6e4f4 remove viper from blockchain and state 2017-05-04 22:39:21 -04:00
Ethan Buchman fcf78a5da7 cleanup go-config/viper and some unnamed imports 2017-04-25 14:54:56 -04:00
Rigel Rozanski cefb2bede0 adding viper
int

int
2017-04-25 13:42:22 -04:00
Ethan Buchman d1926bcad1 use tmlibs 2017-04-21 18:12:54 -04:00
Ethan Buchman 52d03d0071 post rebase fixes 2017-04-18 21:35:00 -04:00
Ethan Buchman 29a893b193 update comment 2017-04-18 21:28:11 -04:00
Jae Kwon cd9e9e9f45 s/ExecBlock/ValExecBlock/g; s/sm.ApplyBlock/sm.ExecCommitBlock/g 2017-04-18 21:28:10 -04:00
Ethan Buchman 935f70a346 comments and cleanup 2017-04-18 21:28:10 -04:00
Ethan Buchman 5109746b1c Handshake uses ApplyBlock, no ConsensuState 2017-04-18 21:28:10 -04:00
Ethan Buchman 1684ec163f ABCIResponses not needed as field in state 2017-04-18 21:27:50 -04:00
Ethan Buchman 3a973b80ac update glide 2017-04-18 21:27:31 -04:00
Ethan Buchman cb279bf662 state: ABCIResponses, s.Save() in ApplyBlock 2017-04-18 21:27:31 -04:00
Ethan Buchman 9d2de2b756 tx_indexer -> tx_index 2017-04-18 20:55:40 -04:00
Ethan Buchman 45876d0828 NewBatch takes size, batch.Add doesn't use append 2017-04-18 20:23:58 -04:00
Ethan Buchman b6a04a3456 more fixes from review 2017-04-18 20:11:53 -04:00
Ethan Buchman f4d0076344 TxResult includes Tx. /tx only works if indexer active 2017-04-18 19:56:41 -04:00
Ethan Buchman d572bb0c5d state/txindex and pkg per indexer impl 2017-04-18 19:29:02 -04:00
Ethan Buchman ffe6d58a58 add Height to ResultBroadcastTxCommit and EventDataTx 2017-04-12 18:33:48 -04:00
Ethan Buchman 2a59cda77e /tx returns tx bytes 2017-04-12 18:18:17 -04:00
Ethan Buchman 7fbe8e47d4 fix tests 2017-04-10 17:32:48 -04:00
Ethan Buchman d7c5690f17 index by bytes. add TxID to broadcast_tx responses 2017-04-10 17:21:37 -04:00
Anton Kaliaev 3478de50a1
no need for map - tx responses should arrive in order (Refs #237)
```
me: so we are executing them in order and receiving them in order and there is no way we could receive them out of order (due to network or something else), correct?
ebuchman: if we receive them out of order, ABCI is broken
ebuchman: so it is possible, if the ABCI server we're talking to is not implementing the spec
ebuchman: but that shouldn't justify us building a map
```
2017-04-10 22:44:08 +04:00
Anton Kaliaev 63704454a3
expose `/tx?hash="XXXXXXXXXXXX"` RPC call 2017-04-10 22:44:07 +04:00
Anton Kaliaev b08f29cb71
add config option for tx indexing and disable it by default 2017-04-10 22:44:07 +04:00
Anton Kaliaev d62e85757f
execution test 2017-04-10 22:44:07 +04:00
Anton Kaliaev c3f1b08b6a
tx indexing (Refs #237)
save transactions to blockstore

move to a separate module

benchmark KVIndexer

batch write transactions

Benchmarks:

```
BenchmarkKVIndexerIndex-2         100000            516300 ns/op
PASS
ok      github.com/tendermint/tendermint/blockchain/tx  56.506s

5,16 s for 10000 transactions
1 s for 2000 transactions
```

```
BenchmarkKVIndexerIndex-2       h 3000000             8622 ns/op
PASS
ok      github.com/tendermint/tendermint/blockchain/tx  34.210s

86 ms for 10000 transactions
16 ms for 2000 transactions
```

```
BenchmarkKVIndexerIndex1-2               5000000              7160 ns/op
BenchmarkKVIndexerIndex500-2               20000           1750411 ns/op
BenchmarkKVIndexerIndex1000-2              10000           3573973 ns/op
BenchmarkKVIndexerIndex2000-2               5000           7836851 ns/op
BenchmarkKVIndexerIndex10000-2              1000          33438980 ns/op
PASS
ok      github.com/tendermint/tendermint/blockchain/tx  209.482s

7,8 ms for 2000 transactions
```

[state] write test for ApplyBlock

review comments

- move txindexer to state
- fix type

save Tx Index as well

do not store tx itself in the result
2017-04-10 22:44:07 +04:00
Ethan Buchman f9df4294f3 move some interfaces to types/services.go 2017-02-20 20:09:15 -05:00
Ethan Buchman 0765613778 move handshake to consensus package 2017-02-20 19:52:36 -05:00
Ethan Buchman 756213c5f5 check appHash 2017-02-20 17:08:38 -05:00
Ethan Buchman bc67859672 make ReplayBlocks logic exhaustive 2017-02-20 16:32:48 -05:00
Ethan Buchman 44d472ddd3 comments from review 2017-02-18 22:15:59 -05:00
Ethan Buchman 7228b11e3f state: remove StateIntermediate 2017-02-17 19:13:35 -05:00
Ethan Buchman 0bec99fbd4 consensus: handshake replay test using wal 2017-02-17 19:12:05 -05:00
Ethan Buchman 3c5adebcd3 applyBlock to simplify replay of many blocks. still wip 2017-02-17 11:32:56 -05:00
Ethan Buchman 6403b2f468 fixes for handshake replay through consensus 2017-02-17 10:51:05 -05:00
Ethan Buchman cbe6dbe7a1 handshake replay through consensus using mockApp 2017-02-16 17:56:45 -05:00
Ethan Buchman 99b068b313 BlockMeta uses BlockID 2017-02-14 17:06:58 -05:00
Jae Kwon 67ab574e98 Cleanup, add stub for VerifyCommitAny 2017-01-29 13:50:53 -08:00
Ethan Buchman 94b6dd65ee AppendTx -> DeliverTx 2017-01-12 15:55:03 -05:00
Ethan Buchman c147b41013 TMSP -> ABCI 2017-01-12 15:53:32 -05:00
Ethan Buchman 2dd7030579 tmsp: ResponseInfo and ResponseEndBlock 2017-01-12 15:21:20 -05:00
Ethan Buchman bae0bc02a6 consensus: be more explicit when we need to write height after handshake 2017-01-05 20:16:42 -08:00
Ethan Buchman 0c01b0ded9 state.State and wal.writeHeight after handshake 2016-12-22 22:10:36 -05:00
Ethan Buchman 0e7694ca94 state: AppHashIsStale -> IntermediateState 2016-12-22 15:01:22 -05:00
Ethan Buchman 38783e7fa1 types: SignatureEd25519 -> Signature 2016-12-18 00:14:07 -05:00
Ethan Buchman 2425711734 blockchain: use ApplyBlock 2016-12-06 23:01:55 -05:00
Jae Kwon 6f88d04ac4 call db.SetSync when necessary 2016-12-06 02:52:07 -08:00
Jae Kwon 4202c4bf20 Fix Merge pull request #319 2016-12-06 01:16:13 -08:00
Ethan Buchman b74a97a4f6 update grpc broadcast tx 2016-12-02 00:29:25 -05:00
Ethan Buchman 0fe53dc5cf remove privValIndex; Stale->AppHashIsStale 2016-12-02 00:27:36 -05:00
Ethan Buchman 2f9063c1d6 consensus: test validator set change 2016-11-23 18:20:46 -05:00
Ethan Buchman 5046d5b181 more handshake replay cleanup 2016-11-22 20:38:14 -05:00
Ethan Buchman e0db20c0cf update privValidatorIndex on valset change 2016-11-22 20:38:14 -05:00
Ethan Buchman e1e2c1c740 cleanup ReplayBlocks 2016-11-22 20:38:14 -05:00
Ethan Buchman 655b6300f5 val set changes 2016-11-22 20:38:14 -05:00
Ethan Buchman d7f6c0775a remove LastCommitHeight 2016-11-22 20:38:14 -05:00
Ethan Buchman 07597dfd45 post rebase fixes for BlockID, partSize 2016-11-16 16:13:17 -05:00
Ethan Buchman 4360c360a4 move handshake to state, use Handshaker, more tests 2016-11-16 13:29:22 -05:00
Ethan Buchman befd8b0cb2 post rebase fixes 2016-11-16 13:27:06 -05:00
Ethan Buchman 3f90fcae48 fail tests and fix 2016-11-16 13:26:39 -05:00
Ethan Buchman 8ec1839f5d save block b4 apply; track stale apphash 2016-11-16 13:26:39 -05:00
Ethan Buchman fb9735ef46 rebase fixes and BeginBlock(hash,header) 2016-11-16 13:25:13 -05:00
Ethan Buchman 138de19e1e test: app persistence 2016-11-16 13:25:13 -05:00
Ethan Buchman d3ae920bd0 state: ApplyBlock 2016-11-16 13:25:13 -05:00
Ethan Buchman a0e4253edc handshake 2016-11-16 13:25:13 -05:00
Jae Kwon 1173a85c85 Use BlockID everywhere 2016-11-15 18:34:58 -05:00
Ethan Buchman 3ff9355e7b change some logs to debug 2016-11-03 20:13:39 -04:00
Ethan Buchman 94ac890859 send BeginBlock 2016-11-03 19:51:22 -04: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 Frey 22979d9365 Fire proper EventData object on append transaction 2016-10-01 22:12:48 +02:00
Ethan Buchman 3a7ee13ece proxy: typed app conns 2016-08-24 01:45:45 -04:00
Ethan Buchman 3ac9ff0dcc test: dont run cloud test on push to master 2016-08-06 23:30:46 -04:00
Ethan Buchman 8ca615c301 wait until txs removed from mempool to fire tx events 2016-07-05 17:03:09 -04:00
Ethan Buchman 65ebc344ac broadcast_commit 2016-07-05 14:26:20 -04:00
Ethan Buchman 7383ead106 updates for new tmsp protobuf 2016-05-23 14:35:36 -04:00
Ethan Buchman 8e5e5c689f lock mempool for commit and update. closes #202 2016-04-29 14:23:04 -07:00
Jae Kwon f17c4c1d57 s/Validation/Commit/g 2016-04-02 09:10:16 -07:00
Jae Kwon 8183e3201b CommitSync() returns tmsp.Result 2016-03-23 02:49:30 -07:00
Jae Kwon 18d0da4ea3 Remove BeginBlock 2016-03-06 18:02:29 -08:00
Jae Kwon 16437867ff Starting to use tmsp.BlockchainAware 2016-03-05 20:57:36 -08:00
Jae Kwon a6d37a49a2 s/GetHash/Commit/g 2016-02-14 13:11:01 -08:00
Jae Kwon f1b48ff009 Use protobuf enums for CodeType 2016-02-04 18:41:29 -08:00
Jae Kwon a73a65a45b Use protobuf enums 2016-02-04 18:41:29 -08:00
Jae Kwon 3f49b509d2 Conform to protobuf TMSP 2016-02-04 18:41:29 -08:00
Ethan Buchman c0024cc7b2 log invalid txs 2016-01-31 20:00:02 -05:00
Jae Kwon 236c7afe9e Conform to TMSP v0.2 2016-01-25 14:34:08 -08:00
Ethan Buchman 799efb0629 merge/rebase fixes 2016-01-12 19:39:53 -05:00
Ethan Buchman 0be13d1d27 move alert, events, rpc into own repos 2016-01-12 19:15:10 -05:00
Jae Kwon 3e3c0083c7 Make order be decided first; Remove TMSP Commit/Rollback 2016-01-08 16:51:20 -08: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
Jae Kwon f534410e57 Fix state/execution ExecBlock() not rolling back 2015-12-09 17:08:40 -08:00
Jae Kwon ef43af19ab Tendermint <-> Application refactor 2015-12-01 20:12:01 -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
Ethan Buchman b59ed8c9d2 refactor some state functions into state/types 2015-10-05 20:21:02 -04:00
Ethan Buchman e4f0e2b399 update namereg with longer names, more allowed chars 2015-09-15 19:43:22 -04:00
Ethan Buchman 586498331b fix suicide 2015-08-26 18:02:13 -04:00
Jae Kwon 56b195a899 tendermint send_tx 2015-08-14 14:11:11 -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 ffcc657be6 event listeners take EventData, not interface{}; EventData type assertions 2015-08-11 12:46:33 -07:00
Jae Kwon 1b9fd811a1 RPCResponse.Result && EventData are registered interfaces; -skip_upnp option 2015-08-11 11:01:18 -07:00
Jae Kwon 908fd11665 more explicit _, err := Start() checking 2015-08-11 11:01:17 -07:00
Jae Kwon 60310cc23f websocket server sends pings; added ws_client; events refactor 2015-08-11 11:01:17 -07:00
Jae Kwon 37c68e838e Merge pull request #124 from tendermint/new_contract_address
move NewContractAddress to types and use ripemd160
2015-08-10 10:31:24 -07:00
Jae Kwon 8f9d41f427 Merge pull request #123 from tendermint/namereg_event
namereg event
2015-08-10 10:29:54 -07:00
Ethan Buchman 9b69894180 namereg event 2015-08-02 22:29:35 -04:00
Ethan Buchman 6f25dfef44 move NewContractAddress to types and use ripemd160 2015-08-02 22:24:35 -04:00
Jae Kwon aada207092 remove unnecessary permission check 2015-07-31 16:25:12 -07:00
Jae Kwon bff06ac657 Remember StorageRoot in Other 2015-07-28 13:35:28 -07:00
Jae Kwon 1a5bc9eeb2 Remove StorageRoot from vm.Account 2015-07-28 12:39:10 -07:00
Jae Kwon 9f18c80abc Fixes #121 2015-07-28 12:18:17 -07:00
Jae Kwon 3be3647dc8 tendermint/binary -> tendermint/wire 2015-07-28 12:18:17 -07:00
Jae Kwon 0ef5c3ad07 Fix returning prematurely within if(runCall){...}.
Renames
2015-07-28 12:16:17 -07:00
Jae Kwon feeab6579b Acc/X/Receive -> Acc/X/Call 2015-07-23 23:57:28 -07:00
Jae Kwon c13b67253c Merge pull request #119 from tendermint/snatives
Snatives
2015-07-22 11:14:56 -07:00
Jae Kwon 344ad54984 comment updates for state 2015-07-22 09:35:21 -07:00
Ethan Buchman 31b9d8ee27 SNativeTx -> PermissionTx, consolidate permissions and native contracts 2015-07-22 10:49:53 -04:00
Ethan Buchman ab536618e0 RegisteredSNativeContracts 2015-07-22 10:49:53 -04:00
Ethan Buchman ecd231a8eb cleanup, drop ClearBase 2015-07-22 10:49:53 -04:00
Ethan Buchman e037093740 snative refactor and SNativeTx 2015-07-22 10:49:53 -04: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 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 8d1e176180 fixed-length arrays cleanup 2015-07-18 17:19:47 -07:00
Ethan Buchman dc7b912881 crypto byte arrays are fixed length 2015-07-17 17:19:16 -04:00
Jae Kwon 198d7b9c6f Fixes #93 2015-07-15 20:04:11 -07: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 24acda1afc Distinguish between ReadJSON vs ReadJSONPtr. The latter expects a non-nil pointer to write into. The former creates new things intelligently 2015-07-11 16:32:46 -07:00
Jae Kwon 2e1d8ba054 Make Ripemd160 the default 2015-07-10 12:15:46 -07:00
Jae Kwon 41845d5b85 fix dump_consensus_state error'ing when height=0 2015-07-10 18:11:28 +00:00
Ethan Buchman 72b681a1bc fix TxID to use ripemd160 in events and rpc return 2015-07-10 05:56:38 +00:00
Ethan Buchman 96214b0108 RandGenesisDoc 2015-07-09 18:10:30 +00:00
Jae Kwon a999a4bad0 PermFlag rename; Make Permission fields value (nonpointer) fields; Permissions & Snatives on by default; Remove dead code 2015-07-07 14:26:05 -07:00
Jae Kwon 21295f4ae2 fixes for develop+permissions merge 2015-07-07 14:17:20 -07:00