cosmos / relayer

An IBC relayer for ibc-go
Apache License 2.0
390 stars 1.71k forks source link

Namada support v2 #1419

Closed meetrick closed 6 months ago

meetrick commented 8 months ago

draft for #1418

jtieri commented 8 months ago

thanks for taking the initiative on this one @meetrick!!!

Penumbra is similar to Namada, in the sense that it is built in Rust and utilizes the Rust libraries for CometBFT and IBC but does not use the Cosmos SDK. When adding support for Penumbra what we decided to do was use buf to pull the Penumbra protos and generate the necessary source code to interact with the chain from the client side in Go.

Here is the buf.gen.yaml file we use to pull the protos and generate the code.

This will generate the source code in the relayer/chains/penumbra directory. Then when implementing the Provider interfaces you can make use of any of the type needed for things like composing and broadcasting txs, making queries, and managing keys.

I'm sure there will be a number of differences in the implementation details, but the design should be roughly the same when integrating Namada.

Let me know if there is anything that I can do to be of assistance!

meetrick commented 8 months ago

@jtieri Thanks!! I will!