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 7.1% APY staking with Solana Compass

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

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

Learn more

Solana Changelog: Trident, Unruggable, and SyscallGetSysvar

By Solana-Changelog

Published on 2024-05-30

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.

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 new developments and improvements happening on a regular basis. In this latest episode of the Solana Changelog, hosts Nick from the Solana Foundation DevRel team and Jonas, currently attending Mountain DAO in Greece, discuss the most recent updates and changes in the Solana blockchain. From exciting new ZK-SDK features to core protocol improvements, this changelog covers a wide range of topics that are shaping the future of Solana.

ZK-SDK Enhancements

One of the most exciting developments discussed in this changelog is the addition of new Zero-Knowledge (ZK) functionality to Solana. Jonas highlights the expansion of ZK capabilities, building upon the existing confidential transfers and token extension program. These new features are set to provide developers with more tools for building privacy-preserving applications on Solana.

Algum Hash and Public Key Validation

A significant addition to the ZK-SDK is the implementation of Algum hash functionality. This new feature allows developers to validate that a public key is valid and that the owner possesses the corresponding private key. Additionally, it enables verification that two messages were signed by the same key. Jonas explains:

"There's, for example, this Algum hash is here, that you can now use to, for example, validate that a pub key is actually valid, and also that the owner has the private key for it. And you can also validate that two messages were signed by the same key."

This functionality is based on Algum encryption, which is similar to RSA, and will soon be available for use on Solana. The integration of these ZK features opens up new possibilities for privacy-focused applications and enhances the overall security of the Solana ecosystem.

Borsh 0.9 Deprecation

An important breaking change highlighted in the changelog is the official removal of Borsh 0.9. Nick emphasizes that this has been in the works for a while, but it's now been finalized:

"Borsh, 0.9 has been deprecated, it's been deprecated for a while, but it's actually been finally removed. So it's a breaking change, just so everyone knows, 0.10 is now the current version."

Developers using Borsh for serialization in their Solana projects should take note of this change and update their dependencies accordingly. The transition to Borsh 0.10 may require some adjustments in existing codebases, but it's a necessary step to ensure compatibility with the latest Solana updates.

Anchor CI Updates

The Continuous Integration (CI) process for Anchor, a popular framework for Solana development, has received an important update. Nick explains that the Agave repository now includes CI jobs to ensure compatibility with both Anchor 0.29 and 0.30:

"The CI is actually checking for 0.29 and 0.30, which is important to note because there are so many changes with 0.30, not everyone's updated to it. So it's actually gonna check both of those versions, which I think is really nice."

This dual-version CI check is crucial for maintaining backward compatibility while encouraging developers to upgrade to the latest Anchor version. It demonstrates the Solana team's commitment to supporting developers through transitions and ensuring the stability of the ecosystem.

SyscallGetSysvar Implementation

A significant improvement to the Solana runtime comes in the form of the new SyscallGetSysvar implementation. This change aims to enhance the efficiency of reading Sysvar data within Solana programs. Jonas explains the benefits:

"Now they are improving on this. So it would be way easier, for example, to read like big amounts of data from other accounts. Like, for example, they hit like the staking, stake accounts here or something. So you will directly be able to like read some data from the buffer instead of loading the whole accounts, for example."

This optimization will allow developers to access Sysvar data more efficiently, potentially improving the performance of Solana programs that rely heavily on Sysvar information. The new implementation is expected to simplify the interface for working with Sysvars, making it easier for developers to integrate this functionality into their applications.

Core BPF Migration Progress

The ongoing initiative to migrate core Solana programs to BPF (Berkeley Packet Filter) format has reached a significant milestone. Nick discusses the progress:

"There's the core BPF process, the core BPF initiative is ever ongoing. And there's actually the first two of those programs that were initially enshrined programs, they were in the protocol themselves, they're being converted to BPF."

The first two programs to receive feature gates for BPF migration are the config program and the feature gate program itself. This transition is a crucial step in the Core BPF initiative, which aims to improve the flexibility and upgradeability of Solana's core functionality.

SIMD 89 Amendment: Upgrading Core BPF Programs

An important amendment to SIMD 89, which deals with the process of upgrading core BPF programs, has been proposed and accepted. Nick explains the change:

"Initially this was actually a multi-sig with specific key holders at different organizations. But the proposed change is actually to make it so it's a feature gate within the feature gate program to actually upgrade the core BPF programs, which I personally think makes way more sense."

This amendment shifts the upgrade process from a multi-signature approach to a feature gate within the feature gate program. This change is expected to streamline the upgrade process for core BPF programs and provide a more transparent and decentralized mechanism for implementing critical updates to the Solana protocol.

Disabling Rent Collection: SIMD 84 Approval

A significant change to Solana's economic model has been approved with the merging of SIMD 84. This improvement document outlines the disabling of rent collection, a process that has been effectively deprecated for some time. Nick provides context on this change:

"Every single account has required to be rent exempt, putting two years, depositing two years worth of rent into an account when you create it. That's been a requirement for a while now. And as of six, eight, 10 months ago, something like that, every single account that exists on chain is rent exempt, which means the rent collection, the periodic rent collection code, never gets used."

The approval of SIMD 84 paves the way for removing the unused rent collection code from the Solana codebase. This simplification is expected to have several benefits:

  1. Streamlined codebase: Removing unused code will make the Solana protocol easier to maintain and understand.
  2. Improved performance: Eliminating unnecessary checks and processes could lead to better overall network performance.
  3. Simplified development: New implementations of the Solana protocol, such as Firedancer, won't need to include rent collection logic.

While the concept of "rent" may persist in terminology, Jonas suggests that it's more accurate to think of it as a minimum balance requirement:

"The program will probably still be there, like how I write it here, because some people are using the code because a name may also stick around. But actually now it's more like a minimum balance than a rent."

This shift in perspective could lead to clearer communication about Solana's account model and economic design in the future.

Trident: Open-Source Fuzzing Tool for Solana Programs

The changelog highlights an exciting new open-source tool called Trident, developed by Ackee Blockchain. Trident is a fuzzing tool designed specifically for testing Solana programs. Jonas explains the concept:

"If you don't know what a fuzzer is, like a fuzzer is basically something that you can use to test your programs. And what it does, it just throws a bunch of random stuff at your program, basically, just all kinds of random bytes and so on. And sees if there's problems, if you get overflows or any data problems."

Fuzzing is a crucial technique in software testing, especially for blockchain applications where security is paramount. By subjecting Solana programs to random, unexpected inputs, Trident can help developers identify potential vulnerabilities, edge cases, and bugs that might not be caught through traditional testing methods.

The open-source nature of Trident makes it an valuable addition to the Solana developer toolkit. Jonas emphasizes its importance:

"This is open source, so you can just try it out. And I think this is super exciting to help with all kind of security stuff. Probably always good to just run this, just try it out in addition to audits, of course."

By making Trident freely available, the Solana ecosystem is fostering a culture of security-first development, encouraging developers to integrate robust testing practices into their workflow.

Web3.js Socket Issue Resolution

A long-standing issue with web socket connections in the Solana web3.js library has finally been addressed. Nick discusses the problem and its solution:

"This has been an issue for about two years. It's been like, basically you would run out of connections when you would try to do web socket connections. And because of how Node.js and some of the JavaScript run times, this is all within Web through JS, how some of those run times would handle connections."

The issue stemmed from how Node.js and other JavaScript runtimes managed connections, often creating an unnecessarily high number of connections when only one was needed. Wilfred from Triton proposed a simple yet effective solution:

"Wilfred's basically proposed of setting the default connection size, the pool size to just one. And then just solve so many problems apparently, which I think is just an amazingly simple thing that took everyone about two years to like figure out."

This fix is expected to resolve many of the connection-related issues that Solana developers have been grappling with, particularly in high-traffic applications. The simplicity of the solution underscores the importance of continuous review and optimization of even the most fundamental components of the development stack.

Unruggable: Open-Source CLI Wallet for Solana

An exciting new project in the Solana ecosystem is the Unruggable wallet, an open-source command-line interface (CLI) wallet. Nick shares his enthusiasm for the project:

"Someone created basically an open source CLI wallet, which is like incredibly cool. It's under the GPL3 license. And the docs guide here, the readme in this repo is actually like pretty detailed of like how to set it up, which is amazing."

The Unruggable wallet offers several noteworthy features:

  1. Full CLI functionality: Users can manage their Solana assets entirely through a command-line interface.
  2. QR code support: The wallet can display QR codes for easy address sharing.
  3. Detailed documentation: The project's readme provides comprehensive setup and usage instructions.
  4. Open-source nature: Being released under the GPL3 license, the wallet is free for anyone to use, modify, and contribute to.

Jonas highlights the potential utility of such a tool for developers:

"It always helps like even with like development, like just look at your wallet that is safe somewhere and your local file and see what's actually going on in there. So I think this is super helpful."

The Unruggable wallet could serve as both a practical tool for managing Solana assets and an educational resource for developers looking to understand the inner workings of Solana wallets.

Solana StackExchange Growth

The Solana StackExchange continues to gain traction within the developer community. Jonas notes the increasing activity and the positive impact it's having:

"Everyone is active on stack exchange. Really nice to see. We have Jimmy here, we have Sid, Biz Aktar and Christian is there, column of course. So yeah, it's super good. Like I heard from many people that they're actually getting their answers faster now and better answers."

The growth of the Solana StackExchange is a testament to the vibrant and supportive developer ecosystem surrounding Solana. As more developers contribute their knowledge and experience, the platform becomes an increasingly valuable resource for troubleshooting, learning, and sharing best practices.

Nick adds an impressive statistic about the response times on the platform:

"There was some questions that got it two valid answers within about five minutes or so of it being initially posted, which is incredible."

This rapid response time demonstrates the engagement and expertise of the Solana developer community, making the StackExchange an indispensable tool for both newcomers and experienced developers alike.

