124032e3e9
NoEmptyBlocks config option
2017-07-28 22:11:45 -04:00
4beac54bd9
no empty blocks
2017-07-28 22:11:45 -04:00
39493bcd9a
consensus: isProposer func
2017-07-28 22:11:10 -04:00
73ced040a3
[tm-bench] updated deps
2017-07-28 18:13:39 -04:00
f96771e753
cleanup CONTRIBUTING.md, part of https://github.com/zramsay/tendermint/issues/7
2017-07-28 16:45:03 -04:00
62f94a7948
deduplicate install, closes https://github.com/zramsay/tendermint/issues/2
2017-07-28 16:34:38 -04:00
d7c936abfa
Added timezone setting for CentOS
2017-07-28 19:30:59 +00:00
03d2b2446e
Merge pull request #28 from odeke-em/godoc-for-references
...
README: add godoc instead of tedious MD regeneration
2017-07-28 15:09:54 -04:00
ce80f234c7
README: add godoc instead of tedious MD regeneration
...
Add a godoc reference to delegate indexing and references
to that service, thus keeping our library and usages upto date,
instead of relying on generated markdown that goes stale
especially for changing API signatures, and becomes tedious
where someone has to remember to always regenerate the README
markdown and then commit it.
Fixes #24
2017-07-28 13:01:31 -06:00
773f7aac5b
Debugging perftestnets
2017-07-28 18:32:29 +00:00
f2c881573c
Merge pull request #26 from odeke-em/improve-reverse-bytes+tests
...
hd: optimize ReverseBytes + add tests
2017-07-28 14:28:16 -04:00
ae9c5b1ca0
hd: optimize ReverseBytes + add tests
...
* Optimized ReverseBytes to:
a) Minimally allocate --> 60.0% reduction in the number of allocations
b) Only walk halfway the length of the string thus performing
byte swaps from left to right. Improves the performance as well.
Complexity is O(n/2) instead of O(n) which is still O(n) but
benchmarks show the new time is in deed 1/2 of the original time.
* Added unit tests and some common cases to ensure correctness.
* Benchmark shoot out results:
```shell
name old time/op new time/op delta
ReverseBytes-4 554ns ± 4% 242ns ± 3% -56.20% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
ReverseBytes-4 208B ± 0% 114B ± 0% -45.19% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
ReverseBytes-4 10.0 ± 0% 4.0 ± 0% -60.00% (p=0.000 n=10+10)
```
2017-07-28 12:21:41 -06:00
e212bf1aa0
config ansible role fix
2017-07-28 17:48:53 +00:00
dcb86f4d12
Fix: ansible playbook to deploy tendermint
2017-07-28 17:22:08 +00:00
55c0a79aa6
Fixed templates to run on AWS, added option to install tendermint with dummy app
2017-07-28 15:52:15 +00:00
d1ca2c6f83
[common] add a test for WriteFileAtomic
2017-07-28 11:40:21 -04:00
b25aa3b472
[common] do not create {filePath}.bak in WriteFileAtomic
...
We use WriteFileAtomic in two places:
```
p2p/addrbook.go
338: err = cmn.WriteFileAtomic(filePath, jsonBytes, 0644)
types/priv_validator.go
162: err = WriteFileAtomic(privVal.filePath, jsonBytes, 0600)
```
and we don't need .bak in any of the above. We save priv_validator every
10ms and addrbook every 2 min.
2017-07-28 11:40:21 -04:00
8a51210efc
[common] use temp intead of {filePath}.new
...
The problem with {filePath}.new is that it is not safe for concurrent
use! Calling this function with the same params results in the following
error:
```
panic: Panicked on a Crisis: rename /root/.tendermint_test/consensus_replay_test/priv_validator.json.new /root/.tendermint_test/consensus_replay_test/priv_validator.json: no such file or directory
goroutine 47860 [running]:
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common.PanicCrisis(0xcba800, 0xc42152d640)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common/errors.go:33 +0x10f
github.com/tendermint/tendermint/types.(*PrivValidator).save(0xc42235f2c0)
/go/src/github.com/tendermint/tendermint/types/priv_validator.go:165 +0x159
github.com/tendermint/tendermint/types.(*PrivValidator).signBytesHRS(0xc42235f2c0, 0x6, 0x0, 0xc424e88f03, 0xc429908580, 0xca, 0x155, 0x80, 0xc424e88f00, 0x7f4ecafc88d0, ...)
/go/src/github.com/tendermint/tendermint/types/priv_validator.go:249 +0x2bb
github.com/tendermint/tendermint/types.(*PrivValidator).SignVote(0xc42235f2c0, 0xc4228c7460, 0xf, 0xc424e88f00, 0x0, 0x0)
/go/src/github.com/tendermint/tendermint/types/priv_validator.go:186 +0x1a2
github.com/tendermint/tendermint/consensus.(*ConsensusState).signVote(0xc424efd520, 0xc400000002, 0xc422d5e3c0, 0x14, 0x20, 0x1, 0xc4247b6560, 0x14, 0x20, 0x0, ...)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:1556 +0x35e
github.com/tendermint/tendermint/consensus.(*ConsensusState).signAddVote(0xc424efd520, 0x2, 0xc422d5e3c0, 0x14, 0x20, 0x1, 0xc4247b6560, 0x14, 0x20, 0xc42001b300)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:1568 +0x200
github.com/tendermint/tendermint/consensus.(*ConsensusState).enterPrecommit(0xc424efd520, 0x6, 0x0)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:1082 +0x13a4
github.com/tendermint/tendermint/consensus.(*ConsensusState).addVote(0xc424efd520, 0xc424e88780, 0x0, 0x0, 0x39, 0x1dc, 0x28c)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:1477 +0x1be5
github.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote(0xc424efd520, 0xc424e88780, 0x0, 0x0, 0xd7fb00, 0xc42152ce00)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:1382 +0x93
github.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg(0xc424efd520, 0xcb58e0, 0xc42547feb8, 0x0, 0x0, 0x6, 0x0, 0x4, 0xed10ca07e, 0x3077bfea, ...)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:660 +0x9fc
github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine(0xc424efd520, 0x0)
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:615 +0x5f5
created by github.com/tendermint/tendermint/consensus.(*ConsensusState).OnStart
github.com/tendermint/tendermint/consensus/_test/_obj_test/state.go:332 +0x4a7
exit status 2
FAIL github.com/tendermint/tendermint/consensus 76.644s
make: *** [test_integrations] Error 1
```
See https://github.com/tendermint/tendermint/pull/568
2017-07-28 11:39:59 -04:00
bc398a5859
Removed useradd dependency so package works for Amazon Linux
2017-07-27 20:48:57 +00:00
4cb362d625
Preparations and fixes for AWS deployments
2017-07-27 20:40:10 +00:00
bf355d1b58
Merge pull request #23 from tendermint/feature/short-recover-text
...
Shorter recovery seed
2017-07-27 16:11:03 -04:00
050b965708
Code cleanup ala Emmanuel
2017-07-27 15:59:59 -04:00
b6af7e78d8
build process fix: tendermint folder permission
2017-07-26 21:39:48 +00:00
22fb175d62
CentOS build fix: home folder of app is readable by all
2017-07-26 21:07:27 +00:00
10222adaf1
Remove deprecated code. Now in basecoin/weave
2017-07-26 16:12:25 -04:00
c20e83565c
Recovery also works with secp256 keys
2017-07-22 05:53:46 -04:00
4ff889a236
Use 16 random bytes for seed and key, crc16 by default
2017-07-22 05:44:09 -04:00
65da3cf340
Add crc16 support
2017-07-22 05:25:59 -04:00
a6a06f820f
[pubsub/query] quote values using single quotes
...
This fixes the problem with base-16 encoded values which may start with
digits: 015AB.... In such cases, the parser recognizes them as numbers
but fails to parse because of the follow-up characters (AB).
```
failed to parse tm.events.type=Tx AND hash=136E18F7E4C348B780CF873A0BF43922E5BAFA63:
parse error near digit (line 1 symbol 31 - line 1 symbol 32):
"6"
```
So, from now on we should quote any values. This seems to be the way
Postgresql has chosen.
2017-07-21 13:20:32 +03:00
2f6f3e6aa7
Merge pull request #28 from tendermint/feature/376-events.v2
...
New pubsub package plus the query subpackage
2017-07-20 15:03:02 -04:00
77f6febb03
rename TestClientResubscribes to TestClientSubscribesTwice
...
test UnsubscribeAll properly
test BufferCapacity getter
2017-07-20 11:46:22 +03:00
e9b7221292
consensus: more comments
2017-07-20 00:59:28 -04:00
3c6c1b7d33
common: ProtocolAndAddress
2017-07-19 15:02:04 -04:00
5fea1d2675
[.editorconfig] add rule for .proto files [ci skip]
2017-07-19 12:29:10 +03:00
7a492e3612
Merge pull request #549 from tendermint/rpc-server-proposal
...
RPC server ADR
2017-07-19 10:44:12 +03:00
b893df3348
add rpc server proposal [ci skip]
2017-07-19 10:43:30 +03:00
742b5b705f
update link to contributing guidelines in README.md [ci skip]
2017-07-19 10:35:54 +03:00
0153d21f3b
Update website links on README.md ( #589 ) [ci skip]
...
* Update website links on README.md
Changed the blog links to Medium.
Updated Tendermint website links.
* correct link for Tendermint blog [ci skip]
2017-07-19 10:31:49 +03:00
992c54253f
fixes from gometalinter review
2017-07-18 11:53:41 +03:00
695ad5fe2d
Merge pull request #588 from tendermint/comments_cleanup
...
Comments and cleanup
2017-07-17 13:32:23 -04:00
d8ca0580a8
rpc: move grpc_test from test/ to grpc/
2017-07-17 12:58:15 -04:00
525fc0ae5b
types: block comments
2017-07-17 12:58:15 -04:00
311f18bebf
mempool: comments
2017-07-17 12:58:10 -04:00
d49a5166ac
scripts/txs: add 0x and randomness
2017-07-17 12:57:30 -04:00
e560dd839f
Merge pull request #587 from ramilexe/feature/sync_status
...
fast sync status
2017-07-17 11:51:44 -04:00
6f8d385dfa
fast sync status
2017-07-17 09:44:23 +03:00
17d6091ef4
updates as per Bucky's comments
2017-07-15 13:33:47 +03:00
e664f9c688
use context to provide timeouts!
2017-07-14 14:49:25 +03:00
0006bfc359
return ErrorOverflow on Subscribe if server is overflowed
...
> why we need it?
most of our subscribers will be RPC WS subscribers, so if there are too
many, nothing wrong with rejecting to subscribe.
however, consensus reactor must be the first to subscribe, since its
work depends on the pubsub package.
2017-07-14 13:02:32 +03:00
13207a5927
remove overflow options
2017-07-14 12:32:01 +03:00