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 - Apr 2 - CLI Explorer, Priority Fees When Deploying, and More

By Changelog

Published on 2024-04-02

Explore the latest Solana developments including dynamic block limits, CLI explorer tool, priority fees for program deployment, and key ecosystem improvements.

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

Introduction to the Solana Changelog

The Solana ecosystem continues to evolve at a rapid pace, with developers and contributors constantly working to improve the platform's functionality, efficiency, and user experience. In this week's Solana Changelog, hosts Jacob and Nick delve into the latest updates, proposals, and tools that are shaping the future of Solana. From dynamic block limits to new CLI features, this episode provides valuable insights for developers, validators, and enthusiasts alike.

SIMD-0130: Dynamic Block Limits

One of the most significant proposals discussed in this episode is SIMD-0130, which introduces the concept of dynamic block limits. Currently, Solana operates with a static compute unit (CU) limitation of approximately 48 million per block. This static limit presents challenges as the network grows and hardware capabilities improve.

The proposal, put forward by ecosystem contributor Caveman Loverboy, aims to create a more flexible and adaptive system for managing block limits. Instead of requiring consensus changes and extensive testing to adjust block limits, the proposal suggests implementing a dynamic approach that can automatically adjust limits based on network utilization.

Jacob explains the core concept: "After every epoch, if there is X percent of utilization of the CU, figure out how to change the CU limitations and then given a very specific limit, don't go above that other type of limit." This approach would allow the network to naturally scale with improvements in hardware and increased demand, without the need for manual intervention.

The benefits of such a system are numerous. It would enable Solana to more efficiently utilize available resources, potentially increasing throughput during periods of high demand while maintaining network stability. Additionally, it would reduce the administrative overhead required to manage block limits, allowing the network to evolve more organically.

While the proposal is still under discussion, it represents an important step towards creating a more scalable and adaptable Solana network. Developers and stakeholders interested in contributing to this discussion are encouraged to review the proposal on the SIMD repository.

CLI Improvements: Priority Fees for Program Deployment

One of the most exciting updates highlighted in this changelog is the addition of priority fees for program deployment within the Solana CLI. Nick enthusiastically shares this development: "There's this amazing commit by J Starry. So this new commit, it adds the ability to actually set compute unit price within the Solana CLI when you're deploying programs."

This feature, which will be available in Solana CLI version 1.18.8, addresses a long-standing issue in the ecosystem. Previously, developers had limited control over the prioritization of their program deployments, which could lead to delays during periods of network congestion.

With this new functionality, developers can now specify a compute unit price when deploying their programs. This allows them to leverage priority fees, ensuring that their deployments are processed more quickly and efficiently. Nick emphasizes the significance of this change: "You'll actually be able to set the compute unit price and actually use priority fees within deploying programs just directly within the CLI. So it's going to be really awesome."

This update is particularly valuable for developers working on time-sensitive projects or those operating in competitive markets where rapid deployment can provide a significant advantage. By giving developers more control over the deployment process, Solana is further cementing its position as a developer-friendly blockchain platform.

Program Deployment Optimization

Building on the theme of improving the program deployment process, Jacob mentions another important update: "This along with what we, the commit we talked about last week, John's commit with making the parallelization makes deploying programs a lot faster."

This parallelization improvement, combined with the new priority fee feature, represents a significant leap forward in Solana's program deployment capabilities. Developers can now expect faster, more reliable deployments, even during periods of high network activity.

However, Jacob also notes that there was a bug in the initial implementation of the parallelization feature: "There was actually a bug. And we're going to talk about it. In case you ran into issues." He explains that some users encountered a race condition or experienced timeouts during program deployment.

Addressing these issues promptly, the Solana team has implemented a fix in version 1.18.8. Jacob reassures users: "There's a timeout now, so that you can basically get out of that and you can have a better experience deploying programs." This quick response to user feedback demonstrates the Solana team's commitment to maintaining a robust and reliable development environment.

BPF Program Migration Progress

Nick brings attention to an ongoing effort within the Solana ecosystem to standardize the implementation of core programs: "There's a huge effort going on to migrate all of these programs into standard BPF programs that get deployed just like any other program."

This initiative aims to convert built-in programs, such as the system program, into standard BPF (Berkeley Packet Filter) programs. The motivation behind this change is to simplify the Solana runtime and make it easier for alternative validator clients, like the Firedancer team, to implement the Solana protocol.

Nick explains the benefits: "It makes it a lot easier for actually the Firedancer team and any other validator client to implement the Solana runtime since all the programs just work the same, just BPF programs."

Jacob adds that interested parties can find more detailed information about this migration in SIMD 72, which outlines the reasoning and process behind this significant change.

