Liquid Stake with compassSOL for an 7.50% 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 26 - ZK Elgamal Program, Better Feature Gate Testing, and More

By Changelog

Published on 2024-06-26

Discover the latest Solana updates including the ZK Elgamal Proof program, enhanced local feature gate testing, and exciting improvements to the developer experience.

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

Solana Changelog: ZK Elgamal Program, Better Feature Gate Testing, and More

In the latest episode of the Solana Changelog, Nick from the Solana Foundation DevRel team and Jacob dive into the recent updates and improvements in the Solana ecosystem. This week's changelog brings exciting news for developers, including the introduction of the ZK Elgamal Proof program, enhanced local feature gate testing, and several other developments that promise to elevate the Solana developer experience.

CI Improvements: Faster Build Scripts

One of the most significant updates highlighted in this changelog is the improvement to the Continuous Integration (CI) build scripts within the Agave repository. This update has dramatically increased the speed of the build process, with Nick enthusiastically stating:

"The build script basically makes it so everything builds like 200 times faster, which is really great, including building C, which is awesome."

This enhancement is particularly noteworthy as it applies to both Rust and C versions of the SDKs. The faster build times will undoubtedly lead to increased productivity for developers working on Solana projects, allowing for quicker iterations and more efficient development cycles.

ZK Elgamal Proof Program Feature Gate

A major addition to the Solana SDK is the introduction of the ZK Elgamal Proof program feature gate. Zero-Knowledge (ZK) proofs are a cryptographic method that allows one party to prove to another that a statement is true without revealing any information beyond the validity of the statement itself. The Elgamal encryption system, combined with ZK proofs, can provide enhanced privacy and security features for Solana applications.

While the changelog doesn't delve into the specifics of how this feature will be implemented or used, its inclusion suggests that Solana is continuing to expand its capabilities in the realm of privacy-preserving technologies. This addition could open up new possibilities for developers looking to build applications that require strong privacy guarantees on the Solana blockchain.

Improved Feature Gate Testing Locally

One of the most developer-friendly updates discussed in this changelog is the improvement in feature gate testing for local environments. Jacob explains the significance of this update:

"What we've seen recently in the past couple of months is that when people are testing their programs locally or in DevNet, and then they go to deploy on mainnet, they were using a feature that was not activated on mainnet, but was activated on their lower environment. They didn't realize it ahead of time. It ran into issues and they couldn't figure out what the errors were on mainnet."

This improvement addresses a common pain point for Solana developers. By verifying the ELF (Executable and Linkable Format) with the Active Feature Set before attempting deployment, developers can now "fail fast" and receive clear feedback about any features they might be using that aren't yet activated on mainnet. This change will help developers identify and resolve issues earlier in the development process, saving time and reducing frustration.

Blockstore Rewards Enhancement

The changelog also mentions an addition to the Blockstore rewards system, specifically the inclusion of a num_partitions parameter. While the details of this change weren't elaborated upon in the discussion, it suggests an optimization or enhancement to how rewards are stored or processed within the Solana blockchain. This could potentially lead to improved performance or more granular control over reward distributions.

SVM Spec Update

The Solana Virtual Machine (SVM) spec has received an update, as mentioned in the changelog. The SVM is a crucial component of the Solana blockchain, responsible for executing smart contracts and processing transactions. While the specific details of the update weren't discussed, any improvements to the SVM spec could potentially lead to enhanced performance, security, or functionality for Solana programs.

Streamlined CPI Calls

One of the most exciting developments discussed in the changelog is the ongoing work to streamline Cross-Program Invocation (CPI) calls. Nick explains the significance of this change:

"When you're doing CPI calls, you actually will no longer be required to pass in program accounts to the actual program IDs that the CPI is calling. So you can actually remove those. You can have your transactions... trim in the fat of all the program IDs that you're executing within CPI, making it so you can have even smaller transactions that you are sending to the cluster."

This improvement addresses one of the key limitations in Solana's transaction model: the 1232-byte limit on transaction size. By reducing the need to include program IDs for CPI calls, developers can create more compact transactions, potentially allowing for more complex operations within a single transaction. This change could significantly enhance the capabilities of Solana applications, especially those that require multiple program interactions.

Validate: A New Tool for Local Development

The changelog introduces an exciting new tool called Validate, developed by Turbine. This tool promises to revolutionize the local development experience for Solana developers. Nick describes its capabilities:

"What it does is allows you to load up like different ledgers locally on your local test validator very quickly, as well as if you're trying to get a specific program out from-- let's say you want to do open book testing locally. You can basically give the program ID to it. It'll load a bunch of different accounts for it and allow you to kind of work locally on open book without having to guess all the accounts."

Validate addresses a common challenge in Solana development: setting up a realistic local environment that mirrors the state of programs and accounts on the mainnet or testnet. By providing a way to quickly load specific program states and account structures, Validate can significantly reduce the time and effort required to set up local testing environments.

Moreover, the tool allows developers to export and share these configurations, facilitating collaboration and consistency across development teams. Nick envisions a future where Validate could evolve into a plugin system:

"You can kind of think of this and what it's going to turn to at some point is like a plug-in system to where if you have-- say you want to use Metaplex. Today, you have to load all the Metaplex accounts to do NFTs locally. In the future, you could just have this plug-in of the custom validate JSON for Metaplex. And you immediately can just start building. You don't have to reinvent the wheel every time."

This potential for a plugin ecosystem could further streamline the development process, allowing developers to quickly set up complex environments for various Solana programs and protocols.

Metaplex Core: A New Approach to NFTs

The changelog also highlights the introduction of Metaplex Core, a new NFT standard developed by Metaplex. This new standard takes a fundamentally different approach to NFTs on Solana. Jacob explains:

"Specifically, at least from my understanding, is Metaplex Core NFTs do not use the SPL token program or token extensions. So it's a little bit different of how NFTs work. But with that, they get a lot more flexibility of building an NFT standard from the ground up without using an existing program."

This new approach to NFTs on Solana offers several potential advantages. By building from the ground up without relying on the SPL token program, Metaplex Core can potentially offer more flexibility and efficiency in NFT implementations. Nick adds his perspective on this new standard:

"I think this way of doing NFTs was probably how it should have done in the first place. But it was very hard to do it in the early days because they were trying to figure out, OK, how do we bootstrap an NFT ecosystem very quickly. This one, it's less accounts, less space on the network, reducing anything costs. It's really cool."

While Metaplex Core is still in its early stages and doesn't yet have widespread adoption, it represents an interesting evolution in how NFTs can be implemented on Solana. The reduced account and storage requirements could lead to more efficient and cost-effective NFT solutions, potentially opening up new use cases and applications.

Solana Stack Exchange: Growing the Knowledge Base

The changelog concludes with a mention of the Solana Stack Exchange, highlighting the top contributors for the week. This growing resource is becoming an invaluable tool for Solana developers, providing a platform for asking questions, sharing knowledge, and collaborating on solutions to common challenges.

Nick emphasizes the importance of community participation in the Stack Exchange:

"Definitely, please help out, like, answer questions, like upvotes, and especially help out on Stack Exchange. Help out the good questions, help out the good answers. And that way, we can make a better experience for all developers in the future."

By encouraging developers to contribute to the Solana Stack Exchange, the community is building a comprehensive knowledge base that will benefit developers for years to come. This collaborative effort is crucial for the growth and maturation of the Solana ecosystem.

Conclusion: A Bright Future for Solana Development

This week's Solana Changelog showcases the continuous improvement and innovation happening within the Solana ecosystem. From performance enhancements in build scripts to new tools like Validate, and from innovative approaches to NFTs with Metaplex Core to streamlined CPI calls, these updates collectively paint a picture of a blockchain platform that is actively evolving to meet the needs of developers and users alike.

The introduction of the ZK Elgamal Proof program feature gate hints at exciting possibilities in the realm of privacy-preserving applications, while improvements in local feature gate testing promise to smooth out common pain points in the development process. The ongoing efforts to optimize transaction size through streamlined CPI calls could unlock new potential for complex on-chain operations.

As the Solana ecosystem continues to grow and mature, these incremental improvements and innovative approaches are laying the groundwork for more sophisticated, efficient, and user-friendly blockchain applications. With a thriving community contributing to resources like the Solana Stack Exchange, the future looks bright for Solana development.

Developers are encouraged to explore these new tools and features, contribute to the growing knowledge base, and continue pushing the boundaries of what's possible on the Solana blockchain. As Nick and Jacob's enthusiasm throughout the changelog suggests, there's never been a more exciting time to be building on Solana.

