Solana
Browse all Solana articles.
13 min read
Solana Syscalls: Logging in sBPF Assembly
In the previous tutorial, we learned how a program reads from memory into the sBPF VM registers.
13 min read
Reading Solana Instruction inputs using sBPF assembly
In the previous tutorial, we introduced the sBPF memory layout and explained the purpose of each register during program execution.
12 min read
sBPF Memory Layout and Register Conventions
This tutorial introduces the Solana BPF (sBPF) memory layout and the roles of its virtual machine registers.
5 min read
Instruction Processor and Runtime Setup
In part one, we covered the Solana program input serialization format and how program inputs are laid out in memory.
11 min read
Solana Program Execution and Input Serialization
This article explains how the BPF loader serializes program instruction inputs, how the entrypoint receives them, and how programs deserialize that input…
6 min read
Rust program to SBF compilation
Understanding how Rust compiles to SBF (Solana Bytecode Format) and how validators execute it is crucial for building complex Solana programs.
5 min read
Introduction to sBPF Virtual Machine and Instruction Set
As discussed in the compute units tutorial, compute units consumed by a Solana program call equal the number of SBF (Solana Bytecode Format) instructions…
13 min read
Organizing a Solana Program
Solana programs don’t enforce a particular codebase structure, so code organization often depends on the developer’s preference and program complexity.
13 min read
Tracing SBF Instruction Execution and Compute Costs
In the previous article, we covered the sBPF VM architecture, register conventions, and the instruction set.
6 min read
Native Solana: Essential Security Checks
In our previous native Solana tutorials, we skipped security checks to keep examples short and focused on the core topics.
7 min read
Native Solana: Function Dispatching
Function dispatching in Solana is the process of routing incoming instructions to the appropriate handler function based on specific identifiers encoded…
4 min read
Native Solana: Creating Accounts For Storage II
In the first part of this tutorial, we created storage accounts in native Rust using keypairs, where the account required a private key to sign for its…