Liquid Stake with compassSOL for an 7.46% APY from staking, MEV + fees

Enjoy the freedom of liquid staking in Solana Defi while delegating your stake to the high performance Solana Compass validator. Stake or unstake at any time here, or with a Jupiter swap.

Benefit from our high staking returns and over 2 years experience operating a Solana validator, and receive additional yield from priority fees + MEV tips

Earn 7.0% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 7.0% APY yield on your SOL, while supporting us to create new guides and tools. Learn more

Stake your SOL

  1. Click to connect your wallet
  2. Enter the amount you wish to stake
  3. Kick back and enjoy your returns
  4. Unstake from your wallet or our staking dashboard

Earn 7.0% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 7.0% APY yield on your SOL, while supporting us to create new guides and tools.

Learn more

Solana Changelog - Faster getProgramAccounts, SIMD-96 Approved, and Anchor Types in Kinobi

By Changelog

Published on 2024-06-05

Discover the latest Solana updates including optimized getProgramAccounts, SIMD-96 approval for validator rewards, and new Anchor type support in Kinobi

The notes below are AI generated and may not be 100% accurate. Watch the video to be sure!

Solana Changelog: Faster Queries, Priority Fee Changes, and Developer Tools

In the latest episode of the Solana Changelog, hosts Nick and Brianna dive into the most recent developments in the Solana ecosystem. From significant performance improvements to governance decisions and new developer resources, this week's update showcases Solana's continuous evolution and commitment to enhancing the blockchain experience for all stakeholders.

Optimizing Transaction Fee Calculations

One of the first commits highlighted in the changelog focuses on an important optimization in the Solana codebase. The issue at hand was that transaction fees were being recalculated multiple times throughout the transaction process, leading to unnecessary computational overhead. The new commit addresses this by implementing a mechanism to reuse calculated fees, thereby streamlining the process and reducing the overall computational load on the network.

This optimization is a prime example of Solana's ongoing efforts to refine its infrastructure and improve efficiency. By reducing redundant calculations, the network can process transactions more quickly and with less resource consumption, ultimately contributing to Solana's reputation for high speed and low cost.

Enabling CPI Tracking by Default

Another significant update comes in the form of a commit that enables Cross-Program Invocation (CPI) tracking by default. This change is particularly beneficial for developers working on test cases, as it simplifies the process of simulating transactions and serializing associated events.

Brianna explains, "It just makes test cases easier to simulate a transaction and then serialize and associate events." This update is especially relevant for developers working with compressed NFTs and other advanced features of the Solana ecosystem. Nick adds context, noting that previously, it was challenging to run tests with Solana program test for compression-related functionalities due to issues with the no-op program. With this update, those limitations have been addressed, opening up new possibilities for comprehensive testing of complex Solana programs.

Dramatic Speed Improvements for getProgramAccounts

Perhaps the most exciting development highlighted in this changelog is the optimization of the getProgramAccounts (GPA) function. GPA has long been known as one of the slower aspects of Solana development, often causing bottlenecks in dApp performance. The new commit introduces a significant speed boost by changing the default sorting behavior.

Nick emphasizes the importance of this update: "Anyone who's been developing on Solana for a while, they know that get program accounts, GPA is like the slowest part of Solana." The changelog presents impressive benchmark results demonstrating the impact of this optimization. For instance, querying stake accounts saw a reduction in processing time from over 8 minutes to just 2 minutes - a 430% improvement. Similarly, querying Serum accounts dropped from 11 minutes to 3 minutes, representing a 240% speed increase.

These dramatic improvements in query speed have far-reaching implications for Solana developers and users alike. Faster queries mean more responsive dApps, improved user experiences, and the potential for more complex on-chain operations that were previously limited by performance constraints.

SIMD-96: A Win for Validators

The Solana Improvement Document (SIMD) 96 has been a hot topic in the Solana community, and this changelog brings news of its approval. SIMD-96 proposes a significant change to how priority fees are distributed on the Solana network.

