Commit Graph

351 Commits

Author SHA1 Message Date
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
Jae Kwon ad17090a0f No global config 2016-05-08 15:00:58 -07:00
Ethan Buchman ae295bd9b6 bump rpc version; add consensus version 2016-04-19 20:45:33 -04:00
Ethan Buchman 0df4a723e9 support in process tmsp apps 2016-04-13 19:24:12 -04:00
Jae Kwon d5ab243cfd Fix #198; Do not fast-sync when lone validator 2016-03-24 18:08:18 -07:00
Jae Kwon a8ee0377d5 Use tmsp.Client interface 2016-03-24 10:42:05 -07:00
Jae Kwon c3980cb165 Warn on proxy hash mismatch, not fail 2016-03-23 20:22:45 -07:00
Jae Kwon 8183e3201b CommitSync() returns tmsp.Result 2016-03-23 02:49:30 -07:00
Jae Kwon 03115cbf93 Fix tests; Tests run in their own directory 2016-03-06 15:05:50 -08:00
Ethan Buchman 3891e4d66d config: cswal_light, mempool_broadcast, mempool_reap 2016-03-03 06:31:59 +00:00
Ethan Buchman 94a1978ce4 allow nil or dummy for in-proc 2016-02-26 21:29:46 -05:00
Ethan Buchman e2920d9702 use nil-app for in-proc 2016-02-26 20:07:04 -05:00
Ethan Buchman 254693bf86 rpc_laddr is a list 2016-02-19 00:21:07 +00:00
Jae Kwon d17d4fa106 Fix tmsp/example import paths 2016-02-14 15:03:55 -08:00
Jae Kwon a6d37a49a2 s/GetHash/Commit/g 2016-02-14 13:11:01 -08:00
Jae Kwon df2933d40d Merge branch 'blackstar' 2016-02-08 13:49:27 -08:00
Jae Kwon a4f57e164b BroadcastTx results 2016-02-08 00:48:58 -08:00
Ethan Buchman cbf7ad61f3 change local app to dummy from counter 2016-02-06 11:07:50 -05:00
Jae Kwon 24af8e3da2 Merge branch 'tmsp_v02' 2016-01-28 20:03:34 -08:00
Jae Kwon 0f1cf243fd Merge remote-tracking branch 'origin/replay' 2016-01-28 19:53:22 -08:00
Jae Kwon 236c7afe9e Conform to TMSP v0.2 2016-01-25 14:34:08 -08:00
Ethan Buchman 3cce757adc move DialSeeds to go-p2p and add to rpc 2016-01-20 13:12:42 -05:00
Ethan Buchman 26f0e2bc2d msgLogFP -> write ahead log 2016-01-18 14:44:45 -05:00
Ethan Buchman 3b06368569 rebase fixes 2016-01-14 20:15:33 -05:00
Ethan Buchman 6bcf53195f consensus: use replay log to avoid sign regression 2016-01-14 18:58:12 -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
Ethan Buchman 3fdb4c03ab rpc: TMResult and TMEventData 2016-01-13 18:38:55 -05:00
Ethan Buchman 799efb0629 merge/rebase fixes 2016-01-12 19:39:53 -05:00
Ethan Buchman ee449a94c8 move ResultEvent to go-events 2016-01-12 19:15:10 -05:00
Ethan Buchman fb59255095 use TendermintResult for rpctypes.Result 2016-01-12 19:15:10 -05:00
Ethan Buchman 0be13d1d27 move alert, events, rpc into own repos 2016-01-12 19:15:10 -05:00
Ethan Buchman 96547d0ca8 ws fixes; rpc tests 2016-01-12 19:14:02 -05:00
Jae Kwon 790cde028b Remove NewNodeDefault... 2016-01-12 16:04:34 -08:00
Jae Kwon c9dbd81178 Merge remote-tracking branch 'remotes/origin/signer'
Conflicts:
	types/priv_validator.go
