Smart contracts are programs stored on a blockchain that self-execute when all predetermined conditions are met. While the crypto Bitcoin was the very first to support the blockchain network and the smart contracts system along with that, Ethereum is the cryptocurrency to make the best use of the whole technology. Ethereum, a blockchain reliant decentralized crypto that can not function on a central device, was designed around the smart contracts system. dApps were applications brought forth by the Ethereum network; the sole purpose is to let the users communicate with the blockchain. At first glance, smart contracts and dApps might look one and the same to you because of some quite similar features they possess. However, they are clearly distinct, so now we find out what distinguishes them: We know smart contracts have to be coded with the conditions agreed upon by all ends of the counterparty, and then put on the blockchain so that everyone can check with it as per requirements, right?
And then there’s dApps, websites that don’t exist on the blockchain but interact with it. So there we have the glaring factor that sets them apart: A dApp is how you can communicate with a smart contract, and thus in turn, with the blockchain itself. Smart contracts allow dApps to connect users to the blockchain tech. For example, when you use a traditional website like Twitter or Facebook, it lets an API (Application Programming Interface) process your identifying information (username/email, password, etc.) and then allow you to access it. Similarly, dApp is a blockchain-powered website that calls on the smart contract to act as an API and verify your data before you access the blockchain you are seeking.