Skip to main content
Try out the RareSkills ZK AI Tutor!

Blog

The technical content top engineers rely on to level up.

5 min read

Instruction Processor and Runtime Setup

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...

Last updated onFeb 26, 2026
Read Article

5 min read

Introduction to sBPF Virtual Machine and Instruction Set

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)...

Last updated onFeb 26, 2026
Read Article

6 min read

Rust program to SBF compilation

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...

Last updated onFeb 26, 2026
Read Article

13 min read

Organizing a Solana Program

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...

Last updated onFeb 26, 2026
Read Article

13 min read

Tracing SBF Instruction Execution and Compute Costs

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...

Last updated onFeb 26, 2026
Read Article

6 min read

Native Solana: Essential Security Checks

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...

Last updated onFeb 26, 2026
Read Article

7 min read

Native Solana: Function Dispatching

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...

Last updated onFeb 26, 2026
Read Article

4 min read

Native Solana: Creating Accounts For Storage II

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...

Last updated onFeb 26, 2026
Read Article

8 min read

Native Solana: Creating Accounts For Storage I

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...

Last updated onFeb 26, 2026
Read Article

12 min read

Native Solana: Cross-Program Invocation with invoke and invoke_signed

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...

Last updated onFeb 26, 2026
Read Article

10 min read

Native Solana: Borsh Serialization

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...

Last updated onFeb 26, 2026
Read Article

4 min read

Native Solana: Reading Account Data

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...

Last updated onFeb 26, 2026
Read Article