This migration represents a move towards greater standardization and modularity within the Solana ecosystem. By treating core programs in the same way as user-deployed programs, Solana is creating a more uniform and predictable environment for developers and validator implementations alike.

1.18 Scheduler Updates

The hosts discuss recent changes to the Solana scheduler, which is responsible for ordering transactions within blocks. Jacob explains a significant update to the prioritization mechanism: "In the current state with the scheduling, your priority is based off of your priority fee per compute over total compute. ... This change that Andrew put in is that what it'll do is it'll be the total fee over the compute."

This new approach takes into account both the base fee (fees paid per signature) and the priority fees when calculating transaction priority. Jacob highlights the implications of this change: "It enables us the scheduler to favor lower compute transactions rather than higher compute transactions because that base fee has a bigger impact on the total fee over compute on the lower end."

This update is designed to create a more balanced and efficient transaction ordering system. By favoring lower compute transactions, the network can potentially process a higher number of transactions per block, improving overall throughput and user experience.

Nick emphasizes the importance of this change for developers: "As always, lower the amount of compute, make it very easy for people to schedule your transactions in the cluster." This advice underscores the ongoing importance of optimizing smart contracts and transactions for efficiency within the Solana ecosystem.

New Developer Resources

The changelog highlights two valuable resources contributed by community member Caveman Loverboy. The first is a technique for reverting state during program tests. Jacob explains: "He's just showing showcasing a way that he's doing reverting of state during program tests. So you can do a lot more stuff with your program test and actually reset your test a lot faster."

While this functionality is not yet available in a public crate, Jacob expresses hope that it will be incorporated into the main Agave repository soon. This tool has the potential to significantly improve the testing process for Solana developers, allowing for more comprehensive and efficient test suites.

The second resource is a command-line Solana Explorer tool. Nick describes it enthusiastically: "He made this command line tool that's a Solana Explorer. So you can do all the typical Solana Explorer things directly from your command line, directly from your terminal."

This CLI Explorer is available as a Rust crate and can be easily installed using Cargo. It provides developers with a convenient way to interact with the Solana blockchain and explore transactions, accounts, and other on-chain data without leaving their terminal environment.

These community-contributed resources demonstrate the vibrant and collaborative nature of the Solana developer ecosystem. By creating and sharing tools that address common pain points, community members like Caveman Loverboy are helping to make Solana development more accessible and efficient for everyone.

Stack Exchange Engagement

The hosts conclude the changelog by highlighting recent activity on the Solana Stack Exchange. Jacob notes, "We had a few people come to the top and actually a lot of changes of people coming to the top and going forth and answering good questions."

The top contributors for the week are mentioned, with Ari taking the number one spot with 262 reputation points. Other notable contributors include John, Sasha versus the world, Ajov, and Joey.

This focus on Stack Exchange activity underscores the importance of community engagement and knowledge sharing within the Solana ecosystem. By participating in the Stack Exchange, developers are not only solving immediate problems but also creating a valuable knowledge base for future developers.

Jacob encourages listeners to contribute to the Stack Exchange, emphasizing its long-term value: "It helps out all developers on Solana in the future." This call to action reflects the collaborative spirit that has been a hallmark of Solana's rapid growth and development.

Conclusion

This week's Solana Changelog offers a comprehensive look at the latest developments in the ecosystem. From proposals for dynamic block limits to improvements in program deployment and transaction scheduling, the updates demonstrate Solana's commitment to continuous improvement and scalability.

The introduction of priority fees for program deployment and the ongoing efforts to standardize core programs highlight Solana's focus on creating a more efficient and developer-friendly environment. Meanwhile, community contributions like the CLI Explorer tool and new testing methodologies showcase the vibrant ecosystem of developers and contributors working to enhance the Solana experience.

As the platform continues to evolve, these changes and improvements are laying the groundwork for Solana's future growth and adoption. Developers, validators, and users alike can look forward to a more robust, efficient, and accessible blockchain platform as these updates are implemented and refined.

The Solana team's responsiveness to user feedback, as demonstrated by the quick fix for the program deployment bug, reinforces confidence in the platform's ongoing development. With each changelog, it becomes increasingly clear that Solana is not just keeping pace with the demands of the blockchain industry, but actively working to push the boundaries of what's possible in decentralized technology.

As we look ahead, the proposals and updates discussed in this changelog promise to bring exciting new capabilities and optimizations to the Solana ecosystem. Developers and users are encouraged to stay engaged, contribute to discussions, and leverage these new tools and features to build the next generation of decentralized applications on Solana.