Nick explains the core of SIMD-96: "It's just gonna give 100% of validator priority fees, or rather 100% of priority fees to the validators. Currently and before this actual code gets activated, 50% of the fees were getting burned, and only 50% went to the validators. But now that this is approved, 100% of priority fees are gonna go to validators."

This change represents a major shift in Solana's economic model, providing stronger incentives for validators to maintain and secure the network. By allowing validators to retain the full amount of priority fees, SIMD-96 aims to enhance the overall health and sustainability of the Solana ecosystem.

The approval process for SIMD-96 was notably democratic, involving a stake-weighted vote among Solana validators. This governance mechanism ensures that major protocol changes are decided by those with the most invested in the network's success. With the proposal now approved, it will go through the standard feature gate activation process before being implemented on the mainnet.

Updated Documentation on Solana Fees

In light of the changes brought by SIMD-96 and ongoing developments in Solana's fee structure, the official documentation on Solana fees has received a comprehensive update. Nick points listeners to solana.com/docs/core/fees, where they can find detailed information on how fees and compute units work within the Solana ecosystem.

This documentation update is crucial for developers and users alike to understand the economics of operating on Solana. It covers various aspects of fees, including base fees, priority fees, and how they interact with the network's compute budget. The transparency provided by this detailed documentation helps foster trust and understanding within the Solana community.

Bridging Rust to Solana: A New Developer Guide

Recognizing the growing interest from Rust developers in building on Solana, a new guide has been published to help experienced Rust engineers transition to Solana development. Brianna highlights this resource: "This goes over everything from a Rust perspective of what you would need to start building programs on Solana, understanding Solana core concepts and how to associate that with your Rust knowledge."

This guide is an invaluable resource for expanding the Solana developer ecosystem. By leveraging the existing skills of Rust programmers and providing a clear pathway to Solana-specific concepts and practices, this guide aims to accelerate the onboarding of talented developers into the Solana space.

Fibonacci in eBPF Assembly: Pushing the Boundaries of Optimization

One of the more intriguing community contributions highlighted in the changelog is a implementation of the Fibonacci sequence written in eBPF assembly for Solana. Created by Dean from WBA and Turbine, this project showcases the potential for extreme optimization on the Solana platform.

Nick expresses his enthusiasm for this project: "It's just, why? I love it, I love it so much." The implementation is notable not just for its use of low-level assembly code, but also for its incredible efficiency in terms of compute units used.

This project serves as an excellent example of the depths of optimization possible on Solana. While writing entire programs in assembly is not practical for most use cases, it demonstrates the platform's capacity for high-performance computing and opens discussions about potential optimizations in critical sections of code.

Kinobi: Expanding Anchor Support

Metaplex, a key player in the Solana NFT ecosystem, has announced an important update to their Kinobi tool. Kinobi now supports generating Anchor types for native Solana programs. This update bridges a gap between Solana's native programs and the popular Anchor framework, making it easier for developers to work with core Solana functionalities within their Anchor projects.

The ability to generate Anchor IDL (Interface Description Language) types for native Solana programs is a significant step forward in improving developer experience and code interoperability. It allows for better type safety and autocompletion when working with core Solana programs in an Anchor development environment.

Community Engagement: Stack Exchange Highlights

The changelog concludes with a shoutout to active participants on the Solana Stack Exchange. This platform has become an invaluable resource for Solana developers, providing a space for knowledge sharing and problem-solving. Nick highlights some of the top contributors for the week, including Jimmy, Chalda, Mitchell Dennis, and Joey from Stockpile (now Squads).

The recognition of Stack Exchange contributors underscores the importance of community-driven support and knowledge sharing in the Solana ecosystem. It's through these collaborative efforts that the platform continues to grow and improve, with developers helping each other overcome challenges and push the boundaries of what's possible on Solana.

Conclusion: A Week of Significant Progress

