Solana Tech Roundup
If you're a Solana developer like me, you may find it difficult to keep up with the latest updates to the Solana repository. This is because the Solana repository is a large and complex project with many contributors constantly adding new features and bug fixes. There's just so much content to read and digest.
This week's roundup is a summary of the most recent commits to the Solana repository.
Proposal Highlight
Simple Payment and State Verification
This proposals is specifically around having a "Light Client" for verification of transactions. One big problem right now is that anyone wanting to "prove" the transaction went through has to give a specific level of trust to a validator set, or run their own validator.
Light clients can give a better way for someone to do their own validation of requests, much like running your own node.
These clients will be done using a receipt concept, where the validators can generate a Merkle Proof of the transaction of interest, which can then be used to validate the transaction was included in the block. This implementation could also be used to do account state verification, proof of stake distribution, optimistic confirmation proof, and more. Check out the documentation for the specific implementation.
Commit Highlight
- ✂️ You can now deactivate features on local-test-validator ✂️
- Test out different feature sets locally on your test validator
- 📛 Verified Program badges for the explorer 📛
- View verified program's source code directly via the explorer
List of Changes:
February 5
February 6
- Verified Program Badges on Explorer!
- Now you can see what programs are anchor verified and click on links on the explorer to the source code. This is a big win for transparency in programs
February 7
- Optimize batching of transactions for replay
- Making the batches more even during replay is a much more optimal use of parallel iterators
- Feature gating new vote instruction
- Fixing warp to slot
- During some cases, warping to a slot could cause a panic. Warp to slot is used in testing functionality that happens over multiple slots
- Disable features programmatically on local-test-validator
- When you start local-test-validator, all features are by default active. This change allows you to start without some features
February 8
- Feature gating account data len
- Estimating program cost over slots
- For future cost changes, this commit helps find out how much compute units a program uses over a specified amount of slots
February 9
- Preparing RPC for multiple SPL Token Program IDs
- With the upcoming token 2022 program, we will have a second token program and standard. These changes are preparation for the second standard
- VoteInstruction Authorize added to web3.js
- Enable incremental snapshots by default
- Additional TPU docs
- Incredibly handy for understanding more on the TPU
- Deactive features with test-validator CLI
- You can now deactivate features on local-test-validator with the
--deactivate-feature
flag
- You can now deactivate features on local-test-validator with the
- Transaction Status Metadata is now required
February 10
February 11