2016-01-12 15:58:48 -08:00
Jae Kwon 3e3c0083c7 Make order be decided first; Remove TMSP Commit/Rollback 2016-01-08 16:51:20 -08:00
Jae Kwon f288e58c81 Prefix TMSP messages with length 2015-12-20 08:18:39 -08:00
Ethan Buchman 28ec3d48fa signer interface for validators 2015-12-16 13:07:07 -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
Jae Kwon 67e74756f4 Remove PEX/AddrBook 2015-12-05 18:10:26 -08:00
Jae Kwon f37f578b1d Add RemoteAddr and ListenAddr to NodeInfo 2015-12-05 09:13:21 -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
Jae Kwon 7c12c5aee3 Fix config bug where chain_id is default magic. Always read from genesis 2015-10-20 17:39:03 -07:00
Jae Kwon 26905b1260 Make Tendermint genesis agnostic; wait for file to start node 2015-10-18 07:20:05 -07:00
Jae Kwon fa956596dc Merge remote-tracking branch 'origin/config' into develop 2015-10-11 18:18:53 -07:00
Ethan Buchman bb662b8861 more config options 2015-09-25 11:58:11 -04:00
Ethan Buchman b54522c60f more versioning 2015-09-16 05:08:06 +00: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 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 a84d4320df websockets accept rpc requests 2015-07-23 17:57:15 -07:00
Jae Kwon 91cf9d4595 remove spurious :6060 listener for pprof 2015-07-23 17:56:12 -07:00
Jae Kwon 7441e322d0 fix node/addrbook test; made build task quieter 2015-07-22 06:21:20 -07:00
Ethan Buchman 5f0cf31eda add test for node start/stop (failing) 2015-07-21 18:15:40 -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
Ethan Buchman e087284a4f update logger package for new level 'notice' 2015-07-19 22:43:58 +00:00
Jae Kwon e4c351f5fc UUID -> PubKeyEd25519 2015-07-15 14:31:03 -07:00
Jae Kwon fd64547ce7 Put a SecretConnection before the MConnection; Node Priv/PubKeys 2015-07-15 14:17:20 -07:00
Jae Kwon e4fae760af move revisions file to ~/.tendermint/ 2015-07-13 11:49:09 -07:00
Ethan Buchman 9dba060e25 log chainID on startup 2015-07-12 16:49:16 +00:00
Ethan Buchman d0610845dc peers use uuid to avoid duplicate connections 2015-07-12 02:16:33 +00:00
Ethan Buchman 3f7f3dd37f add git commit hash to nodeInfo 2015-07-12 02:16:33 +00: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 c79062ef6a Fix state/State race condition bug. 2015-07-09 21:46:15 -07:00
Ethan Buchman 3416004359 names in gendoc, genesis_test 2015-07-07 14:09:35 -07: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 3565db4eef Refactor RPC/*, tendermint/config for debora+barak 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
Androlo 3b142b9277 getter for blockstore in Node 2015-05-15 16:27:22 +02:00
Jae Kwon be90fd1e0d rpc cleanup; tendermint init 2015-05-12 19:03:05 -07:00
Jae Kwon 85c8850ac2 Config names have no dots, are under_scored. 2015-05-12 17:40:29 -07:00
Jae Kwon ae171ba134 random dialing 2015-05-06 10:50:57 -07:00
Jae Kwon 3c96890d2d All numbers are in BigEndian 2015-05-03 17:42:46 -07:00
Jae Kwon e6a96e2cd6 bump version 2015-05-01 18:06:15 -07:00
Jae Kwon 778992e31e Added pprof entry 2015-04-27 07:33:15 -07:00
Jae Kwon 9a8652e001 Include peer round states in the dump_consensus_state RPC call. 2015-04-25 11:49:26 -07:00
Ethan Buchman 9892dfd0b3 allow multiple seed nodes 2015-04-23 18:52:44 -07:00
Jae Kwon d9bfe82d93 rpc.StartHTTPServer listener bug fix 2015-04-23 18:33:20 -07:00
Jae Kwon 66ff985cd2 Added a registry to Barak. 2015-04-23 16:56:46 -07:00
Ethan Buchman 0e80059e79 versioning 2015-04-23 16:53:28 -07:00
Ethan Buchman d54bf6bcd5 blockchain reactor to consensus reactor transition on catchup 2015-04-21 19:51:23 -07:00
Jae Kwon dc1fddd1d8 Added NodeInfo (still need to add to AddrBook); Proper Handshake 2015-04-20 15:29:01 -07:00
Jae Kwon 5e45a849ab Generate PrivValidator file when it doesn't exist already 2015-04-18 14:46:44 -07:00
Jae Kwon a9467414d6 Merge remote-tracking branch 'origin/websockets' into develop 2015-04-17 13:20:47 -07:00
Ethan Buchman 65f669160f more fixes from review 2015-04-17 13:18:50 -07:00
Ethan Buchman d27e0bbad5 event cache and fireable interace 2015-04-16 00:08:58 -07:00
Jae Kwon 0ffbff108f Complete validation for debora 2015-04-13 13:14: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
Jae Kwon 0bb6c111bb ServeFile 2015-04-10 02:12:17 -07:00
Jae Kwon 675dbf0e9c Merge branch 'rpc_jae' into develop
Conflicts:
	node/node.go
	rpc/core/accounts.go
	rpc/core_client/client.go
	rpc/handlers.go
	rpc/http_server.go
	rpc/test/helpers.go
	rpc/test/http_rpc_test.go
	rpc/test/json_rpc_test.go
2015-04-08 14:27:03 -07:00
Jae Kwon a09051438c Intermediate... working on debora 2015-04-08 11:35:17 -07:00
Jae Kwon cc18136af8 RPC refactor to separate core from core_client and the rest of RPC.
Other random changes.
2015-04-07 11:44:25 -07:00