Facts + Figures

  • The CI build script improvements in the Agave repository have increased build speed by approximately 200 times, including C compilation.
  • A new ZK Elgamal Proof program feature gate has been added to the Solana SDK.
  • The Blockstore rewards system now includes a num_partitions parameter.
  • A new verification step for ELF with Active Feature Set has been implemented to catch feature activation issues before deployment.
  • The Solana Virtual Machine (SVM) spec has received an update.
  • Ongoing work aims to streamline CPI calls by removing the need to pass program accounts for program IDs, potentially reducing transaction size.
  • The current transaction size limit on Solana is 1232 bytes.
  • Validate, a new tool by Turbine, allows developers to quickly load different ledgers and program states locally for testing.
  • Metaplex Core, a new NFT standard, does not use the SPL token program or token extensions.
  • Metaplex Core NFTs require fewer accounts and less space on the network compared to traditional Solana NFTs.
  • The Solana Stack Exchange is actively growing, with top contributors highlighted weekly.

Questions Answered

What is the ZK Elgamal Proof program feature gate?

The ZK Elgamal Proof program feature gate is a new addition to the Solana SDK. While specific details weren't provided in the changelog, it suggests that Solana is incorporating zero-knowledge proof capabilities combined with the Elgamal encryption system. This feature could potentially enable privacy-preserving applications on the Solana blockchain, allowing for secure and confidential transactions or computations.

How does the new feature gate testing improvement help developers?

The new feature gate testing improvement helps developers by verifying the ELF (Executable and Linkable Format) with the Active Feature Set before attempting deployment. This allows developers to quickly identify if they're using features that aren't activated on the target network (e.g., mainnet) but might be active in their local or DevNet environment. By catching these issues early, developers can avoid confusion and troubleshooting difficulties when deploying to mainnet.

What is Validate and how does it enhance local development?

Validate is a new tool developed by Turbine that enhances local Solana development by allowing developers to quickly load different ledgers and program states into their local test validator. It enables developers to easily set up specific program environments, such as OpenBook, without having to manually configure all the necessary accounts. Validate also supports exporting and sharing these configurations, facilitating collaboration among development teams and potentially evolving into a plugin system for various Solana programs.

How does Metaplex Core differ from traditional Solana NFTs?

Metaplex Core is a new NFT standard that differs from traditional Solana NFTs by not using the SPL token program or token extensions. This approach allows for more flexibility in building NFT functionality from the ground up. Metaplex Core NFTs require fewer accounts and less space on the network, potentially reducing costs and improving efficiency. While it's a newer standard with less adoption currently, it represents an evolution in how NFTs can be implemented on Solana.

What changes are being made to CPI calls in Solana?

Changes are being made to streamline Cross-Program Invocation (CPI) calls in Solana. The ongoing work aims to remove the requirement of passing program accounts for program IDs when making CPI calls. This change will allow developers to create smaller, more efficient transactions by reducing the amount of data that needs to be included. The improvement addresses the 1232-byte transaction size limit on Solana, potentially enabling more complex operations within a single transaction.

How can developers contribute to the Solana ecosystem beyond coding?

Developers can contribute to the Solana ecosystem beyond coding by participating in the Solana Stack Exchange. This involves asking well-formulated questions, providing helpful answers, upvoting quality content, and generally contributing to the growing knowledge base. By actively engaging with the Stack Exchange, developers help create a valuable resource for the entire Solana community, improving the overall developer experience and fostering a collaborative environment for problem-solving and knowledge sharing.

What improvements have been made to the CI build process?

Significant improvements have been made to the Continuous Integration (CI) build process within the Agave repository. The updated build script has increased build speeds by approximately 200 times, including improvements in C compilation. This enhancement applies to both Rust and C versions of the SDKs, leading to faster development cycles and increased productivity for Solana developers.

What is the significance of the SVM spec update mentioned in the changelog?

The Solana Virtual Machine (SVM) spec update mentioned in the changelog is significant because the SVM is a crucial component of the Solana blockchain, responsible for executing smart contracts and processing transactions. While specific details of the update weren't provided, any improvements to the SVM spec could potentially lead to enhanced performance, security, or functionality for Solana programs, ultimately benefiting the entire ecosystem.

Related Content

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

Discover the latest Solana updates including the exciting Game Jam, new RWA security token standard, and improvements in program deployment speed.

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 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 - Jan 16 - Lower Program Deploy Costs, Halve Rent, Luzid Test Validator

Explore the latest Solana updates, including lower program deployment costs, a proposal to halve rent, and the innovative Luzid test validator for enhanced 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 - May 1 - Auto-extend programs in the CLI, deploy Solana programs with an RPC, more

Discover the latest Solana updates including CLI enhancements, program deployment improvements, and exciting ecosystem developments in this comprehensive changelog.

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