2

Can we say following proposition is correct?

"every Smart Contract is a Dapp, but a Dapp may not be a Smart Contract."

3

Smart contracts, to me, are the part of any distributed application (dApp) that runs on the blockchain's virtual machine. That could be Solidity code compiled down to EVM byte code, Vyper code compiled down to EVM byte code or straight out of the box hand-written EVM byte code.

The dApp is, I think, bigger than that and includes the web3.js (RPC-based) user interface on a website, IPFS front-end, or even a desktop application. So, I might say something more along the lines of "Every dApp has, at its heart, a smart contract."

There are also dApps that don't have smart contracts as part of them (I've seen some talk about soley IPFS-based distributed applications), and probably even smart contracts without a front end (which would probably also qualify as a distributed application).

Generally, though, I think most people would say dApps are larger software systems with smart contract (i.e. EVM byte code) at thier heart.

  • Thank you, And in your opinion, even a solidity code that doesn't contain any financial transactions i.e. exchanging digital assets or tokens and it only stores some information on the blockchain, can we say that this solidity code is a Smart Contract? Thanks. – Questioner May 13 '18 at 2:44
  • Sure. In fact, I would argue that in the long run the purely financial stuff will become much less important as people find other amazing thing to do (voting for example). – Thomas Jay Rush May 13 '18 at 10:38

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.