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

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

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

Learn more

Solana Changelog - December 13, 2022 - BigTable Fixes, Versioned Tx Program Testing, and OpenBook!

By Solana-Changelog

Published on 2022-12-14

Explore the latest Solana updates including transaction capping, BigTable improvements, versioned transactions in program tests, and the exciting launch of OpenBook DEX.

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

Welcome Back to the Solana Changelog

After a brief hiatus due to the busy holiday season, Joe and Jacob from the Solana Foundation are back with an exciting new episode of the Solana Changelog. This episode covers several important updates and changes that have occurred in the Solana ecosystem over the past few weeks. From transaction capping to BigTable fixes and the launch of OpenBook, there's a lot to unpack in this informative discussion.

Major Changes in Transaction Processing

One of the most significant updates highlighted in this episode is the upcoming change to how transaction priorities are handled on the Solana blockchain. Jacob explains that this change is likely to be implemented in version 1.15 of the Solana protocol. The key difference lies in how compute units are calculated and used for transaction prioritization.

Previously, the protocol used estimated compute units to manage transaction inclusion in blocks and priority fees. However, the new system will use requested compute units instead. This shift has important implications for how transactions are processed and prioritized on the network.

Understanding Compute Units

Compute units are a crucial concept in Solana's transaction processing. They represent the computational resources required to execute a transaction. Jacob provides a clear example to illustrate the current system:

"Your default transaction with one instruction, say a transfer from A to B, will be 200k compute. However, it'll only actually use about 5k-ish compute or less than that."

This means that there's often a significant difference between the requested compute units and the actual usage. The new system aims to address this discrepancy and improve overall network efficiency.

Default Compute Unit Allocation

Under the current system, transactions are allocated compute units based on the number of instructions they contain. Jacob explains:

"Today, the requested compute units, when you ever use a compute budget program without using that and you have one instruction, you're always gonna have 200 compute units requested. And it will be 200k times the amount of instructions in your transaction with a maximum of 1.4 million."

This means that a transaction with eight instructions would be allocated 1.4 million compute units, even if it doesn't actually require that much computational power. The new system allows for more precise allocation of resources.

Customizing Compute Unit Requests

One of the advantages of the new system is the ability to customize compute unit requests. Jacob notes:

"You can change this with the compute budget program, requesting a very specific amount of compute, and that's just another instruction. To request and then you can request for that eight, you can request 200k, you can request 1.4 million, whatever you feel like."

This flexibility allows developers to optimize their transactions more effectively, potentially reducing costs and improving overall network performance.

Impact on Transaction Fees

A natural concern arising from this change is its potential impact on transaction fees. Joe asks whether users who aren't taking advantage of compute budgets might end up paying more under the new system. Jacob clarifies:

"Not necessarily. It's more like the changes specifically around switching from estimated CU being used or estimated compute units to requested compute units."

This means that while the way compute units are calculated is changing, it doesn't necessarily translate to higher fees for users. Instead, it's about more accurately reflecting the actual computational resources required for each transaction.

Capping Account Data Loading

Another significant change discussed in the episode is the introduction of a cap on the amount of account data that can be loaded in a single transaction. Joe explains:

"Whenever you load account data with a transaction, there's now a cap on the amount of account data that you can load in a single transaction. So say you sent in a transaction and you added 23 accounts to load with that transaction and each of those accounts was 10 megabytes, the maximum for each account. You can't actually do that anymore."

The new limit caps the total amount of data that can be loaded for a single transaction at 100 megabytes. This change applies regardless of whether a lookup table is being used or not, as confirmed by Jacob.

BigTable Improvements

The episode also touches on some improvements made to the BigTable system used by Solana nodes to store older block data. Joe mentions:

"Some of the nodes have been having like disconnect issues with the BigTable that's used to store like all the older block data. They've made some changes to the token refresh so that that's gonna probably be a little bit alleviated on that end."

These improvements are expected to resolve some of the connectivity issues that nodes have been experiencing, potentially leading to more stable and reliable network performance.

Versioned Transactions in Program Tests

A notable addition to the Solana development toolkit is the support for versioned transactions within the program test framework. Joe highlights the significance of this update:

"They've also added support for version transactions within the program test framework so that you can actually use program tests to do things with like address lookup tables in a nice manner so you can more put more tests around your code."

This enhancement allows developers to create more comprehensive and accurate tests for their Solana programs, particularly when working with advanced features like address lookup tables.

Rust Client Improvements

The Solana team has also addressed some issues with the Rust client libraries. Joe mentions:

"They also did some rust clients of two like there was a problem with get program accounts that they fixed. It was like wasn't able to I think parse some kind of like account context or whatever kind of like additional parameters that have recently been added."

These fixes ensure that developers using Rust to interact with the Solana blockchain can reliably retrieve program account information, enhancing the overall development experience.

Token 2022 Updates

The episode briefly touches on some updates to the Token 2022 program. Joe notes:

