Earn 5.84% APY staking with Solana Compass + help grow Solana's ecosystem

Stake natively or with our LST compassSOL to earn a market leading APY

Conference Talk Breakpoint 23

Breakpoint 2023: Program Runtime v2

Solana 🧭 Compass By Solana 🧭 Compass Nov 09, 2023 5 min read

The latest updates on Solana's Program Runtime v2 aim to enhance efficiency, composability, and ease of use for developers.

The notes below are AI generated and may not be 100% accurate. Watch the video to be sure!
Note: these notes were generated by AI to help surface more Solana content

Summary

In a recent event, Alessandro and his colleague Alex from Solana Labs' runtime team discussed substantial improvements coming to the Solana blockchain through the next version of the program runtime, known as Runtime v2. Their work, which spans compilers and virtual machines, will introduce optimizations and API changes aiming to expedite execution and simplify development workflows. They highlight that this upgrade isn't merely incremental improvements but signifies a considerable shift that promises to remove technical debt and elevate the platform's capabilities, enabling developers to create more sophisticated and interoperative blockchain programs.

Key Points:

Enhanced Execution Speed and Efficiency

One of the main improvements expected from Runtime v2 is significantly faster execution speeds for Solana's on-chain programs. By rewriting heavyweight features like Cross-Program Invocation (CPI) and memory allocation to be more efficient, the team is reducing the usage of CPU and memory bandwidth. This process involves minimizing technical debt accrued over time and lifting many of the artificial constraints currently in place, like CPI depth and memory allocation limits. As a result, developers can anticipate more generous compute budgets, giving rise to more complex and compositionally rich on-chain programs.

Simplified Developer Experience

The update will see a simplification and improvement of the public-facing APIs. This includes the elimination of boilerplate code currently required to write on-chain programs, like the entry-point macro and AccountInfo structures. More notably, the update will introduce support for generic interfaces, which will enable extensible and composable programming. By fully supporting traits and interfaces, developers will be able to more readily create, share, and build upon each other's work, and modify the behavior of programs like the SPL token programmatically. The new workflow integrated into the cargo toolchain will further streamline publishing and dependency management for Solana developers.

Demonstration of the Prototype

Alessandro showcased a demo, albeit a prototype not ready for deployment, illustrating how the new features work in practice. The demonstration included defining and publishing a trait abstraction to the Solana registry with cargo publish. It showed the implementation of a trait in a toy NFT program and how a third-party program could easily interact via these abstracted interfaces. While Alex explained that this feature is still under development, the demo offered a glimpse into a more refined and cohesive developer experience.

Facts + Figures

  • The Runtime v2 upgrade is a broad-ranging project being worked on for the past year with more work expected in the coming year.
  • A major goal of the upgrade is to remove the accumulated technical debt in the current runtime.
  • The new runtime will allow for the removal of a number of artificial constraints around features like CPI and memory allocation.
  • Developers will receive a higher compute budget, enabling more complex on-chain programs.
  • Boilerplate code, such as entry-point macros and AccountInfo structures, will be eliminated from the development process.
  • The introduction of generic interfaces will improve composability and allow for more complex use cases to be implemented on-chain.
  • A new cargo toolchain integration will simplify the publishing of programs and management of dependencies.
  • The existing runtime (Runtime v1) will continue to operate alongside Runtime v2 for a significant transition period.
  • The Runtimes will be interoperable, with v2 able to call into v1, but not vice versa.

Top quotes

  • "We are removing a lot of the technical debt that we have accumulated over the years in the runtime."
  • "By making [features] a lot faster, we are also going to be able to remove a lot of the artificial constraints and limits that we have had to put around them."
  • "The infamous entry-point macro is going away. Entry points are mostly going away entirely."
  • "This increases a lot the way the composition works."
  • "One VM instance for every instruction...is going away. We're dissolving that into one VM per transaction."
  • "We want to radically rethink how composability works on Solana."

Questions Answered

What is Program Runtime v2?

The Program Runtime v2 is an overhaul of Solana's blockchain runtime that introduces various improvements aimed at enhancing performance, reducing constraints, simplifying developer workflows, and fostering a more collaborative ecosystem.

Why is the introduction of generic interfaces significant?

Generic interfaces provide a framework through which developers can code more extensible and composable applications. By allowing traits and interfaces within the platform, Solana will enable programs to share functionalities and interoperate more flexibly and efficiently, leading to a richer set of use cases.

How will the developer experience change with the new runtime?

Developers will experience a streamlined process with less boilerplate code and more straightforward publishing and dependency management due to the integration with the cargo toolchain. The reduction in technical debt and removal of artificial limits will moreover allow developers to craft more complex programs with greater compute budgets.

Will the existing programs require updates to function on Runtime v2?

While the new runtime introduces breaking API changes that offer new functionality, existing programs based on Runtime v1 will continue to be supported and operational. There remains a clear incentive for developers to upgrade for the additional benefits, but it is not a necessity.

What does the prototype demonstration convey about the new runtime?

The prototype demonstration conveyed that the new runtime would simplify the processes of defining, implementing, and interacting with program interfaces. It highlighted how future Solana developers could handle traits, publish on-chain programs, and include dependencies on other programs seamlessly in their project workflows.


Comments

Please login to leave a comment.

Related Content

Solana Changelog Oct 9 - Program Runtime ABI v2, Updating Rust to 1.81.0, Agave v2.0 transition

Explore Solana's latest updates including Program Runtime ABI v2, Rust 1.81.0 upgrade, and the transition to Agave v2.0. Learn how these changes improve network efficiency and developer workflows.

Solana Changelog - January 24, 2023 - Bankless Leader, Explorer Updates, Nonvote RPC

Explore Solana's latest developments including the Bankless Leader proposal, Explorer updates, and impressive developer ecosystem growth in this comprehensive changelog.

How Ephemeral Rollups Will Change Blockchain Gaming on Solana

Discover how MagicBlock's innovative Ephemeral Rollups and Bolt framework are set to transform blockchain gaming on Solana, offering unparalleled speed, scalability, and composability.

Solana Changelog - September 26 - Bridge Comparator, Program Loader v4, feature gates, and more

Explore Solana's latest developments including Jupiter's bridge comparator, Program Loader v4, feature gates, and the impact on the ecosystem's growth.

Solana Changelog - Optional Borsh, Precompiles, and new Web3.js

Explore Solana's latest developments including optional Borsh, precompiles standardization, core BPF migration progress, and exciting Web3.js updates in this comprehensive changelog.

Breakpoint 2023 - These are the talks we would watch - Solfate Podcast #36

Dive into the highlights of Solana Breakpoint 2023 with the Solfate Podcast. Discover the most anticipated talks, exciting announcements, and groundbreaking developments in the Solana ecosystem.

Solana Changelog - November 14 - Blockstore, Breakpoint, and Relaxed Transaction Constraints

Explore key takeaways from Solana Breakpoint, including Runtime V2 and Web3JS updates, along with upcoming changes to transaction constraints and blockstore functionality.

Solana Changelog Aug 28 - Simulate Compute Units, Deprecating Legacy Vote Instructions, and Radar Hackathon

Discover the latest Solana updates including CLI compute unit simulation, deprecated vote instructions, and the exciting Radar hackathon starting September 2nd.

Solana Changelog - January 10, 2024: Deprecating Executable Flag, Rust Upgrade, and SPL Token Enhancements

Explore Solana's latest changes including the deprecation of the executable flag, Rust 1.75 upgrade, and SPL token improvements. Learn about MtnDAO and upcoming developer resources.

Solana Changelog - January 24, 2023 - Bankless Leader, Explorer Updates, Nonvote RPC

Explore Solana's latest developments including the Bankless Leader proposal, Explorer updates, and impressive ecosystem growth in this comprehensive changelog.

Solana Changelog - Test validator fix, new Syscall, RPC updates, and more

Dive into the latest Solana improvements including a test validator fix, new GetEpochStake syscall, RPC updates for interest-bearing tokens, and continued Core BPF migration progress.

Scale or Die at Accelerate 2025: Kompass: Navigating Formal Verification for SPL Token at Scale

Discover how Compass is revolutionizing Solana smart contract security through scalable formal verification

Solana Changelog - December 5 - Geyser, GroupMember Extension, and Core BPF Programs

Explore the latest Solana updates including Geyser plugin logging, new token extensions, and improvements to core BPF programs. Learn about the impact on developers and the ecosystem.

Solana Changelog - Bridge Comparator, Program Loader v4, Feature Gates, and More

Discover the latest Solana developments including Jupiter's bridge comparator, Program Loader v4, feature gates, and more in this comprehensive changelog.

Solana Changelog - January 10, 2024: Deprecating Executable Flag, Rust Upgrade, and SPL Token Updates

Explore Solana's latest developments including executable flag deprecation, Rust 1.75 upgrade, and SPL token improvements. Learn about upcoming events and educational resources for Solana developers.

Solana tokens

Solana Token Markets

Explore all tokens →