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 Oct 9 - Program Runtime ABI v2, Updating Rust to 1.81.0, Agave v2.0 transition

By Changelog

Published on 2023-10-09

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.

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

Solana's Latest Innovations: Program Runtime ABI v2, Rust Upgrades, and Agave Transition

In the fast-paced world of blockchain development, Solana continues to push the boundaries of innovation and efficiency. The latest Solana Changelog, presented by Jacob and Nick, brings exciting updates that promise to enhance the network's performance and improve the developer experience. From the introduction of Program Runtime ABI v2 to upgrading Rust and transitioning to Agave v2.0, these changes are set to make a significant impact on the Solana ecosystem.

Program Runtime ABI v2: A Game-Changer for Solana

The most notable announcement in this changelog is the introduction of SIMD-177, which proposes the implementation of Program Runtime ABI v2. This update has been eagerly anticipated since its initial discussion at the third Breakpoint conference two years ago by Alexander and Alessandra.

What is Program Runtime ABI v2?

Program Runtime ABI v2 is a comprehensive update to Solana's program runtime that aims to optimize performance and expand capabilities for developers. It encompasses a range of improvements that will affect how smart contracts interact with the Solana blockchain.

One of the most significant changes is the potential removal of the CPI (Cross-Program Invocation) call limitation. Currently, Solana programs face restrictions on the number of CPIs they can make, which can be a bottleneck for complex applications. With ABI v2, this limitation could be lifted, allowing for more intricate and powerful smart contract interactions.

Additionally, the update is set to increase the number of accounts that can be called within a single CPI. The proposed change would raise this limit to 256 accounts, providing developers with greater flexibility in designing their programs and managing state across multiple accounts.

Serialization Improvements

A key focus of the ABI v2 update is on serialization efficiency. The changes in this area are expected to make the runtime more CU (Compute Unit) efficient. This means that programs will consume fewer resources when executing on the Solana network, potentially leading to lower transaction costs and improved overall network performance.

Jacob emphasized the importance of these serialization improvements:

"There's a lot of changes on serialization that basically makes the runtime better and more CU efficient. So this will make a lot of our programs cost less CU on the cluster. So it's a really big change."

Developer Impact and Abstraction

One of the most appealing aspects of the ABI v2 update is how it will be implemented from a developer's perspective. Alexander, as mentioned in the changelog, indicated that much of the complexity introduced by these changes would be abstracted away from application developers.

Nick highlighted this point:

"Alexander mentioned that a lot of the stuff will be able to be abstracted away from application developers since the SDKs will handle it all under the hood, which is kind of nice. So it'll look fairly similar, but still be optimized and less CU's across the board, which is generally good."

This approach ensures that while the underlying system becomes more efficient, developers can continue to work with familiar interfaces and patterns, making the transition smoother and more accessible.

Future Implementation and Testing

While the excitement for ABI v2 is palpable, it's important to note that the proposal is still in its early stages. Jacob mentioned that there are still some "TBDs to work out," indicating that further refinement and discussion will be necessary before implementation.

The hosts expressed eagerness to test these changes once they reach the testnet stage:

"Looking forward to at least testing it out and seeing how programs work with this once it gets to testnet," Jacob commented.

This testing phase will be crucial in ensuring that the proposed changes deliver the expected benefits without introducing unforeseen issues.

Rust Upgrade to 1.81.0: Keeping Pace with Modern Development

Another significant update highlighted in the changelog is the upgrade of Rust to version 1.81.0. This upgrade demonstrates Solana's commitment to staying current with the latest developments in the Rust ecosystem.

Benefits of the Rust Upgrade

Upgrading to Rust 1.81.0 brings Solana closer to the cutting edge of Rust development. This version, released just last month, includes various improvements and bug fixes that can contribute to better performance, security, and developer productivity.

By adopting the latest stable version of Rust, Solana ensures that developers can take advantage of new language features, optimizations, and tooling improvements. This can lead to more efficient and robust smart contract development on the platform.

Timeline for Implementation

While the upgrade to Rust 1.81.0 is an exciting development, it's important to set realistic expectations for when these changes will be reflected in the Solana mainnet. Nick provided some insight into the timeline:

