The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime. These programs are tested against Solana's implementation of Sealevel, solana-runtime, and deployed to its mainnet. As others implement Sealevel, we will graciously accept patches to ensure the programs here are portable across all implementations.
These programs cannot be built directly via cargo and instead require the build scripts located in Solana's BPF-SDK.
Download or update the BPF-SDK by running:
$ ./do.sh update
To build all programs, run:
$ ./do.sh build
Or choose a specific program:
$ ./do.sh build <program>
Unit tests contained within all projects can be built via:
$ ./do.sh test
Or:
$ ./do.sh test <program>
End-to-end testing may be performed via the per-project .js bindings. See the token program's js project for an example.
Clippy is also supported via:
$ ./do.sh clippy
Or:
$ ./do.sh clippy <program>