Liquid Stake with compassSOL for an 9.66% 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.9% APY staking with Solana Compass

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

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

Learn more

Solana Changelog Aug 21 - SIMD Updates, Commits, and Developer Resources

By Changelog

Published on 2024-08-22

Discover the latest Solana updates, including SIMD-0163, new commits, and exciting developer resources like Luzid in this week's Solana Changelog.

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

Solana Changelog: CPI Caller Restriction Lifted, Hash Cache Tool, and Program SDK Plans

In the latest edition of the Solana Changelog, hosts Jacob and Bri from the Solana Foundation DevRel team dive into the most recent updates and developments in the Solana ecosystem. This week's episode covers a range of topics, from SIMD updates to new commits and exciting developer resources. Let's explore the key highlights and their implications for the Solana community.

SIMD-0163: Lifting the CPI Caller Restriction

One of the most significant updates discussed in this episode is SIMD-0163, which proposes lifting the Cross-Program Invocation (CPI) caller restriction. This change aims to streamline the development process and enhance the flexibility of Solana programs.

Currently, CPI callers are required to have the program accounts of the callee available to them in the instruction account. The proposed update seeks to remove this check, allowing developers to simply pass the program account when the CPI is called. Jacob explains the rationale behind this change:

"They were able to remove this because they already passed the program account in the CPI. So in the instruction, they're able to just reference it from the CPI call."

This modification has the potential to simplify the code structure and reduce redundancy in Solana programs. By eliminating the need for duplicate account references, developers can create more efficient and cleaner code. The change also aligns with Solana's overall goal of optimizing performance and improving the developer experience.

Hash Cache Tool: Enhancing State Management

Another exciting development highlighted in the changelog is the introduction of the Hash Cache Tool. This new addition to the Solana tool suite is designed to facilitate state management and comparison between accounts.

Bri explains the tool's functionality: "It's just for like diffing state between accounts hash cache directories. So that's pretty cool. It's a new tool within the Solana tool suite that looks like the what accounts DB team has been working on."

The Hash Cache Tool represents a significant step forward in Solana's state management capabilities. By allowing developers to easily compare and analyze the state of different accounts, it can help identify discrepancies, debug issues, and ensure data consistency across the network. This tool is particularly valuable for projects dealing with complex state transitions or requiring frequent state verification.

As the Solana ecosystem continues to grow and evolve, tools like the Hash Cache Tool play a crucial role in maintaining the network's integrity and supporting developers in building robust applications.

Optimizing Vote Processing

A notable commit discussed in the changelog involves the removal of the vote buffer and the direct transmission of all verified votes to the banking stage. This change has resulted in the elimination of approximately 1,200 lines of code from the Solana codebase.

Jacob elaborates on the significance of this update: "This was able to be removed because they already have the votes of the banking stage. So they didn't make sense to have a buffer both within, I think, was a gossip as well as the banking stage if it's just duplication and effort."

The removal of the redundant vote buffer serves multiple purposes:

  1. Code simplification: By eliminating duplicate functionality, the Solana codebase becomes more streamlined and easier to maintain.
  2. Performance improvement: With votes now being sent directly to the banking stage, the validation process can potentially become faster and more efficient.
  3. Resource optimization: Removing unnecessary buffers frees up system resources, allowing for better allocation to critical operations.

This optimization aligns with Solana's commitment to continual improvement and efficiency. By refining core processes like vote handling, the network can maintain its high performance while scaling to meet growing demand.

Solana Program SDK: A New Approach

One of the most exciting announcements in this changelog episode is the proposal for a new Solana Program SDK. This initiative aims to address some of the challenges faced by on-chain program developers and create a more flexible development environment.

Bri outlines the current situation and the proposed changes: "Originally, the Solana program SDK was part of the agave validator mono repo. So it was always convenient for validator developers, but not so convenient for on-chain program developers because it's really cycle. It's tied to the agave validator."

The existing structure has presented several limitations:

  1. Difficulty in releasing breaking changes
  2. Tight coupling with the validator codebase
  3. Challenges in versioning and compatibility management

To address these issues, the new plan proposes a significant restructuring of the Solana Program SDK. The key objectives of this initiative include:

  1. Prioritizing on-chain program developers
  2. Enabling quick and easy program building
  3. Minimizing dependencies
  4. Improving flexibility and modularity

Bri further explains the approach: "The new plan is to prioritize on-chain program developers and build a new program quickly and easily and have minimal dependencies. So the plan is to break it up. If it can be reasonably used independently, then it gets its own crate."

This modular approach offers several potential benefits:

  1. Enhanced flexibility: Developers can choose and use only the components they need for their specific projects.
  2. Easier updates: Independent modules can be updated separately, reducing the impact of changes on the entire ecosystem.
  3. Improved maintainability: Smaller, focused modules are typically easier to maintain and test.
  4. Better scalability: A modular structure can more easily accommodate new features and improvements in the future.

It's important to note that this is still a proposal at this stage. The Solana team is actively seeking feedback and suggestions from the developer community to ensure that the new SDK structure meets the needs of all stakeholders.

Jacob emphasizes the importance of community input: "This is a proposal for a plan even. So if you have any suggestions or comments on this, it's great to have them. This is how Solana program development or smart contract moment might go in the future as well."

The proposed changes to the Solana Program SDK represent a significant shift in the development paradigm for Solana smart contracts. By focusing on the needs of on-chain program developers and embracing a more modular approach, Solana aims to create a more accessible and flexible development environment. This initiative has the potential to attract more developers to the ecosystem and foster innovation in Solana-based applications.

Luzid: Revolutionizing Local Program Development

One of the most exciting resources highlighted in this week's changelog is Luzid, a new tool designed to enhance local program development and testing on the Solana blockchain. Luzid represents a significant advancement in the Solana development toolkit, offering a range of features that can streamline the development process and improve overall efficiency.

Bri introduces Luzid with enthusiasm: "Lucid is a new way for local program development and testing. It uses the magic block validator. So it's optimized for speed and it also enables you to clone account and programs pretty easily."

Let's explore some of the key features and benefits of Luzid:

  1. Magic Block Validator: By leveraging this optimized validator, Luzid provides developers with a fast and responsive local development environment. This speed optimization can significantly reduce testing and iteration times, allowing for more rapid development cycles.

  2. Account and Program Cloning: The ability to easily clone accounts and programs is a powerful feature that can simplify the process of setting up test environments and exploring different scenarios. This functionality can be particularly useful when developing complex smart contracts or testing edge cases.

  3. Flexible State Management: Luzid offers advanced state management capabilities, allowing developers to manipulate and analyze program states more effectively. This feature can be invaluable for debugging and ensuring the correct behavior of Solana programs under various conditions.

  4. Block Height Reversal: One of the standout features of Luzid is its ability to reverse to previous block heights. Bri mentions, "You're also able to reverse to previous block heights." This capability provides developers with unprecedented control over their testing environment, allowing them to easily navigate through different stages of their program's execution and analyze behavior at specific points in time.

The introduction of Luzid aligns perfectly with Solana's commitment to improving the developer experience and fostering innovation within the ecosystem. By providing tools that make local development and testing more efficient and flexible, Solana is lowering the barriers to entry for new developers while also empowering experienced developers to create more sophisticated and reliable applications.

To help developers get started with Luzid, the Solana team has already conducted a live stream demonstration. Bri encourages the community to explore this resource: "If you're interested in seeing us like we will have done a live stream with Thorsten last week of how to how Lucid works and all the new features. Definitely check it out and we will be going through all the different things that are new as well as old so they can kind of understand the power behind Lucid."

The availability of comprehensive documentation and live demonstrations underscores Solana's commitment to developer education and support. By providing these resources, the team ensures that developers can quickly integrate Luzid into their workflow and take full advantage of its capabilities.

As the Solana ecosystem continues to grow and evolve, tools like Luzid play a crucial role in attracting new talent, fostering innovation, and maintaining Solana's position as a leading blockchain platform for decentralized applications. The introduction of Luzid represents another step forward in Solana's journey to create the most developer-friendly and efficient blockchain environment possible.

Stack Exchange Rankings: Fostering Community Knowledge

An essential aspect of any thriving developer ecosystem is the availability of reliable and accessible information. The Solana Stack Exchange plays a crucial role in this regard, serving as a platform for developers to ask questions, share knowledge, and collaborate on solutions to common challenges.

In this week's changelog, Jacob and Bri highlight the current Stack Exchange rankings, recognizing the top contributors to the Solana knowledge base. The rankings for this week are:

  1. Jimmy
  2. Mitch
  3. John
  4. Ari
  5. Jonas
  6. Emils

Bri expresses enthusiasm about seeing new contributors in the rankings: "We have Mitch, which I haven't seen before. So it's great to see new contributors." This diversity of contributors ensures a fresh influx of ideas and perspectives, enriching the Solana development community.

The importance of the Stack Exchange cannot be overstated. Jacob emphasizes its role in improving the Solana development experience: "This is how we make Solana development better for everybody in the future so that when you Google your questions or your errors, you get answers versus having to dig through discords or search or et cetera."

By centralizing knowledge and making it easily searchable, the Stack Exchange serves several critical functions:

  1. Accelerating problem-solving: Developers can quickly find solutions to common issues, reducing development time and frustration.
  2. Promoting best practices: Through peer review and community voting, high-quality answers rise to the top, helping to establish and propagate best practices in Solana development.
  3. Fostering community engagement: The platform encourages developers to share their expertise and collaborate, strengthening the overall Solana ecosystem.
  4. Lowering barriers to entry: New developers can easily access a wealth of information, making it easier to get started with Solana development.
  5. Documenting edge cases: As developers encounter and solve unique challenges, this knowledge becomes preserved and accessible to others who might face similar issues in the future.

The recognition of top contributors through the weekly rankings serves as an incentive for active participation and knowledge sharing. It's a testament to the collaborative spirit of the Solana community and its commitment to collective growth and improvement.

Both Jacob and Bri encourage viewers to contribute to the Stack Exchange. By sharing your knowledge and experiences, you not only help fellow developers but also contribute to the overall growth and robustness of the Solana ecosystem. Whether you're a seasoned Solana developer or just starting out, your insights and questions can make a valuable contribution to this shared knowledge base.

As Solana continues to evolve and attract more developers, platforms like the Stack Exchange will play an increasingly important role in supporting the community's growth and innovation. By fostering a culture of knowledge sharing and collaboration, Solana is building a strong foundation for long-term success and sustainability in the competitive world of blockchain technology.

Conclusion: Solana's Continuous Evolution

As we wrap up this week's Solana Changelog, it's clear that the ecosystem is in a state of constant evolution and improvement. From lifting CPI caller restrictions to introducing new development tools like Luzid, Solana is consistently working to enhance its platform and support its growing community of developers.

The changes discussed in this episode – including the SIMD updates, new commits, and the proposed restructuring of the Solana Program SDK – all point towards a future where Solana development is more accessible, efficient, and flexible than ever before. These improvements are not just technical enhancements; they represent Solana's commitment to creating the best possible environment for blockchain innovation.

Moreover, the emphasis on community contribution, as seen in the Stack Exchange rankings and the call for feedback on the SDK proposal, underscores the collaborative nature of the Solana ecosystem. This open and inclusive approach is key to Solana's ongoing success and its ability to adapt to the ever-changing landscape of blockchain technology.

As Jacob and Bri sign off, they invite viewers to stay tuned for future updates and to actively participate in shaping the future of Solana. Whether you're a seasoned developer or new to the ecosystem, there are countless opportunities to contribute, learn, and grow within the Solana community.

The rapid pace of development and the continuous stream of improvements demonstrate Solana's commitment to maintaining its position as a leading blockchain platform. As we look forward to future changelogs, one thing is certain: the Solana ecosystem will continue to evolve, innovate, and push the boundaries of what's possible in the world of decentralized technology.

