The technical content top engineers rely on to level up.
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...
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)...
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...
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...
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
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...
8 min read
Native Solana: Creating Accounts For Storage I In this two-part tutorial, we'll learn how to create accounts for storing data in native Solana programs using two approaches: keypairs (this part) and...
12 min read
Native Solana: Cross-Program Invocation with invoke and invoke_signed Cross-Program Invocation (CPI) is how programs call other programs on the Solana blockchain. In this tutorial, we'll learn how to...
10 min read
Native Solana: Borsh Serialization In the previous tutorial, we learned how to read accounts passed to a program. We saw that calling gives a reference to the account’s data field as a raw byte...
4 min read
Native Solana: Reading Account Data As we discussed in the previous tutorial, the entrypoint is the "front door" of your Solana program and it handles all incoming instructions to the program. In...