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.