Skip to content

Crosschain queries - ICS31 in Solidity  #10

@dpbpolymer

Description

@dpbpolymer

This is your chance to contribute to implementing the ICS31 standard in Solidity!

IBC is a well documented and battle-tested protocol with many developers contributing code/standards to improve its developer experience and help other applications build off of their work. The PIT empowers further contributions, there are a few IBC standards Polymer thinks can be used by a wide variety of applications.

IBC is a complete interop protocol with a well-defined specification, called the the InterChain Standards or ICS for short. There's a clear separation between the state and transport layers on the one hand (this is what Polymer has contributed to for L2-L2 commmunication) and the application layer.

In Phase 1 of the PIT we focus on the application layer. In Cosmos, where IBC originated, many standards have implementations as Go modules. The challenge you're presented with is to implement some of those for the EVM and Solidity.

Similar implementations already exist in EVM and we leave it to your best judgement to establish a fair analysis between them, propose and build a new standard that will help further the cosmosethereum.

Dive into the technicals between various standards which are available in IBC and their counter parts in Ethereum:

  • Perform a technical overview of the designs.
  • Compare the best features from each of the standards.
  • Prepare a functioning solidity implementation and with an intuitive CLI for easier use.

Note: Research paper/proposal also counts as documentation in the rubric.

References: ICS31 go implementation

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions