github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/gnovm/README.md (about) 1 # GnoVM -- Gnolang Virtual Machine 2 3 GnoVM is a virtual machine that interprets Gnolang, a custom version of Golang optimized for blockchains, featuring automatic state management, full determinism, and idiomatic Go. 4 It works with Tendermint2 and enables smarter, more modular, and transparent appchains with embedded smart-contracts. 5 It can be used in TendermintCore, forks, and non-Cosmos blockchains. 6 7 Read the ["Intro to Gnoland"](https://test3.gno.land/r/gnoland/blog:p/intro) blogpost. 8 9 This folder focuses on the VM, language, stdlibs, tests, and tools, independent of the blockchain. 10 This enables non-web3 developers to contribute without requiring an understanding of the broader context. 11 12 ## Language Features 13 14 * Like interpreted Go, but more ambitious. 15 * Completely deterministic, for complete accountability. 16 * Transactional persistence across data realms. 17 * Designed for concurrent blockchain smart contracts systems. 18 19 ## Getting started 20 21 Install [`gno`](./cmd/gno) and refer to the [`examples`](../examples) folder to start developing contracts. 22 23 Check the [Makefile](./Makefile) to enhance GnoVM, Gnolang, and stdlibs.