sort by:
Revision Author Date Message Commit Date
fff7f45 cs: set missing_validators(_power) metrics to 0 for 1st block (#4194) also - do not send any LastCommitInfo.Votes for 1st block. - use cs.LastValidators (not cs.Validators) in recordMetrics when counting missing validators note: remember that the first LastCommit is intentionally empty, so it makes sense for LastCommitInfo.Votes to also be empty. Because we can't really tell if validator signed or not. Similar for ^ metrics, we can't say if particular validator was missing or not. Closes #4192 18 December 2019, 15:46:21 UTC
bd77284 docs: update app-architecture.md (#4259) Address #4089 by clarifying the different uses of "application" 18 December 2019, 07:57:59 UTC
eec9b2c delete tm-monitor tool #4247 (#4255) * delete tm-monitor tool #4247 * removed docs * remove gox 17 December 2019, 14:50:32 UTC
9bd0f9e lint: golint issue fixes (#4258) * lint: golint issue fixes - on my local machine golint is a lot stricter than the bot so slowly going through and fixing things. Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * more fixes from golint * remove isPeerPersistentFn * add changelog entry 17 December 2019, 12:02:45 UTC
f077727 rpc: added proposer in consensus_state (#4250) * added proposer in consensus_state * added proposer in consensus_state * proposer changes * added proposer in consensus_state * proposer added 16 December 2019, 14:47:36 UTC
4bfec79 cli: debug sub-command (#4227) ## Issue Implement a new subcommand: tendermint debug. This subcommand itself has two subcommands: $ tendermint debug kill <pid> </path/to/out.zip> --home=</path/to/app.d> Writes debug info into a compressed archive. The archive will contain the following: ├── config.toml ├── consensus_state.json ├── net_info.json ├── stacktrace.out ├── status.json └── wal The Tendermint process will be killed. $ tendermint debug dump </path/to/out> --home=</path/to/app.d> This command will perform similar to kill except it only polls the node and dumps debugging data every frequency seconds to a compressed archive under a given destination directory. Each archive will contain: ├── consensus_state.json ├── goroutine.out ├── heap.out ├── net_info.json ├── status.json └── wal Note: goroutine.out and heap.out will only be written if a profile address is provided and is operational. This command is blocking and will log any error. replaces: #3327 closes: #3249 ## Commits: * Implement debug tool command stubs * Implement net getters and zip logic * Update zip dir API and add home flag * Add simple godocs for kill aux functions * Move IO util to new file and implement copy WAL func * Implement copy config function * Implement killProc * Remove debug fmt * Validate output file input * Direct STDERR to file * Godoc updates * Sleep prior to killing tail proc * Minor cleanup of godocs * Move debug command and add make target * Rename command handler function * Add example to command long descr * Move current implementation to cmd/tendermint/commands/debug * Update kill cmd long description * Implement dump command * Add pending log entry * Add gosec nolint * Add error check for Mkdir * Add os.IsNotExist(err) * Add to debugging section in running-in-prod doc 13 December 2019, 08:46:23 UTC
c970810 consensus/types: fix BenchmarkRoundStateDeepCopy panics (#4244) Fixes #4243 12 December 2019, 16:32:33 UTC
7b52f51 libs/common: Refactor libs/common 5 (#4240) * libs/common: Refactor libs/common 5 - move mathematical functions and types out of `libs/common` to math pkg - move net functions out of `libs/common` to net pkg - move string functions out of `libs/common` to strings pkg - move async functions out of `libs/common` to async pkg - move bit functions out of `libs/common` to bits pkg - move cmap functions out of `libs/common` to cmap pkg - move os functions out of `libs/common` to os pkg Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix testing issues * fix tests closes #41417 woooooooooooooooooo kill the cmn pkg Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add changelog entry * fix goimport issues * run gofmt 12 December 2019, 08:33:27 UTC
7e02211 scripts: remove install scripts (#4242) Closes #4202 - nobody's supporting them - users who want to try TM should use pre-build binaries - devs should be able to install using git clone (or use Vagrant) - validators don't use them (my guess) 12 December 2019, 08:11:28 UTC
89f0bbb libs/common: Refactor libs/common 4 (#4237) * libs/common: Refactor libs/common 4 - move byte function out of cmn to its own pkg - move tempfile out of cmn to its own pkg - move throttletimer to its own pkg ref #4147 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add changelog entry * fix linting issues 11 December 2019, 22:16:35 UTC
15e80d2 config: add rocksdb as a db backend option (#4239) Closes #3831 The support for rocksdb was added a while back in https://github.com/tendermint/tm-db/pull/12. This commit merely updates the documentation. 11 December 2019, 17:15:27 UTC
4da816a cli: add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) Closes #4113 11 December 2019, 11:48:46 UTC
0f69336 docs: remove "0 means latest" from swagger docs (#4236) Fixes #4014 The reason being when you call any endpoint supporting optional height and use `height=0`, it will return an error. For example: ``` $ curl localhost:2667/consensus_params?height=0 { "jsonrpc": "2.0", "id": -1, "error": { "code": -32603, "message": "Internal error", "data": "height must be greater than 0" } } ``` 11 December 2019, 10:16:38 UTC
2b30f02 cli: add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) Fixes #4234 11 December 2019, 08:59:57 UTC
27b00cf libs/common: refactor libs common 3 (#4232) * libs/common: refactor libs common 3 - move nil.go into types folder and make private - move service & baseservice out of common into service pkg ref #4147 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add changelog entry 11 December 2019, 08:31:25 UTC
efc27ab abci/kvstore: return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) Fixes #4177 11 December 2019, 08:09:43 UTC
afc4d7a libs/common: refactor libs/common 2 (#4231) * libs/common: refactor libs/common 2 - move random function to there own pkg Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * change imports and usage throughout repo * fix goimports * add changelog entry 10 December 2019, 17:38:34 UTC
dfebac8 libs/common: refactor libs/common 01 (#4230) * libs/common: Refactor libs/common 01 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * regenerate proto files, move intslice to where its used * update kv.KVPair(s) to kv.Pair(s) * add changelog entry * make intInSlice private 10 December 2019, 11:40:01 UTC
6b1fef7 rpc: update swagger docs to openapi 3.0 (#4223) * rpc: Update swagger docs to openapi 3.0 - closes #4144 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * adding content sections for schemas * removal of produces & consumes * add parameters * remove x from examples & disable contract tests until dredd is stable 10 December 2019, 08:14:49 UTC
a61f19b set Go 1.13 as min required version (#4228) 10 December 2019, 07:42:55 UTC
8b1b5b2 build(deps): bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.5.0 to 1.6.1. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.5.0...v1.6.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 09 December 2019, 09:50:40 UTC
f309077 update CONTRIBUTING.md (#4180) * First pass at updating the contribution guidelines * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Align text flow with diagram * tweaks based on feedback * add text for existing issue * tweaks 09 December 2019, 06:35:51 UTC
d1ada18 docs/introduction: add notes on architecture intro (#4175) 06 December 2019, 15:59:50 UTC
00c4b52 docs: fix broken ecosystem link (#4222) I put it as the awesome repo ecosytem section as this is currently the only place where there is tendermint only ecosystem information. - closes #4198 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 06 December 2019, 15:04:44 UTC
70d94b8 docs: Fix broken rpc link (#4221) - chane rpc link to master branch rpc docs, current link leads to 404 - closes #4199 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 06 December 2019, 14:57:26 UTC
3e2751d lint: Enable Golint (#4212) * Fix many golint errors * Fix golint errors in the 'lite' package * Don't export Pool.store * Fix typo * Revert unwanted changes * Fix errors in counter package * Fix linter errors in kvstore package * Fix linter error in example package * Fix error in tests package * Fix linter errors in v2 package * Fix linter errors in consensus package * Fix linter errors in evidence package * Fix linter error in fail package * Fix linter errors in query package * Fix linter errors in core package * Fix linter errors in node package * Fix linter errors in mempool package * Fix linter error in conn package * Fix linter errors in pex package * Rename PEXReactor export to Reactor * Fix linter errors in trust package * Fix linter errors in upnp package * Fix linter errors in p2p package * Fix linter errors in proxy package * Fix linter errors in mock_test package * Fix linter error in client_test package * Fix linter errors in coretypes package * Fix linter errors in coregrpc package * Fix linter errors in rpcserver package * Fix linter errors in rpctypes package * Fix linter errors in rpctest package * Fix linter error in json2wal script * Fix linter error in wal2json script * Fix linter errors in kv package * Fix linter error in state package * Fix linter error in grpc_client * Fix linter errors in types package * Fix linter error in version package * Fix remaining errors * Address review comments * Fix broken tests * Reconcile package coregrpc * Fix golangci bot error * Fix new golint errors * Fix broken reference * Enable golint linter * minor changes to bring golint into line * fix failing test * fix pex reactor naming * address PR comments 05 December 2019, 09:12:08 UTC
b0bb8a1 crypto: add sr25519 signature scheme (#4190) * sr25519 * added amino encoding * fixed dependencies * Apply suggestions from code review Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> Co-Authored-By: Marko <marbar3778@yahoo.com> * file structure * Apply suggestions from code review Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * address @melekes and @marbar3778 review * removed nolint * CHANGELOG and go-schnorrkel mod update 05 December 2019, 08:41:38 UTC
06b8752 docs: add flag documentation (#4219) 04 December 2019, 17:48:26 UTC
92d18d7 Rename Tag(s) to Event(s) (#4046) * Rename Tag(s) to Event(s) - tag was replaced with event, but in some places it still mentions tag, would be easier to understand if we tried to replace it with event to not confuse people. Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * more changes from tag -> event * rename events to compositeKeys and keys * Apply suggestions from code review Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * add minor documentation on how composite keys are constructed * rename eventkey to compositekey Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * add changelog entry & add info to regenerate confid to changelog entry 04 December 2019, 11:37:48 UTC
1c46145 networks/remote: turn on GO111MODULE and use git clone instead of go get (#4203) To execute the integration.sh, you need to run "source ./integration.sh". just execute command "./integration.sh" will not work. It is because "source ~/.profile" executes in a separate shell than the integration.sh script # **turn on the go module, default is auto. The value is off, if tendermint source code #is downloaded under $GOPATH/src directory echo "export GO111MODULE=on" >> ~/.profile # ** use git clone instead of go get. # once go module is on, go get will download source code to # specific version directory under $GOPATH/pkg/mod the make # script will not work git clone https://github.com/tendermint/tendermint.git #** need to install the package, otherwise tendermint testnet will not execute make install 04 December 2019, 11:17:57 UTC
49ffb70 p2p: extract maxBackoffDurationForPeer func and remove 1 test (#4218) * p2p/pex: extract maxBackoffDurationForPeer func * p2p: remove unnecessary TestSwitchAcceptRoutineUnconditionalPeersFirst 04 December 2019, 08:30:34 UTC
701e9ca p2p: add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) implementation spec of Improved Trusted Peering ADR-050 by B-Harvest - add unconditional_peer_ids and persistent_peers_max_dial_period to config - add unconditionalPeerIDs map to Switch struct default config value of persistent_peers_max_dial_period is 0s(disabled) Refs #4072, #4053 04 December 2019, 07:44:07 UTC
100078c cli: add `--cs.create_empty_blocks_interval` flag (#4205) Closes #4065 02 December 2019, 10:20:23 UTC
5527821 Blockchain v2 Scheduler (#4043) * Add processor prototype * Change processor API + expose a simple `handle` function which mutates internal state * schedule event handling * rename schedule -> scheduler * fill in handle function * processor tests * fix gofmt and ohter golangci issues * scopelint var on range scope * add check for short block received * small test reorg * ci fix changes * go.mod revert * some cleanup and review comments * scheduler fixes and unit tests, also small processor changes. changed scPeerPruned to include a list of pruned peers touchPeer to check peer state and remove the blocks from blockStates if the peer removal causes the max peer height to be lower. remove the block at sc.initHeight changed peersInactiveSince, peersSlowerThan, getPeersAtHeight check peer state prunablePeers to return a sorted list of peers lastRate in markReceived() attempted to divide by 0, temp fix. fixed allBlocksProcessed conditions maxHeight() and minHeight() to return sc.initHeight if no ready peers present make selectPeer() deterministic. added handleBlockProcessError() added termination cond. (sc.allBlocksProcessed()) to handleTryPrunePeer() and others. changed pcBlockVerificationFailure to include peer of H+2 block along with the one for H+1 changed the processor to call purgePeer on block verification failure. fixed processor tests added scheduler tests. * typo and ci fixes * remove height from scBlockRequest, golangci fixes * limit on blockState map, updated tests * remove unused * separate test for maxHeight(), used for sched. validation * use Math.Min * fix golangci * Document the semantics of blockStates in the scheduler * better docs * distinguish between unknown and invalid blockstate * Standardize peer filtering methods * feedback * s/getPeersAtHeight/getPeersAtHeightOrAbove * small notes * Update blockchain/v2/scheduler.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update comments based on feedback * Add enum offset * panic on nil block in processor * remove unused max height calculation * format shorter line 02 December 2019, 10:01:24 UTC
0523ecf docs: update ADR 43 with links to PRs (#4207) 02 December 2019, 05:02:10 UTC
c066b39 docs: fix broken links in consensus/readme.md (#4200) 28 November 2019, 09:22:44 UTC
759cceb types: prevent spurious validator power overflow warnings when changing the validator set (#4183) Fix for #4164 The general problem is that in certain conditions an overflow warning is issued when attempting to update a validator set even if the final set's total voting power is not over the maximum allowed. Root cause is that in verifyUpdates(), updates are verified wrt to total voting power in the order of validator address. It is then possible that a low address validator may increase its power such that the temporary total voting power count goes over MaxTotalVotingPower. Scenarios where removing and adding/ updating validators with high voting power, in the same update operation, cause the same false warning and the updates are not applied. Main changes to fix this are in verifyUpdate() that now does the verification starting with the decreases in power. It also takes into account the removals that are part of the update. ## Commits: * tests for overflow detection and prevention * test fix * more tests * fix the false overflow warnings and golint * scopelint warning fix * review comments * variant with using sort by amount of change in power * compute separately number new validators in update * types: use a switch in processChanges * more review comments * types: use HasAddress in numNewValidators * types: refactor verifyUpdates copy updates, sort them by delta and use resulting slice to calculate tvpAfterUpdatesBeforeRemovals. * remove unused structs * review comments * update changelog 26 November 2019, 13:05:25 UTC
af3afc2 p2p/conn: simplify secret connection handshake malleability fix with merlin (#4185) * p2p/conn: simplify secret connection handshake malleability fix with merlin Introduces new dependencies on github.com/gtank/merlin and sha3 as a cryptographic primitive This also only uses the transcript hash as a MAC. * p2p/conn: avoid string to byte conversion https://github.com/uber-go/guide/blob/master/style.md#avoid-string-to-byte-conversion 26 November 2019, 11:40:06 UTC
ad715fe types: change `Commit` to consist of just signatures (#4146) * types: change `Commit` to consist of just signatures These are final changes towards removing votes from commit and leaving only signatures (see ADR-25) Fixes #1648 * bring back TestCommitToVoteSetWithVotesForAnotherBlockOrNilBlock + add absent flag to Vote to indicate that it's for another block * encode nil votes as CommitSig with BlockIDFlagAbsent + make Commit#Precommits array of non-pointers because precommit will never be nil * add NewCommitSigAbsent and Absent() funcs * uncomment validation in CommitSig#ValidateBasic * add comments to ValidatorSet funcs * add a changelog entry * break instead of continue continue does not make sense in these cases * types: rename Commit#Precommits to Signatures * swagger: fix /commit response * swagger: change block_id_flag type * fix merge conflicts 26 November 2019, 10:10:38 UTC
fb8b00f lite2: light client with weak subjectivity (#3989) Refs #1771 ADR: https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-044-lite-client-with-weak-subjectivity.md ## Commits: * add Verifier and VerifyCommitTrusting * add two more checks make trustLevel an option * float32 for trustLevel * check newHeader time * started writing lite Client * unify Verify methods * ensure h2.Header.bfttime < h1.Header.bfttime + tp * move trust checks into Verify function * add more comments * more docs * started writing tests * unbonding period failures * tests are green * export ErrNewHeaderTooFarIntoFuture * make golangci happy * test for non-adjusted headers * more precision * providers and stores * VerifyHeader and VerifyHeaderAtHeight funcs * fix compile errors * remove lastVerifiedHeight, persist new trusted header * sequential verification * remove TrustedStore option * started writing tests for light client * cover basic cases for linear verification * bisection tests PASS * rename BisectingVerification to SkippingVerification * refactor the code * add TrustedHeader method * consolidate sequential verification tests * consolidate skipping verification tests * rename trustedVals to trustedNextVals * start writing docs * ValidateTrustLevel func and ErrOldHeaderExpired error * AutoClient and example tests * fix errors * update doc * remove ErrNewHeaderTooFarIntoFuture This check is unnecessary given existing a) ErrOldHeaderExpired b) h2.Time > now checks. * return an error if we're at more recent height * add comments * add LastSignedHeaderHeight method to Store I think it's fine if Store tracks last height * copy over proxy from old lite package * make TrustedHeader return latest if height=0 * modify LastSignedHeaderHeight to return an error if no headers exist * copy over proxy impl * refactor proxy and start http lite client * Tx and BlockchainInfo methods * Block method * commit method * code compiles again * lite client compiles * extract updateLiteClientIfNeededTo func * move final parts * add placeholder for tests * force usage of lite http client in proxy * comment out query tests for now * explicitly mention tp: trusting period * verify nextVals in VerifyHeader * refactor bisection * move the NextValidatorsHash check into updateTrustedHeaderAndVals + update the comment * add ConsensusParams method to RPC client * add ConsensusParams to rpc/mock/client * change trustLevel type to a new cmn.Fraction type + update SkippingVerification comment * stress out trustLevel is only used for non-adjusted headers * fixes after Fede's review Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * compare newHeader with a header from an alternative provider * save pivot header Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r349122824 * check header can still be trusted in TrustedHeader Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r349101424 * lite: update Validators and Block endpoints - Block no longer contains BlockMeta - Validators now accept two additional params: page and perPage * make linter happy 25 November 2019, 15:07:40 UTC
ceb1053 Docs theme latest (#4179) * docs: remove specs, they live in spec repo (#4172) * docs: remove specs, they live in spec repo - moving specs to spec repo - https://github.com/tendermint/spec/pull/62 PR for updating them Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add makefile command to copy in sepcs from specREPO - move cloning of spec repo to pre and post scripts Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 25 November 2019, 14:34:40 UTC
98e0b52 doc: fix broken links (#4186) replaces https://tendermint.com/docs" with "https://docs.tendermint.com/master" 25 November 2019, 09:47:38 UTC
c431437 changelog: GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound https://github.com/tendermint/tendermint/pull/4153#discussion_r348868269 22 November 2019, 08:59:08 UTC
edd6ee2 changelog: explain breaking changes better 22 November 2019, 08:59:08 UTC
d7d61e9 tools.mk: install protoc - works only for Linux / Mac 64bit - you need to call it manually - make protoc - on Mac, brew install protoc might be favorable 22 November 2019, 08:59:08 UTC
0d0d151 tools.mk: use tags instead of revisions where possible 22 November 2019, 08:59:08 UTC
82e4842 Vagrantfile: update Go version 22 November 2019, 08:59:08 UTC
208a8d3 types: remove dots from errors in SignedHeader#ValidateBasic 22 November 2019, 08:59:08 UTC
43aed98 cs: clarify where 24 comes from in maxMsgSizeBytes (wal.go) 22 November 2019, 08:59:08 UTC
d5ed8a7 types: change number_txs to num_txs json tag in BlockMeta and EventDataNewBlockHeader 22 November 2019, 08:59:08 UTC
d840fa3 docs: mention that Evidence votes are now sorted 22 November 2019, 08:59:08 UTC
72f39e2 Fixed typo (#4181) 21 November 2019, 22:23:37 UTC
fb9e667 prefix proto types (#4007) Fixes #3986 This pull request is prefixing all the types in proto to avoid conflict. When a go application is using Tendermint as a library and also define similar types in gogo proto some conflicts might occur (as types is a common package in go). By prefixing the types with tendermint, this highly reduces the risk of conflicts. BREAKING CHANGE. This modification breaks the ABCI Application endpoint. What was accessible before with `/types.ABCIApplication/Flush` is now accessible with `/tendermint.abci.types.ABCIApplication/Flush`. 21 November 2019, 08:00:33 UTC
ee6601a cs: don't panic when block is not found in store (#4163) Fixes #4069 21 November 2019, 07:47:59 UTC
f78a994 update tm-db to 0.3.0 (#4158) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 15:47:09 UTC
68b2873 docs: update wording (#4174) * docs: update wording - change grants to funding for abci server Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 15:18:39 UTC
eeb6ee1 [Docs]: Minor doc touchups (#4171) - change link for bounties for different lang abci servers to interchainio funding repo - link awesome repo ecosystem section in main docs readme - closes #4110 - closes #4125 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 12:23:07 UTC
fc0d5bc types: prevent temporary power overflows on validator updates (#4165) Closes #4164 20 November 2019, 11:31:14 UTC
2b90663 tools/tm-bench: remove tm-bench in favor of tm-load-test (#4169) - tm-bench has a deprecation warning for 5 releases now, with the major release coming I removed the file and updated the docs to point to `tm-load-test` located in the interchainio repo Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 10:59:50 UTC
acac525 adr#50: improve trusted peering (#4072) Refs #4053 ## Commits: * Create adr-050-improved-trusted-peering.md * Modify `maximum_dial_period` Modify `maximum_dial_period` to `persistent_peers_maximum_dial_period` * Update adr-050-improved-trusted-peering.md * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * wildcard -> unconditional wildcard -> unconditional * Remove blank lines * fix spelling * add quotes 20 November 2019, 09:12:10 UTC
97222eb CHANGELOG: update release/v0.32.8 details (#4162) - update master with changelog from v0.32.8 - bump `tm-version` in `version.go` Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 19 November 2019, 15:28:19 UTC
aca94fd Remvoe errors package from libs (#4157) *libs/common/errors: remove package - remove errors file from cmn pkg - use errorf instead of wrap in async function - add changelog entry - closes #3862 19 November 2019, 11:47:22 UTC
8a878c1 evidence: enforce ordering in DuplicateVoteEvidence (#4151) Fixes #4143 19 November 2019, 06:54:54 UTC
45c24ff docs: replace dead original whitepaper link (#4155) Co-Authored-By: Marko <marbar3778@yahoo.com> 18 November 2019, 13:13:32 UTC
3e1516b linters: enable stylecheck (#4153) Refs #3262 16 November 2019, 15:35:39 UTC
36ba1a8 docs: add GA for docs.tendermint.com (#4149) 16 November 2019, 13:04:10 UTC
e71a2b1 Docs theme latest (#4145) * fix logo in footer * readme and version * fix logo in footer * rpc link 15 November 2019, 11:14:36 UTC
44a3fbf rpc/lib/client & server: try to conform to JSON-RPC 2.0 spec (#4141) https://www.jsonrpc.org/specification What is done in this PR: JSONRPCClient: validate that Response.ID matches Request.ID I wanted to do the same for the WSClient, but since we're sending events as responses, not notifications, checking IDs would require storing them in memory indefinitely (and we won't be able to remove them upon client unsubscribing because ID is different then). Request.ID is now optional. Notification is a Request without an ID. Previously "" or 0 were considered as notifications Remove #event suffix from ID from an event response (partially fixes #2949) ID must be either string, int or null AND must be equal to request's ID. Now, because we've implemented events as responses, WS clients are tripping when they see Response.ID("0#event") != Request.ID("0"). Implementing events as requests would require a lot of time (~ 2 days to completely rewrite WS client and server) generate unique ID for each request switch to integer IDs instead of "json-client-XYZ" id=0 method=/subscribe id=0 result=... id=1 method=/abci_query id=1 result=... > send events (resulting from /subscribe) as requests+notifications (not responses) this will require a lot of work. probably not worth it * rpc: generate an unique ID for each request in conformance with JSON-RPC spec * WSClient: check for unsolicited responses * fix golangci warnings * save commit * fix errors * remove ID from responses from subscribe Refs #2949 * clients are safe for concurrent access * tm-bench: switch to int ID * fixes after my own review * comment out sentIDs in WSClient see commit body for the reason * remove body.Close it will be closed automatically * stop ws connection outside of write/read routines also, use t.Rate in tm-bench indexer when calculating ID fix gocritic issues * update swagger.yaml * Apply suggestions from code review * fix stylecheck and golint linter warnings * update changelog * update changelog2 15 November 2019, 10:16:04 UTC
1ddc43d rpc: add pagination to /validators (#3993) * Add pagination to /validators - closes #3472 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add swagger params, default returns all * address pr comments * golint fix * swagger default change, change to default in comment * swagger.yaml: replace x-example with example https://swagger.io/docs/specification/adding-examples/ * Revert "swagger.yaml: replace x-example with example" This reverts commit 9df1b006dee0e0d78c54a808d103e30bdd502c10. * update changelog and remove extra body close 15 November 2019, 05:38:43 UTC
b43da17 rpc/swagger: add numtxs to blockmeta (#4139) Closes #4138 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 14 November 2019, 15:52:53 UTC
41403d5 rpc: remove duplication of data in `ResultBlock ` (#3856) ## Issue: Removed BlockMeta in ResultBlock in favor of BlockId for /block Added block_size to BlockMeta this is reflected in /blockchain fixes #3188 added breaking as some clients may be using header from blockmeta instead of block in /block ## Commits: * cleanup block path Remove duplication of data in `/block` fixes #3188 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * Remove duplication of data in `/block` - Created a secondary type to be used for /block fixes #3188 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * remove commented out code * fix ci * add changelog_pending entry * remove extra variable * update swagger * change int to uint for blocksize * fix swagger * remove extensive comments * update changelog * fix conflicts after merge * use int for BlockSize and NumTxs in BlockMeta - with 99.9% guarantee, the size of either will never reach int32 - most of the Go "Size" stdlib functions return int 14 November 2019, 10:46:44 UTC
1604047 abci: remove TotalTxs and NumTxs from Header (#3783) * Removal of TotalTx & NumTx - Removed totalTx and numTx closes #2521 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * abci proto changes * proto number fix * txfilter_test fix * comments on PR * further changes * bring back metrics * fix indexer * fix TestBlockMaxDataBytes and TestBlockMaxDataBytesUnknownEvidence * indexer service back to header * statistics.go fix * fix ci * listen for blocks, not headers to be able to record txs throughput * fix TestNetworkNewBlock * fix tests * fix tests in types package * fixes after Anton's review * fix tests * bring back `consensus_total_txs` metric I mistakenly thought it was removed. * improve changelog * remove LastBlockTotalTx from state * docs: remove getNumTxs from BeginBlock Java example 14 November 2019, 09:56:12 UTC
9174fb7 p2p: make SecretConnection non-malleable (#3668) ## Issue: This is an approach to fixing secret connection that is more noise-ish than actually noise. but it essentially fixes the problem that #3315 is trying to solve by making the secret connection handshake non-malleable. It's easy to understand and I think will be acceptable to @jaekwon .. the formal reasoning is basically, if the "view" of the transcript between diverges between the sender and the receiver at any point in the protocol, the handshake would terminate. The base protocol of Station to Station mistakenly assumes that if the sender and receiver arrive at shared secret they have the same view. This is only true for a DH on prime order groups. This robustly solves the problem by having each cryptographic operation commit to operators view of the protocol. Another nice thing about a transcript is it provides the basis for "secure" (barring cryptographic breakages, horrible design flaws, or implementation bugs) downgrades, where a backwards compatible handshake can be used to offer newer protocol features/extensions, peers agree to the common subset of what they support, and both sides have to agree on what the other offered for the transcript MAC to verify. With something like Protos/Amino you already get "extensions" for free (TLS uses a simple TLV format https://tools.ietf.org/html/rfc8446#section-4.2 for extensions not too far off from Protos/Amino), so as long as you cryptographically commit to what they contain in the transcript, it should be possible to extend the protocol in a backwards-compatible manner. ## Commits: * Minimal changes to remove malleability of secret connection removes the need to check for lower order points. Breaks compatibility. Secret connections that have no been updated will fail * Remove the redundant blacklist * remove remainders of blacklist in tests to make the code compile again Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Apply suggestions from code review Apply Ismail's error handling Co-Authored-By: Ismail Khoffi <Ismail.Khoffi@gmail.com> * fix error check for io.ReadFull Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Update p2p/conn/secret_connection.go Co-Authored-By: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Update p2p/conn/secret_connection.go Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> * update changelog and format the code * move hkdfInit closer to where it's used 14 November 2019, 09:45:17 UTC
59da313 rpc: /block_results fix docs + write test + restructure response (#3615) BREAKING Example response: ```json { "jsonrpc": "2.0", "id": "", "result": { "height": "2109", "txs_results": null, "begin_block_events": null, "end_block_events": null, "validator_updates": null, "consensus_param_updates": null } } ``` Old result consisted of ABCIResponses struct and height. Exposing internal ABCI structures (which we store in state package) in RPC seems bad to me for the following reasons: 1) high risk of breaking the API when somebody changes internal structs (HAPPENED HERE!) 2) RPC is aware of ABCI, which I'm not sure we want 14 November 2019, 09:34:35 UTC
7bc5e1a state/store: remove extra `if` statement (#3774) closes #3543 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 14 November 2019, 04:58:43 UTC
2be4b0f rpc/lib: fix RPC client, which was previously resolving https protocol to http (#4131) Fixes #4051 Function `parseRemoteAddr` is forcing protocol HTTP and protocol HTTPs to tcp. This causes the bug in the issue #4051. I find that the tcp is only needed where `net.Dial`. So I moved the switch to makeHTTPDialer. 13 November 2019, 14:26:29 UTC
7cd55a7 crypto/amino: add function to modify key codec (#4112) ## Issue: Hey, not sure if this is disallowed for any reason specifically, but it would be very beneficial to define additional types to decode tendermint key implementations from bytes, since it uses a static codec. If this is okay, let me know and I will add documentation. Context: For Ethermint to switch to using Cosmos' keybase, decoding the keys requires this codec to be updated Just to document, I did experiment with creating a mapping from string to objects to be able to keep track of the key types added to be able to be used in the RegisterAmino(..) call, but because of how go is compiled, cosmos would just use the base types. This may be a useful feature for someone just building on top of Tendermint and not going through Cosmos, but to not add confusion or unnecessary complexity, I left it out. ## Commits: * Exposes amino codec to be able to decode pk bytes in application * Change how codec is modified * Remove unneeded comment * Fix comment * Fix comment * Add registered type to nametable * Add pending changelog entry * Reorder change * Added check if type is registered and added test * Make test type private * Remove unnecessary duplicate exists check 13 November 2019, 04:55:22 UTC
7950027 Docs theme latest (#4132) * fix logo in footer * readme and version * fix logo in footer 12 November 2019, 22:07:00 UTC
0c6ad4f added staging build step to docs deployment (#4129) 11 November 2019, 14:43:11 UTC
1fc4ab7 rpc: remove godoc comments in favor of swagger docs (#4126) No need to duplicate information in this case. It a) requires extra efforts to keep both in sync b) nobody reads godoc documentation anyways. 11 November 2019, 13:33:02 UTC
2c81f68 deps: bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.25.0 to 1.25.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.25.0...v1.25.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 11 November 2019, 13:13:36 UTC
6a46082 docs: fix build instructions (#4123) 10 November 2019, 04:41:28 UTC
cf4360c Bump grpc dep (#4121) - bump grpc dep as listed here: https://github.com/tendermint/tendermint/pull/4114 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 08 November 2019, 13:58:30 UTC
263b2d2 added newline to versions file and removed index.html (#4120) 07 November 2019, 17:04:15 UTC
40f702a remove source code cache restore (#4119) 07 November 2019, 16:46:17 UTC
8b78492 remove source code cache restore (#4118) 07 November 2019, 15:52:49 UTC
4b15b96 privval: add `SignerDialerEndpointRetryWaitInterval` option (#4115) Added a small function to be able to change the default retry interval for the privval. The default is 100ms, this function allows to change to any time.Duration. Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> 07 November 2019, 13:40:00 UTC
98c5953 libs/pubsub/query: add EXISTS operator (#4077) ## Issue: This PR adds an "EXISTS" condition to the event query grammar. It enables querying for the occurrence of an event without having to provide a condition for one of its attributes. As an example, someone interested in all slashing events might currently catch them with a query such as slash.power > 0. With this PR the event can be captured with slash.power EXISTS or just slash EXISTS to catch by event type. ## Examples: `slash EXISTS` ## Commits: * Add EXISTS condition to query grammar * Gofmt files * Move PEG instructions out of auto-generated file to prevent overwrite * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update changelog and add test case * Merge with other changes in PR #4070 * Add EXISTS to Conditions() func * Apply gofmt * Addressing PR comments 07 November 2019, 07:30:50 UTC
3495a91 Doc link fixes (#4116) - closes #4090 - closes #4091 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 06 November 2019, 15:32:06 UTC
274447e state: txindex/kv: return an error if there's one (#4095) when the user searches for a tx (hash=X) This PR fixes error handling for performing a txindex search. TxIndex.Get returns (txresult, nil) if the transaction is found. (nil, nil) if the transaction is not found. (nil, error) if error is occurred. Therefore, if res is not nil, I think TxIndex.Search should return (txresult, nil). Previously, however, this was not a problem because errors.Wrap returns nil if its first argument err is nil. 05 November 2019, 08:33:29 UTC
0a014e3 changelog: fix typo (#4106) 05 November 2019, 05:29:15 UTC
5532e3a Latest version of the theme (#4108) * update version * remove version from versions file 05 November 2019, 03:14:45 UTC
4227556 typo fix: full nude -> full node (#4107) 04 November 2019, 23:05:44 UTC
745846b mempool: moved TxInfo parameter into Mempool.CheckTx() (#4083) * mempool: moved TxInfo parameter into Mempool.CheckTx(). * Updated CHANGELOG_PENDING.md * Added PR issue to CHANGELOG_PENDING Fixes #3590 04 November 2019, 09:50:22 UTC
76deaa9 state: txindex/kv: fsync data to disk immediately after receiving it (#4104) ## Issue Why this pr: When restarting chain node, sometimes we lost tx index about recent(around 80)blocks, and some client complains that they can't find the tx by RPC call(tx_search) when the tx do exist in the block. I try to partially fix this issue in a simple way by writing the index data in a sync way. There is no performance difference under 1K TPS according to our test. It is still possible that lost index data after restarting the node, but only 2 block data will lost at most. I try to totally fix this in https://github.com/tendermint/tendermint/pull/3847/files, but this one is simple and can solve most part of the issue. Please review first, thks. ## Comments Anton: BEFORE: BenchmarkTxIndex1-2 100000 12434 ns/op BenchmarkTxIndex500-2 300 5151564 ns/op BenchmarkTxIndex1000-2 100 15053910 ns/op BenchmarkTxIndex2000-2 100 18238892 ns/op BenchmarkTxIndex10000-2 20 124287930 ns/op AFTER: BenchmarkTxIndex1-2 2000 795431 ns/op BenchmarkTxIndex500-2 200 6385124 ns/op BenchmarkTxIndex1000-2 100 11388219 ns/op BenchmarkTxIndex2000-2 100 20514873 ns/op BenchmarkTxIndex10000-2 20 107456004 ns/op Performance drop is pretty steep, but I think it's the right thing to do UNTIL we have a WAL. 04 November 2019, 08:37:18 UTC
735736e docs: add assumption to getting started with abci-cli (#4098) 03 November 2019, 15:58:18 UTC
0335d07 privval: remove misplaced debug statement (#4103) Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> There's no debug statement in Read func, so should be OK remove this one too. 03 November 2019, 15:48:45 UTC
2df4ca0 build(deps): bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.4.0 to 1.5.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.4.0...v1.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 01 November 2019, 22:50:11 UTC
cbd5e03 Add more comments about the hard-coded limits (#4100) * crypto: expose MaxAunts for documentation purposes * types: update godoc for new maxes * docs: make hard-coded limits more explicit * wal: add todo to clarify max size * shorten lines in test 01 November 2019, 22:16:53 UTC
b247522 added new version to docs (#4097) 31 October 2019, 20:33:15 UTC
back to top