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

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

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

Learn more

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

By Solana-Changelog

Published on 2023-03-15

Discover Solana's latest developments including tiered account storage, new debugging tools, and significant Anchor updates. Learn about compressed NFTs and upcoming Grizzlython submissions.

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

Solana Changelog: Tiered Storage, Debugging, and Anchor Improvements

In the fast-paced world of blockchain development, Solana continues to make significant strides. This week's changelog, presented by Jacob and Jonas, offers a comprehensive look at the latest updates and innovations within the Solana ecosystem. From new storage solutions to improved debugging tools and major Anchor upgrades, there's a lot to unpack for developers and enthusiasts alike.

Grizzlython Submissions Open

One of the most exciting announcements is the opening of submissions for Grizzlython. This event provides an excellent opportunity for developers to showcase their projects built on Solana. To ensure participants put their best foot forward, the Solana Foundation's dev rel team is offering office hours. These sessions, scheduled for the day this changelog goes live, aim to provide valuable feedback and help developers refine their submissions.

Core Community Call

The Core Community Call, a pivotal event in the Solana development calendar, is set to take place on Friday at 1900 UTC. This call brings together core contributors of the Solana protocol, including teams from Solana Labs, Fire Dancers, Mango, Jito, and other key players in the ecosystem. While not a decision-making forum per se, these calls serve as a platform for aligning on potential changes and features for the network. It's important to note that final decisions on network changes ultimately rest with the validators.

Tiered Account Storage Proposal

A significant proposal highlighted in this changelog is the concept of tiered account storage. This proposal, specific to the Solana Labs client, aims to optimize storage based on account usage patterns. The system differentiates between "hot" accounts (frequently used) and "cold" accounts (rarely used), storing them in different locations for improved efficiency.

Hot accounts, which require quick access, would be stored in RAM for rapid retrieval. In contrast, cold accounts would be relegated to disk storage. This tiered approach is designed to enhance overall system performance by ensuring that frequently accessed data is readily available while less-used data doesn't unnecessarily consume valuable RAM resources.

Compressed NFTs: A Game-Changer for Solana

Jonas brings attention to an exciting development in the Solana NFT space: compressed NFTs. This innovation, demonstrated through an end-to-end example created by Nick from Helios, showcases the potential for significantly reduced costs in NFT minting and management on Solana.

Compressed NFTs work by storing only a proof on-chain, with the full metadata cached by validators. This approach dramatically reduces on-chain storage requirements, leading to substantial cost savings. As Jonas notes, "you can get one million [compressed NFTs] for five SOL or something like this." This represents a paradigm shift in NFT economics on Solana, potentially opening up new use cases and making NFTs more accessible to a broader audience.

The example provided by Helios includes comprehensive functionality, from creating collections and minting NFTs to transferring and redeeming them. While some aspects still require some technical know-how, the team is working on detailed documentation to streamline the process for developers.

New Compute Budget Instruction

A notable update to Solana's transaction processing capabilities comes in the form of a new compute budget instruction. This feature allows developers to request changes to the loaded account size limits for transactions. Previously, the limit was set at 64 megabytes of data that could be loaded in a single transaction. The new instruction introduces flexibility, enabling developers to request higher limits for a cost (in compute units or potentially fees in the future) or lower limits for reduced compute usage and potentially lower costs.

This change represents a significant increase from the previous 10-megabyte limit, offering developers more room to work with larger datasets within a single transaction. The pricing model for these adjustments is still being finalized and may be subject to future SIPs (Solana Improvement Proposals).

Anchor Update: A Leap Forward for Solana Development

One of the most substantial updates highlighted in this changelog is the major release for Anchor, Solana's popular development framework. Jonas expresses enthusiasm about the continuous improvement of Anchor, noting the growing contributor base, which now stands at 78.

The new Anchor release brings several exciting features:

  1. IDL Account Management: Developers can now close IDL (Interface Description Language) accounts and work with very large IDL accounts, enhancing flexibility in smart contract design.

  2. Token Operations: The introduction of transfer_checked and approve_checked functions improves the safety and efficiency of token-related operations.

  3. Account Interfaces: New interfaces for managing multiple token accounts have been added, which is particularly beneficial given the growing adoption of Token 2022 and its advanced features.

  4. Transaction Support: Anchor now supports version transactions, aligning with Solana's latest transaction processing capabilities.

  5. New Bytecode Loader: Support has been added for the new Solana Program Format (SPF), an improved version of the BPF (Berkeley Packet Filter) used in Solana's smart contract execution.

