github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/docs/overview.md (about) 1 --- 2 id: overview 3 slug: / 4 description: "Gno.land is a Layer 1 blockchain platform that enables the execution of Smart Contracts using an interpreted 5 version of the Go programming language called Gno." 6 --- 7 8 # Overview 9 10 ## What is Gno.land? 11 12 Gno.land is a Layer 1 blockchain platform that enables the execution of Smart Contracts using an interpreted 13 version of the Go programming language called Gno (Gno for short). 14 15 ### Key Features and Technology 16 17 1. **Interpreted Gno**: Gno.land utilizes the Gno programming language, which is based on Go. It is executed 18 through a specialized virtual machine called the GnoVM, purpose-built for blockchain development with built-in 19 determinism and a modified standard library. While Gno 20 shares similarities with Go in terms of syntax, it currently lacks go routine support. However, this feature is 21 planned for future development, ensuring deterministic GnoVM executions. 22 2. **Consensus Protocol - Tendermint2**: Gno.land achieves consensus between blockchain nodes using the Tendermint2 23 consensus protocol. This approach ensures secure and reliable network operation. 24 3. **Inter-Blockchain Communication (IBC)**: In the future, Gno.land will be able to communicate and exchange data with 25 other blockchain networks within the Cosmos ecosystem through the Inter-Blockchain Communication (IBC) protocol. 26 27 ### Why Go-based? 28 29 The decision to base Gno.land's language on Go was influenced by the following factors: 30 31 1. **Standard and Secure Language**: Go is a well-established and secure programming language, widely adopted in the 32 software development community. By leveraging Go's features, Gno.land benefits from a robust and proven foundation. 33 2. **User-Friendly**: Go's simplicity and ease of understanding make it beginner-friendly. This accessibility lowers the 34 entry barrier for developers to create Smart Contracts on the Gno.land platform. 35 36 ### How does it compare with Ethereum? 37 38 In comparison to Ethereum, Gno.land offers distinct advantages: 39 40 1. **Transparent and Auditable Smart Contracts**: Gno.land Smart Contracts are fully transparent and auditable by users 41 because the actual source code is uploaded to the blockchain. In contrast, Ethereum requires contracts to be 42 precompiled into bytecode, leading to less transparency as bytecode is stored on the blockchain, not the 43 human-readable source code. 44 45 2. **General-Purpose Language**: Gno.land's Gno is a general-purpose language, similar to Go, extending its 46 usability beyond the context of blockchain. In contrast, Solidity is designed specifically for Smart Contracts on the 47 Ethereum platform. 48 49 ## Using the Gno.land Documentation 50 51 Gno.land's documentation adopts the [Diataxis](https://diataxis.fr/) framework, ensuring structured and predictable content. It includes: 52 - A [Getting Started](getting-started/local-setup/local-setup.md) section, covering simple instructions on how to begin your journey into Gno.land. 53 - Concise how-to guides for specific technical tasks. 54 - Conceptual explanations, offering context and usage insights. 55 - Detailed reference sections with implementation specifics. 56 - Tutorials aimed at beginners to build fundamental skills for developing in Gno.land.