Liquid Stake with compassSOL for an 8.63% 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 May 29 - Trident, Unruggable, and SyscallGetSysvar

By Changelog

Published on 2024-05-30

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.

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

Solana Changelog: Exciting Updates and New Tools for Developers

In the latest episode of the Solana Changelog, Nick from the Solana Foundation DevRel team and Jonas, currently at Mountain Dow in Greece, dive into the recent developments and exciting updates in the Solana ecosystem. This week's changelog is packed with information on new ZK features, progress on core BPF migrations, changes to rent collection, and innovative tools for developers.

ZK Features Coming to Solana

One of the most exciting developments discussed in this episode is the addition of new Zero-Knowledge (ZK) features to Solana. These features are set to enhance the capabilities of the confidential transfers and token extension program already present in the ecosystem.

Jonas highlighted the introduction of algorithm hashes that can be used to validate public keys and verify ownership of private keys. He explained, "There's more functionality coming. So there's, for example, this algorithm hashes 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."

This advancement in ZK technology on Solana will allow developers to create more secure and privacy-preserving applications. The ability to validate that two messages were signed by the same key without revealing the key itself is a significant step forward in blockchain privacy and security.

Core BPF Initiative Progress

The ongoing Core BPF initiative, which aims to convert enshrined programs in the Solana protocol to BPF (Berkeley Packet Filter) programs, has made significant progress. Nick shared that the first two programs, the Config program and the Feature Gate program, now have feature gates to eventually go live on all clusters.

This initiative is crucial for the development of Firedancer, an alternative Solana client. By converting these core programs to BPF, the Firedancer team won't need to reimplement them, significantly speeding up their development process.

Nick explained, "The core BPF initiative is ever ongoing. And there's actually the first two of those programs that were initially enshrined programs. They're being converted to BPF. That's kind of the whole initiative there."

SIMD-0089: Programify Feature Gates

An important amendment to SIMD-0089, which deals with the process of "programifying" feature gates, was discussed. The proposed change aims to simplify the upgrade process for core BPF programs.

Initially, the upgrade process involved a multi-sig with specific key holders at different organizations. However, the amendment proposes to make it a feature gate within the feature gate program to upgrade the core BPF programs.

Nick expressed his support for this change, stating, "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 change will make the upgrade process more transparent and decentralized, aligning with Solana's principles of openness and community governance.

Disabling Rent Collection

One of the most significant updates discussed in this episode is the approval and merging of SIMD-0084, which disables rent collection on Solana. This change has been in the works for some time, as rent collection has been effectively deprecated within the runtime for a while now.

Nick explained the background of 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-0084 will allow core protocol engineers to remove a significant portion of unused code, simplifying the codebase and potentially improving performance. Moreover, this change will benefit the Firedancer team, as they won't need to implement this unused functionality in their alternative client.

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

This change represents a significant simplification of the Solana protocol and demonstrates the project's commitment to continuous improvement and optimization.

Trident: A New Rust-Based Fuzzer for Solana Programs

Jonas introduced an exciting new tool for Solana developers called Trident. Developed by Akib Lockchain, Trident is an open-source fuzzer designed specifically for testing Solana programs.

"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," Jonas explained.

Trident is expected to significantly enhance the security testing process for Solana programs. By automatically generating and running a wide range of inputs, it can help developers identify potential vulnerabilities and edge cases that might be missed through traditional testing methods.

Jonas emphasized the importance of such tools: "This is open source. So you can just try it out. And I think this is super exciting. We'll help with all kinds of security stuff. Probably always good to just run this, just try it out. In addition to audits, of course."

The introduction of Trident highlights the growing maturity of the Solana ecosystem and the increasing focus on security and robustness in Solana program development.

Web3.js Socket Issues: A Simple Fix for a Long-Standing Problem

An interesting development in the Solana ecosystem is the proposed fix for a long-standing issue with WebSocket connections in web3.js. This issue, which has been affecting developers for about two years, was causing problems with connection limits when using WebSocket connections.

Nick explained the root of the problem: "Basically you would run out of connections when you would try to do WebSocket connections. And because of how Node.js and some of the JavaScript runtimes, this is all within Web3.js, how some of those runtimes would handle connections, turns out they would basically go to a really high connection count when you really only need one."

The solution, proposed by Wilfred from Triton, is surprisingly simple. By setting the default connection pool size to just one, many of these connection issues can be resolved. Nick expressed amazement at the simplicity of the fix: "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 demonstrates the importance of community contributions in open-source projects like Solana. It also highlights how sometimes, complex problems can have surprisingly simple solutions.

Unruggable: An Open-Source CLI Wallet for Solana

Another exciting tool discussed in the changelog is Unruggable, an open-source Command Line Interface (CLI) wallet for Solana. This wallet provides developers and advanced users with a powerful, customizable tool for interacting with the Solana blockchain.

Nick expressed enthusiasm about the project: "It's under the GPL three 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. And there's a couple of like animated pictures, some gifts in here that like show it actually being used."

The Unruggable wallet offers features like QR code display and a full CLI interface, making it a versatile tool for developers and power users. Jonas pointed out its potential usefulness in development environments: "It always helps like even with like development, like just look at your wallet that is safe somewhere in your local file and see what's actually going on in there. So I think this is super helpful."

The availability of such open-source tools contributes to the robustness and diversity of the Solana ecosystem, providing developers with more options and flexibility in how they interact with the blockchain.

Solana StackExchange: Growing Community Support

The episode concluded with a shoutout to the Solana StackExchange, which has been seeing increased activity and faster response times. Jonas highlighted the positive feedback from the community: "I heard from many people that they're actually getting their answers faster now and better answers. So, so great."

The growth of the Solana StackExchange is a testament to the strength and engagement of the Solana developer community. It provides a valuable resource for developers to get quick, accurate answers to their questions, further enhancing the developer experience in the Solana ecosystem.

Conclusion: Solana's Continuous Evolution

This episode of the Solana Changelog demonstrates the rapid pace of development and innovation within the Solana ecosystem. From core protocol improvements like the disabling of rent collection and the progress on Core BPF migrations, to new developer tools like Trident and Unruggable, Solana continues to evolve and improve.

The introduction of new ZK features, the simplification of core processes, and the resolution of long-standing issues all contribute to making Solana a more robust, efficient, and developer-friendly blockchain platform. As these changes and new tools are adopted, we can expect to see even more innovative applications and use cases emerging on Solana.

The active engagement of the community, as evidenced by the growth of the Solana StackExchange and contributions like the web3.js socket fix, highlights the collaborative nature of the Solana ecosystem. This collaborative spirit, combined with the ongoing technical advancements, positions Solana well for continued growth and success in the competitive world of blockchain technology.

Facts + Figures

  • New ZK features are being added to Solana, including algorithm hashes for validating public keys and verifying ownership of private keys.
  • The first two programs in the Core BPF initiative, the Config program and the Feature Gate program, now have feature gates to go live on all clusters.
  • SIMD-0084, which disables rent collection on Solana, has been approved and merged.
  • Every account on Solana has been rent exempt for 6-10 months, making the rent collection code unused.
  • An amendment to SIMD-0089 proposes to use a feature gate within the feature gate program to upgrade core BPF programs, replacing the previous multi-sig approach.
  • Trident, a new open-source fuzzer for testing Solana programs, has been developed by Akib Lockchain.
  • A simple fix for WebSocket connection issues in web3.js has been proposed, potentially resolving a two-year-old problem.
  • Unruggable, an open-source CLI wallet for Solana, has been released under the GPL3 license.
  • The Solana StackExchange is seeing increased activity with faster and better answers to developer questions.
  • Anchor CI has been updated to include checks for both versions 0.29 and 0.30.
  • A new SyscallGetSysvar is being implemented to improve access to Sysvar data.
  • The Berlin blockchain week featured a 24-hour hackathon where some participants slept in tents.

Questions Answered

What new ZK features are coming to Solana?

Solana is introducing new Zero-Knowledge (ZK) features that enhance the capabilities of confidential transfers and the token extension program. These features include algorithm hashes that can be used to validate public keys, verify ownership of private keys, and confirm that two messages were signed by the same key without revealing the key itself. These advancements will allow developers to create more secure and privacy-preserving applications on the Solana blockchain.

What is the Core BPF initiative and why is it important?

The Core BPF initiative is an ongoing effort to convert enshrined programs in the Solana protocol to BPF (Berkeley Packet Filter) programs. This initiative is crucial for the development of alternative Solana clients like Firedancer, as it eliminates the need for these teams to reimplement core functionalities. The first two programs, the Config program and the Feature Gate program, now have feature gates to eventually go live on all clusters, marking significant progress in this initiative.

What changes are being made to rent collection in Solana?

Rent collection in Solana is being disabled through the approval and merging of SIMD-0084. This change comes after every account on Solana has been rent exempt for 6-10 months, making the rent collection code unused. Disabling rent collection will allow core protocol engineers to remove a significant portion of unused code, simplifying the codebase and potentially improving performance. The concept of rent is now more akin to a minimum balance requirement for accounts.

What is Trident and how can it benefit Solana developers?

Trident is a new open-source fuzzer developed by Akib Lockchain specifically for testing Solana programs. It works by generating and running a wide range of random inputs to identify potential vulnerabilities, overflows, or data problems in Solana programs. This tool can significantly enhance the security testing process for Solana developers, helping them catch issues that might be missed through traditional testing methods. Trident is expected to be a valuable addition to developers' security toolkits, complementing existing practices like audits.

What is Unruggable and how does it contribute to the Solana ecosystem?

Unruggable is an open-source Command Line Interface (CLI) wallet for Solana, released under the GPL3 license. It provides developers and advanced users with a powerful, customizable tool for interacting with the Solana blockchain. Unruggable offers features like QR code display and a full CLI interface, making it versatile for various use cases. Its open-source nature allows developers to integrate it into their workflows, potentially enhancing development processes and providing more options for interacting with Solana.

