The SVM & sBPF
Solana programs compile to sBPF (Solana BPF) bytecode executed by the SVM on Agave validators. Rust 1.91.1 targets sbf-solana-solana triple via cargo build-sbf.
Search across all documentation pages
Solana programs compile to sBPF (Solana BPF) bytecode executed by the SVM on Agave validators. Rust 1.91.1 targets sbf-solana-solana triple via cargo build-sbf.
anchor build
# Output: target/deploy/<name>.so (sBPF shared object)When to reach for this:
file target/deploy/*.so
# ELF shared object for Solana BPF loaderWhat this demonstrates:
| Alternative | Use When | Don't Use When |
|---|---|---|
| Anchor 0.32.1 | Rapid development | Minimal native BPF |
| Native Rust | Maximum control | Fast iteration needed |
| LiteSVM 0.6.x | Unit tests | Network integration tests |
| Surfpool 0.12.0 | Anchor integration tests | One-off CLI tasks |
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
See sections above for detail.
Stack versions: This page was written for Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, and LiteSVM 0.6.x.
Reviewed by Chris St. John·Last updated Jul 19, 2026