Smart contracts play an important role in blockchains. They allow two or more parties to conclude a transaction, record its condition in the blockchain and automatically fulfill these conditions when certain conditions or events are reached. They perform the functions of ordinary contracts, but without the need to trust a third party. In blockchains, smart contracts are widely used to create and manage decentralized applications (dApps) and tokens. They can be used to automate various processes, such as income distribution, voting, digital asset management and much more.