Ethereum is one of the prominent blockchain systems in the world. With its native cryptocurrency ether, users are able to make transactions and develop all kind of decentralized application (Dapp) on Ethereum. Dapp can be programmed in various languages such as Solidity [9]. In order to execute the Solidity code, it is necessary to compile the codes into a custom form of byte code to be read by Ethereum’s Virtual machine (EVM). Programs that run on Ethereum blockchain are called smart contract. Owing to the fact that a smart contract is Turing complete, most complicated business logic can be implemented. The execution result of smart contracts will result in the new states on all blockchain system. Once a smart contract is deployed, it will not be able to be modified. Plus, the feature of decentralization ensures that no one is able to tamper or take control over the execution. The above explanation shows the benefits of using smart contracts to monitor and to record significant pieces of information.