Oracle is a tool for data communication between a smart contract in a blockchain and the outside world.