Installation

Let's start with the installation of the Linera development tools.

Overview

The Linera toolchain consists of several crates:

  • linera-sdk is the main library used to program Linera applications in Rust.

  • linera-service defines a number of binaries, notably linera the main client tool used to operate developer wallets and start local testing networks.

  • linera-storage-service provides a simple database used to run local validator nodes for testing and development purposes.

Requirements

The operating systems currently supported by the Linera toolchain can be summarized as follows:

Linux x86 64-bitMac OS (M1 / M2)Mac OS (x86)Windows
✓ Main platform✓ Working✓ WorkingUntested

The main prerequisites to install the Linera toolchain are Rust, Wasm, and Protoc. They can be installed as follows on Linux:

  • Rust and Wasm

    • curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • rustup target add wasm32-unknown-unknown
  • Protoc

    • curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protoc-21.11-linux-x86_64.zip
    • unzip protoc-21.11-linux-x86_64.zip -d $HOME/.local
    • If ~/.local is not in your path, add it: export PATH="$HOME/.local/bin:$PATH"
  • On certain Linux distributions, you may have to install development packages such as g++, libclang-dev and libssl-dev.

For MacOS support and for additional requirements needed to test the Linera protocol itself, see the installation section on GitHub.

This manual was tested with the following Rust toolchain:

[toolchain]
channel = "1.86.0"
components = [ "clippy", "rustfmt", "rust-src" ]
targets = [ "wasm32-unknown-unknown" ]
profile = "minimal"

Installing from crates.io

You may install the Linera binaries with

cargo install --locked linera-storage-service@0.15.0
cargo install --locked linera-service@0.15.0

and use linera-sdk as a library for Linera Wasm applications:

cargo add linera-sdk@0.15.0

The version number 0.15.0 corresponds to the current Testnet of Linera. The minor version may change frequently but should not induce breaking changes.

Installing from GitHub

Download the source from GitHub:

git clone https://github.com/linera-io/linera-protocol.git
cd linera-protocol
git checkout -t origin/testnet_conway  # Current release branch

To install the Linera toolchain locally from source, you may run:

cargo install --locked --path linera-storage-service
cargo install --locked --path linera-service

Alternatively, for developing and debugging, you may instead use the binaries compiled in debug mode, e.g. using export PATH="$PWD/target/debug:$PATH".

This manual was tested against the following commit of the repository:

f9484f748c4508e74f0d86d5924a02eef1341055

Getting help

If installation fails, reach out to the team (e.g. on Discord) to help troubleshoot your issue or create an issue on GitHub.