Exchanging has been part of human civilization right from when humans began trading, in the early phase, it was Barter system which was used to exchange goods between two parties, fast forward to the modern age we have blockchain to trade goods(represented by monetary units of tokens).
Now it's possible to trade without trusting the opposite part thanks to guarantees provided by blockchain
First, we have Order-Book based Dexes for transacting between multiple parties, They had their weaknesses such as : No fair pricing multiple transactions just to do a simple exchange of two tokens Bad UI/UX and many more Then we had the introduction of AMM by Vtalik which led to the creation of bancor and uniswap This solved quick exchange swap for many users
Issues we face with Ethereum : 15-sec transaction confirmation High gas prices which make transacting anytime you want difficult Waiting for hours due to high gas prices which can affect the price you get when trading(Makerdao black Thursday is such an example) We need a place for fast exchange Thankfully we have plasma sidechain bound to main Ethereumnetwork which solves many problems with scalability without sacrificing much decentralization.
We have come up with plasma exchange solution with fast exchange and fewer gas fees
Users can visit test website link and login using wallet of their choice by clicking on connect
They can transfer their assets from Mainnet to Matic network using the bridge
If Users want to buy Land Tokens they can select NFT
If Users want to buy any ERC20 Token they can buy using swap page by selecting tokens from dropdown
They can swap and send tokens to another address using send page
They can provide their assets to be available for exchange and collect fees
Functionality Token(ERC20)-Token(ERC20) conversion Dai->Cdai(Compound Dai) conversion Token(mana)->NFT(Land) conversion Login using multiple wallets(Portis,Torus,Fortmatic,walletconnect,metamask) ETH-Token(ERC20,ERC721) conversion
There were plenty of challenges that we ran into as a team, there were many deployment issues that we faced since were integrating the existing protocols in matic, secondly one of the most important things we had to decide since we were integrating the existing Defi Protocols to Matic, we had to understand how the js side of things would work so had to choose how we're to build our JS architecture, we first wanted to include Kyber as well and started off by deploying all kyber contracts, after some time we got them deployed and decided to build on Kyber Widget but that was completely incompatible since all our tx showed weird balance results after the swap took and we weren't able to debug since there was no tenderly support for testnet v3 at that time and we didn't know that the timeline would get extended, so we decided to go with Uniswap and Compound and tried to use their architecture, and initially the funny thing was with their contracts we started getting gas related issues on v3 , so we decided to switch to v2 and it worked like a charm, Another issue that we ran into was when the deadline got extended, we decide to implement the nft market place bounty as well by creatng out own custom nft token and trying swapping with ETH/MANA but during the testing phase we started getting issues, but then we had discussions with Matic Team and that got solved.