We build upon the Bitcoin protocol to realise a framework which programmers can extend to obtain general-purpose decentralized applications.

We validate our framework by using it to implement (decentralized versions of) a key-value store, a message oriented middleware, and a middleware where the interaction among mutually distrusting parties is regulated by contracts.

M. Bartoletti, D. Gessa, A. S. Podda. Contractvm: decentralized applications on Bitcoin, 2016.

Software: ContractVM @ GitHub