Joe Caulfield

Introduction

One of the most important components of the Solana architecture is the runtime - sometimes referred to as SVM (Solana Virtual Machine) or Sealevel. The runtime processes all transactions and modifies Solana ledger state.

The runtime is responsible for all Solana program executions as well as all account state modifications, many of which it can do in parallel. This computational environment provided by the SVM is what powers Solana’s Web3 ecosystem - the collective group of dApps and infrastructure built on the Solana network.

In order to understand the runtime and how it works, we’re going to dive deep into the Agave codebase to see exactly what’s going on under the hood.

<aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" /> Note: At the time of this writing, the SVM and the validator’s runtime are in the process of being decoupled. In the future, Solana will have a validator runtime as well as a standalone SVM. For now, these two components are intertwined and can be considered the same component: the runtime.

</aside>

Sealevel — Parallel Processing Thousands of Smart Contracts

Validator Overview

To understand how the runtime fits into the picture when it comes to the Solana network and its validators, it’s helpful to consider the architectural overview of when and how the runtime is used.

The runtime’s primary purpose is to process transactions to update state. This can occur when creating new blocks as well as validating them.

Creating New Blocks