Starknet Alpha 2
TL;DR
- Starknet now supports composability, the main feature defining Starknet’s Constellations phase.
- We are releasing a testing framework for Starknet — developers can now test their contracts locally and effectively.
- This release includes several notable performance improvements, such as support for Merkle-Patricia Tries and a builtin for bitwise operations.
- Ecosystem front:
- Standardized Contracts: OpenZeppelin will be developing standardized contracts for Starknet, as they did for Ethereum!
- EVM->Cairo Compiler: the Warp team @ Nethermind demonstrated compilation of ERC-20 Solidity code to Starknet contracts
Background
Starknet is a permissionless decentralized Validity-Rollup (aka a “ZK-Rollup”). We announced its roadmap at the beginning of the year. The Alpha, currently running on a public Ethereum testnet, already supports permissionless deployment of smart contracts implementing any business logic, with L1<>L2 messaging and on-chain data. Furthermore, it allows any user to send transactions to the network permissionlessly, Ethereum-style.
This release: Starknet Alpha 2, includes the core feature that allows us to advance from Planets to Constellations: composability between deployed smart contracts.
Features
Starknet Alpha 2 introduces the following features:
- Composability: Starknet Alpha now supports interaction between smart contracts — ahead of schedule! The beauty of this upgrade is that developers can expect almost the same experience as Ethereum; calls are synchronous and can be used as function calls. We eagerly await the new applications that will benefit from both unlimited computational scale and contract composability, as unleashed by Starknet. To understand how to use this feature, you can start by following this tutorial. We would love to hear your feedback and see what you’re building on the Starknet discord.
- Local Testing Framework: you asked, and we delivered — a better testing framework. This will allow developers to expedite their dApp development by testing their Starknet contract deployments and interactions locally — without any external dependencies. This version includes only L2 interaction, next versions will expand the functionality and ease of use. Check the tutorial here, and we would love to hear your feedback on that feature.
- Performance Improvements:
Patricia Trees: we’ve improved Starknet’s design to support higher throughputs and shorter proof generation time by moving to Merkle-Patricia Tree state commitment (documentation). This change allows the creation of much larger blocks, thus lowering the cost per transaction. The move to a more sophisticated state commitment was enabled by Cairo, the ZKP language — a core component of the Starknet operating system.
Bitwise Operations: we’ve added a builtin to support much more efficient bitwise operations in Starknet contracts (documentation).
- Goerli: Starknet is moving from Ropsten to Goerli! At last, we’ve freed our system from the whims of the Ropsten Gods. Alpha 2 will now be running over a more stable development environment.
Ecosystem
The Starknet ecosystem is constantly growing, and we are happy to share the latest news:
- Standardized Contracts: we’re honored to be working with OpenZeppelin on Starknet’s standard contracts library. Their canonical work on Ethereum’s standardized contracts serves us all daily, and we are confident they will be as impactful here.
- EVM->Cairo Compiler: Nethermind’s Warp team demonstrated transpilation of an ERC-20 contract from EVM bytecode to a Starknet contract and deployment on Starknet. This effort is moving quickly, and our next target is the transpilation of arbitrary smart contracts from Yul to Cairo.
- Maker-on-Starknet: a proposal was submitted to the Maker DAO to implement the Maker protocol over Starknet. The first phase proposes a DAI bridge from Ethereum to Starknet with minting DAI on Starknet to follow.
- Starknet/Cairo Auditing Services: we are engaging multiple audit firms to provide Starknet smart contract and Cairo programs auditing services.
Mainnet Around the Corner
We are getting ready for the Starknet Alpha Mainnet launch, starting gradually with a whitelisted set of applications. Several projects are underway and more are actively added by the day. To join the party, you are invited to reach out via discord.
Update (Nov. 2021): Starknet Alpha is live on Ethereum Mainnet