I am a newbie to Ethereum and start to study some typical implementations of commonly-used DApp.

So basically for the popular dapp on this list (https://www.stateofthedapps.com/rankings/platform/ethereum), it can provide pointers to the underlying smart contracts of each dapp. However, after reading the code of several apps, I have the following questions:

  1. Why some smart contracts seems super trivial, comparing to the functionality of the dapp? For instance this one, life book, its only leveaged smart contract is here, which basically just provides some delegation utilities. Very trivial. Indeed by checking out this app (http://lifebook.club/?utm_source=StateOfTheDApps#/), I was expecting the corresponding smart contract to at least have some "storage" facilities, in order to store some user inputs.

  2. So I understood that a dapp include front end and back end, for which the front end is some js code while the backend, who resides on the Ethereum are one or several smart contracts. But this still seems pretty shallow to me, for instance for the most popular app (https://www.stateofthedapps.com/dapps/idex), it also only contains one smart contract (https://etherscan.io/address/0x2a0c0DBEcC7E4D658f48E01e3fA353F44050c208?utm_source=StateOfTheDApps#code), which seems very mundane and a bit trivial to me (comparing to the Java and C++ projects I am familiar with); I am supersized that such a simple smart contract is capable of supporting the whole app for "decentralized exchange for trading Ethereum (ERC-20) tokens". Am I missed anything here?

  1. You're looking at the proxy contract for managing contract versions, etc. The proxy contract points to the main contract but the proxy contract isn't the main contract itself.

  2. Yes, it's that "trivial" to setup an exchange with Ethereum. The network was designed for these types of operations. There are some classic examples like crowdsales on the ethereum website. The heavier lifting is often with security issues, versioning, frontend, etc.

  • Good question. TBH I wanted to link the "main contract" in my answer above, but I've been unable to find it. I'm not familiar with their proxy contract and I've had no luck poking at it. Even if we find the main contract, we might not recognize it because we'll only see the raw source/assembly unless somebody has uploaded the solidity code to etherscan... Anyway, this is probably a good topic for another question. Somebody should be able to figure it out. – sfmiller940 Oct 30 '18 at 20:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.