We wanted to create a DEX that would take advantage of Kyber's on-chain swaps initially and then would also tap on other liquidity pools such as Bancor and 0x relays. Anybody can clone this DEX and host on their own IPFS node.
What it does
Crypto9 allows you to host your own DEX on your IPFS node. It fetches a user's balance information and facilitates Kyber swaps. It also has advanced trading options where you can put in stop and limit orders and they get executed automatically as far as the client is open in the browser.
It also allows you to create a CDP using MakerDao's DAI.js library.
Crypto9 allows you to use MetaMask and/or Truffle's HD Wallet by providing your wallet's seed phrase.
How we built it
Front-end is built in bootstrap while the backend is built in web3.js. The dApp talks directly with Kyber contracts hosted on Kovan and Ropsten test networks. For MakerDao it makes use Dai.js library.
We converted the example Node.js code into client-side native code, that means Crypto9 can work on IPFS now and does not need any kind of server to run itself!
Challenges we ran into
Converting Node.js code to client code was a challenge plus working with two different test networks simultaneously as Kyber has better deployment over Ropsten and MakerDao works with Kovan.
Accomplishments that we're proud of
A decentralized exchange that works on IPFS
- It uses on-chain liquidity pool and allows users to swap tokens with each other
- It's semi-automatic and a user does not need to sit and monitor the trade after putting in stop and limit orders
- It has a "Rainy Day" button that allows a user to instantly convert her entire portfolio into DAI after creating a CDP!
What we learned
- Ganache, Truffle
- HD Wallet, MetaMask
- Kyber and MakerDAO smart contracts and SDKs
- Ropsten, Kovan
What's next for crypto9
New liquidity pools such as Bancor and 0x relays.