How is the Solana StackExchange contributing to the developer community?

The Solana StackExchange is seeing increased activity and faster response times, providing a valuable resource for developers to get quick, accurate answers to their questions. Community members have reported receiving faster and better answers to their queries. This growth in the Solana StackExchange demonstrates the strength and engagement of the Solana developer community and contributes to improving the overall developer experience in the Solana ecosystem.

What improvements are being made to Sysvar access in Solana?

A new SyscallGetSysvar is being implemented to improve access to Sysvar data in Solana. This change will make it easier for developers to read large amounts of data from other accounts, such as stake accounts, directly from the buffer instead of loading entire accounts. The new interface is expected to be more straightforward and efficient, potentially replacing the current Sysvar syscalls in the future. This improvement aims to enhance the development experience and efficiency of Solana programs.

How is the upgrade process for core BPF programs changing?

An amendment to SIMD-0089 proposes to change the upgrade process for core BPF programs. Initially, the process involved a multi-sig with specific key holders at different organizations. The proposed change would make it a feature gate within the feature gate program to upgrade core BPF programs. This change aims to make the upgrade process more transparent and decentralized, aligning with Solana's principles of openness and community governance. It represents a more mature and streamlined approach to managing core protocol upgrades.

What solution has been proposed for the WebSocket connection issues in web3.js?

A simple fix has been proposed for long-standing WebSocket connection issues in web3.js. The solution, proposed by Wilfred from Triton, involves setting the default connection pool size to just one. This seemingly simple change is expected to resolve many connection problems that have been affecting developers for about two years. The issue was caused by how Node.js and some JavaScript runtimes were handling connections, creating a high connection count when only one was needed. This fix demonstrates how sometimes complex problems can have surprisingly simple solutions in software development.

Related Content

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: 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 May 31 - Interfaces, Solang, and Solana ChatGPT

Explore Solana's latest updates including interfaces, Solang Compiler v0.3.0, and the new Solana ChatGPT plugin. Learn about developer tickets for Breakpoint and Form Function's open-source move.

Solana Changelog - February 14, 2023 - Diet Clients, 1.15 Release, and Metaplex Fusion

Explore Solana's newest features including Diet Clients, the 1.15 release, and Metaplex Fusion. Learn about the Grizzly Thon hackathon and exciting ecosystem updates.

Solana Changelog - August 29th, 2022 - SDK Changes, Address Lookup Tables, Solang & More!

Explore Solana's recent updates including SDK improvements, address lookup table changes, and the Solang compiler, enhancing developer experience and ecosystem growth.

Solana Changelog - EpochStakes, SolFuzz, and Optimizations

Explore Solana's recent advancements including validator reward proposals, performance optimizations, and new developer resources in this comprehensive changelog.

Solana Changelog April 18 - Automatic Repair, Saga, and Helium

Explore Solana's recent advancements including the Saga phone launch, Helium's migration to Solana, and a groundbreaking proposal for automatic cluster repair and restart.

Solana Changelog - February 14, 2023 - Diet Clients, 1.15 Release, and Metaplex Fusion

Explore Solana's newest features including diet clients for improved security, the 1.15 release, and innovative NFT farming with Metaplex Fusion.

Solana Changelog May 8 - Native Events, Solidity, Gaming

Explore Solana's recent advancements including Fire Dancer's QUIC implementation, native events proposal, and new gaming resources in this comprehensive changelog.

Solana Changelog May 16 - IDL Standard, 1.14.17, and Dune

Explore Solana's latest developments including IDL standardization, 1.14.17 release progress, and Dune Analytics integration for enhanced on-chain data analysis.

Solana Changelog May 23 - Lite RPC, Programmable Smart Wallets, and Idle Games

Explore Solana's cutting-edge developments in Lite RPC, programmable smart wallets, and idle game creation. Learn how these advancements are shaping the future of blockchain technology.

Solana Changelog Jul 3 - RPC Deprecations, Actions, and Blinks

Explore Solana's latest developments including RPC method deprecations, new Actions and Blinks features, and upcoming changes to compute unit charging.

Solana Changelog June 22 - Token Metadata, Anchor 28, QUIC on Turbine

Explore Solana's latest updates including the Token Metadata Interface, Anchor 0.28.0 release, and QUIC implementation on Turbine. Learn about new developer resources and upcoming events in the Solana ecosystem.

Solana Changelog - Feb 20 - Feature Activation, Decoupling the SMV, and Rust v1.76

Explore Solana's recent developments including feature activation schedules, SVM decoupling efforts, and the upgrade to Rust v1.76. Learn about upcoming events and Stack Exchange updates.

Solana Changelog March 14 - Tiered Account Storage, Debugging Programs, and Anchor

Explore Solana's latest developments including tiered account storage, program debugging, and major Anchor updates in this comprehensive changelog.