Assist in the Negotiation, Implementation and Enforcement of Smart Contracts