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 - CLI Explorer, Priority Fees for Program Deployment, and Dynamic Block Limits

By Solana-Changelog

Published on 2024-04-02

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

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

In the latest episode of the Solana Changelog, hosts Jacob and Nick dive into the most recent updates and improvements in the Solana ecosystem. From innovative tools to enhance developer experience to proposals aimed at improving network scalability, this week's changelog is packed with exciting developments for the Solana community.

SIMD-0130: Dynamic Block Limits

One of the most significant topics discussed in this week's changelog is the SIMD-0130 proposal for Dynamic Block Limits. Currently, Solana operates with a static Compute Unit (CU) limitation of approximately 48 million per block. This static limit poses challenges when the network reaches full capacity, as changing this limitation requires a consensus change, a lengthy SIMD process, extensive testing, and final implementation.

The SIMD-0130 proposal, authored by contributor Caveman Loverboy, aims to address this issue by introducing a dynamic approach to block limits. The core idea is to allow the network to automatically adjust CU limitations based on utilization metrics, eliminating the need for manual intervention and enabling the network to scale more efficiently as hardware improves.

Jacob explains the proposal's mechanics: "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 for more organic growth of the network's capacity, adapting to real-world usage patterns and technological advancements.

While the proposal is still under discussion, it represents a forward-thinking approach to Solana's scalability challenges. Developers and stakeholders interested in contributing to this discussion are encouraged to review the proposal on the SIMD repository.

CLI Explorer: Bringing Solana Explorer to the Command Line

In an exciting development for developers who prefer working in terminal environments, Caveman Loverboy has created a command-line tool that brings the functionality of the Solana Explorer directly to the command line interface (CLI).

Nick enthusiastically shares, "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 tool is available as a Rust crate and can be easily installed using Cargo.

The CLI Explorer offers a streamlined way for developers to access and analyze blockchain data without leaving their preferred development environment. This tool is particularly valuable for developers who prioritize efficiency and prefer text-based interfaces over graphical ones.

To install the Solana CLI Explorer, developers can use the following command:

cargo install solana-cli-explorer

This addition to the Solana toolset demonstrates the ecosystem's commitment to improving developer experience and providing versatile options for interacting with the blockchain.

Priority Fees for Program Deployment

A significant improvement to the Solana CLI introduced in version 1.18.8 is the ability to set compute unit prices when deploying programs. This feature addresses ongoing discussions and concerns about program deployment costs and prioritization.

Nick highlights the importance of this update: "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 enhancement allows developers to have more control over the deployment process, potentially speeding up deployments during periods of high network congestion. By setting a higher compute unit price, developers can prioritize their program deployments, ensuring faster processing times when needed.

The addition of priority fees for program deployment is a welcome feature that aligns with Solana's focus on providing developers with flexible and powerful tools to optimize their workflows.

Improved Program Deployment Experience

Building on the theme of enhancing program deployment, Jacob mentions a recent fix addressing issues some developers encountered when deploying programs. The fix, also included in version 1.18.8, introduces a timeout mechanism to prevent deployments from hanging indefinitely.

Jacob explains, "If you ran into issues, and I know some people did, because I talked to some people that did, what to where you ran into like, there was kind of like a race condition or it was taking too long on doing the program deploy. There's a timeout now, so that you can basically get out of that and you can have a better experience deploying programs."

This improvement, coupled with the parallelization enhancements discussed in previous changelogs, significantly streamlines the program deployment process on Solana. Developers who experienced issues with program deployments are encouraged to update to the latest CLI version to take advantage of these optimizations.

BPF Program Migration Progress

The Solana team continues to make progress on migrating built-in programs to standard BPF (Berkeley Packet Filter) programs. This ongoing effort aims to simplify the Solana runtime and improve compatibility across different validator implementations.

Nick explains the significance of this migration: "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. And it makes it a lot easier for actually the fire dancer team and any other validator client to implement the Solana runtime since all the programs just work the same, just BPF programs."

This migration process is crucial for the long-term development of Solana, as it standardizes the way programs operate within the ecosystem. By converting built-in programs to standard BPF programs, Solana is paving the way for easier implementation of alternative validator clients, potentially increasing the network's decentralization and robustness.

