Blockchain with Smart Contracts