A “smart contract” is simply a program that runs on the Ethereum blockchain. It’s a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain. Smart contracts are a type of Ethereum account. This means they have a balance and they can send transactions over the network. However they are not controlled by a user, instead they are deployed to a network and run as programmed. User accounts can then interact with a smart contract…