For those interested in the technical details and rationale behind this migration, Jacob recommends referring to SIMD 72, which provides a comprehensive explanation of the process and its benefits to the Solana ecosystem.

Scheduler Updates for Solana 1.18

The upcoming Solana 1.18 release includes important changes to the transaction scheduling mechanism. These updates aim to optimize transaction prioritization and improve overall network efficiency.

Jacob details the changes: "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. So both your base fee, meaning the fees that you pay per signature, as well as the priority fees that you pay, the priority fee micro-lampers per compute, multiply the product there, over the total compute will give you prioritization."

This new approach to transaction prioritization favors transactions with lower compute requirements, as the base fee has a more significant impact on the total fee to compute ratio for these transactions. The change is expected to lead to more efficient block space utilization and potentially lower fees for simpler transactions.

Jacob emphasizes the importance of optimizing transactions: "As always, lower the amount of compute, make it very easy for people to schedule your transactions in the cluster." This advice remains crucial for developers looking to create efficient and cost-effective applications on Solana.

Improvements to Program Testing

Caveman Loverboy, a prolific contributor to the Solana ecosystem, has developed a method for reverting state during program tests. This improvement allows developers to conduct more comprehensive tests and reset their test environments more quickly.

Jacob explains the potential impact of this development: "So you can do a lot more stuff with your program test and actually reset your test a lot faster. So this is not yet in any crate that you can use, but I'm hoping, and I think he will be pushing trying to do a PR to the program test on the main agave repo."

While not yet officially integrated into the Solana development toolkit, this testing improvement showcases the ongoing efforts within the community to enhance developer productivity and code quality. As the feature matures and potentially becomes part of the official Solana testing framework, it could significantly streamline the development and testing process for Solana programs.

Stack Exchange Engagement

The Solana Stack Exchange continues to be a valuable resource for developers seeking answers to technical questions. The hosts highlight the top contributors for the week, acknowledging their efforts in supporting the community.

Jacob mentions, "We have Ari, who has the number one spot this week with 262 reputation. We have John, it looks like what Sasha versus the world. That's a fun name. Ajov, Joey and more."

The hosts encourage continued engagement with the Stack Exchange, emphasizing its importance in building a knowledge base for current and future Solana developers. By contributing to the platform, developers not only help their peers but also strengthen the overall ecosystem by making information more accessible.

Conclusion

This week's Solana Changelog highlights the ecosystem's continuous evolution, with improvements spanning from low-level protocol enhancements to developer-facing tools. The introduction of the CLI Explorer, updates to program deployment processes, and ongoing efforts to optimize the network's architecture all contribute to Solana's growing maturity as a blockchain platform.

The proposed dynamic block limits and scheduler updates demonstrate Solana's commitment to scalability and efficiency, while the new testing tools and CLI enhancements showcase the ecosystem's focus on improving the developer experience.

As Solana continues to grow and adapt, these updates play a crucial role in maintaining the network's position as a leading blockchain for high-performance decentralized applications. Developers, validators, and users alike can look forward to a more robust, efficient, and developer-friendly Solana ecosystem in the coming months.

Facts + Figures

  • SIMD-0130 proposes dynamic block limits to replace the current static 48 million CU per block limitation
  • Solana CLI version 1.18.8 introduces the ability to set compute unit prices when deploying programs
  • A new CLI Explorer tool has been created, allowing developers to access Solana Explorer functionality from the command line
  • The BPF program migration effort aims to convert built-in Solana programs to standard BPF programs for improved compatibility
  • Solana 1.18 scheduler updates will prioritize transactions based on total fee (base fee + priority fee) over compute, favoring lower compute transactions
  • A new method for reverting state during program tests has been developed, potentially speeding up the testing process
  • The top contributor on Solana Stack Exchange for the week earned 262 reputation points
  • The current static CU limitation requires a consensus change and extensive testing to modify
  • The proposed dynamic block limits would adjust automatically based on utilization metrics after each epoch
  • The CLI Explorer is available as a Rust crate and can be installed using Cargo
  • The timeout mechanism for program deployments was introduced to prevent indefinite hanging during the process
  • SIMD 72 provides a comprehensive explanation of the BPF program migration process and its benefits
  • The new scheduler prioritization method considers both base fees and priority fees in its calculations
  • The program testing improvement for state reversion is not yet available in any official crate but may be proposed for inclusion in the main Agave repository

