https://github.com/tendermint/tendermint

sort by:
Revision Author Date Message Commit Date
b2832c6 lite2: validate TrustOptions, add NewClientFromTrustedStore (#4374) * validate trust options * add NewClientFromTrustedStore func * make maxRetryAttempts an option Closes #4370 * hash size should be equal to tmhash.Size * make maxRetryAttempts uint * make maxRetryAttempts uint16 maxRetryAttempts possible - 68 years * we do not store trustingPeriod * added test to create client from trusted store * remove header and vals from primary to make sure we're restoring them from the DB 07 February 2020, 13:37:20 UTC
66a544a Fix broken /docs/spec links (#4376) 07 February 2020, 11:53:28 UTC
3e2f299 deps: bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.27.0 to 1.27.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.27.0...v1.27.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 06 February 2020, 15:51:30 UTC
af37db3 lite2: cross-check new header with all witnesses (#4373) As opposed to checking a random witness, all witnesses provided should be used as a reference against the header provided by the primary node. This increases security (at the tradeoff of speed) but also gives control to the user. The more witnesses provided, the more secure the lite client can be. 06 February 2020, 14:36:13 UTC
bb7a80e lite2: fetch missing headers (#4362) Closes #4328 When TrustedHeader(height) is called, if the height is less than the trusted height but the header is not in the trusted store then a function finds the previous lowest height with a trusted header and performs a forwards sequential verification to the header of the height that was given. If no error is found it updates the trusted store with the header and validator set for that height and can then return them to the user. Commits: * drafted trusted header * created function to find previous trusted height * updates missing headers less than the trusted height * minor cosmetic tweaks * incorporated suggestions * lite2: implement Backwards verification and add SignedHeaderAfter func to Store interface Refs https://github.com/tendermint/tendermint/issues/4328#issuecomment-581878549 * remove unused method * write tests * start with next height in SignedHeaderAfter func * fix linter errors * address Callum's comments Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 06 February 2020, 11:30:37 UTC
df3eee4 lite2: replace primary provider with alternative when unavailable (#4354) Closes issue #4338 Uses a wrapper function around both the signedHeader and validatorSet calls to the primary provider which attempts to retrieve the information 5 times before deeming the provider unavailable and replacing the primary provider with the first alternative before trying recursively again (until all alternatives are depleted) Employs a mutex lock for any operations involving the providers of the light client to ensure no operations occurs whilst the new primary is chosen. Commits: * created swapProvider function * eliminates old primary provider after replacement. Uses a mutex when changing providers * renamed to replaceProvider * created wrapped functions for signed header and val set * created test for primary provider replacement * implemented suggested revisions * created Witnesses() and Primary() * modified backoffAndJitterTime * modified backoffAndJitterTime * changed backoff base and jitter to functional arguments * implemented suggested changes * removed backoff function * changed exp function to match go version * halved the backoff time * removed seeding and added comments * fixed incorrect test * extract backoff timeout calc into a function Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 04 February 2020, 12:02:20 UTC
9b9f1be docs: update guides proto paths (#4365) * update guides with correct path to libs/kv proto files * Apply suggestions from code review Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * format something to rerun ci Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 03 February 2020, 17:15:27 UTC
fa34ff9 abci: fix broken spec link (#4366) 03 February 2020, 14:00:31 UTC
1edb542 lite2: make witnesses mandatory (#4358) * lite2: make witnesses mandatory at least one witness is required * lite2: return an error if there are no witnesses https://github.com/tendermint/tendermint/pull/4358#pullrequestreview-350635444 * cmd/lite: add witnesses flag * fix linter errors 03 February 2020, 12:59:16 UTC
81e3cca docs: update npm dependencies (#4364) 03 February 2020, 11:56:34 UTC
ca03e43 deps: bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.2 to 1.3.3. - [Release notes](https://github.com/golang/protobuf/releases) - [Commits](https://github.com/golang/protobuf/compare/v1.3.2...v1.3.3) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 30 January 2020, 11:34:07 UTC
b04b752 Add ADR-053: State Sync Prototype (#4352) 30 January 2020, 10:57:24 UTC
71d50f7 lite2: panic if witness is on another chain (#4356) Closes #4350 Checks that the chain ID of the witness and that of the lite client are the same before updating the witness list. 30 January 2020, 07:21:17 UTC
8b80de8 build(deps): bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.26.0 to 1.27.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.26.0...v1.27.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 29 January 2020, 11:41:44 UTC
79b99f0 lite2: batch save & delete operations in DB store (#4345) Closes #4330 29 January 2020, 06:14:32 UTC
587ac3a node: use GRPCMaxOpenConnections when creating the gRPC server (#4349) not MaxOpenConnections Fixes #4311 Also, set MaxBodyBytes, MaxHeaderBytes and WriteTimeout similar to HTTP server. 29 January 2020, 06:04:42 UTC
85244a4 lite2: refactor cleanup() (#4343) * lite2: add Start method There are few reasons to do that: 1) separation of state and dynamics (some users will want to delay starting the light client; does not matter we should not allow them to create a light client object) 2) less important, but some users might not need autoUpdateRoutine and removeNoLongerTrustedHeadersRoutine routines * lite2: wait till routines are finished in Stop because they are started in Start, it feels more natural to wait for them to finish in Stop. * lite2: add TrustedValidatorSet func * refactor cleanup code * changed restore header and val function to handle negative height * reverted restoreTrustedHeaderAndNextVals() functionality Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 28 January 2020, 16:16:16 UTC
c5ecd80 docs: update links to rpc (#4348) * docs: update links to rpc - links to rpc have not been updated. thank you @okwme Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * Update docs/app-dev/indexing-transactions.md 28 January 2020, 11:33:28 UTC
6f93cfa lite2: rename alternative providers to witnesses (#4344) Closes #4341 28 January 2020, 10:30:14 UTC
d90dc9d rpc: add sort_order option to tx_search (#4342) I have added order_by which can be "asc" or "desc" (should be in string format) in the tx_search RPC method. Fixes: #3333 Author: @princesinha19 27 January 2020, 17:20:56 UTC
59a922d lite2: add Start, TrustedValidatorSet funcs (#4337) * lite2: add Start method There are few reasons to do that: 1) separation of state and dynamics (some users will want to delay starting the light client; does not matter we should not allow them to create a light client object) 2) less important, but some users might not need autoUpdateRoutine and removeNoLongerTrustedHeadersRoutine routines * lite2: wait till routines are finished in Stop because they are started in Start, it feels more natural to wait for them to finish in Stop. * lite2: add TrustedValidatorSet func 27 January 2020, 15:49:04 UTC
48be9bc Add IPv6 support for P2P integration tests (#4340) 27 January 2020, 09:40:54 UTC
696e13e adr: ADR-051: Double Signing Risk Reduction (#4262) * Add adr-051 to docs * add details * Update docs/architecture/adr-051-double-signing-protection-with-tendermint-mode.md Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * rename adr-051 for only double singing protection * remove contents about tendermint mode * change title to Double Signing Rist Reduction * rename adr md file * add a adr link to ToC Co-authored-by: b-harvest <38277329+dlguddus@users.noreply.github.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 24 January 2020, 07:02:35 UTC
082e211 docs: minor doc fixes (#4335) * docs: minor doc fixes - minor doc fixes that i ran into while reading things - test if we have github actions Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * no github actions yet * add with * revert and change wording 23 January 2020, 07:57:42 UTC
1905ef7 lite2: improve auto update (#4334) * lite2: advance to latest header without any exponential steps rename autoUpdate to autoUpdateRoutine * lite2: wait in Cleanup until goroutines finished running 22 January 2020, 16:26:47 UTC
f95409e lite2: move AutoClient into Client (#4326) * lite2: move AutoClient into Client Most of the users will want auto update feature, so it makes sense to move it into the Client itself, rather than having a separate abstraction (it makes the code cleaner, but introduces an extra thing the user will need to learn). Also, add `FirstTrustedHeight` func to Client to get first trusted height. * fix db store tests * separate examples for auto and manual clients * AutoUpdate tries to update to latest state NOT 1 header at a time * fix errors * lite2: make Logger an option remove SetLogger func * fix lite cmd * lite2: make concurrency assumptions explicit * fixes after my own review * no need for nextHeightFn sequence func will download intermediate headers * correct comment 22 January 2020, 11:19:03 UTC
5f2f975 adr: ADR-052: Tendermint Mode (#4302) * Separate ADR Tendermint Mode from ADR-051 * Update docs/architecture/adr-052-tendermint-mode.md Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Apply suggestions from code review Co-Authored-By: Marko <marbar3778@yahoo.com> * Apply suggestions from code review Co-Authored-By: Marko <marbar3778@yahoo.com> * remove line of mode info of rpc * Add link to ADR table of contents Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Marko <marbar3778@yahoo.com> Fullnode mode : fullnode mode does not have any capability to participate on consensus Validator mode : this mode is exactly same as existing state machine behavior. sync without voting on consensus, and participate consensus when fully synced Seed mode : lightweight seed mode only for maintain an address book, p2p like TenderSeed Separate ADR Tendermint Mode from ADR-051 #4262 22 January 2020, 07:03:05 UTC
2d510d2 rpc: PR#4320 follow up (#4323) * rpc: update urls to rpc website * rpc: check blockMeta is not nil in Commit Refs #4319 20 January 2020, 10:41:26 UTC
9cbfe79 tests: bind test servers to 127.0.0.1 (#4322) 18 January 2020, 18:01:18 UTC
b50cb26 rpc: check nil blockmeta (#4320) * rpc: check nil blockmeta - fixes #4319 - check if block meta is nil Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add changelog entry 17 January 2020, 17:32:31 UTC
a3dc82b deps: bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.6.1 to 1.6.2. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.6.1...v1.6.2) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 17 January 2020, 12:12:14 UTC
88ac31f docs: update theme version (#4315) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 17 January 2020, 10:31:44 UTC
5aa209a Rc1 0.33 (#4306) * rc for 0.33 * address some pr comments * some adds to upgrade.md * undo version 15 January 2020, 11:43:13 UTC
32bb813 build(deps): bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) Bumps [github.com/pkg/errors](https://github.com/pkg/errors) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/pkg/errors/releases) - [Commits](https://github.com/pkg/errors/compare/v0.9.0...v0.9.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 15 January 2020, 11:21:35 UTC
7e3c66e docs: add link for installing Tendermint (#4307) * docs: add link for installing Tendermint to Go guides Refs #4286 * remind users to checkout latest release when installing from github source 15 January 2020, 10:51:58 UTC
a3a0928 changelog: add 0.32.9 changelog to master (#4305) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 13 January 2020, 18:20:28 UTC
6b71b92 dep: update tm-db to 0.4.0 (#4289) * dep: update tm-db to 0.4.0 - update 0.4.0 as it is a breaking change and cannot be handled by depndabot Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * more work towards error handling * error and emtpy bytes handling * work on tests * add changelog entry, change some error handling * address some pr comments * panic in a few more places * move error higher up * redo some error handling * fix some bz == nil to len(bz) == 0 * change statebytes 13 January 2020, 17:45:16 UTC
faf7833 cmd/lite: switch to new lite2 package (#4300) * cmd/lite: switch to new lite2 package * update changelog * shorten the trusting period explanation 13 January 2020, 10:49:53 UTC
5f0f54f deps: bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) Bumps [github.com/pkg/errors](https://github.com/pkg/errors) from 0.8.1 to 0.9.0. - [Release notes](https://github.com/pkg/errors/releases) - [Commits](https://github.com/pkg/errors/compare/v0.8.1...v0.9.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 13 January 2020, 10:33:57 UTC
86adc2c lite: follow up from #3989 (#4209) * rename adjusted to adjacent Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r352140829 * rename ErrTooMuchChange to ErrNotEnoughVotingPowerSigned Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r352142785 * verify commit is properly signed * remove no longer trusted headers * restore trustedHeader and trustedNextVals * check trustedHeader using options Refs https://github.com/tendermint/tendermint/pull/4209#issuecomment-562462165 * use correct var when checking if headers are adjacent in bisection func + replace TODO with a comment https://github.com/tendermint/tendermint/pull/3989#discussion_r352125455 * return header in VerifyHeaderAtHeight because that way we avoid DB call + add godoc comments + check if there are no headers yet in AutoClient https://github.com/tendermint/tendermint/pull/3989#pullrequestreview-315454506 * TestVerifyAdjacentHeaders: add 2 more test-cases + add TestVerifyReturnsErrorIfTrustLevelIsInvalid * lite: avoid overflow when parsing key in db store! * lite: rename AutoClient#Err to Errs * lite: add a test for AutoClient * lite: fix keyPattern and call itr.Next in db store * lite: add two tests for db store * lite: add TestClientRemovesNoLongerTrustedHeaders * lite: test Client#Cleanup * lite: test restoring trustedHeader https://github.com/tendermint/tendermint/pull/4209#issuecomment-562462165 * lite: comment out unused code in test_helpers * fix TestVerifyReturnsErrorIfTrustLevelIsInvalid after merge * change defaultRemoveNoLongerTrustedHeadersPeriod and add docs * write more doc * lite: uncomment testable examples * use stdlog.Fatal to stop AutoClient tests * make lll linter happy * separate errors for 2 cases - the validator set of a skipped header cannot be trusted, i.e. <1/3rd of h1 validator set has signed (new error, something like ErrNewValSetCantBeTrusted) - the validator set is trusted but < 2/3rds has signed (ErrNewHeaderCantBeTrusted) https://github.com/tendermint/tendermint/pull/4209#discussion_r360331253 * remove all headers (even the last one) that are outside of the trusting period. By doing this, we avoid checking the trustedHeader's hash in checkTrustedHeaderUsingOptions (case #1). https://github.com/tendermint/tendermint/pull/4209#discussion_r360332460 * explain restoreTrustedHeaderAndNextVals better https://github.com/tendermint/tendermint/pull/4209#discussion_r360602328 * add ConfirmationFunction option for optionally prompting for user input Y/n before removing headers Refs https://github.com/tendermint/tendermint/pull/4209#discussion_r360602945 * make cleaning optional https://github.com/tendermint/tendermint/pull/4209#discussion_r364838189 * return error when user refused to remove headers * check for double votes in VerifyCommitTrusting * leave only ErrNewValSetCantBeTrusted error to differenciate between h2Vals.VerifyCommit and h1NextVals.VerifyCommitTrusting * fix example tests * remove unnecessary if condition https://github.com/tendermint/tendermint/pull/4209#discussion_r365171847 It will be handled by the above switch. * verifyCommitBasic does not depend on vals Co-authored-by: Marko <marbar3778@yahoo.com> 13 January 2020, 07:56:48 UTC
db235c8 cs: check if cs.privValidator is nil (#4295) before getting its address in recordMetrics Refs https://github.com/tendermint/tendermint/pull/4294#discussion_r364347586 09 January 2020, 12:25:59 UTC
15aa8d8 rpc/client: add basic authentication (#4291) Closes #4248 09 January 2020, 09:42:30 UTC
6d91c1f evidence: introduce time.Duration to evidence params (#4254) * evidence: introduce time.Duration to evidence params - add time.duration to evidence - this pr is taking pr #2606 and updating it to use both time and height - closes #2565 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix testing and genesis cfg in signer harness * remove debugging fmt * change maxageheight to maxagenumblocks, rename other things to block instead of height * further check of duration * check duration to not send peers outdated evidence * change some lines, onward and upward * refactor evidence package * add a changelog pending entry * make mockbadevidence have time and use it * add what could possibly be called a test case * remove mockbadevidence and mockgoodevidence in favor of mockevidence * add a comment for err that is returned * add a changelog for removal of good & bad evidence * add a test for adding evidence * fix test * add ev to types in testcase * Update evidence/pool_test.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update evidence/pool_test.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * fix tests * fix linting Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 08 January 2020, 09:46:37 UTC
d7f4ce3 metrics: only increase last_signed_height if commitSig for block (#4283) - follow up to #4263 - when a commit is nil, then it should be counted as a missed commit Signed-off-by: Marko Baricevic marbar3778@yahoo.com 07 January 2020, 08:09:26 UTC
8f5d58f rpc: modify New* functions to return error (#4274) The New* client functions return an error instead of panicking when the remote address is invalid. Fixes #3953 07 January 2020, 06:07:03 UTC
7be74c7 rpc: add method block_by_hash (#4257) * added RPC method block_by_hash * created hash => height * changes typings * block_by_hash changes * Update store/store.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update store/store.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update store/store.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update store/store.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 06 January 2020, 14:47:18 UTC
5541059 deps: bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) Bumps [github.com/go-logfmt/logfmt](https://github.com/go-logfmt/logfmt) from 0.4.0 to 0.5.0. - [Release notes](https://github.com/go-logfmt/logfmt/releases) - [Changelog](https://github.com/go-logfmt/logfmt/blob/master/CHANGELOG.md) - [Commits](https://github.com/go-logfmt/logfmt/compare/v0.4.0...v0.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 06 January 2020, 12:41:58 UTC
279482c crypto: fix sr25519 from raw import (#4272) * fix raw import sr25519 * add sr25519 to multisig codec * bump go-schnorrkel Co-authored-by: Marko <marbar3778@yahoo.com> Fixes sr25519 pubkey generation and signing when importing from raw bytes 03 January 2020, 08:25:32 UTC
7f655d8 rpc: pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) * pass `outCapacity` to `eventBus#Subscribe` when subscribing using a local client Fixes #4256 * use outCap directly 03 January 2020, 08:10:36 UTC
ffe5dff make: add back tools cmd (#4281) previous PR seems to have deleted the tools cmd, this adds it back in Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 02 January 2020, 19:48:01 UTC
7d7b47a cmd/debug: execute p.Signal only when p is not nil (#4271) * cmd/debug: execute p.Signal when p is not nil https://github.com/tendermint/tendermint/pull/4266#discussion_r360015827 * replace else with else if 22 December 2019, 18:42:40 UTC
2228040 docs: link fixes in readme (#4268) - fixed some links in the readme - deleted some unused things from themakefile Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 21 December 2019, 19:48:34 UTC
a183809 test: branch for fix of ci (#4266) * test: - testing replacing syscall with os.FindProces Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * address pr comments 20 December 2019, 10:42:42 UTC
7368ba3 prometheus/metrics: three new metrics for consensus (#4263) * prometheus/metrics: two new metrics for consensus - add consensus_validator_power metric so if a node is a validator it can see its own power in prometheus - add last_signed_height metric so if a node is a validator it can be aware of at which height the most recent time it signed. - closes: #3773 - closes: #3083 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * check if signature is present * minor change and check if sig is not absent * add changelog entry * Update consensus/state.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update CHANGELOG_PENDING.md Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update CHANGELOG_PENDING.md * add label with validator address * change address to vali_address * add metric missed blocks * add changelog entry for missed blocks metric * address naming & add docs 19 December 2019, 17:04:57 UTC
d86706b deps: bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.25.1 to 1.26.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.25.1...v1.26.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 19 December 2019, 06:22:43 UTC
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
back to top