Solana Tech Roundup
This week there has been a lot of discussion about how to go forward with fees, compute budget, and qos. You can find a great summary of the discussion here.
TLDR: Fees are changing on Solana. Looks like they'll be based on compute used and how often a specific account you're interacting with is used.
In other news 1.9 is aimed for the end of the month. QUIC currently in 1.10 afterwards.
Upcoming Change Highlight
There is no secret that there are Token program changes coming. What are these changes? What do they effect? What can you do with the new changes?
The token changes will be in a new Token program, Token22. Token22 brings with it a ton of great new features:
- 🕵️ Confidential Token Transfer support
- 💸 Optional Transfer Fees
- 🏦 Optional Account Creation Fees
- 📝 Required memo on transfer
- 🛡️ Close your mints!
- 🥶 Default frozen accounts
What can you do with Token22?
- Create non transferable NFT Badges for accounts
- Add transfer fees on tokens
- Reclaim rent from mint accounts
- Claim fees for creating accounts
- Much more!
One big thing that comes with this new program is a new token standard. This means RPCs, associated token accounts, and more will be updated to support multiple token programs. Adding more token standards will be simpler in the future.
List of Changes:
- Only show tokens for what is a mint account
- Some people were adding program IDs to the token-list, which overrode what was displayed on the explorer. UX/Security fix
- Require OS network limits to be applied on validator startup
- Removing KeyedAccount from Tests
- Updating RPC docs with getBlocksWithLimit
- Simulation Detection Countermeasure
- There was a lot of buzz around an article showcasing how you could detect when someone was simulating a transaction vs making the transaction, allowing an attack vector. This fixes the issue.
- rbpf-cli now supports JSON output
- Perf improvement on checking slot hashes
- When checking vote state, we were previously going through the slot hashes to check for the root, then again for the update. Updates to do both in one go
- Enable moving a validator off an identity without a restart
- CLI: Authorize stakers signed by the withdrawer
- Lower full snapshot sizes from 100k to 25k
- DRY shred construction code
- DiskIdx: Fix race condition
- Shrink batches when >80% is unused
- This is done to prevent starvation in the banking stage.
- Add getGenesisHash to minimal rpc
- By default rpcs start with a smaller subset of RPC API. Full minimal set can be found here
- Fix ed25519 builtin program handling
- In preparation for 1.9, ed25519 is treated the same as the secp256k1 program. Neither will be invokable
- Token22 is now indexed the same as Tokenkeg
- Helps with retrieving info about token accounts
- Add slot based timing metrics
- Supporting SplitWithSeed in web3.js
- SplitWithSeed is part of the StakeProgram which allows users to perform a split that is signed by a single authority,