Conclusion: Solana's Continuous Evolution

The latest Solana Changelog highlights the blockchain's ongoing commitment to improvement and innovation. From core protocol enhancements like the BPF migration and rent collection removal to developer-focused tools like Trident and the Unruggable wallet, the Solana ecosystem is continuously evolving to meet the needs of its growing user base.

The introduction of new ZK-SDK features opens up exciting possibilities for privacy-preserving applications, while improvements to fundamental libraries like web3.js ensure that developers can build robust and scalable applications on Solana.

As the ecosystem continues to mature, the emphasis on open-source development, community-driven support through platforms like StackExchange, and ongoing optimization of core protocols positions Solana as a leading blockchain for developers and users alike. With each changelog, Solana demonstrates its commitment to becoming more efficient, secure, and developer-friendly, paving the way for the next generation of decentralized applications.

Facts + Figures

  • New ZK-SDK features including Algum hash for public key validation and message signing verification
  • Borsh 0.9 has been officially removed, with 0.10 now the current version
  • Anchor CI updated to check compatibility with both versions 0.29 and 0.30
  • SyscallGetSysvar implementation improved for more efficient Sysvar data reading
  • First two core Solana programs (config and feature gate) receiving feature gates for BPF migration
  • SIMD 89 amended to use feature gate for upgrading core BPF programs instead of multi-sig
  • SIMD 84 approved, disabling rent collection which has been effectively deprecated
  • Trident, an open-source fuzzing tool for Solana programs, released by Ackee Blockchain
  • Long-standing web socket connection issue in web3.js resolved by setting default pool size to one
  • Unruggable, an open-source CLI wallet for Solana, released under GPL3 license
  • Solana StackExchange seeing increased activity with faster response times
  • Some questions on StackExchange receiving two valid answers within five minutes of posting

Questions Answered

What new ZK-SDK features are being added to Solana?

Solana is adding new Zero-Knowledge (ZK) functionality to its SDK, including Algum hash capabilities. These new features allow developers to validate public keys, verify ownership of private keys, and confirm that two messages were signed by the same key. This expansion of ZK capabilities builds upon existing confidential transfers and token extension programs, providing more tools for privacy-preserving applications on Solana.

How is the Core BPF migration progressing?

The Core BPF migration is making significant progress, with the first two core Solana programs receiving feature gates for BPF conversion. These programs are the config program and the feature gate program itself. This ongoing initiative aims to convert core Solana functionality from native code to BPF format, improving flexibility and upgradeability of the protocol. The process now includes a feature gate within the feature gate program for upgrading core BPF programs, replacing the previous multi-signature approach.

What changes are being made to rent collection in Solana?

Rent collection in Solana is being disabled following the approval of SIMD 84. This change comes after a period where all accounts on the Solana blockchain have been required to be rent-exempt, making the periodic rent collection code unused. The removal of rent collection is expected to simplify the Solana codebase, potentially improve performance, and reduce complexity for new implementations of the Solana protocol. While the term "rent" may persist, it's more accurately described as a minimum balance requirement for accounts.

What is Trident and how does it benefit Solana developers?

Trident is a new open-source fuzzing tool developed by Ackee Blockchain specifically for testing Solana programs. It works by sending random inputs to programs to identify potential vulnerabilities, overflows, or other issues that might not be caught through conventional testing methods. Trident is particularly valuable for enhancing the security of Solana applications and is recommended for use alongside traditional audits. Its open-source nature allows developers to easily integrate it into their testing workflows, fostering a security-first approach in the Solana ecosystem.

How has the Solana StackExchange platform been improving?

The Solana StackExchange has been experiencing increased activity and engagement from the developer community. Users report faster response times and higher quality answers to their questions. Some questions are receiving multiple valid answers within minutes of being posted, demonstrating the platform's effectiveness in providing quick, community-driven support. The growth of the Solana StackExchange is creating a valuable knowledge base for both new and experienced developers in the ecosystem.

Related Content

Solana Changelog May 29 - Trident, Unruggable, and SyscallGetSysvar

Explore Solana's cutting-edge updates including new ZK capabilities, core BPF program migrations, and the disabling of rent collection. Learn about exciting new tools like Trident and Unruggable wallet.

Solana Changelog - Trident, Unruggable, and SyscallGetSysvar

Explore Solana's latest developments including new ZK features, core BPF program conversions, rent collection changes, and exciting new developer tools like Trident and Unruggable wallet.

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 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 - MoveStake, Core Concepts, and Bigtable Support

Explore the latest Solana developments including MoveStake proposal, CLI improvements, and revamped core concept documentation. Learn how these changes enhance the Solana ecosystem.

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

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 Oct 30th

Explore the latest Solana developments including Old Faithful RPC on Filecoin, verified builds in Explorer, and a new transaction size specification

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 - December 5 - Geyser, GroupMember Extension, and Core BPF Programs

Explore the latest Solana updates including Geyser plugin logging, new token extensions, and improvements to core BPF programs. Learn about the impact on developers and the ecosystem.

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.