https://github.com/tendermint/tendermint

sort by:
Revision Author Date Message Commit Date
73c19bd CONTRIBUTING: include instructions for installing protobuf 09 March 2020, 17:52:08 UTC
f17717f adr: crypto encoding for proto (#4481) * adr: crypto encoding for proto work - this adr is meant to help with deciding on how to move forward with keys in tendermint. * minor change * fix gomod * add a third option * fix spelling * add first part of descision * breakdown keys and where they are used * add some wording * minor wording fix * question * change proto messages * minor update * undo go.mod changes * add a few things based on comemnts * push, push it real good * minor explanation on interface type * touch up 09 March 2020, 08:44:37 UTC
b6f0aa3 lite2: replace primary when providing invalid header (#4523) Closes: #4420 Created a new error ErrInvalidHeaderwhich can be formed during the verification process verifier.go and will result in the replacement of the primary provider with a witness by executing: replacePrimaryProvider() Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 06 March 2020, 19:05:20 UTC
bc89aad rpc: create buffered subscriptions on /subscribe (#4521) Closes #3935 06 March 2020, 13:23:44 UTC
d3f965b lite2: indicate success/failure of Update (#4536) error itself is not enough since it only signals if there were any errors. Either (types.SignedHeader) or (success bool) is needed to indicate the status of the operation. Returning a header is optimal since most of the clients will want to get a newly verified header anyway. 06 March 2020, 13:10:28 UTC
431618c lite2: remove auto update (#4535) We first introduced auto-update as a separate struct AutoClient, which was wrapping Client and calling Update periodically. // AutoClient can auto update itself by fetching headers every N seconds. type AutoClient struct { base *Client updatePeriod time.Duration quit chan struct{} trustedHeaders chan *types.SignedHeader errs chan error } // NewAutoClient creates a new client and starts a polling goroutine. func NewAutoClient(base *Client, updatePeriod time.Duration) *AutoClient { c := &AutoClient{ base: base, updatePeriod: updatePeriod, quit: make(chan struct{}), trustedHeaders: make(chan *types.SignedHeader), errs: make(chan error), } go c.autoUpdate() return c } // TrustedHeaders returns a channel onto which new trusted headers are posted. func (c *AutoClient) TrustedHeaders() <-chan *types.SignedHeader { return c.trustedHeaders } // Err returns a channel onto which errors are posted. func (c *AutoClient) Errs() <-chan error { return c.errs } // Stop stops the client. func (c *AutoClient) Stop() { close(c.quit) } func (c *AutoClient) autoUpdate() { ticker := time.NewTicker(c.updatePeriod) defer ticker.Stop() for { select { case <-ticker.C: lastTrustedHeight, err := c.base.LastTrustedHeight() if err != nil { c.errs <- err continue } if lastTrustedHeight == -1 { // no headers yet => wait continue } newTrustedHeader, err := c.base.Update(time.Now()) if err != nil { c.errs <- err continue } if newTrustedHeader != nil { c.trustedHeaders <- newTrustedHeader } case <-c.quit: return } } } Later we merged it into the Client itself with the assumption that most clients will want it. But now I am not sure. Neither IBC nor cosmos/relayer are using it. It increases complexity (Start/Stop methods). That said, I think it makes sense to remove it until we see a need for it (until we better understand usage behavior). We can always introduce it later 😅. Maybe in the form of AutoClient. 06 March 2020, 09:33:07 UTC
7d00117 readme: add discord to readme (#4533) * readme: add discord to readme Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add our id 05 March 2020, 13:25:18 UTC
3a695d4 docs: fix links (#4531) * docs: fix links - fix broken links closes #4522 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix more links * add enable and disable * remvoe deadlink 05 March 2020, 10:48:29 UTC
632b53d fix addrbook tests (#4526) Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Erik Grinaker <erik@grinaker.org> 05 March 2020, 09:29:26 UTC
4c8e3c8 fix: proto-breakage (#4506) * fix: fix proto-breakage - this is amed to fix proto breakage for consumers Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix for importing third_party everywhere * undo change * test breakage change * test ssh * test https * change ssh to https * fix phony 05 March 2020, 08:41:36 UTC
4936b23 adr-047: evidence handling (#4429) Closes #4213 and #4182 05 March 2020, 07:28:32 UTC
9e5b4af .github: add markdown link checker (#4513) co-authored-by: Marko <marbar3778@yahoo.com> 04 March 2020, 14:48:17 UTC
61380ff build(deps): bump github.com/prometheus/client_golang (#4525) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.4.1 to 1.5.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.4.1...v1.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 04 March 2020, 11:58:45 UTC
891afc2 cmd: fix debug kill and change debug dump archive filename format (#4517) * cmd: change archive filename format before: Mar 3 08:44:43.zip after: 2020-03-03T08:44:43Z.zip Refs #4515 * cmd: kill pid, not the debug process itself Fixes #4515 * update changelog Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> 03 March 2020, 12:41:58 UTC
ff78651 lite: add helper functions for initiating the light client (#4486) * add new net client * hijack example test * lint fixes * reorganised file structure * renamed funcs and added documentation * implemented suggested changes * restored example tests * edited comments * Update lite2/setup.go Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> * Update lite2/client.go * lite cmds use HTTP client * better naming * Delete go.sum * Delete go.mod * restore go mod * restore go.sum * fix double import Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> 03 March 2020, 12:00:06 UTC
c518a06 deps: bump github.com/Workiva/go-datastructures (#4519) Bumps [github.com/Workiva/go-datastructures](https://github.com/Workiva/go-datastructures) from 1.0.50 to 1.0.51. - [Release notes](https://github.com/Workiva/go-datastructures/releases) - [Commits](https://github.com/Workiva/go-datastructures/compare/v1.0.50...v1.0.51) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 03 March 2020, 11:52:36 UTC
a60d032 docs: write about debug kill and dump (#4516) * docs: write about debug kill and dump Closes #4325 * wrap file tree in code blocks 03 March 2020, 08:37:29 UTC
3b2e1f2 cmd: show useful error when tm not initialised (#4512) Closes #4303 Before: ``` TMHOME="/Users/daniel/go/src/github.com/tendermint/thome" tendermint node --proxy_app=unix:///Users/daniel/go/src/github.com/kvstore/example.sock ERROR: 1 error(s) decoding: * error decoding 'consensus.create_empty_blocks_interval': time: invalid duration ``` After: ``` $ TMHOME=/tmp ./build/tendermint node --proxy_app=kvstore ERROR: failed to create node: Couldn't read GenesisDoc file: open /tmp/config/genesis.json: no such file or directory ``` 02 March 2020, 15:59:38 UTC
51e1b4e rpc: remove BlockStoreRPC in favor of BlockStore (#4510) * rpc: use BlockStoreRPC instead of BlockStore BlockStoreRPC is a limited version of BlockStore interface, which does not include SaveBlock method. Closes #4159 * remove BlockStoreRPC interface in favor of single BlockStore interface Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> 02 March 2020, 13:55:50 UTC
67224fd docs: `tendermint node --help` dumps all supported flags (#4511) Closes #4211 02 March 2020, 13:09:54 UTC
9bf8f41 lite2: fix tendermint lite sub command (#4505) * lite2: fix tendermint lite sub command - better logging - chainID as an argument - more examples * one more log msg * lite2: fire update right away after start * turn off auto update in verification tests Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> 02 March 2020, 06:51:36 UTC
c33576e example/kvstore: return ABCI query height (#4509) * example/kvstore: return ABCI query height * CHANGELOG: added PR link * Updated tests 01 March 2020, 20:03:28 UTC
3f18e22 rpc: keep the original subscription "id" field when new RPCs come in (#4493) 29 February 2020, 21:22:19 UTC
c5fe733 test: simplified txsearch cancellation test (#4500) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> 28 February 2020, 13:29:48 UTC
72488db mergify: use strict merges (#4502) 28 February 2020, 13:21:50 UTC
d1f7ef6 mergify: remove unnecessary conditions (#4501) 28 February 2020, 12:56:26 UTC
6c9e9b2 tool: add Mergify (#4490) 28 February 2020, 11:29:36 UTC
6f6843e circleci: fix reproducible builds test (#4497) 28 February 2020, 11:21:12 UTC
6cebba5 swagger: update swagger port (#4498) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 28 February 2020, 11:05:55 UTC
a122a55 docs: adr-046 add bisection algorithm details (#4496) * docs: adr-046 add bisection algorithm details Closes #4329 * format fig. 1 title * docs: adr-046 we no longer download headers in TrustedHeader https://github.com/tendermint/tendermint/pull/4496#issuecomment-592446054 28 February 2020, 10:53:06 UTC
c837a57 rpc: stop txSearch result processing if context is done (#4418) 28 February 2020, 10:38:28 UTC
b73c0b7 build(deps): bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.3 to 1.3.4. - [Release notes](https://github.com/golang/protobuf/releases) - [Commits](https://github.com/golang/protobuf/compare/v1.3.3...v1.3.4) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 28 February 2020, 09:24:25 UTC
7814430 JSON tests related changes (#4461) * test functions take time.Now and other minor changes * updated remaining test files * Update validation_test.go * fix typo * go fmt * import time Co-authored-by: Marko <marbar3778@yahoo.com> 28 February 2020, 08:57:00 UTC
3f883bb lite2: actually run example tests + clock drift (#4487) Closes: #4488 ## Commits: * run example tests * introduce max clock drift clockDrift variable from the spec. 10s should cover most of the clients. References: - http://vancouver-webpages.com/time/web.html - https://blog.codinghorror.com/keeping-time-on-the-pc/ * fix ExampleClient_Update * add test * increase clock drift * fix linter warning 27 February 2020, 16:26:28 UTC
b5f6bfa lite2: return height as 2nd return param in TrustedValidatorSet (#4479) Closes #4473 27 February 2020, 15:10:01 UTC
6be0e13 lite2: prune-headers (#4478) closes #4469 Improved speed of cleanup by using SignedHeaderAfter instead of TrustedHeader to jump from header to header. Prune() is now called when a new header and validator set are saved and is a function dealt by the database itself ## Commits: * prune headers and vals * modified cleanup and tests * fixes after my own review * implement Prune func * make db ops concurrently safe * use Iterator in SignedHeaderAfter we should iterate from height+1, not from the end! * simplify cleanup Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 27 February 2020, 13:57:17 UTC
875b106 github: edit templates for use in issues and pull requests (#4483) * github: edit templates for use in issues and pull requests Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix sdk to tendermint 27 February 2020, 10:34:56 UTC
c45baa0 blockchain (v2): async testing notes (#4484) Add some inline notes for context of why test are commented out and not deleted. Ref. #4482 27 February 2020, 10:25:21 UTC
b9535a2 blockchain (v2): comment out TestReactorTerminationScenarios (#4480) Refs #4442 26 February 2020, 19:47:16 UTC
b5ce8f2 deps: bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) Bumps [github.com/tendermint/tm-db](https://github.com/tendermint/tm-db) from 0.4.0 to 0.4.1. - [Release notes](https://github.com/tendermint/tm-db/releases) - [Changelog](https://github.com/tendermint/tm-db/blob/master/CHANGELOG.md) - [Commits](https://github.com/tendermint/tm-db/compare/v0.4.0...v0.4.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 26 February 2020, 15:51:05 UTC
6daea31 lite2: remove expiration checks on functions that don't require them (#4477) closes: #4455 Verifying backwards checks that the trustedHeader hasn't expired both before and after the loop in case of verifying many headers (a longer operation), but not during the loop itself. TrustedHeader() no longer checks whether the header saved in the store has expired. Tests have been updated to reflect the changes ## Commits: * verify headers backwards out of trust period * removed expiration check in trusted header func * modified tests to reflect changes * wrote new tests for backwards verification * modified TrustedHeader and TrustedValSet functions * condensed test functions * condensed test functions further * fix build error * update doc * add comments * remove unnecessary declaration * extract latestHeight check into a separate func Co-authored-by: Callum Waters <cmwaters19@gmail.com> 26 February 2020, 15:15:05 UTC
9231b52 lite2: cross-check first header and update tests (#4471) closes #4464 26 February 2020, 11:56:20 UTC
c4f7256 lite2: store current validator set (#4472) Before we were storing trustedHeader (height=1) and trustedNextVals (height=2). After this change, we will be storing trustedHeader (height=1) and trustedVals (height=1). This a) simplifies the code b) fixes #4399 inconsistent pairing issue c) gives a relayer access to the current validator set #4470. The only downside is more jumps during bisection. If validator set changes between trustedHeader and the next header (by 2/3 or more), the light client will be forced to download the next header and check that 2/3+ signed the transition. But we don't expect validator set change too much and too often, so it's an acceptable compromise. Closes #4470 and #4399 26 February 2020, 09:20:51 UTC
25d92d0 types: VerifyCommitX return when +2/3 sigs are verified (#4445) Closes #4417 25 February 2020, 09:04:24 UTC
f934ca8 lite2: don't save intermediate headers (#4452) closes #4426 The sequence and bisection methods no longer save the intermediate headers and validator sets that they require to verify a currently untrusted header. ## Commits: * sequence and bisection don't save intermediate headers and vals * check the next validator hash matches the header * check expired header at start of backwards verification * added tests * handled cleanup warning * lint fix * removed redundant code * tweaked minor errors * avoided premature trusting of nextVals * fix test error * updated trustedHeader and Vals together * fixed bisection error * fixed sequence error for different vals and made test * fixes after my own review * reorder vars to be consistent with the rest of the code Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 24 February 2020, 10:10:41 UTC
fe11219 Fix unexported returns (#4450) 21 February 2020, 18:21:39 UTC
c63fd32 circleci: run P2P IPv4 and IPv6 tests in parallel (#4459) 21 February 2020, 14:23:48 UTC
8d1198b ADR-053: update with implementation plan after prototype (#4427) 21 February 2020, 12:28:05 UTC
b0683b7 p2p: use curve25519.X25519() instead of ScalarMult() (#4449) * p2p: use curve25519.X25519() instead of ScalarMult() * Renamed array to shrKeyArray * Updated CHANGELOG_PENDING * Revert "Updated CHANGELOG_PENDING" This reverts commit dbb72e0bf721287847ac136c99f385ce7456d1f7. 21 February 2020, 11:43:59 UTC
2c7af01 lite2: return already verified headers and verify earlier headers (#4428) closes #4413 and #4419 When VerifyHeaderAtHeight() is called, TrustedHeader is initially run to check if the header has already been verified and returns the Header. If the new header height is less than the lite clients latestTrustedHeader height, than backwards verification is performed else either sequence or bisection Refactored a test to reflect the changes * use trustedHeader func for already verified Headers * remove fetch missing header from TrustedHeader * check for already trusted Header in VerifyHeaderAtHeight * replace updateTrustedHeaderAndVals to updateTrustedHeaderAndNextVals * rename trustedHeader and trustedNextVals * refactored backwards and included it in VerifyHeader * cleaned up test to match changes * lite2: fixes after my own review Refs https://github.com/tendermint/tendermint/pull/4428#pullrequestreview-361730169 * fix ineffectual assignment * lite2: check that header exists in VerifyHeader * extract function Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 20 February 2020, 14:45:11 UTC
8f48c49 Fix some golangci-lint warnings (#4448) 20 February 2020, 12:43:40 UTC
8010f3b build(deps): bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 0.0.3 to 0.0.6. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v0.0.3...v0.0.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 20 February 2020, 12:31:59 UTC
d00384f build(deps): bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.5.0 to 1.5.1. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.5.0...v1.5.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 20 February 2020, 12:02:24 UTC
24c8b35 rpc: fix TxSearch test nits (#4446) 20 February 2020, 10:34:18 UTC
7ab81a7 deps: bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.4.0 to 1.5.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.4.0...v1.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 19 February 2020, 16:26:23 UTC
b7dab3b consensus: reduce log severity for ErrVoteNonDeterministicSignature (#4431) from error to debug Closes #3583 19 February 2020, 15:21:27 UTC
ee993ba blockchain: add v2 reactor (#4361) The work includes the reactor which ties together all the seperate routines involved in the design of the blockchain v2 refactor. This PR replaces #4067 which got far too large and messy after a failed attempt to rebase. ## Commits: * Blockchainv 2 reactor: + I cleaner copy of the work done in #4067 which fell too far behind and was a nightmare to rebase. + The work includes the reactor which ties together all the seperate routines involved in the design of the blockchain v2 refactor. * fixes after merge * reorder iIO interface methodset * change iO -> IO * panic before send nil block * rename switchToConsensus -> trySwitchToConsensus * rename tdState -> tmState * Update blockchain/v2/reactor.go Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> * remove peer when it sends a block unsolicited * check for not ready in markReceived * fix error * fix the pcFinished event * typo fix * add documentation for processor fields * simplify time.Since * try and make the linter happy * some doc updates * fix channel diagram * Update adr-043-blockchain-riri-org.md * panic on nil switch * liting fixes * account for nil block in bBlockResponseMessage * panic on duplicate block enqueued by processor * linting * goimport reactor_test.go Co-authored-by: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 19 February 2020, 15:00:14 UTC
403f43a rpc: fix txsearch tests (#4438) 19 February 2020, 14:36:15 UTC
1874a97 lite: modified bisection to loop (#4400) refs #4329 As opposed to using recursion to implement the bisection method of verifying a header, which could have problems with memory allocation (especially for smaller devices), the bisection algorithm now uses a for loop. * modified bisection to loop * made lint changes * made lint changes * move note to VerifyHeader since it applies both for sequence and bisection * test bisection jumps to header signed by 1/3+ of old validator set * update labels in debug log calls * copy tc Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 19 February 2020, 14:18:52 UTC
b09cdaf rpc: fix tx_search pagination with ordered results (#4437) 19 February 2020, 13:01:42 UTC
c680507 dep: maunally bump dep (#4436) replaces #4434 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 19 February 2020, 12:11:17 UTC
68f37ff Use uint64 for consensus.Reactor.SwitchToConsensus() blocksSynced (#4433) 19 February 2020, 11:28:34 UTC
6c67e24 dep: bump gokit dep (#4424) * dep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokit- Signedoff-by: Marko Baricevic <marbar3778@yahoo.com> * go mod tidy * test go version change * combination of multiple cmds Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 18 February 2020, 15:20:02 UTC
f5901ea lite2: divide verify functions (#4412) Closes #4398 * divided verify functions * extacted method * renamed functions. Created standard Verify function * checked non-adjacency. separated VerifyCommit * lint fixes * fix godoc documentation for VerifyAdjacent and VerifyNonAdjacent * add a comment about VerifyCommit being the last check Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 18 February 2020, 15:10:04 UTC
5ea1ff9 rpc: fix issue with multiple subscriptions (#4406) Using the WebSocket server, when the same client calls multiple time the subscribe method, only the last subscription receives all the events of the previous ones. example: subscription1 = tm.event = 'NewBlock' subscription2 = tm.event = 'Tx' In this case, subscription2 will receive the new blocks but subscription1 will not. This came from the WebSocket handler that had the declaration of the rpcrequest moved and so overridden for every request and given in the JSONReq client context (so the id of the subscription was not the right one). This fixes the issue by simply declaring the rpcrequest inside the loop so every request will create a new object without overwriting the previous one. 17 February 2020, 07:00:56 UTC
da88130 Docs staging (#4407) * update theme * Update version * Updated Questions section in the footer * Remove links to Riot chat * Typo * Add Discord link Co-authored-by: Marko <marbar3778@yahoo.com> 15 February 2020, 20:07:48 UTC
c56fd04 lite2: disconnect from bad nodes (#4388) Closes #4385 * extract TrustOptions into its own file * print trusted hash before asking whenever to rollback or not so the user could reset the light client with the trusted header * do not return an error if rollback is aborted reason: we trust the old header presumably, so can continue from it. * add note about time of initial header * improve logging and add comments * cross-check newHeader after LC verified it * check if header is not nil so we don't crash on the next line * remove witness if it sends us incorrect header * require at least one witness * fix build and tests * rename tests and assert for specific error * wrote a test * fix linter errors * only check 1/3 if headers diverge 14 February 2020, 16:04:56 UTC
58620af lite2: modified sequence method to match bisection (#4403) Currently the sequence function always starts from the trustedHeader and trustedNextVals stored in the lite client. Whereas the bisection one allows the method to be started from any combination of header and validator set. I opened up the sequence verification method to do the same 14 February 2020, 13:52:50 UTC
5f5e0e1 makefile: place phony markers after targets (#4408) The .PHONY targets in the Makefile are usually placed far away from the actual targets, and thus aren't always updated. Placing the .PHONY targets right next to the targets they cover make them more visible and thus more likely to be updated when necessary. 14 February 2020, 13:41:18 UTC
3b5794f adr: light client implementation (#4397) * adr: light client implementation Closes #2133 * note on chain IDs * explain why witnesses are required * if chain forks maliciously, chain ID stays the same * add a note about min witnesses while cross-checking 14 February 2020, 10:35:14 UTC
774aff5 docs: update Light Client Protocol page (#4405) * docs: update Light Client Protocol page Closes #4331 * one way to get hash & height 14 February 2020, 10:22:17 UTC
fb5751d release: minor release 0.33.1 (#4401) * release: minor release 0.33.1 - minor release for 0.33.1 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * remvoe wording * version bump 13 February 2020, 15:38:00 UTC
67837e5 readme: fix link to original paper (#4391) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 12 February 2020, 14:50:07 UTC
2b709e7 make: remove sentry setup cmds (#4383) * make: remove sentry setup cmds removal of make comands for sentry setup. it was unclear if they were being maintained and there has not been a mention of people using them - closes #4379 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * remove depreacted readme * add not being maintained section to docs 12 February 2020, 11:45:24 UTC
b712c1c autofile: resolve relative paths (#4390) Fixes #2649 11 February 2020, 17:20:26 UTC
831ed8f Merge pull request #4389 from tendermint/callum/clean-lite-tests refactored lite client tests 11 February 2020, 16:46:41 UTC
16aae3a Merge branch 'master' into callum/clean-lite-tests 11 February 2020, 16:35:10 UTC
ab6ac6d lite2: improve string output of all existing providers (#4387) before: &http{AFBSD743A...} after: http{https://127.0.0.1:26657} Co-authored-by: Marko <marbar3778@yahoo.com> 11 February 2020, 16:30:26 UTC
4787f7c refactored lite client tests 11 February 2020, 16:17:48 UTC
9a9e8c5 proto: minor linting to proto files (#4386) * proto: minor linting minor linting after working with the proto files in the sdk. there is no logic change just spacing fixes Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * hardcore linting 11 February 2020, 14:07:05 UTC
c494070 docs: fix spec links (#4384) - erik fixed many of the broken links, just fixed two outstanding ones. - closes #4381 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 11 February 2020, 09:57:26 UTC
da813e4 lite2: manage witness dropout (#4380) * witnesses are dropped after no response * test witness dropout * corrected import structure * moved non responsiveness check to compare function * removed dropout test as witnesses are never dropped * created test to compare witnesses 11 February 2020, 09:41:58 UTC
31fd99a proto: add buf and protogen script (#4369) * proto: add buf and protogen script - add buf with minimal changes - add protogen script to easier generate proto files Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add protoc needs * add some needed shell cmds * remove buf from tools as it is not needed everytime * add proto lint and breakage to ci * add section in changelog and upgrading files * address pr comments * remove space in circle config * remove spaces in makefile comment * add section on contributing on how to work with proto * bump buf to 0.7 * test bufbuild image * test install make in bufbuild image * revert to tendermintdev image * Update Makefile Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> 11 February 2020, 09:31:15 UTC
aeb6cc4 lite2: return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) 07 February 2020, 15:31:46 UTC
5ac81eb docs: fix incorrect link (#4377) 07 February 2020, 14:00:19 UTC
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
back to top