Frequently asked 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 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.
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.
STARK technology is mature and secure, but Starknet has not yet achieved the status of a public good like Ethereum or the Internet. For Starknet to reach this goal, its governance, operation and development must continue to decentralize. This will be facilitated through two mechanisms: the Starknet Foundation and the Starknet Token.
The Starknet token will be used as a staking token for participation in Starknet’s consensus mechanisms, as a Governance token, and for paying transaction fees. The rationale for each of these utilities is presented in our decentralization proposal, in the section titled “What will the tokens be used for?”
A native token that rewards members of the community who develop the network will advance the ecosystem to a degree that use of a non-native token will not. Also, if the token is non-native, economic shocks from decisions made in other ecosystems might impact Starknet’s service and its users and providers.
Currently, no. Fees in Starknet are now paid in Ether (ETH). But later on, we anticipate that in the future, fees will be paid exclusively with the native Starknet Token.
The Starknet Token is not yet available for sale. It cannot be added to your wallet at this stage. Beware of scams.
The Starknet Token is not yet for sale. It cannot be added to your wallet at this stage. Beware of scams.
The Starknet token was launched on Ethereum Mainnet in November 2022. The Starknet Foundation will announce at a later date the details of the Community Rebates and Community Provisions plans but at time of writing these details are yet to be determined. Beware of scams posing to sell Starknet Tokens.
We’ve previously proposed a plan for initial allocation of the tokens. Tokens allocated to shareholders, employees, and independent software developers are locked for four years, with a gradual release schedule starting after one-year. Locked tokens can be used for voting and staking, but cannot be transferred or traded. Some of the tokens are locked via a dedicated smart contract on Ethereum while other tokens are locked via custodians.
No. The circulating supply of tokens will increase over time with the minting of new tokens by the protocol. Details on the minting rate and mechanism are yet to be defined.
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.