polymerdevs / Quest-Into-The-Polyverse-Phase-1

All information related to phase 1 of the polymer incentivized testnet (PIT)
82 stars 73 forks source link

Crosschain queries - ICS31 in Solidity #10

Open dpbpolymer opened 9 months ago

dpbpolymer commented 9 months ago

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:

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

References: ICS31 go implementation