Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MVP Client Relayer: Periodic Client Updates #216

Closed
ebuchman opened this issue Aug 31, 2020 · 2 comments
Closed

MVP Client Relayer: Periodic Client Updates #216

ebuchman opened this issue Aug 31, 2020 · 2 comments
Labels
I: CLI Internal: related to the relayer's CLI O: new-feature Objective: cause to add a new feature or support
Milestone

Comments

@ebuchman
Copy link
Member

ebuchman commented Aug 31, 2020

MVP of a relayer should be something that is configured for two existing chains, with clients already existing on them, and just relays ClientUpdate datagrams back and forth. We should target two versions of this: local chain and cosmos sdk chain.

Local Chain

It may be best to start by integrating against a local chain (#158) using using our own ics02/07 handlers (#159) and tendermint light client (#90). This shouldn't require any signing or block on any dependencies (can use v0.16 series of tendermint-rs).

This will allow in process testing with minimal dependencies and shouldnt require waiting for tendermint-rs to update to tendermint v0.34.

-> This is further decomposed and tracked in #381

Cosmos SDK Chain

Then to get it working against a real chain will require updating to the latest tendermint-rs post compatibility with Tendermint v0.34 and will target the latest version of the Cosmos SDK (still unreleased Stargate). Signing will depend on #47 and should just go with whatever is simplest, though note the relayer key's address will need to have an account on both chains. This will also involve updating to the new tendermint websocket API and using that for event subscriptions.

Merkle proofs can be ignored by the relayer for now - in the MVP we can just trust the full nodes.

@ebuchman ebuchman added this to the v0.0.4 milestone Aug 31, 2020
adizere added a commit that referenced this issue Sep 30, 2020
* merge master

* Move and adapt the two chain client update test to ics26

* Added basic ICS18 method + context mock for testing. Should fix for #216 (local part).

* change the APIs to look closer to what the realyer will use

* move the context update and chain advance in new .recv()

* Cleanup for ICS26 and ICS18

* Fix for awkward ClientKeeper setters

* fix the chain mock context tests

Co-authored-by: Anca Zamfir <[email protected]>
@adizere adizere modified the milestones: v0.0.4, v0.0.5 Sep 30, 2020
@ancazamfir ancazamfir modified the milestones: v0.0.5, v0.0.7 Oct 21, 2020
@adizere adizere modified the milestones: v0.0.5, v0.0.6 Dec 2, 2020
@adizere adizere modified the milestones: v0.0.6, v0.0.7 Dec 23, 2020
@adizere adizere mentioned this issue Jan 26, 2021
13 tasks
@ancazamfir
Copy link
Collaborator

At this point we have basic relayer functionality running. But that does not include updating clients in the absence of transactions requiring client updates. I believe it is still useful to have some test command that just updates clients on every NewBlock event. This is a way to stress the relayer and chains and also to run in parallel with the V1 version.

I am changing the milestone for this to V1.

@ancazamfir ancazamfir modified the milestones: v0.1.0, v0.1.2 Jan 26, 2021
@adizere adizere changed the title MVP Client Relayer MVP Client Relayer: Periodic Client Updates Feb 8, 2021
@adizere adizere modified the milestones: backlog, 03.2021 Feb 24, 2021
@adizere adizere modified the milestones: 03.2021, 04.2021 Mar 16, 2021
@adizere adizere added I: CLI Internal: related to the relayer's CLI O: new-feature Objective: cause to add a new feature or support labels Mar 18, 2021
@adizere adizere modified the milestones: 04.2021, 03.2021 Mar 18, 2021
@adizere
Copy link
Member

adizere commented Apr 27, 2021

Duplicate of #786, closing in favour of that.

@adizere adizere closed this as completed Apr 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: CLI Internal: related to the relayer's CLI O: new-feature Objective: cause to add a new feature or support
Projects
None yet
Development

No branches or pull requests

3 participants