(image)

Programming Hotmoka
A tutorial on Hotmoka and smart contracts in Takamaka

Bibliography

  • [1]  A. M. Antonopoulos. Mastering Bitcoin: Programming the Open Blockchain. Oreilly & Associates Inc, 3rd edition, November 2023.

  • [2]  A. M. Antonopoulos, G Wood, C. Parisi, A. Mazza, and N. Pozzolini. Mastering Ethereum: Implementing Smart Contracts. Oreilly & Associates Inc, 1st edition, October 2025.

  • [3]  N. Atzei, M. Bartoletti, and T. Cimoli. A Survey of Attacks on Ethereum Smart Contracts (SoK). In 6th International Conference on Principles of Security and Trust (POST’17), volume 10204 of Lecture Notes in Computer Science, pages 164–186, Uppsala, Sweden, April 2017. Springer.

  • [4]  A. Benini, M. Gambini, S. Migliorini, and F. Spoto. Power and Pitfalls of Generic Smart Contracts. In 3rd International Conference on Blockchain Computing and Applications (BCCA’21), pages 179–186, Tartu, Estonia, November 2021. IEEE.

  • [5]  S. Crafa, M. Di Pirro, and E. Zucca. Is Solidity Solid Enough? In 3rd Workshop on Trusted Smart Contracts (WTSC’19), volume 11599 of Lecture Notes in Computer Science, pages 138–153, St. Kitts and Nevis, 2019. Springer.

  • [6]  M. Crosara, L. Olivieri, F. Spoto, and F. Tagliaferro. Re-engineering ERC-20 Smart Contracts with Efficient Snapshots for the Java Virtual Machine. In 3rd International Conference on Blockchain Computing and Applications (BCCA’21), pages 187–194, Tartu, Estonia, November 2021. IEEE.

  • [7]  M. Crosara, L. Olivieri, F. Spoto, and F. Tagliaferro. Fungible and non-Fungible Tokens with Snapshots in Java. Cluster Computing, 26(5):2701–2718, 2023.

  • [8]  W. Entriken, D. Shirley, J. Evans, and N. Sachs. ERC-721: Non-Fungible Token Standard. https://eips.ethereum.org/EIPS/eip-721, 2018.

  • [9]  P. Freni, F. Ferro, and R. H. Moncada. Tokenization and Blockchain Tokens Classification: A Morphological Framework. In Proc. of the IEEE Symposium on Computers and Communications (ISCC 2020), pages 1–6, Rennes, France, July 2020. IEEE.

  • [10]  Hotmoka’s DockerHub Page. https://hub.docker.com/u/hotmoka.

  • [11]  Iyer. K. and C. Dannen. Building Games with Ethereum Smart Contracts. Apress, 2018.

  • [12]  J. Kwon. Tendermint: Consensus without Mining. https://www.weusecoins.com/assets/pdf/library/Tendermint%20Consensus%20without%20Mining.pdf, 2014. Accessed on August 26, 2024.

  • [13]  B. Liskov and J. M. Wing. A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811–1841, 1994.

  • [14]  Mokamint’s DockerHub Page. https://hub.docker.com/r/mokamint.

  • [15]  Mokaminter App on Google Play. https://play.google.com/store/apps/details?id=io.mokamint.android.mokaminter, 2025.

  • [16]  Mokamint’s Source Code on GitHub. https://github.com/Mokamint-chain/mokamint, 2023.

  • [17]  Mokito’s Source Code on GitHub. https://github.com/Hotmoka/HotmokaAndroid.

  • [18]  Mokito on Google Play. https://play.google.com/store/apps/details?id=io.hotmoka.android.mokito.

  • [19]  S. Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf, October 2008. Accessed on August 26, 2024.

  • [20]  L. Oliveira, L. Zavolokina, I. Bauer, and G. Schwabe. To Token or not to Token: Tools for Understanding Blockchain Tokens. In J. Pries-Heje, S. Ram, and M. Rosemann, editors, Proc. of the International Conference on Information Systems - Bridging the Internet of People, Data, and Things (ICIS 2018), San Francisco, CA, USA, 2018. Association for Information Systems.

  • [21]  L. Olivieri, F. Spoto, and F. Tagliaferro. On-Chain Smart Contract Verification over Tendermint. In 5th Workshop on Trusted Smart Contracts (WTSC’21), volume 12676 of Lecture Notes in Computer Science, pages 333–347. Springer, March 2021.

  • [22]  OpenZeppelin Docs: ERC20. https://docs.openzeppelin.com/contracts/5.x/erc20.

  • [23]  OpenZeppelin Docs: ERC721. https://docs.openzeppelin.com/contracts/5.x/erc721.

  • [24]  C. Reitwiessner, N. Johnson, F. Vogelsteller, J. Baylina, K. Feldmeier, and W. Entriken. ERC-165: Standard Interface Detection. https://eips.ethereum.org/EIPS/eip-165, 2018.

  • [25]  Sentry Node Architecture Overview - Cosmos Forum. https://forum.cosmos.network/t/sentry-node-architecture-overview/454, 2018.

  • [26]  F. Spoto. A Java Framework for Smart Contracts. In 3rd Workshop on Trusted Smart Contracts (WTSC’19), volume 11599 of Lecture Notes in Computer Science, St. Kitts, 2019.

  • [27]  F. Spoto. Enforcing Determinism of Java Smart Contracts. In 4th Workshop on Trusted Smart Contracts (WTSC’20), volume 12063 of Lecture Notes in Computer Science, pages 568–583, Kota Kinabalu, Malaysia, February 2020. Springer.

  • [28]  F. Spoto. A Formalization of Signum’s Consensus. In Proc. of Financial Cryptography and Data Security, WTSC Workshop, volume 15753 of Lecture Notes in Computer Science, pages 180–199, Miyakojima, Japan, April 2025. Springer.

  • [29]  F. Spoto, S. Migliorini, M. Gambini, and A. Benini. On the Use of Generic Types for Smart Contracts. Cluster Computing, 26(4):2099–2113, 2023.

  • [30]  D. Tapscott. Token Taxonomy: The Need for Open-Source Standards around Digital Assets. https://www.blockchainresearchinstitute.org/project/token-taxonomy-the-need-for-open-source-standards-around-digital-assets, 2020.

  • [31]  Tendermint. https://tendermint.com.

  • [32]  F. Vogelsteller and V. Buterin. ERC-20: Token Standard. https://eips.ethereum.org/EIPS/eip-20, 2015.