Anton Kaliaev
75b78bfb72
panic on marshal/unmarshal failures for genesisDoc
2017-10-17 13:33:57 +04:00
Anton Kaliaev
6469e2ccca
save genesis doc in DB to prevent user errors
...
https://github.com/tendermint/tendermint/pull/676#discussion_r144411458
2017-10-16 10:51:58 +04:00
Anton Kaliaev
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
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
Ethan Buchman
ddb3d8945d
p2p: allow listener with no external connection
2017-09-22 10:13:23 -04:00
Ethan Buchman
756818f940
fixes from review
2017-09-21 21:44:36 -04:00
Ethan Buchman
2131f8d330
some fixes from review
2017-09-21 17:21:20 -04:00
Ethan Buchman
75b97a5a65
PrivValidatorFS is like old PrivValidator, for now
2017-09-21 16:46:31 -04:00
Ethan Buchman
779c2a22d0
node: NewNode takes DBProvider and GenDocProvider
2017-09-21 15:54:33 -04:00
Ethan Buchman
944ebccfe9
more PrivValidator interface
2017-09-21 15:51:20 -04:00
Ethan Buchman
fd1b0b997a
PrivValidator interface
2017-09-21 15:51:20 -04:00
Adrian Brink
7dd3c007c7
Refactor priv_validator
...
Users can now just pass an object that implements the Signer interface.
2017-09-21 15:50:43 -04:00
Ethan Buchman
83048fb2fe
Merge pull request #604 from tendermint/bugfix/ws-io-timeout
...
Biff up RPC WSClient
2017-08-25 17:59:34 -04:00
Anton Kaliaev
2fd8496bc1
correct handling of pings and pongs
...
server:
- always has read & write timeouts
- ping handler never blocks the reader (see A)
- sends regular pings to check up on a client
A:
at some point server write buffer can become full, so in order not to
block reads from a client (see
https://github.com/gorilla/websocket/issues/97 ), server may skip some
pongs. As a result, client may disconnect. But you either have to do
that or block the reader. There is no third way.
client:
- optional read & write timeouts
- optional ping/pong to measure latency
2017-08-10 17:53:49 -04:00
Ethan Buchman
49278a7f9c
Merge pull request #579 from tendermint/feature/sync_status
...
Add fast-sync status to Status() call
2017-08-09 23:51:25 -04:00
Ethan Buchman
37f1390473
CreateEmptyBlocks and CreateEmptyBlocksInterval
2017-08-08 16:22:37 -04:00
Ethan Buchman
3444bee47f
fixes from review; use mempool.TxsAvailable() directly
2017-07-28 23:42:43 -04:00
Ethan Buchman
124032e3e9
NoEmptyBlocks config option
2017-07-28 22:11:45 -04:00
Ethan Buchman
4beac54bd9
no empty blocks
2017-07-28 22:11:45 -04:00
ramil
6f8d385dfa
fast sync status
2017-07-17 09:44:23 +03:00
Adrian Brink
05c0dfac12
First crack it providing fast-sync endpoint
2017-07-10 19:30:54 +02:00
Anton Kaliaev
b4ece65726
standardize key for errors (should be "err")
2017-06-14 12:50:49 +04:00
Ethan Buchman
ee88272216
enable unsafe rpc routes in tests via flag
2017-05-26 14:20:23 -04:00
Ethan Buchman
fc6611b2d9
[config] RPCConfig
2017-05-24 13:56:12 -04:00
Ethan Buchman
fe87623674
Merge pull request #501 from tendermint/feature/493-per-module-log-levels
...
Feature/493 per module log levels
2017-05-16 23:33:21 +02:00
Adrian Brink
eb9ca23250
log whether node is a validator in each round
2017-05-16 14:01:52 +02:00
Anton Kaliaev
05a8204508
per module log levels (Refs #493 )
2017-05-16 13:57:28 +02:00
Anton Kaliaev
f8fdbe3dbc
changes as per Bucky's review
2017-05-13 16:22:51 +02:00
Anton Kaliaev
c9cd8de9c6
set logger
2017-05-13 10:25:00 +02:00
Anton Kaliaev
f803544195
new logging
2017-05-13 10:24:58 +02:00
Ethan Buchman
edd7263f06
fixes from review
2017-05-05 12:25:53 -04:00
Ethan Frey
6b059e0063
Accept relative paths in all configs, TODO: must SetRoot
2017-05-04 22:46:40 -04:00
Ethan Frey
604bf03f3a
Pulled out all config structs (except p2p.PeerConfig) into config package
2017-05-04 22:46:40 -04:00
Ethan Buchman
7db7bbe464
node: ConfigFromViper
2017-05-04 22:43:55 -04:00
Ethan Buchman
75b6c5215f
fewer structs. remove viper from consensus
2017-05-04 22:43:55 -04:00
Ethan Buchman
d8fb226ec4
new config
2017-05-04 22:43:55 -04:00
Ethan Buchman
95c74b2ccd
remove some more viper
2017-05-04 22:43:55 -04:00
Ethan Buchman
f0e7f0acf8
remove viper from rpc except test
2017-05-04 22:43:55 -04:00
Ethan Buchman
1fcc9dc654
remove viper from proxy
2017-05-04 22:39:22 -04:00
Ethan Buchman
7c0f51e24b
remove viper from mempool
2017-05-04 22:39:22 -04:00
Ethan Buchman
29c0e6e4f4
remove viper from blockchain and state
2017-05-04 22:39:21 -04:00
Ethan Buchman
cc6dde96c1
rpc -> rpc/lib and rpc/tendermint -> rpc
2017-04-26 19:57:33 -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
56c60fba23
go-p2p -> tendermint/p2p
2017-04-21 18:19:41 -04:00
Ethan Buchman
9e82d132ce
go-rpc -> tendermint/rpc
2017-04-21 18:19:29 -04:00
Ethan Buchman
d1926bcad1
use tmlibs
2017-04-21 18:12:54 -04:00
Ethan Buchman
fa451fc55c
tendermint/rpc -> tendermint/rpc/tendermint
2017-04-21 18:10:41 -04:00
Ethan Frey
e325ffc681
Lots of updates to use new go-crypto / json style
2017-04-21 16:51:17 -04:00
Ethan Buchman
9d2de2b756
tx_indexer -> tx_index
2017-04-18 20:55:40 -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
90d1ed87fd
add tx_indexer to NodeInfo
2017-04-13 14:18:20 -04:00
Anton Kaliaev
63704454a3
expose `/tx?hash="XXXXXXXXXXXX"` RPC call
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
4fd1471f11
remove BaseService.OnStart
2017-03-28 12:09:11 -04:00
Ethan Buchman
1208296dc0
DialSeeds takes an AddrBook
2017-03-05 23:14:15 -05:00
Ethan Buchman
05d8cd50b5
update glide and node.go for update to p2p.AddrBook
2017-03-04 23:45:54 -05:00
Anton Kaliaev
4090a31d19
save seeds to addrBook (Refs #335 )
2017-03-04 23:23:02 -05:00
Ethan Buchman
8192bb0aaf
stop rpc listeners in node.OnStop()
2017-03-03 19:47:39 -05:00
Ethan Frey
7c26be3242
Begin implementation of local client
2017-02-24 17:05:13 +01:00
Ethan Buchman
0765613778
move handshake to consensus package
2017-02-20 19:52:36 -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
Jae Kwon
1af930441c
Support new Query message for proofs
2017-01-28 08:27:13 -08:00
Jae Kwon
9a2dd8bc92
Refactor Node; Node is a simple BaseService
2017-01-15 16:59:10 -08:00
Jae Kwon
a073b1db9c
Refactor replay console -> replay_file in consensus/replay_file.go
2017-01-15 16:19:02 -08:00
Ethan Buchman
f347143b3d
Merge branch 'master' into develop
...
Conflicts:
cmd/tendermint/flags.go
glide.lock
glide.yaml
node/node.go
rpc/core/routes.go
version/version.go
2017-01-12 20:48:10 -05:00
Ethan Buchman
c147b41013
TMSP -> ABCI
2017-01-12 15:53:32 -05:00
Ethan Buchman
db437e7a45
broadcast_tx via grpc
2016-12-02 00:29:25 -05:00
Ethan Buchman
8b80f8ee05
feature flag: pex reactor
2016-11-30 23:07:45 -05:00
Ethan Buchman
e0db20c0cf
update privValidatorIndex on valset change
2016-11-22 20:38:14 -05:00
Ethan Buchman
a3d863f83b
consensus: track index of privVal
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
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
d83fc02597
MakePartSet takes partSize from config. fix replay test
2016-11-16 01:23:16 -05:00
Jae Kwon
c1729addce
Fix BFT issue where VoteSetMaj23Message wasn't being sent where prs.Round == blockStore.Round()
2016-11-15 18:48:35 -05:00
Jae Kwon
3d3d8b5b7b
cswal -> cs_wal_dir
2016-10-30 03:55:27 -07:00
Jae Kwon
eab4e1cfa1
Remove redundant cs.WAL from NewNode()
2016-10-17 16:37:32 -07:00
Ethan Buchman
2113b6f4bb
rpc: use interfaces for pipe
2016-10-14 21:38:49 -04:00
Ethan Buchman
35d4cca8bb
type safe events
2016-10-10 03:10:29 -04:00
Ethan Buchman
c7e578ac0d
check tmsp client err and set mustConnect=false
2016-09-11 16:08:46 -04:00
Ethan Buchman
caeda30b72
proxy: wrap NewTMSPClient in ClientCreator
2016-09-10 17:19:47 -04:00
Ethan Buchman
41918d619c
expose query and info through rpc
2016-09-10 17:14:42 -04:00
Ethan Buchman
bfa690b6f7
config: reduce timeouts during test
2016-09-10 15:16:23 -04:00
Ethan Buchman
035ca7ef61
proxy: NewAppConns takes a NewTMSPClient func
2016-09-09 23:55:24 -04:00
Ethan Buchman
9bb32f41f1
config: filter_peers defaults to false
2016-09-08 18:56:02 -04:00
Ethan Buchman
943ad0e93f
filter peers by addr/pubkey. closes #244
2016-08-25 14:20:11 -04:00
Ethan Buchman
d9205a85d5
query conn
2016-08-24 01:45:45 -04:00
Ethan Buchman
3a7ee13ece
proxy: typed app conns
2016-08-24 01:45:45 -04:00
Ethan Buchman
bd429f3d4f
config: all urls use tcp:// or unix:// prefix
2016-08-10 02:16:41 -04:00
Ethan Buchman
65ebc344ac
broadcast_commit
2016-07-05 14:26:20 -04:00
Ethan Buchman
cac3cefd98
set log level. use p2p config
2016-06-11 20:19:58 -07:00
Ethan Buchman
6365c5efb5
bring back unsafe_set_config
2016-06-11 20:19:40 -07:00
Ethan Buchman
2a1e7a427d
support tmsp via grpc
2016-05-23 14:46:32 -04:00
Ethan Buchman
b2e612fb79
default empty seeds. some node methods
2016-05-11 14:45:20 -04:00