Liquid Stake with compassSOL for an 8.04% 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
- Click to connect your wallet
- Enter the amount you wish to stake
- Kick back and enjoy your returns
- 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.
Solana Changelog Jun 12 - Optional Borsh, Precompiles, and new Web3.js
By Changelog
Published on 2024-06-12
Dive into Solana's latest developments including optional Borsh, precompiles, core BPF migration, and exciting Web3.js updates for enhanced developer experience.
Solana's Latest Innovations: Optional Borsh, Precompiles, and Web3.js Enhancements
In the fast-paced world of blockchain development, Solana continues to push the boundaries of innovation and efficiency. The latest Solana Changelog, presented by Nick from the Solana Foundation DevRel team and his colleague Jacob, brings to light several exciting updates that are set to revolutionize the developer experience and enhance the overall ecosystem. From optional Borsh implementation to new precompiles and significant improvements in Web3.js, this changelog is packed with developments that showcase Solana's commitment to progress and developer-friendly solutions.
SIMD-0152: Precompiles - A New Standard for Efficiency
One of the most intriguing updates discussed in the changelog is the proposal for SIMD-0152, which focuses on precompiles. Precompiles are essentially predefined functions that are implemented directly in the blockchain's runtime for optimal performance. Currently, Solana has two precompiles in place: one for the ED25519 curve and another for the SEC P256K1 signatures, which are commonly used in Ethereum-like signature curves.
The SIMD-0152 proposal aims to create a standardized specification for these precompiles, paving the way for easier addition of new precompiles in the future. This standardization is particularly exciting for the potential implementation of pairing-based cryptography, which could open up new possibilities for privacy-preserving applications on Solana.
Nick expressed his enthusiasm for this proposal, stating, "This was a really cool one." The standardization of precompiles could significantly streamline the process of adding new cryptographic primitives to Solana, enhancing its versatility and security.
Enhancing Developer Experience: Optional Borsh and Compute Budget Crate
A major highlight of the changelog is the announcement of making Borsh optional in the SDK and program crates. This change, implemented by a developer named Kevin, marks a significant improvement in Solana's developer experience.
Jacob emphasized the importance of this update, recalling a previous incident: "About a year ago, the Borsh upgrade on Solana program actually broke a bunch of things within the ecosystem. So if you went from Anchor 0.6 to Anchor 0.8, you had to do a whole bunch of work to upgrade."
By making Borsh optional, developers will no longer face such issues in the future. This change has been met with enthusiasm from the community, with Jacob noting, "You can already see the Anchor maintainer putting the rocket emoji on it."
Another notable improvement comes in the form of a new compute budget crate, created by Buffalo Joe, a former member of the DevRel team. This separate crate allows for faster build times when developers don't need to use the compute budget functionality, further streamlining the development process.
Core BPF Migration: A Step Towards Flexibility
The ongoing Core BPF (Berkeley Packet Filter) migration continues to make progress, with new updates enhancing the upgrade process for core BPF programs. Nick explained, "Once this functionality goes live, when the core BPF programs begin their migration, then we'll be able to actually update them via feature gates, which is really cool."
This migration involves moving native programs from the Solana runtime into dedicated BPF programs. The end goal is to allow for more flexible upgrades of these core programs without requiring full runtime version upgrades. Instead, upgrades can be managed through feature gates, giving validators more control over when to adopt changes.
Jacob added context to the significance of this change: "These are native programs. They're being moved to like core BPF, like normal programs, right?" Nick confirmed, explaining that this approach will allow for more granular control over program upgrades and potentially smoother transitions for the network as a whole.
Web3.js: Technology Preview 3 and Enhanced Error Logging
The changelog also brought exciting news for front-end developers working with Solana. The release of Technology Preview 3 for the new Web3.js library marks another step towards a more efficient and developer-friendly JavaScript interface for Solana.
Jacob urged developers to test the new preview: "If you haven't tried it already, what this is, is there's a bunch of changes going on with Web3.js to make it smaller bundle size, more efficient, easier to extend. I would definitely check this out if you haven't already."
He emphasized the importance of developer feedback at this stage, stating, "Check it out. Try it out. Give your feedback that, like, hey, this DevX on this specific part sucks, because if you do it now, you can get it before a major release, and you can actually get it into where the DevX is better in the long run."
In addition to the new preview, an important update to Web3.js version 1.92.1 has significantly improved error logging. Previously, developers often encountered cryptic error codes like 0x1 or 0x0, with limited context. The new version now provides full error logs and stack traces, making debugging much more straightforward.
Jacob explained the impact of this change: "What we found out is that all the information about your transaction and the error that came with it were actually being sent back by the RPC, but they were being truncated by Web3.js. This allows you to see the full log, the full stack trace, every time you run into an error, instead of being, like, what the heck did I run into with 0x1, especially as a new developer."
Stack Exchange: Growing Community Support
The changelog concluded with a shoutout to the most active contributors on the Solana Stack Exchange. Notable mentions included Jimmy, Ari, John Chigway, and James, among others. The growth of the Solana Stack Exchange community is evident, with Jacob noting, "Wow. 17,000 users. I feel like the last time I looked at this, it was, like, 12,000."
This rapid growth in the Stack Exchange community is a testament to the expanding Solana ecosystem and the increasing number of developers entering the space. It also highlights the importance of community-driven support and knowledge sharing in fostering a robust developer ecosystem.
Implications for the Solana Ecosystem
The updates discussed in this changelog have far-reaching implications for the Solana ecosystem. The optional Borsh implementation and the new compute budget crate directly address pain points in the developer experience, potentially lowering the barrier to entry for new developers and increasing productivity for existing ones.
The progress on Core BPF migration showcases Solana's commitment to a more flexible and upgradeable architecture. This approach could lead to faster iterations and improvements in core functionalities without compromising network stability.
The advancements in Web3.js, both with the new technology preview and improved error logging, demonstrate Solana's focus on enhancing the front-end development experience. These improvements could lead to more robust and user-friendly dApps in the Solana ecosystem.
The Road Ahead
As Solana continues to evolve, these changes set the stage for even more innovations in the future. The standardization of precompiles could open doors for advanced cryptographic applications, while the improved developer tools and documentation could attract more talented developers to the ecosystem.
The growing Stack Exchange community also bodes well for the future of Solana development. As more developers share knowledge and solve problems collaboratively, the ecosystem becomes more resilient and innovative.
Conclusion
The June 12th Solana Changelog highlights the platform's commitment to continuous improvement and developer-centric innovations. From low-level optimizations like optional Borsh and precompile standardization to user-facing improvements in Web3.js, Solana is addressing challenges at every level of the development stack.
As Nick and Jacob emphasized throughout the changelog, community involvement and feedback are crucial to these developments. Developers are encouraged to test new features, provide feedback, and contribute to discussions on Stack Exchange and other platforms.
With these updates, Solana continues to position itself as a leading blockchain platform for developers, offering a blend of performance, flexibility, and user-friendly tools. As the ecosystem grows and matures, it's clear that Solana's focus on developer experience and technical innovation will play a crucial role in shaping the future of decentralized applications and blockchain technology.
Facts + Figures
- SIMD-0152 proposes creating a standard specification for precompiles in Solana.
- Currently, Solana has two precompiles: one for the ED25519 curve and another for SEC P256K1 signatures.
- Borsh has been made optional in the SDK and program crates, improving developer experience.
- A new compute budget crate has been created to allow for faster build times.
- Core BPF migration is ongoing, with updates now possible via feature gates.
- Web3.js Technology Preview 3 has been released, focusing on smaller bundle size and improved efficiency.
- Web3.js version 1.92.1 now provides full error logs and stack traces, improving debugging.
- The Solana Stack Exchange community has grown to approximately 17,000 users.
- The changelog mentions notable contributors to Stack Exchange, including Jimmy, Ari, John Chigway, and James.
- The Core BPF migration aims to move native programs from the Solana runtime into dedicated BPF programs.
- The new approach to core program upgrades will allow for more granular control and potentially smoother transitions.
- The optional Borsh implementation addresses issues that previously caused ecosystem-wide problems during upgrades.
- The standardization of precompiles could facilitate the implementation of pairing-based cryptography in the future.
- The improvements in Web3.js are aimed at enhancing the front-end development experience for Solana.
- The changelog emphasizes the importance of developer feedback in shaping these new features and improvements.
Questions Answered
What is SIMD-0152 and why is it important for Solana?
SIMD-0152 is a proposal to create a standard specification for precompiles in Solana. It's important because it aims to streamline the process of adding new precompiles in the future. This standardization could lead to easier implementation of advanced cryptographic functions, potentially opening up new possibilities for privacy-preserving applications on Solana. The proposal specifically mentions the potential for implementing pairing-based cryptography, which could significantly enhance Solana's capabilities in certain types of applications.
How does making Borsh optional benefit Solana developers?
Making Borsh optional in the SDK and program crates provides significant benefits to Solana developers by eliminating potential breaking changes during upgrades. Previously, changes to Borsh versions could cause ecosystem-wide issues, requiring extensive work to upgrade projects. With Borsh now being optional, developers have more flexibility in how they implement serialization in their projects. This change reduces the risk of unexpected breaking changes and allows for smoother upgrades, ultimately improving the overall developer experience on Solana.
What is the Core BPF migration and how will it affect Solana?
The Core BPF migration is an ongoing process to move native programs from the Solana runtime into dedicated BPF (Berkeley Packet Filter) programs. This migration will allow for more flexible upgrades of core programs without requiring full runtime version upgrades. Instead, upgrades can be managed through feature gates, giving validators more control over when to adopt changes. This approach aims to provide more granular control over program upgrades and potentially smoother transitions for the network as a whole, enhancing Solana's ability to evolve and improve over time.
What improvements does the new Web3.js Technology Preview 3 bring?
Web3.js Technology Preview 3 focuses on several key improvements for Solana developers. It aims to reduce bundle size, making applications more efficient and faster to load. The preview also works on making the library easier to extend, allowing developers more flexibility in how they use Web3.js in their projects. Additionally, the Solana team is actively seeking feedback on this preview to ensure that the final release addresses the needs and pain points of developers working with Solana. These improvements collectively aim to enhance the front-end development experience for Solana applications.
How does the new error logging in Web3.js version 1.92.1 help developers?
The new error logging feature in Web3.js version 1.92.1 provides developers with full error logs and stack traces, significantly improving the debugging process. Previously, developers often encountered cryptic error codes like 0x1 or 0x0 with limited context. Now, the full information about transactions and errors sent back by the RPC is visible to developers. This change allows developers to see comprehensive logs and stack traces for every error, making it much easier to identify and resolve issues in their Solana applications, especially for new developers who might not be familiar with the meaning of specific error codes.
What is the significance of the growing Solana Stack Exchange community?
The growing Solana Stack Exchange community, now at approximately 17,000 users, is significant as it indicates a rapidly expanding ecosystem of Solana developers. This growth demonstrates increasing interest in Solana development and provides a valuable resource for knowledge sharing and problem-solving within the community. A robust Stack Exchange community can greatly benefit both new and experienced developers by providing quick access to solutions for common problems, fostering collaboration, and accelerating the learning curve for those entering the Solana ecosystem. This thriving community support is crucial for the long-term success and adoption of the Solana platform.
How do the recent changes in Solana improve the overall developer experience?
The recent changes in Solana significantly improve the developer experience through various means. The optional Borsh implementation reduces the risk of breaking changes during upgrades. The new compute budget crate allows for faster build times. Improvements in Web3.js, including better error logging and the new technology preview, enhance front-end development. The ongoing Core BPF migration promises more flexible upgrades for core programs. Collectively, these changes address pain points at different levels of development, from low-level optimizations to user-facing tools, making it easier and more efficient to build on Solana.
What potential future developments are hinted at in the Solana changelog?
The changelog hints at several exciting future developments for Solana. The standardization of precompiles could lead to the implementation of more advanced cryptographic functions, potentially including pairing-based cryptography. The Core BPF migration suggests a future where core program upgrades are more flexible and controllable. The ongoing improvements in Web3.js indicate a continued focus on enhancing front-end development tools. Additionally, the growing Stack Exchange community suggests that we can expect more community-driven innovations and solutions in the Solana ecosystem. These developments collectively point towards a future where Solana becomes an even more powerful and developer-friendly blockchain platform.
On this page
- SIMD-0152: Precompiles - A New Standard for Efficiency
- Enhancing Developer Experience: Optional Borsh and Compute Budget Crate
- Core BPF Migration: A Step Towards Flexibility
- Web3.js: Technology Preview 3 and Enhanced Error Logging
- Stack Exchange: Growing Community Support
- Implications for the Solana Ecosystem
- The Road Ahead
- Conclusion
- Facts + Figures
-
Questions Answered
- What is SIMD-0152 and why is it important for Solana?
- How does making Borsh optional benefit Solana developers?
- What is the Core BPF migration and how will it affect Solana?
- What improvements does the new Web3.js Technology Preview 3 bring?
- How does the new error logging in Web3.js version 1.92.1 help developers?
- What is the significance of the growing Solana Stack Exchange community?
- How do the recent changes in Solana improve the overall developer experience?
- What potential future developments are hinted at in the Solana changelog?
Related Content
Solana Changelog - Optional Borsh, Precompiles, and new Web3.js
Discover Solana's latest developments including optional Borsh in SDK, precompile standardization, core BPF migration progress, and exciting Web3.js updates for enhanced developer experience.
Solana Changelog - Optional Borsh, Precompiles, and new Web3.js
Explore Solana's latest developments including optional Borsh, precompiles standardization, core BPF migration progress, and exciting Web3.js updates in this comprehensive changelog.
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 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.
Solana Changelog April 18 - Automatic Repair, Saga, and Helium
Discover Solana's latest developments including the Saga phone launch, Helium network migration, and innovative automatic cluster repair proposal.
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 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 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 Sep 11- Professional Education, Deprecated RPC Methods, Reduced Default CU per Inst
Dive into Solana's latest developments: professional education resources, RPC 2.0 migration, and compute unit optimization for improved network efficiency.
Solana Changelog - Feature Activation, Decoupling the SVM, and Rust v1.76
Explore Solana's newest developments including feature activation schedules, SVM decoupling, Rust upgrade to v1.76, and upcoming events in this comprehensive changelog.
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 - Jan 30: Transaction CU Cost, Simulation for Token Accounts, and Fee for Write Lock
Discover Solana's latest improvements including transaction cost tracking, token account simulation, and a proposal for write lock fees to enhance network efficiency.
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 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 - 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.
- Our Validator
- Borrow / Lend
- Liquidity Pools
- Token Swaps & Trading
- Yield Farming
- Solana Explained
- Is Solana an Ethereum killer?
- Transaction Fees
- Why Is Solana Going Up?
- Solana's History
- What makes Solana Unique?
- What Is Solana?
- How To Buy Solana
- Solana's Best Projects: Dapps, Defi & NFTs
- Choosing The Best Solana Validator
- Staking Rewards Calculator
- Liquid Staking
- Can You Mine Solana?
- Solana Staking Pools
- Staking On Solana
- How To Unstake Solana
- How To Unstake Solana
- How validators earn
- Best Wallets For Solana