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

Solo machine client support #705

Closed
5 tasks
tomtau opened this issue Feb 24, 2021 · 16 comments
Closed
5 tasks

Solo machine client support #705

tomtau opened this issue Feb 24, 2021 · 16 comments
Milestone

Comments

@tomtau
Copy link
Contributor

tomtau commented Feb 24, 2021

Crate

proto (potentially relayer etc.)

Summary

Currently, the IBC solo machine client isn't supported.

Problem Definition

https://github.com/cosmos/ics/blob/master/spec/ics-006-solo-machine-client/README.md

Proposal

@devashishdxt has been working on this

master...devashishdxt:solo-machine

so this will be upstreamed when ready.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@tomtau
Copy link
Contributor Author

tomtau commented Feb 24, 2021

(opened this issue to sync up / in order not to duplicate efforts :))

@adizere
Copy link
Member

adizere commented Feb 24, 2021

Beautiful!
(On the ibc-rs side, no one is working on ICS 006, so we should be good. In contrast, we may update the protos, but it's not going to be very soon e.g., within 1-2 weeks; but there shouldn't be conflicts there anyway.)

@adizere adizere added this to the 04.2021 milestone Feb 24, 2021
@devashishdxt
Copy link

In contrast, we may update the protos, but it's not going to be very soon e.g., within 1-2 weeks; but there shouldn't be conflicts there anyway

Thanks for the heads-up. I'll keep rebasing my branch with the latest master to keep everything updated.

@zmanian
Copy link

zmanian commented Mar 11, 2021

Is the Crypto.com team planning on building a solo machine relayer/orchestrator in Rust?

@tomtau
Copy link
Contributor Author

tomtau commented Mar 12, 2021

Is the Crypto.com team planning on building a solo machine relayer/orchestrator in Rust?

what do you mean by "relayer/orchestrator"? Do you mean a solo machine that would open two connections against two different networks and do synchronous ops between the networks (e.g. transfer-in/transfer-out ICS20)?

@devashishdxt
Copy link

Is the Crypto.com team planning on building a solo machine relayer/orchestrator in Rust?

Is there any reason for the normal relayer not to work with solo machines?

@zmanian
Copy link

zmanian commented Mar 12, 2021

I think of it something that generate and process IBC packets for an IBC solo machine.

@zmanian
Copy link

zmanian commented Mar 12, 2021

The normal relayer would need new functions to injest and deliver packets that aren't based on Tendermint rpc.

@devashishdxt
Copy link

The normal relayer would need new functions to injest and deliver packets that aren't based on Tendermint rpc.

By tendermint RPC, do you mean these GRPC endpoints? https://github.com/cosmos/ibc-go/blob/97f8985e485ea067d187a0813ca880d771b56abc/proto/ibc/core/channel/v1/tx.proto#L12

@tomtau
Copy link
Contributor Author

tomtau commented Mar 12, 2021

The normal relayer would need new functions to injest and deliver packets that aren't based on Tendermint rpc.

By tendermint RPC, do you mean these GRPC endpoints? https://github.com/cosmos/ibc-go/blob/97f8985e485ea067d187a0813ca880d771b56abc/proto/ibc/core/channel/v1/tx.proto#L12

AFAIK, Tendermint JSON-RPC, as the relayer uses it for the light client: https://github.com/cosmos/relayer/blob/v0.8.2/relayer/tm-light-client.go ?

@tomtau
Copy link
Contributor Author

tomtau commented Mar 12, 2021

I think of it something that generate and process IBC packets for an IBC solo machine.

@devashishdxt is working on CLI that will leverage the client from master...devashishdxt:solo-machine i.e. AFAIK do what you described, but internal/embedded -- so far no plan for some external interface to the solo machine, but it may evolve out of it.

@adizere adizere modified the milestones: 04.2021, 06.2021 Apr 27, 2021
@hxrts
Copy link

hxrts commented May 4, 2021

Is crypto.com also planning to create a solo machine instance that uses the solo machine client? We haven't seen one in the wild yet, would like to give this effort visibility if so.

@devashishdxt
Copy link

Is crypto.com also planning to create a solo machine instance that uses the solo machine client? We haven't seen one in the wild yet, would like to give this effort visibility if so.

I'm doing a POC here: https://github.com/devashishdxt/ibc-solo-machine

@tomtau
Copy link
Contributor Author

tomtau commented May 5, 2021

@hxrts one thing to note is that due to IBC spec and implementation bugs, a solo machine can currently only connect to networks that have applied cosmos/ibc-go#123

@hxrts
Copy link

hxrts commented May 5, 2021

Noted, thanks @tomtau. Also @brapse @fedekunze are interested in connecting with you regarding this effort.

@adizere adizere modified the milestones: 06.2021, 08.2021 Jun 7, 2021
@adizere adizere modified the milestones: 08.2021, Backlog Aug 3, 2021
@hu55a1n1 hu55a1n1 removed the modules label Sep 29, 2022
@adizere
Copy link
Member

adizere commented Oct 5, 2022

Not clear if this issue is still relevant. Optimistically closing.

Had a look at https://github.com/devashishdxt/ibc-solo-machine and I don't see much activity. Please let us know otherwise, esp. if any changes should be upstreamed into the Hermes relayer. Thank you.

@adizere adizere closed this as not planned Won't fix, can't repro, duplicate, stale Oct 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants