Solana Tech Roundup
This past week a large amount of features were activated on Devnet. Account realloc, disabling rent-paying accounts, transaction-wide compute budget, and more were activated, giving many more options for developers working on their programs. QUIC can be tested today on testnet and is available currently in the 1.10 release.
Proposal Highlight
APE
The Asynchronous Program Execution proposal touches on removing consensus messages from the general transaction pipeline.
With this proposal, transactions will be isolated in the following domains:
- The default domain
- The Vote program
There will be a new System instruction to move SOL across domains. This will be done in order to fund a vote account, and can only be done once per epoch.
This proposal is not final and still being discussed! Join the conversation if you want to add the the discussion.
Commit Highlights
- Only commit successfully executed transaction cost to cost tracker
- This is another step towards adding variable costs to writable accounts. Once the feature is complete, transaction cost may vary based on how often the account is written to over time.
- Be able to config max compute units on test validator
- Set your budget locally and build with the limit in mind
List of Changes
April 7
- Enable TransactionStatus and Rewards RocksDB metrics
- Enable get_bytes and put_bytes RocksDB metrics
- Add Epoch rewards metrics
- Clarifying Airdrop constraints in documentation
- Web3.js: Resetting subscriptions when websocket disconnects
April 8
- Enable RocksDB batch write metrics
- Enable RocksDB delete metrics
- Double transaction chunk size
- Only commit successfully executed transaction cost to cost tracker
- This updates the cost tracker to more effectively charge to program usage on the network
April 9
April 11
- Added measure macro for measuring function or block of code timing
- Add benchtpsclient trait
- This is helpful for benching against new messaging protocols like QUIC vs TPU
- Fix windows build
- Windows is now building binaries again!
- Be able to config max compute units on test validator
- Super cool feature to help you keep under a budget
April 12
- Render content from data URIs on the explorer
- Send Transaction Service now uses async sends
- Add expected rent collection
- This helps avoid additional rewrites and improve performance
- Avoid overriding recentBlockhash when simulating transactions
- Added QUIC client metrics
April 13
- Remove native loader from program runtime
- Default to using disk index for CLI
- Even better data for Anchor programs on the explorer
- Add stringified credential option for ledger storage
April 14
- Add DeactivateDeliquent stake instruction
- Abandoned vote accounts that are delinquent can now be deactivated with an instruction. The accounts can be deactivated if they have note landed a vote in 5 epochs
- Send batches of transactions asynchronously during benching
- log2 performance improvement