This week's Solana Changelog highlights the platform's commitment to continuous improvement and community engagement. From low-level optimizations that dramatically improve query speeds to governance decisions that reshape the validator incentive structure, Solana is demonstrating its adaptability and responsiveness to the needs of its ecosystem.

The updates to developer tools and documentation, including the new Rust-to-Solana guide and Kinobi's expanded Anchor support, show a concerted effort to lower the barrier to entry and improve the developer experience. Meanwhile, community contributions like the eBPF assembly Fibonacci implementation showcase the innovation and optimization possible on the platform.

As Solana continues to evolve, these regular changelogs serve as an important touchpoint for the community, keeping developers, validators, and users informed about the latest improvements and opportunities within the ecosystem. With each update, Solana strengthens its position as a leading blockchain platform for high-performance decentralized applications.

Facts + Figures

  • getProgramAccounts (GPA) optimization resulted in a 430% speed improvement for querying stake accounts, reducing processing time from over 8 minutes to just 2 minutes.
  • Querying Serum accounts saw a 240% speed increase, dropping from 11 minutes to 3 minutes after the GPA optimization.
  • SIMD-96 was approved by a majority stake-weighted vote of Solana validators.
  • SIMD-96 changes the distribution of priority fees from a 50/50 split between validators and burning to 100% going to validators.
  • The Solana documentation for fees has been updated and is available at solana.com/docs/core/fees.
  • A new guide for experienced Rust engineers to get started with Solana development has been published.
  • Metaplex's Kinobi tool now supports generating Anchor types for native Solana programs.
  • The Fibonacci sequence implementation in eBPF assembly demonstrates significantly lower compute usage compared to other methods.
  • The Solana Stack Exchange continues to be an active community resource, with highlighted contributors including Jimmy, Chalda, Mitchell Dennis, and Joey.

Questions Answered

What improvements were made to getProgramAccounts (GPA) in Solana?

The getProgramAccounts function in Solana received a significant optimization that dramatically improved its speed. By changing the default sorting behavior, the update reduced processing times for querying stake accounts by 430% (from over 8 minutes to 2 minutes) and for Serum accounts by 240% (from 11 minutes to 3 minutes). This optimization addresses one of the historically slower aspects of Solana development, potentially enabling more responsive dApps and complex on-chain operations.

What does SIMD-96 change in Solana's fee structure?

SIMD-96, which was approved by a majority stake-weighted vote of Solana validators, changes how priority fees are distributed on the network. Previously, priority fees were split 50/50 between validators and burning. With SIMD-96, 100% of priority fees will now go to validators. This change aims to provide stronger incentives for validators to maintain and secure the Solana network, potentially enhancing the overall health and sustainability of the ecosystem.

How is Solana improving documentation for developers?

Solana has updated its official documentation on fees, available at solana.com/docs/core/fees. This comprehensive update provides detailed information on how fees and compute units work within the Solana ecosystem. Additionally, a new guide has been published to help experienced Rust engineers transition to Solana development, covering Solana-specific concepts from a Rust perspective. These resources aim to improve transparency and lower the barrier to entry for new developers in the Solana ecosystem.

What new features does Metaplex's Kinobi tool offer?

Metaplex has updated their Kinobi tool to support generating Anchor types for native Solana programs. This new feature bridges the gap between Solana's native programs and the popular Anchor framework. It allows developers to generate Anchor IDL (Interface Description Language) types for core Solana functionalities, improving type safety and autocompletion when working with these programs in an Anchor development environment.

How is the Solana community contributing to optimization efforts?

The Solana community is actively contributing to optimization efforts, as demonstrated by Dean from WBA and Turbine's implementation of the Fibonacci sequence in eBPF assembly. This project showcases the potential for extreme optimization on Solana, achieving significantly lower compute usage compared to other methods. While writing entire programs in assembly is not practical for most use cases, it opens discussions about potential optimizations in critical sections of code and demonstrates the platform's capacity for high-performance computing.

What changes were made to CPI tracking in Solana?

