Commit Graph

217 Commits

Author SHA1 Message Date
Ethan Buchman 66c2b60324 version and changelog 2018-04-30 16:06:45 -04:00
Ethan Buchman c90bf77566 rpc: add n_peers to /net_info 2018-04-28 16:09:18 -04:00
Ethan Buchman 64569b15e5 fix build and test 2018-04-28 15:39:09 -04:00
Ethan Buchman 0cbbb61962 minor cleanup 2018-04-28 01:02:39 -04:00
Ethan Buchman fa66694f2e Merge branch 'develop' into fix-persistent-first 2018-04-28 00:34:03 -04:00
Ethan Buchman 79bfbebfff rpc: docs/comments 2018-04-27 23:19:40 -04:00
Ethan Buchman ffe81a0206 changelog and version 2018-04-27 12:35:21 -04:00
Ethan Buchman 1ab89e6cbf update changelog 2018-04-27 12:23:00 -04:00
Ethan Buchman 25cee8827a
Merge branch 'develop' into 1428-remove-wal-light 2018-04-27 12:06:08 -04:00
Ethan Buchman d48a6f930d document pre-amino pubkeys/addresses 2018-04-26 20:46:08 -04:00
Anton Kaliaev 1706ce6f7f
update changelog for 0.19.0 release 2018-04-13 10:50:34 +02:00
Bric3d 64879c1e6a 1417 status response format (#1424)
* Reformated the ResultStatus

* fix misuse of ResultStatus.

* updated changelog

* Fixed tests

* fixed rpc helper tests

* fixed rpc_tests

* fixed mock/status_test

* fixed typo

* fixed ommitempty on validatorstatus and the changelog

* fixed extra line in changelog

* Updated usage of the /status json response in tests after breaking changes

* Updated remaining tests with changes after searching the codebase for usage

* Reformated the ResultStatus

* fix misuse of ResultStatus.

* updated changelog

* Fixed tests

* fixed rpc helper tests

* fixed rpc_tests

* fixed mock/status_test

* fixed typo

* fixed ommitempty on validatorstatus and the changelog

* Updated usage of the /status json response in tests after breaking changes

* Updated remaining tests with changes after searching the codebase for usage

* rebased against develop
2018-04-11 10:38:34 +02:00
Anton Kaliaev e88f74bb9b
remove wal_light setting
Closes #1428
2018-04-11 10:08:03 +02:00
Ethan Buchman dcd00b0e68 update deps and changelog 2018-04-09 16:36:42 +03:00
Ethan Buchman 9cc2cf362f changelog and version 2018-04-06 23:03:27 +03:00
Ethan Buchman ed93fb34ab
Merge pull request #1350 from tendermint/1275-p2p-loopbacks
p2p: loopbacks should be detected and ignored instead of dialling self infinitely
2018-04-06 18:59:05 +03:00
Anton Kaliaev d38a6cc7ea trim whitespace from elements of lists (like `persistent_peers`)
Refs #1380
2018-04-05 16:42:26 +03:00
Anton Kaliaev 3a672cb2a9
update changelog [ci skip] 2018-04-05 15:27:46 +02:00
Ethan Buchman 7cce07bc99
Merge pull request #1352 from tendermint/1228-require-id
p2p: require all addresses come with an ID no matter what
2018-04-05 15:55:41 +03:00
Anton Kaliaev cee7b5cb54 GetSelectionWithBias
Refs #1130
2018-04-05 12:00:16 +02:00
Anton Kaliaev 904a3115a6
require addresses to have an ID by default
Refs #1228
2018-04-05 11:55:29 +02:00
Anton Kaliaev ed782e7508
include validator's voting power in /status
Refs #581
2018-04-04 11:34:59 +02:00
Anton Kaliaev 8462493cbf [rpc] fix subscribing using an abci.ResponseDeliverTx tag
Refs #1369
2018-04-03 15:53:13 +02:00
Javed Khan 5ef639fcbe
p2p: persistent - redial if first dial fails
Fixes #1401
2018-04-03 09:27:06 +05:30
Anton Kaliaev 2d857c4b1b
add hash field to ResultTx (/tx and /tx_search endpoints) (#1374)
Refs #1367
2018-03-28 15:44:58 +02:00
Ethan Buchman 9bf5862def types: fix genesis.AppStateJSON 2018-03-27 11:20:09 -04:00
Ethan Buchman e1d98bb7f6 forgot bug fix in changelog 2018-03-27 10:06:30 -04:00
Anton Kaliaev 4e86835163
update changelog for 0.17.0 release 2018-03-27 09:06:32 +02:00
Anton Kaliaev 2c1887a635
update changelog 2018-03-26 22:06:58 +02:00
Anton Kaliaev b11c26cc1c
update CHANGELOG 2018-03-19 19:53:28 +03:00
Anton Kaliaev a39aec0bae
rename private_peers to private_peer_ids to distinguish from peers 2018-03-15 11:55:30 +04:00
Anton Kaliaev 8bef3eb1f4
private peers
Refs #1126
2018-03-15 11:55:29 +04:00
Anton Kaliaev e8d8aedd1f
update changelog 2018-03-01 12:00:09 +04:00
Anton Kaliaev 056b70b4ce
update changelog 2018-02-28 23:44:10 +04:00
Ethan Buchman 9293ae76bf p2p: introduce peerConn to simplify peer creation (#1226)
* expose AuthEnc in the P2P config

if AuthEnc is true, dialed peers must have a node ID in the address and
it must match the persistent pubkey from the secret handshake.

Refs #1157

* fixes after my own review

* fix docs

* fix build failure

```
p2p/pex/pex_reactor_test.go:288:88: cannot use seed.NodeInfo().NetAddress() (type *p2p.NetAddress) as type string in array or slice literal
```

* p2p: introduce peerConn to simplify peer creation

* Introduce `peerConn` containing the known fields of `peer`
* `peer` only created in `sw.addPeer` once handshake is complete and NodeInfo is checked
* Eliminates some mutable variables and makes the code flow better
* Simplifies the `newXxxPeer` funcs
* Use ID instead of PubKey where possible.
        * SetPubKeyFilter -> SetIDFilter
        * nodeInfo.Validate takes ID
        * remove peer.PubKey()

* persistent node ids

* fixes from review

* test: use ip_plus_id.sh more

* fix invalid memory panic during fast_sync test

```
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: panic: runtime error: invalid memory address or nil pointer dereference
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x98dd3e]
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]:
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: goroutine 3432 [running]:
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: github.com/tendermint/tendermint/p2p.newOutboundPeerConn(0xc423fd1380, 0xc420933e00, 0x1, 0x1239a60, 0
xc420128c40, 0x2, 0x42caf6, 0xc42001f300, 0xc422831d98, 0xc4227951c0, ...)
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: #011/go/src/github.com/tendermint/tendermint/p2p/peer.go:123 +0x31e
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: github.com/tendermint/tendermint/p2p.(*Switch).addOutboundPeerWithConfig(0xc4200ad040, 0xc423fd1380, 0
xc420933e00, 0xc423f48801, 0x28, 0x2)
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: #011/go/src/github.com/tendermint/tendermint/p2p/switch.go:455 +0x12b
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: github.com/tendermint/tendermint/p2p.(*Switch).DialPeerWithAddress(0xc4200ad040, 0xc423fd1380, 0x1, 0x
0, 0x0)
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: #011/go/src/github.com/tendermint/tendermint/p2p/switch.go:371 +0xdc
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: github.com/tendermint/tendermint/p2p.(*Switch).reconnectToPeer(0xc4200ad040, 0x123e000, 0xc42007bb00)
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: #011/go/src/github.com/tendermint/tendermint/p2p/switch.go:290 +0x25f
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: created by github.com/tendermint/tendermint/p2p.(*Switch).StopPeerForError
2018-02-21T06:30:05Z box887.localdomain docker/local_testnet_4[14907]: #011/go/src/github.com/tendermint/tendermint/p2p/switch.go:256 +0x1b7
```
2018-02-27 15:54:40 +04:00
Ethan Buchman ec2f3f49ef changelog date and version 2018-02-19 17:35:46 -05:00
Ethan Buchman 8bba7c64bc update version and changelog [ci skip] 2018-02-19 17:33:48 -05:00
Anton Kaliaev cf1f483526
add seed_mode flag (`--p2p.seed_mode`) 2018-02-08 17:20:55 +04:00
Ethan Buchman fb109db33d update changelog 2018-01-25 02:10:01 -05:00
Ethan Buchman e6b70baae0 Merge branch 'develop' into 864-distinguish-between-seeds-and-manual-peers 2018-01-13 14:34:32 -05:00
Anton Kaliaev 1b455883d2
readd /dial_seeds 2018-01-09 17:54:28 -06:00
Anton Kaliaev e4897b7bdd
rename manual peers to persistent peers 2018-01-09 16:18:05 -06:00
Anton Kaliaev 37f86f9518
update changelog [ci skip] 2018-01-09 16:04:07 -06:00
Zach e0e600df05
Merge branch 'develop' into config 2018-01-06 05:30:38 +00:00
Ethan Buchman 381fe19335 changelog date [ci skip] 2017-12-29 17:51:19 -05:00
Ethan Buchman 60f95cd9ea changelog and version 2017-12-29 11:28:44 -05:00
Ethan Buchman 8d8d63c94c changelog 2017-12-28 23:15:54 -05:00
Zach Ramsay 70ba608850 config: write all default options to config file
config: test the default file

docs: spiff up config

config: minor fixes & comments

config: simplify test

config; use a seperate config directory, #556

config: update docs & parameterize file paths

config: PR comments

config: use the default object

fix a rebase error
2017-12-28 20:49:02 +00:00
Anton Kaliaev 2f91289880
update changelog [ci skip] 2017-12-13 12:26:12 -06:00
Ethan Buchman 11761d1769 initial port of cosmos-sdk basecli proxy 2017-12-11 22:23:13 -05:00
Ethan Buchman 2af32d6665 changelog and version bump 2017-12-11 15:05:56 -05:00
Ethan Buchman 5c58db3bb4 changelog [ci skip] 2017-12-11 14:49:34 -05:00
Ethan Buchman e7b9cd8ee8
Merge branch 'develop' into 785-wal-improvements 2017-12-10 19:45:52 -05:00
Anton Kaliaev 101680d603
update changelog [ci skip] 2017-12-10 11:35:22 -06:00
Anton Kaliaev d819d5d324
update changelog [ci skip] 2017-12-10 11:34:08 -06:00
Ethan Buchman 6884463ba2 update changelog [ci skip] 2017-12-06 03:38:03 -05:00
Ethan Buchman 167d0e82f9 fixes and version bump 2017-12-06 03:33:03 -05:00
Ethan Buchman 42e77de6a3 changelog; minor stuff; update glide 2017-12-06 02:45:38 -05:00
Ethan Buchman 1e8deacf2e Merge branch 'master' into develop 2017-11-28 04:39:41 +00:00
Adrian Brink 25f9eb782b Upgrade tmlibs dependency to build on Windows 2017-11-28 04:04:58 +00:00
Ethan Buchman 53f15fde07 update changelog 2017-11-17 00:04:03 +00:00
Ethan Buchman d71aed309f some minor changes 2017-10-30 22:52:03 -04:00
Anton Kaliaev 61d76a273f
fixes from Bucky's and Emmanuel's reviews 2017-10-30 11:12:01 -05:00
Anton Kaliaev 1c1c68df8d
fixes from my own review 2017-10-30 00:32:23 -05:00
Anton Kaliaev f6539737de
new pubsub package
comment out failing consensus tests for now

rewrite rpc httpclient to use new pubsub package

import pubsub as tmpubsub, query as tmquery

make event IDs constants
EventKey -> EventTypeKey

rename EventsPubsub to PubSub

mempool does not use pubsub

rename eventsSub to pubsub

new subscribe API

fix channel size issues and consensus tests bugs

refactor rpc client

add missing discardFromChan method

add mutex

rename pubsub to eventBus

remove IsRunning from WSRPCConnection interface (not needed)

add a comment in broadcastNewRoundStepsAndVotes

rename registerEventCallbacks to broadcastNewRoundStepsAndVotes

See https://dave.cheney.net/2014/03/19/channel-axioms

stop eventBuses after reactor tests

remove unnecessary Unsubscribe

return subscribe helper function

move discardFromChan to where it is used

subscribe now returns an err

this gives us ability to refuse to subscribe if pubsub is at its max
capacity.

use context for control overflow

cache queries

handle err when subscribing in replay_test

rename testClientID to testSubscriber

extract var

set channel buffer capacity to 1 in replay_file

fix byzantine_test

unsubscribe from single event, not all events

refactor httpclient to return events to appropriate channels

return failing testReplayCrashBeforeWriteVote test

fix TestValidatorSetChanges

refactor code a bit

fix testReplayCrashBeforeWriteVote

add comment

fix TestValidatorSetChanges

fixes from Bucky's review

update comment [ci skip]

test TxEventBuffer

update changelog

fix TestValidatorSetChanges (2nd attempt)

only do wg.Done when no errors

benchmark event bus

create pubsub server inside NewEventBus

only expose config params (later if needed)

set buffer capacity to 0 so we are not testing cache

new tx event format: key = "Tx" plus a tag {"tx.hash": XYZ}

This should allow to subscribe to all transactions! or a specific one
using a query: "tm.events.type = Tx and tx.hash = '013ABF99434...'"

use TimeoutCommit instead of afterPublishEventNewBlockTimeout

TimeoutCommit is the time a node waits after committing a block, before
it goes into the next height. So it will finish everything from the last
block, but then wait a bit. The idea is this gives it time to hear more
votes from other validators, to strengthen the commit it includes in the
next block. But it also gives it time to hear about new transactions.

waitForBlockWithUpdatedVals

rewrite WAL crash tests

Task:
test that we can recover from any WAL crash.

Solution:
the old tests were relying on event hub being run in the same thread (we
were injecting the private validator's last signature).

when considering a rewrite, we considered two possible solutions: write
a "fuzzy" testing system where WAL is crashing upon receiving a new
message, or inject failures and trigger them in tests using something
like https://github.com/coreos/gofail.

remove sleep

no cs.Lock around wal.Save

test different cases (empty block, non-empty block, ...)

comments

add comments

test 4 cases: empty block, non-empty block, non-empty block with smaller part size, many blocks

fixes as per Bucky's last review

reset subscriptions on UnsubscribeAll

use a simple counter to track message for which we panicked

also, set a smaller part size for all test cases
2017-10-30 00:32:22 -05:00
Ethan Buchman b2b35d7dc1 update changelog 2017-10-27 11:54:20 -04:00
Ethan Buchman a1501dcde8 version bump 2017-10-27 11:54:20 -04:00
Ethan Buchman bb6c15b00a CHANGELOG [ci skip] 2017-10-26 09:42:46 -04:00
Ethan Buchman fcf459158d CHANGELOG [ci skip] 2017-10-26 00:29:58 -04:00
Anton Kaliaev b26f812399
update changelog 2017-10-16 10:58:52 +04:00
Ethan Buchman 3356544706 update changelog 2017-10-10 11:10:48 -04:00
Anton Kaliaev 4bd4d59af5
update changelog [ci skip] 2017-10-10 01:14:00 +04:00
Ethan Buchman aa57e89e21 changelog: add genesis amount->power 2017-10-02 14:28:04 -04:00
Ethan Buchman 7d983a548b changelog 2017-09-22 11:44:25 -04:00
Ethan Buchman b0017c5460 update CHANGELOG [ci skip] 2017-09-21 12:34:37 -04:00
Anton Kaliaev 2252071866 update changelog 2017-09-18 16:36:03 -04:00
Zach Ramsay 044fe56b43 update changelog 2017-09-16 15:24:30 -04:00
Ethan Buchman b9637f7185 Update changelog and add roadmap 2017-09-05 16:25:02 -04:00
Ethan Buchman f644fc5725 changelog 2017-08-10 00:04:07 -04:00
Ethan Buchman 37f1390473 CreateEmptyBlocks and CreateEmptyBlocksInterval 2017-08-08 16:22:37 -04:00
Ethan Buchman d396053872 changelog 2017-07-28 22:11:45 -04:00
Ethan Buchman eed0297ed5 Merge pull request #538 from zramsay/docs-rework
rework docs
2017-07-10 20:32:03 -04:00
Ethan Buchman 75df0d91ba comments from review 2017-07-10 13:39:23 -04:00
Ethan Buchman bcde80fc4f changelog 2017-07-09 18:49:22 -04:00
Ethan Buchman eed3959749 version bump 2017-07-09 13:17:01 -04:00
Zach Ramsay 130ae133c1 fix link in changelog 2017-07-08 14:05:24 -04:00
Ethan Buchman e36e507463 changelog 2017-07-07 13:30:30 -04:00
Ethan Buchman 3c10f7a122 add p2p flush throttle to config 2017-07-07 13:08:52 -04:00
Ethan Buchman ca8c34f966 add consensus reactor sleep durations to the config 2017-07-07 12:39:40 -04:00
Ethan Buchman bfecb5a135 some fixes from review 2017-06-27 16:05:21 -04:00
Ethan Buchman b284d39e05 update changelog 2017-06-26 17:29:39 -04:00
Ethan Buchman 3065059da7 update changelog 2017-06-26 17:20:27 -04:00
Ethan Buchman 10828ad063 changelog 2017-06-24 22:55:48 -04:00
Ethan Buchman c94a92b30d update changelog and readme 2017-06-02 23:33:03 -04:00
Ethan Buchman d19d8e7914 update readme and changelog 2017-06-02 23:18:10 -04:00
Ethan Buchman 3fbe286e5a small fixes to changelog, config, default logging 2017-05-22 08:16:25 -04:00
Ethan Buchman 790e04ed3e add link to list of breaking funcs/methods 2017-05-18 12:32:34 +02:00
Ethan Buchman 772306cac8 update changelog and glide 2017-05-18 06:16:08 -04:00
Ethan Buchman 883b71ca70 update CHANGELOG 2017-05-17 00:27:03 +02:00
Ethan Buchman 6d83c60c40 [types] dont hash validator.Accum 2017-05-17 00:16:38 +02:00
Ethan Buchman cc2b430e68 update glide and changelog 2017-05-17 00:12:56 +02:00
Ethan Buchman 1310c72647 version bump and changelog 2017-04-26 20:06:45 -04:00
Ethan Buchman cc7b2d26e5 Merge branch 'master' into develop 2017-04-26 19:21:06 -04:00
Ethan Buchman 6bcd4242f1 CHANGELOG and version bump 2017-04-26 00:17:53 -04:00
Ethan Buchman d1926bcad1 use tmlibs 2017-04-21 18:12:54 -04:00
Ethan Buchman 5da9b3a803 postmerge 2017-04-21 18:09:47 -04:00
Ethan Buchman 23a6a6f8fc move into p2p package 2017-04-21 18:07:52 -04:00
Ethan Buchman f89279cf11 fix CHANGELOG 2017-04-21 13:39:02 -04:00
Ethan Buchman 58ccefa407 update changelog 2017-04-21 13:06:26 -04:00
Ethan Buchman 62860e4919 Merge pull request #453 from tendermint/feature/rename-txid-to-hash
Rename txid to hash
2017-04-21 12:16:08 -04:00
Anton Kaliaev 5e5fb37774
rename TxID to Hash 2017-04-21 18:39:02 +03:00
Ethan Buchman 7cf773e2d3 cli: testnet cmd inits files for testnet 2017-04-20 18:22:42 -04:00
Ethan Buchman 7d5b62b61f CHANGELOG and version bump 2017-04-18 23:58:24 -04:00
Ethan Buchman 480b24d9f0 CHANGELOG [ci skip] 2017-04-18 23:05:48 -04:00
Ethan Buchman 5420254b36 changelog: add prehistory 2017-03-09 01:34:11 -05:00
Ethan Buchman 8449e9794a CHANGELOG 2017-03-06 04:25:55 -05:00
Ethan Buchman 53d777a2d5 CHANGELOG.md 2017-03-06 01:30:41 -05:00