These updates collectively represent a significant enhancement to the developer experience on Solana, providing more tools and capabilities for building sophisticated decentralized applications.

Debugging On-Chain Code

A notable contribution from the Solana Labs team is the documentation for debugging on-chain code. While the current process isn't yet fully streamlined, it marks a significant step forward in developer tooling for Solana.

The debugging setup involves using a Visual Studio Code extension called "CodeLLDB" in conjunction with a library named "bpf_lldb.so". Developers need to configure task.json and launch.json files to enable debugging functionality. While this setup has limitations – it doesn't support Cross-Program Invocations (CPIs) or access to on-chain data – it provides a foundation for more advanced debugging tools in the future.

Jonas and Jacob discuss the potential for further improvements, such as bundling these steps into a single VS Code extension or integrating the debugging capabilities with Solana Playground. These enhancements could significantly reduce the friction in debugging Solana smart contracts, making the development process more efficient and accessible.

Cluster Performance Improvements

The changelog also highlights ongoing efforts to optimize Solana's cluster performance. A series of commits have focused on reducing the number of shreds per slot on the cluster. Shreds, as Jacob explains, are the smallest units of data transferred between validators that make up a block.

The optimization has resulted in a dramatic reduction from approximately 557,000 shreds to about 32,000 shreds per slot. This improvement enhances the cluster's ability to handle large amounts of transactional data more efficiently, contributing to Solana's overall scalability and performance.

Looking Ahead: Grizzlython and Future Developments

As the changelog wraps up, both hosts express excitement about the upcoming Grizzlython submissions. This event promises to showcase the innovation and creativity within the Solana developer community, potentially introducing new applications and use cases that could shape the future of the ecosystem.

The developments highlighted in this changelog – from tiered storage and compressed NFTs to improved debugging tools and Anchor updates – collectively paint a picture of a blockchain platform that is rapidly evolving and maturing. These enhancements not only improve the developer experience but also lay the groundwork for more efficient, scalable, and feature-rich applications on Solana.

As Solana continues to push the boundaries of blockchain technology, these regular updates and community-driven innovations play a crucial role in maintaining its position as a leading smart contract platform. The focus on performance optimization, developer tooling, and novel concepts like compressed NFTs demonstrates Solana's commitment to addressing the needs of both developers and users in the ever-expanding world of decentralized applications.

In conclusion, this week's Solana changelog reveals a blockchain ecosystem in constant motion, driven by a community of dedicated developers and innovators. As these new features and optimizations are implemented and adopted, they promise to unlock new possibilities and drive the next wave of blockchain applications on Solana.

Facts + Figures

  • Grizzlython submissions are now open, with Solana Foundation dev rel team offering office hours for feedback.
  • The Core Community Call is scheduled for Friday at 1900 UTC, involving key Solana contributors.
  • A new tiered account storage proposal aims to optimize storage based on account usage patterns.
  • Compressed NFTs can allow minting of approximately one million NFTs for around 5 SOL.
  • The loaded account size limit for transactions has been increased from 10 megabytes to 64 megabytes.
  • A new compute budget instruction allows developers to request changes to loaded account size limits.
  • Anchor's latest release involves contributions from 78 contributors.
  • New Anchor features include IDL account management, improved token operations, and support for version transactions.
  • Debugging on-chain code is now possible using a Visual Studio Code extension called CodeLLDB.
  • Cluster performance improvements have reduced shreds per slot from 557,000 to about 32,000.
  • The Solana Program Format (SPF) is introduced as an improved version of BPF for smart contract execution.
  • Compressed NFTs store only a proof on-chain, with full metadata cached by validators.
  • The current debugging setup for on-chain code has limitations, including no support for CPIs or on-chain data access.

Questions Answered

What is Grizzlython and how can developers participate?

