Anton Kaliaev
1971e149fb
ChainID() and Params() do not return errors
...
- remove state#GenesisDoc() method
2017-10-16 10:34:02 +04:00
Emmanuel Odeke
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
Zach Ramsay
d56b44f3a5
all: no more anonymous imports
2017-10-04 16:40:45 -04:00
Ethan Buchman
8311f5c611
abci.Info takes a struct; less merkleeyes
2017-09-22 11:42:40 -04:00
Ethan Buchman
779c2a22d0
node: NewNode takes DBProvider and GenDocProvider
2017-09-21 15:54:33 -04:00
Ethan Buchman
1f0985689d
ConsensusParams ptr in GenesisDoc for json
2017-09-21 15:22:58 -04:00
Ethan Buchman
3089bbf2b8
Amount -> Power. Closes #166
2017-09-21 14:59:27 -04:00
Ethan Buchman
5feeb65cf0
dont use pointers for ConsensusParams
2017-09-21 14:59:24 -04:00
Ethan Buchman
2b6db268cf
genesis json tests and mv ConsensusParams to types
2017-09-21 14:51:29 -04:00
Ethan Buchman
14abdd57f3
genDoc.ValidateAndComplete
2017-09-21 14:51:29 -04:00
Ethan Buchman
bf576f0097
state: minor comment fixes
2017-09-12 14:37:32 -04:00
Adrian Brink
870a98ccc3
Last fixes
2017-09-12 17:12:19 +02:00
Adrian Brink
8eda3efa28
Cleanup lines to fit within 72 characters
2017-09-12 17:08:30 +02:00
Adrian Brink
2a6e71a753
Reformat tests to extract common setup
2017-09-12 16:57:10 +02:00
Ethan Buchman
fae0603413
more fixes from review
2017-09-06 01:25:57 -04:00
Ethan Buchman
9deb647303
fixes from review
2017-09-04 18:29:51 -04:00
Ethan Buchman
78446fd99c
state: persist validators
2017-09-03 16:07:37 -04:00
Ethan Buchman
34beff117a
state: comments; use wire.BinaryBytes
2017-09-03 16:07:37 -04:00
Ethan Buchman
bfecb5a135
some fixes from review
2017-06-27 16:05:21 -04:00
Ethan Buchman
2750343de5
Merge branch 'apply-megacheck' into unstable
2017-06-23 21:38:22 -04:00
Ethan Buchman
3c0128a680
undo some megacheck suggestions
2017-06-23 21:36:47 -04:00
Anton Kaliaev
b4ece65726
standardize key for errors (should be "err")
2017-06-14 12:50:49 +04:00
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