"Just as a note though, this will be getting up there in version month, but this will probably be a while before we see it on the cluster because it doesn't look like this is getting back backported to 2.0. So it'll be in 2.1, which will likely be early next year."

This information suggests that while the groundwork is being laid now, the full benefits of the Rust upgrade won't be realized until the release of Solana 2.1, projected for early 2024.

Agave v2.0 Transition: A New Era for Solana CLI

The transition to Agave v2.0 marks a significant shift in how developers interact with Solana through the command-line interface (CLI). This change is part of the broader Solana 2.0 update and requires attention from developers to ensure a smooth transition.

What is Agave v2.0?

Agave v2.0 is the new CLI tool for Solana, replacing the previous solana CLI. This transition brings updates and improvements to the command-line experience for Solana developers.

Importance of Upgrading

Jacob stressed the urgency of adapting to these changes:

"So we only have so much more time to make our upgrades to transition to 2.0. So if you are using any of the RPC API calls that are being deprecated that are listed on the screen right now, definitely make sure you upgrade to the replacements so that you don't have any downtime or perceived downtime on your applications."

This warning highlights the critical nature of staying up-to-date with Solana's evolving ecosystem. Developers who fail to update their tools and API calls risk facing disruptions in their applications' functionality.

Key Changes in Agave v2.0

The transition to Agave v2.0 involves several important changes:

  1. CLI Installation: Developers now need to use the agave command instead of solana install to set up the new CLI.
  2. Deprecated RPC API Calls: Certain RPC API calls are being phased out and replaced with new alternatives.
  3. Crate Updates: Various Solana-related crates have been either deprecated or renamed, requiring updates in project dependencies.

Nick elaborated on these changes:

"If you're using any crates that have been either deprecated or sort of renamed, you need to make sure you also update those if you have shell scripts or using any of these need to make sure you update those as well. The big one for developers is agave. So if you want to install the new CLI, you have to use agave instead of the Solana install one previously."

Timeline for Agave v2.0 Adoption

The changelog provided a tentative schedule for the Agave v2.0 transition:

"Speaking of 2.0, there is a release schedule currently for 2.0 says they're going to call for adoption roughly October 14th, possibly October the week of October 21st."

This timeline gives developers a clear target for when they should have their projects updated and ready for the new version.

Efficiency Improvements: Hash Map Optimization

While not as headline-grabbing as the ABI v2 or Rust upgrades, an important efficiency improvement was also highlighted in the changelog. This update focuses on optimizing the hash map used for writable accounts.

What is the Hash Map Optimization?

The optimization involves increasing the size of the hash map used for tracking writable accounts. Brandon Washington, the developer behind this change, identified that the current hash map size of 512 was based on network volume from three years ago and was due for an update.

Nick explained the rationale behind this change:

"So basically there's every time there's currently a hash map of about 512 sort of there's a hash map of 512 in there currently and it's number was decided on like three years ago based off of the current network volume on mainnet. So this just raises that number from the default pre allocation to make it so it doesn't have to constantly readjust during like flush the hash map and go through that."

Benefits of the Optimization

By pre-allocating a larger hash map, the system can avoid frequent resizing operations, which can be computationally expensive. This leads to more efficient processing of transactions involving multiple writable accounts.

Jacob expressed enthusiasm for this type of optimization:

"Always love to hear new efficiencies being added. I love efficiencies."

While this change may seem minor, it's these incremental improvements that collectively contribute to Solana's reputation as a high-performance blockchain platform.

Solana Stack Exchange: Fostering Community Knowledge

The Solana Changelog also took a moment to recognize the contributions of community members on the Solana Stack Exchange. This platform has become an invaluable resource for developers seeking answers to technical questions and sharing knowledge about Solana development.

Top Contributors

The hosts highlighted some of the top contributors for the week:

"We've got Jimmy and Truitt are sort of leading for this week. And I'm actually not familiar with Truitt. So it's good to see sort of a new face on there. And then we've got some other people, Abdullah and Whiteziel, child. Everyone's doing great work."