"I also saw some changes to Token 2022. I think there was it actually like a patch upgrade. It looked like they were sort of laying down some of the frame like the groundwork for some of the like the confidential transfers that were talked about like kind of tease to us a little bit."

This update hints at exciting future developments in Solana's token standards, particularly in the realm of privacy-preserving transactions.

CPI Guard Introduction

Another interesting addition mentioned in the episode is the introduction of a CPI (Cross-Program Invocation) Guard. Joe speculates on its purpose:

"There's something called a CPI guard that they added as well which like at first glance kind of seems like it's protecting against like or at least enabling protection against CPI."

While the exact details of this feature weren't discussed in depth, it suggests that the Solana team is working on enhancing security measures for cross-program interactions.

Confidential Transfers Progress

Jacob provides some additional context on the progress of confidential transfers in Solana:

"The confidential transfers are starting to like more be built out right now. Mainly because there's a lot of they've recently enabled the ability to test with larger transactions, which was a requirement to run confidential transfers."

This update indicates that Solana is making significant strides towards implementing privacy-enhancing features, which could be a game-changer for many applications on the platform.

OpenBook: A Community-Driven DEX

One of the most exciting developments discussed in this episode is the launch of OpenBook, a community-driven decentralized exchange (DEX) on Solana. Jacob enthusiastically introduces the topic:

"Open book is obviously gonna be top of mind right now with everything that went down. So a complete fork of Serum done by the community and obviously decoupled from FTX."

OpenBook represents a significant milestone for the Solana ecosystem, demonstrating the community's ability to rapidly respond to challenges and create robust, decentralized solutions.

Community Support for OpenBook

The hosts emphasize the impressive community support that OpenBook has received. Jacob notes:

"It was pretty cool to see that a lot of people came together to pull that off. And also, I saw a commit in there as well and in the stuff we were going through about the Explorer. So like they added some support the Explorer for OpenBook as well."

This rapid integration and widespread support highlight the strength and responsiveness of the Solana developer community.

OpenBook's Improvements Over Serum

Joe points out that OpenBook isn't just a replica of Serum, but an improvement:

"I really like about OpenBook is that it was like immediately the community started building out. It didn't have to be like one specific group of the meanies started building out a replacement for Serum and actually already added additional features to it that previously Serum wasn't really updating anymore."

This proactive approach to development and improvement showcases the innovative spirit within the Solana ecosystem.

The Future of DeFi on Solana

Both hosts express optimism about what OpenBook represents for the future of decentralized finance (DeFi) on Solana. Joe concludes:

"It's really cool to see the community come together and fight a fire that they saw and kind of lay the groundwork for the future of DeFi on Solana."

This sentiment encapsulates the resilience and forward-thinking nature of the Solana community, positioning the platform for continued growth and innovation in the DeFi space.

Conclusion

This episode of the Solana Changelog provides a comprehensive overview of recent developments in the Solana ecosystem. From fundamental changes in transaction processing to community-driven initiatives like OpenBook, it's clear that Solana continues to evolve and adapt to meet the needs of its users and developers.

The updates discussed demonstrate Solana's commitment to improving performance, security, and functionality. With ongoing enhancements to core protocol features, development tools, and the thriving ecosystem of decentralized applications, Solana is well-positioned to continue its growth as a leading blockchain platform.

As the hosts sign off, they remind viewers that the Changelog series will continue to provide regular updates on the latest developments in the Solana ecosystem. For developers, users, and enthusiasts alike, staying informed about these changes is crucial for making the most of what Solana has to offer.

The rapid pace of innovation and the strong community support evidenced by projects like OpenBook paint a promising picture for Solana's future. As the platform continues to evolve, it will be exciting to see what new possibilities emerge and how the ecosystem will continue to push the boundaries of what's possible in blockchain technology.

Facts + Figures

  • Solana is implementing a change in how transaction priorities are handled, moving from estimated compute units to requested compute units.
  • The default compute units for a single-instruction transaction is 200k, though actual usage is often around 5k or less.
  • The maximum compute units for a transaction with multiple instructions is capped at 1.4 million.
  • A new cap of 100 megabytes has been introduced for the amount of account data that can be loaded in a single transaction.
  • BigTable improvements have been made to address disconnect issues experienced by some nodes.
  • Support for versioned transactions has been added to the program test framework.
  • Fixes have been implemented for the Rust client libraries, particularly for the get_program_accounts function.
  • Updates to Token 2022 include groundwork for confidential transfers.
  • A new CPI (Cross-Program Invocation) Guard has been introduced, potentially enhancing security for cross-program interactions.
  • OpenBook, a community-driven fork of Serum, has been launched and quickly integrated into the Solana ecosystem.
  • OpenBook has already added new features that weren't present in the original Serum DEX.
  • The Solana Explorer now supports OpenBook, demonstrating rapid ecosystem integration.
  • Confidential transfers are being built out, enabled by recent improvements allowing testing with larger transactions.

Questions Answered

What major change is coming to Solana's transaction processing?

