Liquid Stake with compassSOL for an 8.04% 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 6.8% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 6.8% 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 6.8% APY staking with Solana Compass

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

Learn more

Solana Changelog Jun 5 - Faster getProgramAccounts, SIMD-96 approved, and Anchor types in Kinobi

By Changelog

Published on 2024-06-05

Discover the latest Solana improvements including faster getProgramAccounts, SIMD-96 approval for validator rewards, and Kinobi's support for Anchor types

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

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

In the latest episode of the Solana Changelog, hosts Nick and Brianna dive into the most recent updates and improvements in the Solana ecosystem. From significant optimizations to exciting new features, this week's changelog brings a wealth of information for Solana developers and enthusiasts alike.

Optimizing Transaction Fee Calculations

One of the key improvements highlighted in this week's changelog is an optimization related to transaction fee calculations. Previously, transaction fees were recalculated multiple times throughout the process, leading to unnecessary computational overhead. The new commit addresses this issue by implementing a mechanism to reuse calculated fees.

This optimization is a prime example of Solana's ongoing efforts to improve efficiency and reduce computational costs. By minimizing redundant calculations, the network can process transactions more quickly and with less resource utilization. This improvement, while seemingly small, contributes to Solana's overall goal of maintaining its position as one of the fastest and most efficient blockchain networks in the space.

Enabling CPI Tracking by Default

Another significant update discussed in the changelog is the enabling of Cross-Program Invocation (CPI) tracking by default. This change has been fully implemented in the current codebase, making it easier for developers to simulate transactions and serialize associated events during testing.

The hosts emphasized the importance of this update, particularly for compression-related functionalities. Prior to this change, developers faced challenges when attempting to run tests with Solana program test for compression-specific features, primarily due to issues with the no-op program. With CPI tracking now enabled by default, these obstacles have been removed, streamlining the development and testing process for Solana programmers.

This improvement is especially valuable for developers working on projects that involve data compression on the Solana blockchain. By eliminating previous testing limitations, it opens up new possibilities for creating and deploying more efficient and scalable applications on the network.

Revolutionizing getProgramAccounts Performance

Perhaps the most exciting update discussed in this episode is the significant optimization of the getProgramAccounts (GPA) function. GPA has long been known as one of the slower aspects of Solana development, often causing bottlenecks in application performance. The new update introduces a way to dramatically increase the speed of retrieving program accounts.

To illustrate the magnitude of this improvement, the hosts shared some impressive benchmarks. Before the optimization, retrieving stake accounts took approximately 8 minutes, while fetching serum accounts required about 11 minutes. With the new changes implemented, these times have been reduced to just 2 minutes for stake accounts and 3 minutes for serum accounts.

These performance gains are truly remarkable, with speed improvements of 430% for stake accounts and 240% for serum accounts. Such significant enhancements in query speed can have far-reaching implications for Solana developers, enabling them to build more responsive and efficient applications. This optimization addresses one of the most pressing pain points in Solana development and demonstrates the network's commitment to continuous improvement and developer satisfaction.

SIMD-96: A Major Win for Validators

One of the most noteworthy announcements in this changelog is the approval of SIMD-96 (Solana Improvement Document 96). This proposal, which has been a topic of discussion in previous changelogs, has now been officially approved through a validator voting process.

SIMD-96 introduces a significant change to the reward structure for Solana validators. Previously, only 50% of priority fees went to validators, with the other 50% being burned. With the approval of SIMD-96, validators will now receive 100% of the priority fees collected from transactions they process.

This change represents a major shift in Solana's tokenomics and provides a stronger incentive for validators to participate in the network. By allowing validators to keep all of the priority fees, Solana is enhancing the economic sustainability of running a validator node, which in turn can lead to increased network decentralization and security.

The hosts emphasized that while SIMD-96 has been approved, it will still need to go through the normal feature gate activation process before being implemented on the mainnet. This measured approach ensures that all necessary testing and safeguards are in place before such a significant change is rolled out to the live network.

Updated Documentation on Solana Fees

To complement the discussion on SIMD-96 and priority fees, the hosts highlighted recent updates to the official Solana documentation regarding fees. The documentation, available at solana.com/docs/core/fees, has been extensively revised to provide more comprehensive and clear information on how fees work within the Solana ecosystem.

This updated documentation is an invaluable resource for developers and users alike who want to gain a deeper understanding of Solana's fee structure. It covers various aspects of fees, including compute units, priority fees, and how they interact with the network's overall economics.

The hosts encouraged listeners to review the updated documentation and provide feedback if they notice any areas that could benefit from further clarification. This open approach to documentation improvement underscores Solana's commitment to transparency and community involvement in the development process.

Rust to Solana: A Guide for Experienced Developers

