In 2018, we witness several launches of decentralized exchanges, I personally had tried many of these DEXs and EtherDelta is one of the ones that I will share my user experience on.
EtherDelta gained popularity during the ICO craze last year. It is also the first decentralized exchange I had used. However, I stopped using it after losing some Ether on the platform due to the unfriendly user interface and trading mechanisms. ForkDelta and EtherDelta are basically similar, so I will comment on both of them based on findings from ForkDelta. Screen captures will be ForkDelta’s interface as demonstration in this user experience article.
The user interface did not improved much since it first started, you can see the order book and the column to place order from the images below.
If you are used to centralized exchanges, you may intuitively try to place an order higher than the market price to have it matched automatically. But after sending the order, you will find out the result like the demonstration below.
Because ForkDelta does not provide order matching function, so it will only put your order on the order book. If you mistype the price and the amount, you will end up placing an order with unreasonably high price, you have to click directly on the orders you wish to match with on the order book to specify the buyer/seller.
Although ForkDelta applies off-chain matching, users can not cancel their orders off-chain, which means users have to send transactions onto the blockchain in order to cancel their orders. So the misplaced orders may likely be matched by others prior to cancellation
Besides, the updating speed the order book is relatively slow, so errors may occur when you are going to match with specific orders. Users have to try the orders one by one, since they do not know which one is still valid.
Executing the transactions on chain will make users wait a long time, causing failure transaction when many people are selecting the same trade order. Based on the example above, it seems like many people would like to make a deal with the order. But most people will end up failing and wasting their gas fees. The smart contract deployed by ForkDelta is a permature version, which utilizes “throw” but not “revert” functions. So failure transactions will use up all the Gas. You can check the example below where 250,000 Gas (0.00525 Ether) was used even the transaction failed.
Apart from the serious problems mentioned, there are few other flaws. For example, the account address does not sync with the selected address on your wallet; the trading charts and user interface are not attractive.
However, ForkDelta provides one good feature. Tokens do not necessarily be listed by the exchange to enable trading. Users can add tokens whichever they want to trade by clicking on “Other” at the bottom of “Token” followed by entering the address and decimals.
- No order matching
- No off-chain cancellation
- Deals not guaranteed
- Wasted gas fee even transaction fails
- Unfriendly user interface
- Trade whatever token you want
Article by Yi-Cyuan Chen, Chief Architect of JOYSO