Frequently asked questions
Common questions
The Starknet token will be used for paying transaction fees, participation in the Starknet protocol, and participation in governance. The rationale for each of these utilities is presented in our decentralization proposal, in the section titled “What will the tokens be used for?”
Starknet Appchains are instances of Starknet that power a specific application (or a host of applications). Setting up a Starknet appchain can be done in several ways using the Starknet Stack.
Operating an app-specific Starknet appchain allows configuring the network’s block size, latency, data availability mode, fees, consensus mechanism, and more, according to the unique requirements of the application. Appchains also enable the implementation of unique features and logic that are not available on the public Starknet network.
In addition to the adjusted configuration and unique features, appchains benefit from Starknet’s technology, including massive throughput, native Account Abstraction, and Ethereum level of security, as well as the tools and infrastructure that are part of the public network.
A good place to start is the Hello Starknet tutorial, which guides the developer step by step through writing and deploying a simple contract. The Starknet Playground offers an environment for learning how to write Starknet contracts and test them.
You can become part of the developers’ community, and support it, by joining the Starknet Discord server.
SHARP (shared prover) is a service for computing proofs of the correct execution of Cairo programs. It can be used to prove the correct execution of a particular Cairo program which enforces the validity of Starknet state transitions – the Starknet OS (operating system). Currently, Starknet uses SHARP alongside many other customers to amortize proof costs. In the future, Starknet throughput may justify a dedicated prover layer..
Currently not. STARKs are defined as Validity proofs, meaning they prove computational integrity. With Validity proofs (STARKs included), one party can prove to another that a certain computation was performed correctly. Zero-Knowledge is an additional property asserting that the prover does not have to reveal any information included in the computation.
Most ZK-Rollups are not really Zero-Knowledge. The mistake comes from the confusion between Validity proofs (assures computational integrity) and Zero-Knowledge proofs (assures no information is revealed).
Starknet uses STARK Validity proofs. It is worth noting that extracting information from the proof is extremely hard – almost impossible in practice.
Currently, Starknet transactions and their payloads are visible to the network in the same way that they are visible on Ethereum.
It is possible to deploy various privacy protocols on Starknet, which will offer full privacy from all network participants. Since those protocols usually require a lot of computation, they will benefit greatly from Starknet scalability.
Cairo
Cairo is an overloaded term which stands for three different things. First, Cairo is a CPU architecture. Second, “Cairo” is shorthand for CPU AIR which is an algebraic representation of this CPU architecture. Lastly, Cairo is a Turing complete programming language that enables blockchain developers to harness the power of STARKs. The first two aspects, alongside the instruction set of the language, are outlined in the whitepaper. For the language, see the github repo.
STARK is a proof system. It uses cutting-edge cryptography to provide polylogarithmic verification complexity and proof size, quasilinear proof complexity, and minimal assumptions which are post-quantum-secure. More information here.
Cairo is a Turing-complete language designed for succinctly proving the correct execution of Cairo programs. A Cairo program is stateless, meaning you do not have native access to storage, other Cairo programs, or the L1 state (although you can access those, as explained below).
Starknet contracts, on the other hand, live in the Starknet VM, which has a persistent state that smart contracts can access and modify. These smart contracts can store variables, communicate with other contracts, and send/receive messages to/from L1 (read more).
No. You have several options for writing a contract, each with its own benefits.
Cairo is the native language for a Starknet contract, which most fully realizes the scaling potential of Starknet. On the other hand, several teams are developing transpilers from other programming languages (notably Solidity) to Cairo. Such transpilers facilitate quick deployment of existing contracts on Starknet.See our latest development tooling.
Operating on Starknet
Starknet is evolving to become fully permissionless, allowing anyone to operate on the network:
- Sequencers – Anyone will be able to operate a sequencer, i.e., batch transactions and propose new blocks (somewhat analogous to Ethereum miners, without the Proof of Work part).
- Provers – Anyone will be able to set up a prover and create proofs for the validity of new blocks.
- Developers – Developers will be able to deploy their smart contracts – permissionlessly.
- Users – Users will be able to send transactions permissionlessly. As the system will be decentralized, the possibility of censorship will be eliminated.
Any dApp can be deployed on Starknet. As Cairo allows general computation, any business logic can be implemented and processed over StarkNet.
Anyone can interact with Starknet and deploy contracts.
During the Alpha phase, developers need to make sure they are aware of the network status as part of the onboarding process.
The decentralization of the network has two aspects:
- The permissionless layer of Sequencers and Provers ensures that the network will be censorship-resistant.
- The usage of STARK-proofs ensures that the state is correct, allows everyone to verify the entire Starknet chain with low hardware requirements – regardless of the network’s throughput, and without trusting any external entity.
Yes!
You can take a look at this tutorial.
The Warp team at Nethermind is developing a Solidity to Cairo transpiler: Warp.
Starknet does not natively support EVM.
Starknet and StarkEx
StarkEx is a standalone, customizable Layer-2 SAAS for exchanges that uses the STARK proof system in order to provide massive scaling. Several significant exchanges are already using StarkEx in production on Ethereum Mainnet (read more about StarkEx).
Starknet is a general-purpose network where you can write and deploy your own smart contracts, interact with other contracts, and so on, just like Ethereum.
Once Starknet is ready, StarkEx apps may migrate to StarkNet if they so choose.
Starknet Token - STRK
Vision
The Starknet Provisions Program (“Provisions”) is the distribution of Starknet's native token (STRK) to eligible users, builders, and community members who have contributed to Starknet. Making Starknet’s native token available for the community will enable the community to pay fees in STRK, and engage in the decentralization of the network by participating in governance votes and in the decentralized proof-of-stake (PoS) model that will be implemented in later stages.
The Provisions blog post details the purpose of Provisions, the guiding principles for its distribution, and the criteria for its allocation.
STRK will play an important role in the decentralization of the Starknet network in two ways:
- STRK will be used to allow the community to participate in governance votes, either by voting directly, or by delegating their voting power. Allocating STRK to the broader community will allow it to shape Starknet’s future through these votes.
- In the future, the community will be able to stake STRK within a proof-of-stake (PoS) model, ensuring Starknet’s decentralized operation.
STRK will be used for several functions:
- Network fees: Starting with Provisions, users will be able to pay transaction fees using STRK. Fees on Starknet are currently paid in ETH, and following Provisions, users will have the choice of paying fees in ETH or STRK.
- Governance: Following Provisions, recipients of STRK will be able to participate in governance related to a range of matters that will shape Starknet’s future. More information on Starknet’s governance can be found in the Starknet Governance Hub.
- Staking: In the future, STRK will be used for staking within a proof-of-stake (PoS) model that will enable stakers to choose among a decentralized network of sequencers, ensuring Starknet’s decentralized operation.
You can find more information in the Starknet Token Announcement post.
The Provisions program is one of the first steps planned for distributing STRK to the community.
During the first round of Provisions, the Starknet Foundation will distribute more than 700 million out of 900 million STRK dedicated to the program. Tokens not claimed within 4 months (until June 20th, 2024) of this initial phase of Provisions will be reallocated for future distribution.
The total amount dedicated to the Starknet community is 1.8 billion STRK. Future plans for STRK distribution to the community include rebates, and initiatives of various special community committees dedicated to DeFi, gaming, and more. Details of future plans for the distribution of tokens beyond the first round of Provisions will be announced in due course.
Note: The Starknet Foundation is the sole body leading distributions of STRK. Anyone claiming to be leading parallel distributions is running a scam.
For more information about the entire allocation plan of the STRK token, see here.
Distribution and Eligibility
The initial phase of the Provisions program will distribute 726 million STRK out of 900 million designated for the Provisions program as a whole. Tokens not claimed within 4 months (until June 20th, 2024) of this first phase will be reallocated for future distribution rounds. Zooming out, the amount designated for Provisions is part of a total of 1.8 billion STRK dedicated to the community overall.
A total of 1,297,738 addresses are eligible for Provisions. In addition to recipients who are eligible to claim STRK directly to their accounts via Provisions, Ethereum stakers who staked through liquidity pools will be able to receive their allocations through those pools.
Yes, you can find it here.
Starknet Foundation
Starknet is a permissionless, decentralized Layer 2 (L2) Validity Rollup intended to scale Ethereum while retaining Ethereum’s security and decentralization. In keeping with that mission, the Foundation was established as an independent entity to advance the shared technology that is Starknet. Additionally, as a not-for-profit entity with a narrow mission: to advance Starknet as a public good for all, and maintain it as such for years to come.
The Foundation launches with 50.1% of the initial Token supply to ensure the network’s resources are effectively deployed towards the following goals: the maintenance and security of Starknet as a public good; the continued development and expansion of the network; and support for a culture of constructive collaboration between developers.
For more information on the Foundation’s mission, first steps, and board, see the Foundation’s “Hello World” post and StarkWare’s complementary post.
General information
If you are excited about StarkNet and its decentralization and wish to participate in the process, please join the builders on StarkNet Discord and Starknet community forum
You can report scams and check for other reports of scams in the scam-report channel on the Starknet Discord server.