A recent commit enabled Cross-Program Invocation (CPI) tracking by default in Solana. This change simplifies the process of simulating transactions and serializing associated events in test cases. It's particularly beneficial for developers working with compressed NFTs and other advanced features of the Solana ecosystem, addressing previous limitations in running tests with Solana program test for compression-related functionalities.

How is Solana improving its transaction fee calculation process?

Solana has implemented an optimization to reuse calculated fees during transaction processing. Previously, transaction fees were being recalculated multiple times, leading to unnecessary computational overhead. This new approach streamlines the process, reducing the overall computational load on the network and potentially improving transaction processing efficiency.

What resources are available for Solana developers seeking community support?

The Solana Stack Exchange has become an invaluable resource for developers seeking community support and knowledge sharing. The platform allows developers to ask questions, share solutions, and collaborate on problem-solving. The Solana Changelog regularly highlights top contributors to the Stack Exchange, recognizing the importance of community-driven support in the ecosystem's growth and improvement.

Related Content

Solana Changelog - Faster getProgramAccounts, SIMD-96 Approved, and Anchor Types in Kinobi

Discover the latest Solana updates including optimized getProgramAccounts, SIMD-96 approval for full validator priority fees, and new Anchor type support in Kinobi. Learn about recent commits, documentation updates, and community resources.

Solana Changelog - Faster Transactions, Stake-Weighted QoS, and Compute Optimization

Discover the latest Solana updates including faster transaction processing, stake-weighted quality of service, and new developer tools for compute optimization and Web3.js integration.

Solana Changelog - July 25 - Events, Pyre, and Anchor

Discover the latest Solana updates including the upcoming Game Jam, SIMD57 proposal for on-chain events, and crucial Anchor improvements in this week's changelog.

Solana Changelog July 6 - Cubik, SPL-token, and Solana-Tools

Explore the latest Solana updates including Cardinal Labs shutdown, Jupiter's Token 2022 support, Cubik's tooling round, and new developer resources

Solana Changelog - November 1, 2022 - Error Logging, Open-Source Proposals, and Voter Withdrawals

Discover the latest Solana updates including improved error logging, community-driven proposals, and exciting developments in the ecosystem.

Solana Changelog: August 8th, 2022 - Offline Signing, QUIC & APR.dev

Discover the latest Solana updates including offline message signing, QUIC implementation progress, and new developer tools like APR.dev and Svelte Scaffold.

Solana Changelog - Token Extensions and Transaction Size Fees

Discover the latest Solana updates including token extensions, transaction size fees, and developer resources in this comprehensive changelog.

Solana Changelog - July 25 - Events, Pyre, and Anchor

Discover the latest Solana updates including the upcoming Game Jam, SIMD57 proposal for on-chain events, and exciting ecosystem developments in this week's Solana Changelog.

Solana Changelog - August 15 - Bankrun JS, Bubblegum, and Radiance

Discover the latest Solana updates including Game Jam results, light client developments, and new tools like Bankrun and Radiance enhancing the developer experience.

Solana Changelog - August 1 - Gamejam, RWA, Quick Program Deploys

Discover the latest Solana updates including the exciting Game Jam, new RWA security token standard, and improvements in program deployment speed.

Solana Changelog - August 22, 2022 - Summer Camp, Scrambling Transactions, Address Lookup Tables

Discover the latest Solana updates including Summer Camp hackathon, Firedancer validator client, scrambling transactions, and address lookup tables on Explorer.

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 May 2 - Account Interfaces, Web3.js Experimental, and Tea Package Manager

Explore the latest Solana changes including account interfaces, Web3.js experimental updates, and the new Tea package manager for easier Solana installation.

Solana Changelog - August 15 - Bankrun JS, Bubblegum, and Radiance

Explore the latest Solana updates including game jam success, new developer tools, light client progress, and innovative local testing solutions

Solana Changelog May 2 - Account Interfaces, Web3.js Experimental, and Tea

Discover the latest Solana updates including account interfaces, Web3.js experimental changes, and the new Tea package manager for easier Solana installations.