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. Now, we’ll build on that model by showing how programs...
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. In this...
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. We'll demonstrate the conventions for how...
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...
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. In this part, we'll cover how programs...
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. In fact, a Solana...
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)...
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. Now we'll analyze actual bytecode...
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. This article explains...
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. In this tutorial, we'll cover...
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 in the...
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...