This recognition not only serves to thank active community members but also encourages continued participation and knowledge sharing within the Solana ecosystem.

Impact on the Developer Ecosystem

Nick emphasized the importance of these contributions:

"Shout out to everyone and just know y'all are helping out all current and future developers on Solana."

By fostering a strong community of developers helping each other, Solana is ensuring that newcomers have the support they need to build on the platform successfully. This collaborative environment is crucial for the long-term growth and sustainability of the Solana ecosystem.

Conclusion: Solana's Continuous Evolution

The updates discussed in this Solana Changelog demonstrate the platform's commitment to continuous improvement and innovation. From the groundbreaking Program Runtime ABI v2 to the practical efficiencies gained through hash map optimization, each change contributes to making Solana a more powerful and developer-friendly blockchain platform.

The introduction of Program Runtime ABI v2 promises to unlock new possibilities for complex smart contract interactions, potentially revolutionizing the types of applications that can be built on Solana. The upgrade to Rust 1.81.0 keeps the platform at the forefront of modern development practices, while the transition to Agave v2.0 streamlines the developer workflow.

As Solana prepares for these significant updates, the community's role becomes increasingly important. Developers are encouraged to stay informed, update their tools and practices, and actively participate in platforms like the Solana Stack Exchange to share knowledge and overcome challenges together.

With these changes on the horizon, Solana is poised to enhance its position as a leading blockchain platform, offering unparalleled performance, efficiency, and developer experience. As the ecosystem continues to grow and evolve, it's an exciting time for developers, users, and stakeholders in the Solana community.

Facts + Figures

  • SIMD-177 proposes the implementation of Program Runtime ABI v2 for Solana.
  • Program Runtime ABI v2 aims to remove CPI call limitations and increase the number of accounts that can be called within a single CPI to 256.
  • The new ABI v2 is expected to make programs more CU (Compute Unit) efficient on the Solana cluster.
  • Rust is being upgraded to version 1.81.0, which was released just last month.
  • The Rust 1.81.0 upgrade will likely be implemented in Solana 2.1, expected early next year.
  • Agave v2.0 is replacing the previous Solana CLI, with adoption calls scheduled for mid-October 2023.
  • The writable accounts cost hash map size is being increased from its current size of 512, which was based on network volume from three years ago.
  • The Solana Stack Exchange continues to be an active community resource, with contributors like Jimmy and Truitt leading the weekly rankings.
  • The transition to Solana 2.0 includes deprecation of certain RPC API calls and updates to various crates.
  • Developers are urged to update their tools and API calls to avoid potential downtime during the transition to Solana 2.0.

Questions Answered

What is Program Runtime ABI v2?

Program Runtime ABI v2 is a comprehensive update to Solana's program runtime that aims to optimize performance and expand capabilities for developers. It includes changes such as potentially removing CPI call limitations, increasing the number of accounts that can be called within a single CPI to 256, and improving serialization efficiency. These improvements are expected to make programs more CU efficient on the Solana cluster, potentially leading to lower transaction costs and improved overall network performance.

How will the Rust 1.81.0 upgrade affect Solana development?

The upgrade to Rust 1.81.0 brings Solana closer to the cutting edge of Rust development, offering new language features, optimizations, and tooling improvements. While this upgrade has been implemented in the codebase, it won't be immediately available on the mainnet. The changes are expected to be part of Solana 2.1, which is projected for release in early 2024. This upgrade ensures that Solana developers can take advantage of the latest stable version of Rust, potentially leading to more efficient and robust smart contract development on the platform.

What is Agave v2.0 and why is it important?

Agave v2.0 is the new CLI tool for Solana, replacing the previous solana CLI. This transition is part of the broader Solana 2.0 update and brings improvements to the command-line experience for Solana developers. It's important because it changes how developers interact with Solana through the CLI. Developers now need to use the agave command instead of solana install to set up the new CLI. Additionally, certain RPC API calls are being deprecated and replaced, and various Solana-related crates have been either deprecated or renamed. Developers need to update their tools and practices to ensure smooth operation of their applications during and after the transition to Solana 2.0.

