Solana Tech Roundup
This week QUIC has started limited testing on testnet. There is planning going on for when to release QUIC in the Solana Tech Discord. Generally all of the work involved to get QUIC working is complete, now all that is left is security audits and any bug fixes that come up in testing. You can follow along live at the upgrade status page.
Change Highlight
Transaction Prioritization
There's so much discussion on the upcoming transaction prioritization changes that it can be easy to get lost on what is happening.
You can pay for transaction prioritization today.
Using the requestUnits ComputeBudget Program instruction and increasing the amount additionalFee
paid, you will be prioritized over other transactions with less fees paid in mainnet-beta today.
This instruction is deprecated in later releases in favor of setComputePrice, so be on the lookout for when you need to update your code. Transaction prioritization will be based on transaction fees is based on the highest fees per compute paid.
Commit Highlight
The compute budget and fee docs were updated to reflect the current state of development. Be sure to check them out!
List of Changes
June 17
- Web3.js: Export custom confirmation error classes
- Ledger-tool: Upload to bigtable iterates through entire requested range now instead of stopping at the first limit
- CLI: Retrieving stakes can be now filtered by withdrawer
- Metrics: Track number of shreds sent and received at different distances from root
- No longer restrict local port to 8000-10000 range
- Disable QUIC servers by default
June 20
June 21
- QUIC: Fix incorrect total connection table size
- Send packets in batches
- Do not use UdpTpuConnection when forwarding votes
- Using UdpTpuConnection for forwarding votes can lead to port exhaustion
- Web3.js: Fix getTransactions method to return similar response to getTransaction
- Weight concurrent streams by stake
- Move slot update notifications after shreds retransmit for performance
- Use single send socket in UdpTpuConnection
- QUIC: Perform handshake asynchronously
- QUIC: Stream timeouts if no data is received
June 22
- Verify shred-version in fetch stage
- Remove packet modifier from shred fetch stage
- Optimize stake accounts store by separating storage from rewards redemption
- Ledger-tool: Minimize snapshots when in create-snapshot mode
- Adjust cache account's rent epoch and compare with loaded accounts
- Compute budget and fees docs gets an overhaul
June 23