Questions Answered

What is SIMD-0130 and how does it aim to improve Solana?

SIMD-0130 is a proposal for implementing dynamic block limits on the Solana network. It aims to replace the current static Compute Unit (CU) limitation of 48 million per block with a system that can automatically adjust based on network utilization. This proposal would allow Solana to adapt more efficiently to changing network conditions and hardware improvements without requiring manual consensus changes and extensive testing for each adjustment.

How can developers now set priority fees when deploying programs on Solana?

With the release of Solana CLI version 1.18.8, developers can now set compute unit prices directly when deploying programs. This new feature allows for the use of priority fees during program deployment, giving developers more control over the deployment process. By setting a higher compute unit price, developers can prioritize their deployments, potentially speeding up the process during times of network congestion.

What is the new CLI Explorer tool and how does it benefit Solana developers?

The new CLI Explorer tool is a command-line interface that brings the functionality of the Solana Explorer directly to the terminal. It allows developers to perform typical Solana Explorer operations without leaving their command-line environment. This tool is particularly beneficial for developers who prefer working in terminal-based environments, as it streamlines their workflow and allows for quick access to blockchain data and analysis directly from the command line.

How is Solana improving its built-in programs?

Solana is undertaking a significant effort to migrate its built-in programs to standard BPF (Berkeley Packet Filter) programs. This migration process aims to standardize all programs on the Solana blockchain, making them operate in the same way as user-deployed programs. The benefit of this migration is that it simplifies the Solana runtime and makes it easier for alternative validator clients, such as the Fire Dancer team, to implement the Solana protocol, potentially increasing network decentralization and robustness.

What changes are coming to transaction scheduling in Solana 1.18?

Solana 1.18 introduces updates to the transaction scheduling mechanism. The new system will prioritize transactions based on the total fee (including both base fee and priority fee) divided by the compute units required. This change favors transactions with lower compute requirements, as the base fee will have a more significant impact on the prioritization of these transactions. The goal is to improve overall network efficiency and potentially reduce fees for simpler transactions.

How is program testing being improved in Solana?

A new method for reverting state during program tests has been developed, although it's not yet officially integrated into Solana's development toolkit. This improvement allows developers to conduct more comprehensive tests and reset their test environments more quickly. While currently not available in any official crate, there are plans to propose its inclusion in the main Agave repository. This enhancement could significantly streamline the development and testing process for Solana programs once it's officially adopted.

What is the Solana Stack Exchange, and why is it important?

The Solana Stack Exchange is a question-and-answer platform specifically for Solana developers. It serves as a valuable resource for developers seeking answers to technical questions related to Solana development. The platform is important because it helps build a comprehensive knowledge base for the Solana ecosystem, making information more accessible to both current and future developers. Active participation in the Stack Exchange, such as asking questions and providing answers, contributes to the growth and strength of the Solana developer community.

Related Content

Solana Changelog - Apr 2 - CLI Explorer, Priority Fees When Deploying, and More

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

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 - 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 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 - 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 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: Trident, Unruggable, and SyscallGetSysvar

Explore the latest Solana updates including ZK-SDK additions, core BPF program migrations, and the disabling of rent collection. Learn about new developer tools and ecosystem improvements.

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 - 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 - May 1 - Auto-extend programs in the CLI, deploy Solana programs with an RPC, more

Explore the latest Solana updates including auto-extend programs in CLI, RPC deployment options, and exciting ecosystem developments like the Turbo Game Jam.

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 - January 31, 2023 - Geyser Improvements, Program-Test, and Bokken

Explore the latest Solana updates including a proposed fee market for storage, Geyser improvements, and the game-changing Bokken debugger for Solana programs.

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 - EpochStakes, SolFuzz, and Optimizations

Explore the latest Solana updates including validator reward proposals, snapshot enhancements, and significant performance optimizations. Learn about new development tools and ecosystem improvements.

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.