ChorusOne / solido

Lido for Solana is a Lido-DAO governed liquid staking protocol for the Solana blockchain.
https://chorusone.github.io/solido/
GNU General Public License v3.0
101 stars 43 forks source link

Lido for Solana

Note: The new upstream is at lidofinance/solido.

Lido for Solana (“Solido” for short) is a Lido DAO-governed liquid staking protocol for the Solana blockchain. Anyone who stakes their SOL tokens with Lido will be issued an on-chain representation of the SOL staking position with Lido validators, called stSOL.

Lido for Solana gives you:

Further resources:

Deployments

We continuously develop on the main branch in this repository, the code in the main branch may not reflect what is deployed on-chain. Please check the deployments docs for the currently deployed version, and see the changelog for which versions are intended for deployment.

Repository layout

This repository contains the source code for the on-chain program, and for the solido utility to interact with it. The source code for the staking widget, and documentation, are in a different repository, which is not yet public.

Building

The on-chain programs and solido utility are written in Rust. To build them, you need:

The Solana version that we test against is listed in our CI config.

Cloning the repository

This repository contains a Git submodule. To clone it, pass --recurse-submodules:

$ git clone --recurse-submodules https://github.com/chorusone/solido

If you already cloned the repository without submodules, you can still initialize them later:

$ git submodule init
$ git submodule update

If you have an existing checkout and later update it, make sure to also pass --recurse-submodules when using git pull and git {checkout,switch}.

Solido utility

To build and test the solido utility, use the normal Cargo commands:

$ cargo test
$ cargo build --release

The solido binary can then be found in target/release.

On-chain programs

Building the on-chain programs requires the Solana tool suite:

$ cargo build-bpf
$ cargo test-bpf

The programs lido.so, anker.so, and serum_multisig.so can then be found in target/deploy.

Docker container

To build the container image, use buildimage.sh. This will build and package Solido along with the Solana toolchain into an image chorusone/solido:«hash», where «hash» will be the Git hash of the current version of the codebase.

Once built, one can execute into the container interactively:

$ docker run --interactive --tty --rm chorusone/solido:hash /bin/sh

This will provide a shell into the working directory where the Solido artefacts and the Solana toolchain are located. Inside that directory, the the solido utility is in solido/cli, and the on-chain programs are in solido/deploy.

License

Lido for Solana is licensed under the GNU General Public License version 3.