Blockchain is a database of all transactions in a peer-to-peer network. The concept of blockchain started to become more and more popular with the release of bitcoin in 2009. Since bitcoin is the first decentralized cryptocurrency, it is more popular than other coins and tokens. But with the announcement of ethereum in 2013, there were good developments in the blockchain technologies, and blockchain is now programmable. These programmable structures are called smart contracts. Smart contracts are computer programs that automatically execute transactions with predefined conditions.