A Gentle Introduction to Smart Contracts