Smart contract development: Challenges and opportunities