Overview
What is gno.land?
Gno.land is a Layer 1 blockchain platform that enables the execution of Smart Contracts using an interpreted version of the Go programming language called Gno.
Key Features and Technology
- Interpreted Gno: Gno.land utilizes the Gno programming language, which is based on Go. It is executed through a specialized virtual machine called the GnoVM, purpose-built for blockchain development with built-in determinism and a modified standard library. While Gno shares similarities with Go in terms of syntax, it currently lacks go routine support. However, this feature is planned for future development, ensuring deterministic GnoVM executions.
- Consensus Protocol - Tendermint2: Gno.land achieves consensus between blockchain nodes using the Tendermint2 consensus protocol. This approach ensures secure and reliable network operation.
- Inter-Blockchain Communication (IBC): In the future, gno.land will be able to communicate and exchange data with other blockchain networks within the Cosmos ecosystem through the Inter-Blockchain Communication (IBC) protocol.
Why Go-based?
The decision to base gno.land's language on Go was influenced by the following factors:
- Standard and Secure Language: Go is a well-established and secure programming language, widely adopted in the software development community. By leveraging Go's features, gno.land benefits from a robust and proven foundation.
- User-Friendly: Go's simplicity and ease of understanding make it beginner-friendly. This accessibility lowers the entry barrier for developers to create Smart Contracts on the gno.land platform.
How does it compare with Ethereum?
In comparison to Ethereum, gno.land offers distinct advantages:
Transparent and Auditable Smart Contracts: Gno.land Smart Contracts are fully transparent and auditable by users because the actual source code is uploaded to the blockchain. In contrast, Ethereum requires contracts to be precompiled into bytecode, leading to less transparency as bytecode is stored on the blockchain, not the human-readable source code. Smart contracts in gno.land can be used as libraries with a simple import statement, making gno.land a defacto source-code repository for the ecosystem.
General-Purpose Language: Gno.land's Gno is a general-purpose language, similar to Go, extending its usability beyond the context of blockchain. In contrast, Solidity is designed specifically for Smart Contracts on the Ethereum platform.
Using the gno.land Documentation
Gno.land's documentation adopts the Diataxis framework, ensuring structured and predictable content. It includes:
- A Getting Started section, covering simple instructions on how to begin your journey into gno.land.
- Concise how-to guides for specific technical tasks.
- Conceptual explanations, offering context and usage insights.
- Detailed reference sections with implementation specifics.
- Tutorials aimed at beginners to build fundamental skills for developing in gno.land.