Solidity is a computer programming language used for creating smart contracts. There is technology known as blockchain that is made up of publicly available digital recordings managed simultaneously by a network of computers. When you use that technology with contracts and program them to take action on a date, you have a smart contract.