About this project

Linera is a decentralized blockchain infrastructure designed for highly scalable, secure, low-latency Web3 applications. This repository is the main implementation of the Linera protocol, written in Rust. The repository is organized into several crates, from low-level base definitions to high-level services: - `linera-base`: Base definitions including cryptography. - `linera-version`: Version management for binaries and services. - `linera-views`: Maps complex data structures onto key-value stores, with procedural macros in `linera-views-derive`. - `linera-execution`: Persistent data and logic for runtime and execution of Linera applications. - `linera-chain`: Persistent data and logic for chains of blocks, certificates, and cross-chain messaging. - `linera-storage`: Storage abstractions on top of `linera-chain`. - `linera-core`: Core protocol including client and server logic, node synchronization. - `linera-rpc`: RPC message data types and schemas. - `linera-client`: Library for writing Linera clients, used by CLI and node service. - `linera-service`: Executables for clients (CLI wallets), proxy (validator frontend), and servers. - `linera-sdk`: Library for developing Linera applications in Rust for the Wasm virtual machine, with macros in `linera-sdk-derive`. - `examples`: Example Linera applications. The README provides a quickstart guide for setting up a local test network using the Linera CLI. It includes commands to compile binaries, start a local network with a faucet, initialize a wallet, request chains, transfer tokens between microchains, and query balances. More complex examples are available in the developer manual and the example applications. Contributions are welcome via the standard fork-and-pull-request workflow, with detailed guidelines in CONTRIBUTING.md.