In an effort to make Solana development more accessible to a wider range of programmers, a new guide has been published targeting experienced Rust developers who are looking to transition into Solana development. This guide, available in the Solana documentation, provides a comprehensive overview of how to leverage existing Rust knowledge when building programs on Solana.

The guide covers essential Solana core concepts and draws parallels between traditional Rust development and Solana-specific paradigms. By bridging this knowledge gap, Solana aims to attract more developers from the Rust community and expand its ecosystem of skilled programmers.

This resource is particularly valuable given Rust's growing popularity in the broader software development world. By providing a clear path for Rust developers to enter the Solana ecosystem, the network is positioning itself to benefit from a larger and more diverse developer pool, which can lead to more innovative and robust applications being built on the platform.

Fibonacci in eBPF Assembly: Pushing the Boundaries of Optimization

One of the most intriguing community contributions highlighted in this changelog is a unique implementation of the Fibonacci sequence on Solana. Created by Dean from WBA and Turbine, this implementation stands out for its use of eBPF assembly language.

The hosts expressed particular enthusiasm for this project, noting its impressive optimization in terms of compute units. By writing the Fibonacci sequence directly in eBPF assembly, Dean has achieved what appears to be the lowest possible compute cost for this operation on Solana.

This implementation serves as an excellent example of the potential for extreme optimization on the Solana network. While writing entire programs in assembly is not practical for most use cases, it demonstrates the performance ceiling that can be achieved when pushing the boundaries of low-level optimization.

The hosts speculated that further optimizations might be possible by expanding the use of assembly in other parts of Solana development. This opens up interesting discussions about the balance between development efficiency and runtime performance, and how far optimizations can be pushed in critical sections of code.

Kinobi: Now Supporting Anchor Types

Another exciting update from the Solana ecosystem comes from Metaplex, which has enhanced its Kinobi tool to support generating Anchor types. This new feature allows developers to generate Anchor IDL (Interface Description Language) types for native development programs.

The addition of Anchor type support in Kinobi is a significant step forward for Solana developers working with the popular Anchor framework. It streamlines the process of integrating native Solana programs with Anchor-based projects, reducing the friction between different development approaches within the ecosystem.

This update to Kinobi exemplifies the ongoing efforts within the Solana community to improve developer tools and create a more seamless development experience. By bridging the gap between native Solana development and the Anchor framework, Metaplex is contributing to a more unified and accessible development ecosystem.

Stack Exchange: Recognizing Community Contributors

The hosts concluded the changelog by giving a shout-out to active contributors on the Solana Stack Exchange. They highlighted several top contributors for the week, including Jimmy, Childa, Mitchell Dennis, and Joey from Stockpile (now Squads).

This recognition of Stack Exchange contributors underscores the importance of community-driven knowledge sharing and problem-solving in the Solana ecosystem. The Stack Exchange platform serves as a valuable resource for developers seeking answers to technical questions and sharing their expertise with others.

By acknowledging these contributors, the Solana team is not only expressing gratitude for their efforts but also encouraging continued participation in this important community resource. The growth and activity of the Solana Stack Exchange are indicators of the health and vibrancy of the developer community surrounding the network.

Conclusion: A Week of Significant Progress

This week's Solana Changelog highlights several important developments that collectively represent significant progress for the network. From performance optimizations and new developer tools to important governance decisions and community contributions, the updates covered in this episode demonstrate Solana's commitment to continuous improvement and innovation.

The approval of SIMD-96, in particular, marks a pivotal moment for Solana's validator ecosystem, potentially leading to increased network participation and security. Meanwhile, the dramatic improvements in getProgramAccounts performance address a long-standing pain point for developers, enabling the creation of more responsive and efficient applications.

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

The hosts' enthusiasm for these developments is palpable throughout the episode, reflecting the excitement and momentum within the Solana community. As the network continues to push the boundaries of what's possible in blockchain technology, it's clear that there's much more to look forward to in the coming weeks and months.

For developers, users, and investors in the Solana ecosystem, staying engaged with these updates is crucial for understanding the network's trajectory and identifying new opportunities for innovation and growth. As always, the Solana team encourages community feedback and participation, ensuring that the network's evolution is guided by the needs and insights of its diverse and active user base.

