Developing Smart Contracts