This repository has been archived by the owner on Jan 22, 2025. It is now read-only.
Smart contract development via solana_runtime
Pre-release
Pre-release
Beacons v0.12.0
Major Features And Improvements
- New Rust crate, solana-runtime, allows for smart contract development without needing to spin up a testnet
- Improved leader rotation algorithm using the validators' VDFs as ...beacons!
- Added a high-throughput, streaming block explorer
- Scalable account storage and reduced RAM usage via memory-mapping
- Avalanche fully-implemented; simulation indicates promising scale to 10's of thousands of nodes
- Improved support for BPF-compiled smart contracts written in Rust
TPS Report
The codebase is undergoing a large rewrite. Performance is awful at the moment and was not a focus of this release cycle. We'll report TPS, node counts, and confirmation times again soon!
Additional Features and Improvements
- New TransactionBuilder Rust library in the SDK to trivialize creation of multi-instruction transactions
- Fullnodes now fork-aware and implement rudimentary fork selection
- New fork-aware Bank now supports checkpointing, rollback and squashing
- New Blocktree ledger format with builtin support for forks
- Improved security via signed control plane messages
- Solana's equivalent of Bitcoin's satoshis named lamports. All code and documentation updated. The term "token" is now reserved for fungible currencies implementing the ERC20 interface.
- solana_erc20 crate renamed to solana_token
- Budget smart contract DSL now recurses to support nested expressions
- New compressed transaction format encodes 64-bit integers with 1 to 9 bytes
- Preview release of KvStore, a high-speed Key-Value Store to replace RocksDB
Breaking Changes
- Transaction format is incompatible with previous releases. Expect this in all releases until mainnet launch.
Known Issues
- Low TPS; not a focus of this release
- Cluster stalls; fullnodes can't find each other
- Rust crates not published to crates.io; circular dependencies