Solana is transitioning from using estimated compute units to requested compute units for transaction prioritization. This change affects how transactions are included in blocks and how priority fees are managed. It allows for more precise allocation of computational resources and potentially improves overall network efficiency.

How many compute units are allocated to a default transaction with one instruction?

A default transaction with one instruction is allocated 200k compute units. However, it's important to note that the actual usage is often much lower, around 5k compute units or less. This discrepancy between allocated and used compute units is one of the reasons for the upcoming change in how compute units are handled.

Is there a cap on the amount of account data that can be loaded in a single transaction?

Yes, Solana has introduced a new cap of 100 megabytes on the amount of account data that can be loaded in a single transaction. This limit applies regardless of whether a lookup table is being used or not. The cap is designed to prevent excessive data loading that could potentially impact network performance.

What improvements have been made to BigTable?

Changes have been made to the token refresh process for BigTable, which is used to store older block data. These improvements are aimed at alleviating disconnect issues that some nodes have been experiencing. This should lead to more stable and reliable network performance, especially when accessing historical data.

What is OpenBook and why is it significant?

OpenBook is a community-driven decentralized exchange (DEX) that was created as a fork of the Serum DEX. It's significant because it demonstrates the Solana community's ability to rapidly respond to challenges and create robust, decentralized solutions. OpenBook has already added new features beyond what was available in Serum and has received widespread support and integration within the Solana ecosystem.

What updates have been made to the program test framework?

Support for versioned transactions has been added to the program test framework. This enhancement allows developers to create more comprehensive and accurate tests for their Solana programs, particularly when working with advanced features like address lookup tables. It improves the overall development experience and helps ensure the reliability of Solana applications.

What progress has been made on confidential transfers in Solana?

The groundwork for confidential transfers is being laid out, particularly in updates to the Token 2022 program. Recent improvements have enabled testing with larger transactions, which was a requirement for implementing confidential transfers. While not yet available on mainnet, this progress indicates that privacy-enhancing features are on the horizon for Solana.

How does the new compute unit system affect transaction fees?

The change from estimated to requested compute units doesn't necessarily mean higher fees for users. Instead, it's about more accurately reflecting the actual computational resources required for each transaction. Users who take advantage of the compute budget program can potentially optimize their transactions more effectively, which could lead to cost savings.

What is the CPI Guard and what does it do?

The CPI (Cross-Program Invocation) Guard is a new feature that has been added to Solana. While the exact details weren't discussed in depth, it appears to be a mechanism for protecting against or enabling protection in cross-program interactions. This suggests an enhancement in security measures for complex transactions involving multiple programs.

How has the Solana Explorer been updated in relation to OpenBook?

The Solana Explorer has been updated to include support for OpenBook. This rapid integration demonstrates the strong ecosystem support for the new DEX and makes it easier for users to interact with and monitor OpenBook activities directly through the Explorer interface.

Related Content

Solana Changelog - December 13, 2022 - BigTable Fixes, Versioned Tx Program Testing, and OpenBook!

Discover the latest Solana updates including transaction capping, BigTable improvements, versioned transactions in program tests, and the exciting launch of OpenBook DEX.

Solana Changelog - October 3, 2022 - P2P Network, Versioned Transaction Guides, and xNFT Backpack!

Explore the latest Solana developments including SolPG enhancements, P2P network proposals, versioned transaction guides, and the exciting release of xNFT Backpack.

Solana Changelog - September 13th, 2022 - Transaction v0, Fee Markets for Storage & SuperTeam Earn!

Explore Solana's latest developments including versioned transactions, fee markets for storage, and the exciting launch of SuperTeam Earn.

Solana Changelog - January 31, 2023 - Geyser Improvements, Program-Test, and Bokken

Explore the latest Solana updates including a proposed fee market for storage, Geyser improvements, and the game-changing Bokken debugger for Solana programs.

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 - September 6th, 2022 - CLI, Realloc, NFToken, Versioned TXs & Solana Bytes!

Discover the latest Solana updates including CLI improvements, realloc features, NFToken Explorer support, and the new Solana Bytes tutorial series.

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 - October 25, 2022 - 2x Transaction Size, Off-Chain Messaging, & Seahorse Cookbook

Exciting Solana updates including doubled transaction size, ZK token improvements, off-chain messaging support, and more. Learn about the latest developments in the Solana ecosystem.

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 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 - September 19th, 2022 - Larger TXs, PubSub docs, & Summer Camp winners!

Discover the latest Solana updates including increased transaction sizes, new SDK modifications, and the exciting winners of the Solana Summer Camp hackathon.

Solana Changelog - August 22, 2022 - Summer Camp, Scrambling Transactions, Address Lookup Tables

Discover the latest Solana updates including Summer Camp hackathon, Firedancer validator client, scrambling transactions, and address lookup tables on Explorer.

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 18 - Active Stake Sysvar and Generating IDLs

Explore the latest Solana developments, including a new SYSVAR for active stake, improvements to Anchor IDL generation, and Switchboard's innovative off-chain functions.