Smart Contract and their Applications