Inspiration

Stable coins become more and more important as they have the advantages as cryptocurrencies while eliminate volatility. Currently, a stable coin collateralizes, to the best, assets on one same chain. Now with the power of IBC, we can extend collateral to different chains, which improves the stability and adoption of the generated stable coin.

What it does

MultiDao is a dappchain that maintains a stable coin that is backed by multi-chain assets. Assets from different chains can be transferred to MultiDao through IBC and put into collateralized debt positions (CDPs) Something close to a multi-chain multi-collateral version of MakerDao.

How we built it

We use Substrate as the dappchain development framework and wrote runtime logic of MultiDao. Frontend is built with Polkadot-js framework. We also built a primitive IBC over substrate with message proof. Relayer system is also built.

Challenges we ran into

Substrate is under heavily development so that the features are always changing. And to have a correct version for all the components is not that easy. We also tried to built a cosmos-sdk based chain that can send cross-chain asset to MultiDao. We made a basic chain with tutorial but is a bit far from accomplishing the cross-chain transaction.

Accomplishments that we're proud of

  1. The demo works yeah!
  2. We managed to deal with the proof generation and verification.
  3. We finished the Cosmos-sdk tutorial and dived into deeper into the current Golang implementation of IBC.

What we learned

  1. The structure and basic development skills of a Cosmos-sdk chain.
  2. Subscribing event of Cosmos-sdk chain using golang.
  3. More implementation ideas and details about IBC.
  4. We should have learned more about Cosmos-sdk.

What's next for MultiDao

  1. Primitive cross-chain transfer between a Cosmos-sdk chain and a Substrate chain.
  2. Cosmos-sdk version of MultiDao
  3. Redemption of collaterals, interest allocation and adjustment

Built With

Share this project:

Updates