Solana Tech Roundup
This week there was a lot of work stabilizing 1.9 for release and getting QUIC ready for 1.10. If you're interested in testing 1.9, it is currently deployed to Devnet. Deployment to mainnet-beta is expected as early as next week!
Upcoming Change Highlight
Compute Budget Program
As a part of the 1.9 release, some major changes are being made to compute budget on transactions.
- Compute Budget is enforced transaction-wide instead of per instruction
- Compute Budget is increasing from 200k compute units to 1.4m compute units
Along with this change, you can now request more compute for your transaction at a small fee.
Note: To request more compute for a transaction, the first instruction must be the compute budget request instruction.
You can find examples of how to request more compute on the Solana Cookbook.
As part of implementing the Comprehensive Compute Fees in 1.9, it was found that there was a bug in the implementation where transactions could have very high fees. These changes will likely be implemented at a later date. If you're interested in contributing, check out the detailed analysis of the issue.
List of Changes:
- Check correct number of accounts when deploying a program
- On-chain verified collection support for the explorer
- RPC support for versioned transactions
- As part of Transactions V2, there will be multiple versions of transactions in the future. RPC needed to be able to support this.
- Feature gate saturized math
- Fix getting golden snapshot hashes during bootstrap
- There was an error that failed bootstrapping new validators when incremental snapshots are enabled. This commit fixes the issue
- Revert fee cost updates
- During testing in Devnet, it was discovered that the fee updates would make some transactions cost an absurdly high amount of SOL. Reverted until the bug is found and fixed.
- Limit QUIC connections to 1 connection per IP
- Make explorer context aware of the number of instructions
- Add QUIC client to send transactions using QUIC
- Ensure banking metrics are reported
- If a block exceeds max accounts data size, fail the block
- Deny Slice Indexing
- Slice Indexing could cause a panic, therefore it will be denied anywhere in the loader.