Grizzlython is an event where developers can submit projects built on Solana. Submissions are now open, and developers can participate by preparing and submitting their projects. To assist developers in refining their submissions, the Solana Foundation's dev rel team is offering office hours on the day the changelog goes live. These sessions provide an opportunity for developers to receive feedback and improve their projects before final submission.

How does tiered account storage work in Solana?

Tiered account storage is a proposed feature for the Solana Labs client that optimizes data storage based on account usage. It categorizes accounts as either "hot" (frequently used) or "cold" (rarely used). Hot accounts are stored in RAM for quick access, while cold accounts are stored on disk. This approach aims to improve overall system performance by ensuring that frequently accessed data is readily available in faster storage mediums, while less frequently used data is stored more efficiently.

What are compressed NFTs and how do they benefit Solana users?

Compressed NFTs are a new type of NFT on Solana that significantly reduces on-chain storage requirements. Instead of storing all metadata on-chain, compressed NFTs only store a proof on-chain, with the full metadata cached by validators. This approach dramatically reduces the cost of minting and managing NFTs on Solana. The benefit is substantial cost savings, with estimates suggesting that users could mint up to one million compressed NFTs for around 5 SOL, making NFT creation and management much more accessible and economical on the Solana network.

What new features does the latest Anchor update bring?

The latest Anchor update introduces several new features to enhance Solana development. These include the ability to close IDL accounts and work with very large IDL accounts, new functions for safer token operations (transfer_checked and approve_checked), interfaces for managing multiple token accounts, support for version transactions, and compatibility with the new Solana Program Format (SPF). These updates collectively improve the flexibility, safety, and efficiency of developing on Solana using the Anchor framework.

How can developers debug on-chain code in Solana?

Developers can now debug on-chain Solana code using a Visual Studio Code extension called CodeLLDB in conjunction with a library named bpf_lldb.so. The process involves configuring task.json and launch.json files in VS Code. While this setup has limitations, such as the inability to use Cross-Program Invocations (CPIs) or access on-chain data, it provides a foundation for debugging Solana smart contracts. Future improvements may include bundling these steps into a single VS Code extension or integrating debugging capabilities with Solana Playground for a more streamlined experience.

What improvements have been made to Solana's cluster performance?

Recent optimizations have significantly improved Solana's cluster performance by reducing the number of shreds per slot. Shreds are the smallest units of data transferred between validators to form a block. The optimization has reduced the number of shreds per slot from approximately 557,000 to about 32,000. This improvement enhances the cluster's ability to handle large amounts of transactional data more efficiently, contributing to Solana's overall scalability and performance.

What is the new compute budget instruction and how does it affect transactions?

The new compute budget instruction allows developers to request changes to the loaded account size limits for transactions. Previously limited to 64 megabytes, developers can now request higher limits for a cost (in compute units or potentially fees) or lower limits for reduced compute usage. This flexibility enables developers to work with larger datasets within a single transaction if needed, or optimize for lower resource usage. The pricing model for these adjustments is still being finalized and may be subject to future Solana Improvement Proposals (SIPs).

What is the Core Community Call and why is it important?

The Core Community Call is a regular meeting of core contributors to the Solana protocol, including teams from Solana Labs, Fire Dancers, Mango, Jito, and other key players in the ecosystem. Scheduled for Fridays at 1900 UTC, these calls serve as a platform for aligning on potential changes and features for the Solana network. While not a decision-making forum, these calls play a crucial role in shaping the direction of Solana's development by allowing key contributors to discuss and coordinate their efforts. The final decisions on network changes are ultimately made by validators.

Related Content

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 - 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 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 - 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 - 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 - 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 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 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 - 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 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 - 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 March 7 - Verifiable Builds, Admin RPC, and Geyser

Discover the latest Solana developments including verifiable builds, admin RPC upgrades, and Geyser interface optimizations. Learn about SIMD 16 proposal and recent commits enhancing Solana's performance.

Solana Changelog July 11 - Merkle Shreds, Turbine, and a Security Series

Explore Solana's latest innovations including Merkle shreds, QUIC Turbine, and crucial security insights. Learn about upcoming events and developer resources in this comprehensive update.

Solana Changelog - August 8th, 2022 - Offline Signing, QUIC & APR.dev

Explore Solana's newest features including offline message signing, QUIC protocol implementation, and developer resources like APR.dev and Svelte Scaffold.