Go to file
Jack May aa92540402
Add copy code block button support to docs (#157)
2020-07-27 12:09:04 -07:00
.github Add dependabot.yml (#97) 2020-07-08 17:06:19 +08:00
.travis Improve CI coverage (#141) 2020-07-21 14:37:34 -07:00
ci Improve CI coverage (#141) 2020-07-21 14:37:34 -07:00
docs Add copy code block button support to docs (#157) 2020-07-27 12:09:04 -07:00
memo Bump sdk version, and adjust accordingly (#155) 2020-07-24 20:39:15 +00:00
token Bump sdk version, and adjust accordingly (#155) 2020-07-24 20:39:15 +00:00
token-swap Bump sdk version, and adjust accordingly (#155) 2020-07-24 20:39:15 +00:00
.gitignore Add package-lock.json (#156) 2020-07-24 17:09:15 -06:00
.mergify.yml Mergify squash commits (#125) 2020-07-13 15:15:10 -06:00
.travis.yml Implement docusaurus build, deployment and CI hooks (#129) 2020-07-16 10:13:45 -06:00
LICENSE Update contributors (#42) 2020-06-17 14:12:46 -07:00
README.md Update readme (#142) 2020-07-22 00:37:38 +00:00
bpf-sdk-install.sh Bump to Solana v1.2.3 and Solana-web3.js v0.60.0 (#46) 2020-06-18 11:02:42 -07:00
do.sh Fix dump (#151) 2020-07-23 12:00:51 -07:00
package-lock.json Add rustdocs (#39) 2020-06-17 11:25:19 -07:00

README.md

Build status

Solana Program Library

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.

Building

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 all

Or choose a specific program:

$ ./do.sh build <program>

Testing

Unit tests contained within all projects can be built via:

$ ./do.sh test all

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

Clippy is also supported via:

$ ./do.sh clippy all

Or:

$ ./do.sh clippy <program>