Hotmoka: Blockchain and IoT Nodes with Smart Contracts in Java

Hotmoka is an implementation of a blockchain and IoT node whose smart contracts are programmed in a subset of Java known as Takamaka. Users add smart contracts dynamically. There is no need to reboot the blockchain to install new contracts. Hotmoka verifies the code before installation, in particular to ensure determinism.Features

Scientific background

Hotmoka builds on scientific research from areas such as code transformation and code
verification through abstract interpretation.

Shared objects

Smart contracts and storage objects can be created and shared among users. The dynamic
installation of shared libraries in blockchain has never been easier.

Code verification

Smart contracts get verified before installation in blockchain. This ensures their determinism and
bans a set of frequent programming errors. Only verified smart contracts will ever be run.

Extensive library

Hotmoka comes with an installed large library of smart contracts for tokens, shared entities,
governance and DeFi.

Proof of stake

Hotmoka nodes based on Tendermint are governed by a proof of stake algorithm where
validation shares can be sold and bought dynamically.

Open source

Hotmoka and its ecosystem are open-source, non-proprietary software, distributed under the
Apache 2.0 license. You can use and modify the code as you like.

Hotmoka started as a research project of the University of Verona, Italy, and subsequently developed into a
software project by Fausto Spoto and some of his former students, who hold the copyright on its code.