Facts + Figures

  • SIMD-0130 proposes dynamic block limits for Solana, aiming to replace the current static limit of approximately 48 million compute units per block.
  • Solana CLI version 1.18.8 introduces the ability to set compute unit prices and use priority fees when deploying programs.
  • A bug in the program deployment parallelization feature was identified and fixed in version 1.18.8, adding a timeout mechanism to improve user experience.
  • The Solana team is working on migrating built-in programs to standard BPF programs, as detailed in SIMD 72.
  • The 1.18 scheduler update changes transaction prioritization to consider total fees (base fee + priority fees) over compute units.
  • A new command-line Solana Explorer tool has been created, allowing users to interact with the blockchain directly from their terminal.
  • The top contributor on the Solana Stack Exchange for the week earned 262 reputation points.
  • The ongoing BPF program migration aims to simplify the Solana runtime and make it easier for alternative validator clients to implement the protocol.
  • The new scheduler update is designed to favor lower compute transactions, potentially improving overall network throughput.
  • Community member Caveman Loverboy contributed multiple resources, including a state reversion technique for program testing and the CLI Explorer tool.

Questions Answered

What is SIMD-0130 proposing for Solana?

SIMD-0130 proposes implementing dynamic block limits for Solana. This would replace the current static limit of about 48 million compute units per block with a system that can automatically adjust limits based on network utilization after each epoch. The goal is to allow the network to scale more efficiently with hardware improvements and changing demand without requiring manual consensus changes.

How does the new priority fee feature for program deployment work?

The new priority fee feature for program deployment allows developers to set a compute unit price directly in the Solana CLI when deploying programs. This feature, available in Solana CLI version 1.18.8, enables developers to use priority fees to ensure their program deployments are processed more quickly during periods of network congestion. It gives developers more control over the deployment process and can lead to faster, more reliable deployments.

What changes are being made to Solana's core programs?

Solana is undertaking a significant effort to migrate its built-in core programs, such as the system program, into standard BPF (Berkeley Packet Filter) programs. This migration aims to standardize all programs on the network, making them function like any other deployed program. The change will simplify the Solana runtime and make it easier for alternative validator clients to implement the Solana protocol, promoting greater ecosystem diversity and resilience.

How has the transaction scheduling mechanism changed in Solana?

The recent update to Solana's scheduler changes how transaction priority is calculated. Previously, priority was based on the priority fee per compute unit over total compute. The new system considers the total fee (base fee plus priority fees) over compute units. This change favors lower compute transactions, as the base fee has a larger impact on the priority calculation for these transactions. The goal is to create a more balanced and efficient transaction ordering system that can potentially process more transactions per block.

What new developer tools have been introduced to the Solana ecosystem?

Two notable developer tools have been introduced by community member Caveman Loverboy. The first is a technique for reverting state during program tests, allowing for faster and more comprehensive testing of Solana programs. The second is a command-line Solana Explorer tool, which enables developers to perform typical blockchain explorer functions directly from their terminal. These tools aim to improve the development experience and efficiency for Solana developers.

Related Content

Solana Changelog - CLI Explorer, Priority Fees for Program Deployment, and Dynamic Block Limits

Explore the latest Solana updates including a new CLI Explorer, priority fees for program deployment, dynamic block limits proposal, and key ecosystem improvements.

Solana Changelog - April 23 - Migrating BPF Programs, Priority Fees on the CLI, and More

Explore the latest Solana developments including BPF program migration, CLI priority fee updates, the upcoming Bonkathon, and major Anchor 0.30 release changes.

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 - August 1 - Gamejam, RWA, Quick Program Deploys

Explore the latest Solana developments including the Game Jam, RWA security token standards, and improved program deployment speeds in this week's Changelog.

Solana Changelog - April 23 - Migrating BPF Programs, Priority Fees on the CLI, and More

Discover the latest Solana developments including BPF program migration, CLI priority fee updates, the upcoming Bonkathon, and major Anchor improvements in version 0.30.0.

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 - 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 July 6 - Cubik, SPL-token, and Solana-Tools

Explore the latest Solana developments including Cardinal Labs shutdown, Jupiter's Token 2022 adoption, Cubik's tooling round, and proposed SPL-token improvements.

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 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 23 - Lite RPC, Programmable Smart Wallets, and Idle Games

Explore the latest Solana updates including Lite RPC for efficient transactions, programmable smart wallets, and exciting developments in game creation on the blockchain.

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 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 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 - Mar 19: Anza's Agave Client, Compute, and create-solana-program

Explore Solana's latest developments: Anza's Agave client, block space challenges, priority fees, and new developer tools like create-solana-program.