A collection of awesome resources for learning sBPF Assembly (Solana eBPF). PRs welcome!
- sbpf - a tool to quickly bootstrap, build, deploy and test sbpf assembly programs
- ezbpf - a simple sBPF disassembler library with a CLI and WASM bindings
- vscode-sbpf-asm - VSCode plugin for sBPF ASM syntax and autocomplete
- bpf.wtf opcodes - waybackmachine archive of @riptl old website explaining opcodes.
- bpf.wtf syscalls - waybackmachine archive of @riptl old website explaining syscall APIs.
- rbpf opcodes - the opcodes of the ebpf library used in agave with inline documentation in code comments.
- firedancer rbpf opcodes - the opcodes of sbpf used in firedancer's vm
- assembly directives - glossary of assembly directives used by lld, the default linker used by LLVM
- sbpf-asm-macros - some useful macros for inline ASM in rust to save CUs
- sbpf-inline-asm - an example of writing inline assembly in a Rust contract
- TOKEN.sbpf - a sample of a hand-rolled token contract
- solana-program-rosetta - a collection of contracts implemented in C, Rust, Zig and sBPF ASM
- sbpf-asm-noop - a bytecode optimal noop program with a custom linker file demonstrating extreme binary optimization
- sbpf-asm-slippage - a tiny slippage detection instruction in just 4CUs
- solaba-fibonacci-asm - a fibonacci number solver written in sBPF assembly