Commit Graph

192 Commits

Author SHA1 Message Date
036d3b59a3 Address reviews 2017-10-23 11:04:45 -04:00
782a836db0 Cleanup of code and code docs
This cleans up some of the code in the state package
2017-10-23 11:04:45 -04:00
c4646bf87f make state#Params not a pointer
also remove the comment
2017-10-16 10:34:02 +04:00
716364182d [state] expose ChainID and Params
```
jaekwon
Yeah we should definitely expose ChainID.
ConsensusParams is small enough, we can just write it.
```
https://github.com/tendermint/tendermint/pull/676#discussion_r144123203
2017-10-16 10:34:02 +04:00
1971e149fb ChainID() and Params() do not return errors
- remove state#GenesisDoc() method
2017-10-16 10:34:02 +04:00
7939d62ef0 all, state: unexpose GenesisDoc, ChainID fields make them accessor methods
Fixes #671

Unexpose GenesisDoc and ChainID fields to avoid them being
serialized to the DB on every block write/state.Save()

A GenesisDoc can now be alternatively written to the state's
database, by serializing its JSON as a value of key "genesis-doc".

There are now accessors and a setter for these attributes:
- state.GenesisDoc() (*types.GenesisDoc, error)
- state.ChainID() (string, error)
- state.SetGenesisDoc(*types.GenesisDoc)

This is a breaking change since it changes how the state's
serialization and requires that if loading the GenesisDoc entirely
from the database, you'll need to set its value in the database
as the GenesisDoc's JSON marshaled bytes.
2017-10-16 10:34:01 +04:00
779c2a22d0 node: NewNode takes DBProvider and GenDocProvider 2017-09-21 15:54:33 -04:00
1f0985689d ConsensusParams ptr in GenesisDoc for json 2017-09-21 15:22:58 -04:00
3089bbf2b8 Amount -> Power. Closes #166 2017-09-21 14:59:27 -04:00
5feeb65cf0 dont use pointers for ConsensusParams 2017-09-21 14:59:24 -04:00
2b6db268cf genesis json tests and mv ConsensusParams to types 2017-09-21 14:51:29 -04:00
14abdd57f3 genDoc.ValidateAndComplete 2017-09-21 14:51:29 -04:00
bf576f0097 state: minor comment fixes 2017-09-12 14:37:32 -04:00
8eda3efa28 Cleanup lines to fit within 72 characters 2017-09-12 17:08:30 +02:00
fae0603413 more fixes from review 2017-09-06 01:25:57 -04:00
9deb647303 fixes from review 2017-09-04 18:29:51 -04:00
78446fd99c state: persist validators 2017-09-03 16:07:37 -04:00
34beff117a state: comments; use wire.BinaryBytes 2017-09-03 16:07:37 -04:00
2750343de5 Merge branch 'apply-megacheck' into unstable 2017-06-23 21:38:22 -04:00
b4ece65726 standardize key for errors (should be "err") 2017-06-14 12:50:49 +04:00
cf31f8d06f core: apply megacheck vet tool (unused, gosimple, staticcheck) 2017-05-29 23:11:40 -04:00
eb9ca23250 log whether node is a validator in each round 2017-05-16 14:01:52 +02:00
f8fdbe3dbc changes as per Bucky's review 2017-05-13 16:22:51 +02:00
f803544195 new logging 2017-05-13 10:24:58 +02:00
29c0e6e4f4 remove viper from blockchain and state 2017-05-04 22:39:21 -04:00
fcf78a5da7 cleanup go-config/viper and some unnamed imports 2017-04-25 14:54:56 -04:00
cefb2bede0 adding viper
int

int
2017-04-25 13:42:22 -04:00
d1926bcad1 use tmlibs 2017-04-21 18:12:54 -04:00
29a893b193 update comment 2017-04-18 21:28:11 -04:00
935f70a346 comments and cleanup 2017-04-18 21:28:10 -04:00
5109746b1c Handshake uses ApplyBlock, no ConsensuState 2017-04-18 21:28:10 -04:00
1684ec163f ABCIResponses not needed as field in state 2017-04-18 21:27:50 -04:00
3a973b80ac update glide 2017-04-18 21:27:31 -04:00
cb279bf662 state: ABCIResponses, s.Save() in ApplyBlock 2017-04-18 21:27:31 -04:00
d572bb0c5d state/txindex and pkg per indexer impl 2017-04-18 19:29:02 -04:00
63704454a3 expose /tx?hash="XXXXXXXXXXXX" RPC call 2017-04-10 22:44:07 +04:00
b08f29cb71 add config option for tx indexing and disable it by default 2017-04-10 22:44:07 +04:00
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
7228b11e3f state: remove StateIntermediate 2017-02-17 19:13:35 -05:00
67ab574e98 Cleanup, add stub for VerifyCommitAny 2017-01-29 13:50:53 -08:00
0e7694ca94 state: AppHashIsStale -> IntermediateState 2016-12-22 15:01:22 -05:00
6f88d04ac4 call db.SetSync when necessary 2016-12-06 02:52:07 -08:00
0fe53dc5cf remove privValIndex; Stale->AppHashIsStale 2016-12-02 00:27:36 -05:00
e0db20c0cf update privValidatorIndex on valset change 2016-11-22 20:38:14 -05:00
655b6300f5 val set changes 2016-11-22 20:38:14 -05:00
07597dfd45 post rebase fixes for BlockID, partSize 2016-11-16 16:13:17 -05:00
4360c360a4 move handshake to state, use Handshaker, more tests 2016-11-16 13:29:22 -05:00
8ec1839f5d save block b4 apply; track stale apphash 2016-11-16 13:26:39 -05:00
d3ae920bd0 state: ApplyBlock 2016-11-16 13:25:13 -05:00
a0e4253edc handshake 2016-11-16 13:25:13 -05:00