Solana Tech Roundup
This past week the hackathon submissions list went public and ready for voting. Check out the project list and vote for your favorite project! The Solana StackExchange election is going on, where you can vote for your moderators that help curate and answer technical questions. Help vote the new moderators in to make it easier to use the Solana StackExchange. Finally, If you're a developer going to Breakpoint November 4-7, make sure you apply for a discounted developer ticket.
Change Highlight
Solang
Solang is a Solidity compiler for Solana, where you can write Solidity smart contracts on Solana. The compiler has been maturing greatly recently, with support for SPL-Tokens and PDAs. You can use Solang today to work on Solidity smart contracts. Check out the Solang documentation.
Commit Highlights
-
- Split up packages for solana-client based on their concerns. Makes documentation and understanding what each one does much better. You can now use individual crates based on what you need.
Web3.js: Add support for creating version 0 transactions
- You can now create version 0 transactions for use with address lookup tables within web3.js
List of Changes
August 19
- ledger-tool: Fix end slot not being included
- Don't create a snapshot slot of it exists already
- Add ed25519 program to built in costs list
- Banking Stage: Aggregate Tracer packet stats
- Remove merkle shreds from erasure codes
- Erasure codes should work differently with merkle shreds to avoid reconstructing them incorrectly
August 20
- Async clean accounts
- Changed clean accounts perf time from 14s to 43 nanoseconds
- Standardize thread names to make monitoring easier
August 22
- Solana deploy now warns your program will not be upgradeable
- On startup, don't waste time cleaning accounts while verifying the first snapshot
- Allow lookup tables to be created for an authority without requiring signature
- Lookup tables are derived off of a recent slot, making it difficult for governance or multisigs to create one. Relaxed signature requirements
- Upgraded to Rust 1.63
August 23
August 24
- ZK: Make fee proof constant time
- Check for overflows on boundary for compact vote state
- Split up solana-client
- Split up packages for solana-client based on their concerns. Makes documentation and understanding what each one does much better
- Support disabling QUIC in net scripts
- RPC: Add parser for address lookup tables
- Web3.js: Eliminate dependency on URL
- Update BigTable APIs to respect limit of 0
- Handle vote state updates for outdated roots bigger than the amount of slots in the vote state
August 25
- Web3.js: Add support for creating version 0 transactions
- Allow using QUIC for program deploys
- Attempt to skip redundant account verification on startup
- Web3.js: Replace sha256 and secp256k1 impls
- Replace dependencies and significantly lower bundle size!