Facts + Figures

  • SIMD-0163 proposes lifting the CPI caller restriction, removing the need for program accounts to be available in the instruction account.
  • The Hash Cache Tool is a new addition to the Solana tool suite, designed for diffing state between accounts hash cache directories.
  • A recent commit removed approximately 1,200 lines of code by eliminating the vote buffer and sending all verified votes directly to the banking stage.
  • The Solana Program SDK is planned to be restructured to prioritize on-chain program developers, with a focus on modularity and minimal dependencies.
  • Luzid, a new local program development and testing tool, uses the magic block validator for optimized speed.
  • Luzid features include easy account and program cloning, flexible state management, and the ability to reverse to previous block heights.
  • The Solana Stack Exchange weekly rankings featured Jimmy, Mitch, John, Ari, Jonas, and Emils as top contributors.
  • The Solana newsletter is available for subscription at https://solana.com/newsletter.
  • The Solana StackExchange weekly rankings can be found at https://stackexchange.com/leagues/714/week/solana/2024-08-12.
  • The Solana DevRel team can be followed on Twitter at https://x.com/solana_devs.

Questions Answered

What is SIMD-0163 and how does it affect Solana development?

SIMD-0163 is a proposal to lift the CPI (Cross-Program Invocation) caller restriction in Solana. It removes the requirement for CPI callers to have the program accounts of the callee available in the instruction account. Instead, developers can now simply pass the program account when the CPI is called. This change simplifies the development process and reduces redundancy in Solana programs, potentially leading to more efficient and cleaner code.

What is the Hash Cache Tool and how can it benefit Solana developers?

The Hash Cache Tool is a new addition to the Solana tool suite designed for diffing state between accounts hash cache directories. It allows developers to easily compare and analyze the state of different accounts, which can be crucial for identifying discrepancies, debugging issues, and ensuring data consistency across the network. This tool is particularly valuable for projects dealing with complex state transitions or requiring frequent state verification, enhancing Solana's state management capabilities.

How is the Solana Program SDK being restructured?

The Solana Program SDK is being restructured to prioritize on-chain program developers and create a more flexible development environment. The new plan aims to break up the SDK into independent modules, allowing developers to choose and use only the components they need for their specific projects. This modular approach offers enhanced flexibility, easier updates, improved maintainability, and better scalability. The restructuring is designed to address challenges like difficulty in releasing breaking changes and tight coupling with the validator codebase.

What is Luzid and how does it improve Solana development?

Luzid is a new tool for local program development and testing on the Solana blockchain. It uses the magic block validator for optimized speed and offers features like easy account and program cloning, flexible state management, and the ability to reverse to previous block heights. These capabilities allow developers to streamline their development process, set up test environments more easily, and debug their programs more effectively. Luzid represents a significant advancement in the Solana development toolkit, potentially reducing testing and iteration times for developers.

Why is the Solana Stack Exchange important for developers?

The Solana Stack Exchange is crucial for developers as it serves as a centralized knowledge base for the Solana ecosystem. It allows developers to ask questions, share knowledge, and find solutions to common challenges. By making information easily searchable and accessible, it accelerates problem-solving, promotes best practices, fosters community engagement, and lowers barriers to entry for new developers. The platform also helps document edge cases and unique solutions, contributing to the overall growth and robustness of the Solana ecosystem.

Related Content

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 Aug 14

Discover the latest Solana updates including SIMD-0164, Web3.js 2.0 Release Candidate, and improved developer tools for enhanced testing and deployment.

Solana Changelog Jul 17 - Deprecations, Precompiles, and Developer Resources

Explore Solana's latest changes including precompile improvements, deprecated code removals, and exciting new developer resources in this comprehensive update.

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 - 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 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 - 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 - 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

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 November 6th

Get the latest Solana updates including SIMD 189 for stricter ELF headers, Agave 2.1 pre-release, Web3.js 2.0 launch, and crucial developer insights.

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 Nov 6th

Explore the latest Solana updates including Agave v2.1, Web3.js v2 release candidate, SIMD-0187 proposal, and upcoming Anchor v0.31.0 features in this comprehensive changelog.

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.