Hotmoka: Object-oriented blockchain transactions
Everything is an object in Hotmoka: contracts are objects, as well as accounts or the same manifest of the blockchain. Objects can be composed, redefined, modified but never deleted. Typed references identify objects in blockchain, so that it is not possible to cast references to arbitrary types, as it happens in other blockchains. This simplifies the assessment of the correctness of the smart contracts and reduces the risk of bugs. Hotmoka implements a software layer for the execution of object-oriented transactions: code storage in blockchain, object creations and method calls.