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.