After creating another contract that incentivized users with an ERC20 token it became apparent that initial coin adoption can be difficult to obtain. Users are wary to buy into a coin that isn't on exchanges and exchanges aren't interested in a coin that doesn't have users. Our decentralized exchange allows fledgling and niche tokens a first opportunity of exposure and liquidity. We have our own directory of user generated tokens and our API is open for anyone to submit a valid 0x order. The goal of 0xchange.me is to provide as many order offers as possible—whether in the form of niche token ICOs, other relayers (with their fees included) or anyone interested in making a trade without transaction fees. We've explored techniques for scraping the blockchain for partially filled but still valid orders in order to offer as many options as possible. We're more of a 0x order search engine than a proper relayer, with the goal of capturing users attention by providing cheap decentralized liquidity.
What it does
0xchange.me is a tool for making, taking and searching a constantly pruned database of valid 0x orders in the form of a user interface and an API. We use Sai as a stable denomination to express when an order is above or below the market average highlighting arbitrage opportunities.
How we built it
The front end is built with Vue.js and a google material template called vuetify. We rely heavily on the 0x.js library. Our front end is served by netlify who provides SSL and a CDN. Our server runs express with node.js, uses postgreSQL as a database and is hosted on Digital Ocean. We use the Cryptocompare API to get real time price updates using websockets.
Challenges we ran into
We found it challenging to take a transaction hash and reverse engineering it to find the details about the original fill order in order to figure out whether the order was still valid and partially unfilled. It was also challenging to open a socket to gather real-time price updates from CryptoCompare, and once we had implemented it, we realized that the prices from the socket were actually less accurate than from the standard get request for prices.
Accomplishments that we're proud of
We came together and launched a working product in less than 27 hours after never having met each other before.
What we learned
Sleep is important
What's next for 0xchange.me
Waiting for other relayers to make their order books public to increase the size of our databases and finding other venues for scraping valid orders.