2

From https://docs.solana.com/developing/intro/programs:

Programs are considered stateless since the primary data stored in a program account is the compiled SBF code

From solana program dump -u m ${COMPUTE_BUDGET_PROGRAM} on-chain-programs/compute_budget_program.so:

Error: ComputeBudget111111111111111111111111111111 is not an SBF program

From https://docs.solana.com/developing/on-chain-programs/faq:

The virtual address memory map used by Solana SBF programs is fixed and laid out as follows...

What does 'SBF', as in 'SBF program' stand for? The term 'SBF' is not defined in https://docs.solana.com/terminology

1 Answer 1

4

The meaning of the SBF is Solana Bytecode Format. As I understand it is an extension and successor of BPF format used earlier (https://github.com/solana-labs/solana/pull/28125).

For more detail see WTF is SBFv2 and how Solana runs arbitrary code on-chain (archived):

And you guessed it – the programs use a variant of the eBPF technology! To be more precise, they consist of SBF, which probably stands for Solana Bytecode Format.

SBF's changes

TL;DR: Trading compile-time checks for runtime checks.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.