Facts + Figures

  • SIMD-96 has been approved by a majority vote of validators, allowing 100% of priority fees to go to validators instead of the previous 50%.
  • The getProgramAccounts (GPA) function has been optimized, resulting in speed improvements of 430% for stake accounts and 240% for serum accounts.
  • Retrieving stake accounts now takes approximately 2 minutes, down from 8 minutes before optimization.
  • Fetching serum accounts now requires about 3 minutes, reduced from 11 minutes previously.
  • A new commit optimizes transaction fee calculations by reusing calculated fees instead of recalculating multiple times.
  • CPI (Cross-Program Invocation) tracking is now enabled by default in the Solana codebase.
  • The Solana documentation on fees has been updated and is available at solana.com/docs/core/fees.
  • A new guide for experienced Rust developers to get started with Solana development has been published.
  • Dean from WBA and Turbine created a Fibonacci sequence implementation in eBPF assembly for Solana, achieving extremely low compute costs.
  • Metaplex's Kinobi tool now supports generating Anchor IDL types for native development programs.
  • The Solana Stack Exchange continues to be active, with contributors like Jimmy, Childa, Mitchell Dennis, and Joey from Squads leading the weekly rankings.

Questions Answered

What is SIMD-96 and how does it affect Solana validators?

SIMD-96 is a Solana Improvement Document that has been approved to change the reward structure for validators. With SIMD-96, validators will now receive 100% of the priority fees collected from transactions they process, instead of the previous 50%. This change aims to provide stronger economic incentives for validators to participate in the network, potentially leading to increased decentralization and security for Solana.

How has the getProgramAccounts (GPA) function been improved?

The getProgramAccounts function, known for being one of the slower aspects of Solana development, has received a significant optimization. This update has dramatically increased the speed of retrieving program accounts. For example, retrieving stake accounts now takes about 2 minutes instead of 8 minutes, while fetching serum accounts has been reduced from 11 minutes to 3 minutes. These improvements represent speed increases of 430% and 240% respectively, which can greatly enhance the performance of Solana applications.

What new features does Metaplex's Kinobi tool offer?

Metaplex has updated its Kinobi tool to support generating Anchor types. This new feature allows developers to generate Anchor IDL (Interface Description Language) types for native development programs. By adding support for Anchor types, Kinobi is making it easier for developers to integrate native Solana programs with Anchor-based projects, thus streamlining the development process and reducing friction between different development approaches within the Solana ecosystem.

How has Solana improved its documentation for developers?

Solana has made significant updates to its documentation, particularly regarding fees and onboarding for Rust developers. The fee documentation at solana.com/docs/core/fees has been extensively revised to provide more comprehensive and clear information on how fees work within the Solana ecosystem. Additionally, a new guide has been published targeting experienced Rust developers who want to transition into Solana development, covering essential Solana core concepts and drawing parallels with traditional Rust development.

What is the significance of the Fibonacci sequence implementation in eBPF assembly?

The Fibonacci sequence implementation in eBPF assembly, created by Dean from WBA and Turbine, demonstrates the potential for extreme optimization on the Solana network. By writing the sequence directly in eBPF assembly, it achieves what appears to be the lowest possible compute cost for this operation on Solana. While not practical for most use cases, it showcases the performance ceiling that can be achieved through low-level optimization and opens discussions about balancing development efficiency with runtime performance in Solana programming.

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 validator rewards, and new Anchor type support in Kinobi

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 - 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 - 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 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 - 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 Sep 4 - Rust Wallet Adapter, Optimized Entrypoint, and Anchor improvements

Explore the latest Solana updates including the Radar Hackathon, RPC 2.0 transition guide, and performance improvements for developers.

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 May 8 - MoveStake, Core Concepts, and Bigtable Support

Explore the latest Solana developments including the MoveStake proposal, CLI enhancements, Bigtable support for test validators, and revamped core concept documentation.

Solana Changelog July 18 - Active Stake Sysvar and Generating IDLs

Explore the latest Solana developments, including a new SYSVAR for active stake, improvements to Anchor IDL generation, and Switchboard's innovative off-chain functions.

Solana Changelog - Mar 26 - Sending Transactions Faster, Stake-Weighted QoS, and Optimizing Compute

Explore the latest Solana developments including improved transaction speed, stake-weighted quality of service, and compute optimization techniques for developers.

Solana Changelog May 31: Interfaces, Solang, and Solana ChatGPT

Explore the latest Solana developments including interfaces, Solang Compiler v0.3.0, and the new Solana ChatGPT plugin in this comprehensive changelog.

Solana Changelog March 7 - Verifiable Builds, Admin RPC, and Geyser

Explore the latest Solana developments including verifiable builds, admin RPC improvements, and Geyser interface updates for enhanced performance and security.

Solana Changelog - April 9 - Flare and GetEpochStake

Discover the latest Solana developments including the Flare CLI for smart contract interaction, GetEpochStake proposal, and crucial performance enhancements for validators.

Solana Changelog - January 17, 2023 - SIMD 3, Compute Cost Updates, Golana

Dive into the latest Solana developments including the SIMD 3 proposal for dynamic base fees, compute cost updates, and the introduction of Golana for Go developers.