What efficiency improvements are being made to Solana's hash map?

An important efficiency improvement highlighted in the changelog is the optimization of the hash map used for writable accounts. The current hash map size of 512, based on network volume from three years ago, is being increased. This change pre-allocates a larger hash map, avoiding frequent resizing operations which can be computationally expensive. The result is more efficient processing of transactions involving multiple writable accounts. While this may seem like a minor change, it's part of the incremental improvements that contribute to Solana's high-performance reputation.

How does the Solana Stack Exchange contribute to the ecosystem?

The Solana Stack Exchange is a crucial platform for fostering community knowledge and supporting developers. It serves as an invaluable resource where developers can seek answers to technical questions and share knowledge about Solana development. The platform recognizes top contributors weekly, encouraging continued participation and knowledge sharing. This collaborative environment is essential for the growth and sustainability of the Solana ecosystem, ensuring that both new and experienced developers have the support they need to build successfully on the platform.

Related Content

Solana Changelog - October 10 - Solana StackExchange, sRFC, and future Feature Activations

Explore Solana's latest updates including the 1.16 release, upcoming confidential transfers, SRFCs, and the importance of Solana StackExchange for developers.

Solana Changelog - October 10 - Solana StackExchange, sRFC, and future Feature Activations

Explore Solana's latest updates including the 1.16 release, confidential transfers, SRFCs, and the importance of contributing to Solana StackExchange for AI-powered development assistance.

Solana Changelog July 11 - Merkle Shreds, Turbine, and a Security Series

Discover the latest Solana updates including QUIC Turbine implementation, Merkle Shreds rollout, and a new security series for developers. Learn how these changes improve network efficiency and program security.

Solana Changelog March 21 - Priced Compute Units and the Solana Developer Forum

Explore Solana's latest developments, including the Priced Compute Units proposal, validator improvements, and the launch of the Solana Developer Forum.

Solana Changelog Apr 16 - Vote Instructions, Bank forwarding, QOS

Explore the latest Solana updates including SIMD-138, bank forwarding filters, and stake-weighted QoS enhancements for improved network efficiency and developer experience.

Solana Changelog - April 9 - Flare and GetEpochStake

Discover the latest Solana upgrades including GetEpochStake, improved indexing, and the Flare CLI tool. Learn how these changes enhance performance and developer experience on Solana.

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

Explore Solana's newest features including offline message signing, QUIC protocol implementation, and developer resources like APR.dev and Svelte Scaffold.

Solana Changelog - Jan 30: Transaction CU Cost, Simulation for Token Accounts, and Fee to Write Lock

Discover Solana's latest improvements including transaction cost tracking, token account simulation fixes, and proposals for write lock fees. Learn how these changes enhance Solana's speed and efficiency.

Solana Changelog - Jan 30: Transaction CU Cost, Simulation for Token Accounts, and Fee for Write Lock

Discover Solana's latest improvements including transaction cost tracking, token account simulation, and a proposal for write lock fees to enhance network efficiency.

Solana Changelog - February 14, 2023 - Diet Clients, 1.15 Release, and Metaplex Fusion

Explore Solana's newest features including Diet Clients, the 1.15 release, and Metaplex Fusion. Learn about the Grizzly Thon hackathon and exciting ecosystem updates.

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 - April 16 - Vote Instructions, Bank Forwarding, QoS

Discover the latest Solana upgrades including vote instruction deprecation, bank forwarding filters, and QoS enhancements for improved network performance and developer experience.

Solana Changelog Jul 3 - RPC Deprecations, Actions, and Blinks

Explore Solana's latest developments including RPC method deprecations, new Actions and Blinks features, and upcoming changes to compute unit charging.

Solana Changelog March 14 - Tiered Account Storage, Debugging Programs, and Anchor

Explore Solana's latest developments including tiered account storage, program debugging, and major Anchor updates in this comprehensive changelog.

Solana Changelog - Nov 20 - Agave validator v2.0, loaded account costs

Explore Solana's latest upgrades including Agave 2.0, performance improvements, and the upcoming Web3.js v2 release. Learn about new features, compute unit costs, and ecosystem developments.