We were inspired by Fabio of the 0x team to create something leveraging 0x in combination with a relayer to abstract away as-much-as-possible for a better amateur-user experience.
What it does
As a user, it allows you to convert your Eth (on Metamask for example) for any ERC20 token. It displays the lowest available price of the desired ERC20 token (i.e. BAT) from ERC Dex, and if the user accepts, it converts their Ether to Wrapped Ether (ERC 20) and then fills the order to the desired cryptoasset. Like shapeshift, it abstracts away the "in-between." The contract seeks no rent from buyers or relayers.
How we built it
We used 0x smart contracts to both "wrap" ether (WEth ERC token) and fill orders (Exchange). We used ERC DEx as a relayer to source open orders.
Challenges we ran into
As new Solidity developers, we were the victim of truffle migranes. Understanding how to interact with other smart contracts from our main smart contract was difficult. The process of setting up our test networks and loading them with test erc-tokens, test-eth, took way too long.
Fortunately, once we understood how to interact with external contracts and deploy, writing the logic of the smart contracts was pretty simple.
React also proved to be easy to pick up, and its dynamic UI was well suited for our promise chain of waiting on responses from the network via Promise chains and immediately updating the UI.
Accomplishments that we're proud of
Team spririt, new friends, and a submission.
What we learned
React, Solidity and how everything in a DApp is tied together.
What's next for Eth to ERC20
Please do not sue us for our name, which is clearly a trademark of the real Shapeshift! Next steps are to migrate to Kovan for testing and eventually, to Mainnet. Perhaps, taking a small (really, much smaller than Shapeshift) for our efforts.