/ibci-go

ibc-go with an ibci wrapper

Primary LanguageGo

IBCI wrapped ibc-go

IBCI is an integration interface for IBC. This is an example of what an IBCI wrapped version of ibc-go could look like.

There's a few high level goals here:

  • Provide a minimal interface for integrations
  • Standardize on IBC internal data structures
  • Reuse existing relayer infrastructure
  • Avoid costly re-factor of ibc-go

The approach is fairly simple:

  • Wrap the IBC core module in an abci.Application
  • Create a dedicated IBC mempool using cometBFT's mempool
    • The mempool impl is abci.Application compatible, can migrate to a diff mempool impl in the future
  • Expose RPC endpoints in the format that existing relayers already expect (e.g. hermes)
  • Impl the IBCI for integrations