The Starknet developer experience has transformed over the past year, marked by the exciting shift from Cairo Zero to the more advanced, Rust-like Cairo. This evolution elevated the experience with enhanced security and usability, and also garnered positive feedback from the community. First published on the Starknet website, a recent survey of 92 Starknet developers reveals a broad welcome of these changes.
A few stats worth highlighting:
- Developer profile: 61% of Starknet developers have at least 3-5 years of development experience.
- Cairo > Cairo Zero: 74% much prefer using Cairo compared to the old Cairo Zero.
- Cairo Zero diehards: 6% remain true Cairo Zero zealots.
- Better DevX: 62% say DevX on Starknet has significantly improved over the past year.
- Cairo vs. the rest: More than 70% prefer Cairo or like Cairo as much as other languages they use.
- Upcoming tools…?: Top tools devs would like to see for Starknet in the future:
- Starknet online debugger and profiler
- Cairo registry (like crates.io)
- Starknet Docs generation and registry
Before diving into the wider results of the survey, other changes made to DevX in the last year should be mentioned for context: To support the new Cairo and overall shift of Starknet infrastructure to Rust, numerous tools were either developed anew or completely rewritten in Rust. These advancements set the stage for a more robust and efficient development environment. A few notable ones include:
- Starkli: New blazing-fast CLI for interacting with Starknet
- Scarb: for Cairo compilation and dependency management
- Starknet Foundry: The go-to suite for developing Smart Contracts for Starknet
- Devnet-rs: Was re-written in Rust, superseding the Pythonic devnet
Thanks to everyone who participated in the survey. The insights provided here will help us build on our roadmap of features, new tools, and new Cairo capabilities.
Developer demographic
First, we summarize the various distributions of survey participants’ profiles, their experience with coding, and their experience with Cairo and Starknet.
Most participants report they have 3-5 years of coding experience.
The largest group of survey participants identified as smart contract developers, making up 45% of the respondents. This significant portion underscores the growing interest and reliance on Cairo for building secure and efficient smart contracts. Tooling developers and researchers formed the next largest groups, highlighting Cairo’s versatility and its appeal across various facets of blockchain development.
An overwhelming majority of participants (73%) are using Cairo to develop smart contracts on Starknet. The survey also highlighted the diverse applications of Cairo, with some developers using the language to prove programs with SHARP or Stone or to work on appchains.
When it comes to mastering the tools of the trade, our survey shows that 29% of participants rely primarily on the Cairo Book to learn Cairo. Following closely are the Starknet documentation and the Core Stars Telegram group, which also play significant roles in the learning journey of developers.
Cairo development tooling
The developer survey also revealed which tools Cairo developers most commonly use, providing valuable insights into the dev ecosystem and the workflow of Cairo developers. This knowledge not only helps in recognizing the trends within the community, but also guides future improvements and innovations in tooling to better support you in your work.
Survey results shed light on the command-line tools favored by Cairo developers. Starkli emerged as the most popular CLI tool, with 46.7% of developers indicating it as their preferred choice. Despite the advancements, some developers still use the now outdated starknet-cli utility. This persistence suggests a level of familiarity and comfort with the older tool, though it also highlights the need for continued education and transition support to ensure all developers benefit from the latest enhancements in tooling.
Most developers use a combination of Scarb and Starknet Foundry as their development framework, while 23% only rely on Scarb for building and testing.
Forking and Fuzzing are the most commonly used features of Starknet Foundry testing. Starknet Cast scripts are less commonly used.
Unsurprisingly, Starknet.js is the most popular SDK used by developers, followed by starknet-rs. (In the past year, most of the Starknet stack moved from Python to Rust codebases.)
Both Katana and starknet-devnet-rs are used by developers, with Katana taking the lead.
The vast majority rely on VSCode as their development IDE, some use Vim or the Starknet Remix plugin.
Smart contract languages
We wanted to understand how writing in Cairo compares to other smart contract languages familiar to developers. Our survey revealed that most developers (54%) use Solidity in addition to Cairo for their work. This significant overlap indicates that while Cairo is gaining traction, Solidity remains a cornerstone in the developers’ toolkit. Comparing these languages helps us gauge the learning curve, efficiency, and unique advantages each language offers.
However, over 70% of developers indicated a fondness for Cairo, either exclusively or in addition to other languages they use. This strong preference highlights Cairo’s growing popularity and the positive reception it has received within the developer community. It suggests that developers appreciate Cairo’s features and capabilities, finding it a valuable addition to their skill set. This preference also underscores Cairo’s potential to become a dominant language in the smart contract development landscape, as more developers recognize its benefits and integrate it into their projects alongside or even in place of other languages.
Starknet development experience
Shifting our focus to the general experience of developing on Starknet, most participants rate their development experience as above average. With answer options ranging from 1 to 7, 86% of respondents fall on the higher end of the scale, indicating a positive sentiment among developers. This favorable rating reflects the robustness and developer-friendliness of the Starknet ecosystem.
The majority of participants feel that the development experience on Starknet has significantly improved over the past year. We are hopeful that this trend continues, driving further advancements and making the development process even more streamlined and enjoyable, not only attracting more developers to the community but also fostering further innovation and use cases.
While the vast majority prefer Cairo over Cairo Zero, some diehard enthusiasts remain steadfast in their use of the older version.
What should we build next
When asked about what tools should be built next, the responses showed a remarkably even distribution among the given options. This lack of a strong preference indicates that developers see value in a wide range of potential tools, reflecting the diverse needs and priorities within the community. As we move forward, we encourage everyone to watch this space, as we aim to cater to these varied needs and continue enhancing the toolkit for Cairo developers.
Participants expressed a strong desire for more advanced debugging capabilities to be built for Cairo, allowing for more efficient and effective troubleshooting. Additionally, there is a notable demand for code-coverage tools. Such tools would provide valuable insights into which parts of the codebase are being tested, helping developers ensure the robustness and reliability of their smart contracts.
This need for code coverage is also the most requested feature for Starknet Foundry, underscoring its importance across the development ecosystem. Addressing these needs will be crucial in supporting the community and enhancing the overall development experience on Cairo and Starknet.
Summary and what to expect next
Many components of the Starknet developer stack have undergone extensive changes over the last year. At the top of the list, of course, is Cairo itself, with the move from Cairo Zero to Cairo.
Cairo is more expressive, more high-level, and much safer to write than Cairo Zero, opening up infinite possibilities for developers seeking to harness the power of validity proofs.
In addition to Cairo, which takes a lot of inspiration from Rust, many of the tools have migrated from a Python to a Rust implementation. These include Protostar, which is being replaced with Starknet Foundry; the former Pythonic devnet, which is being replaced with devnet-rs; starkli CLI; and other tools.
It is great to see that many developers feel the developer experience on Starknet has improved over the past year. Of course, we are not resting, there is still a lot of work to be done. Some notable areas where we would like to improve in the upcoming year:
- Documentation and examples: Many developers noted that although the tools themselves usually cover their needs, it is not always easy to find good examples and documentation for all the features. We would like to focus on improving these, both for Cairo itself and for Cairo and Starknet tools.
- Cairo Language Server: More than 70% of participants use VScode as their Cairo IDE and rely on the Cairo Language Server to provide them with syntax highlighting, smart code completion, etc. As one of the tools most used by developers, it is in many cases the face of the language. Many developers noted the Cairo Language Server is currently buggy and not performant enough. We will focus on improvements to the Language Server in the upcoming year.
- New utilities and features. There are still missing utilities that are necessary to make Cairo safer and improve the development experience. One such example is Code coverage in Starknet Foundry. Requests for Code coverage and other features requested on this survey will help us organize priorities for the next year.
We would like to thank all the great teams who are working on building Starknet tools and improving the developer experience:
- Software Mansion
- SpaceShard
- Jonathan Lei
- Nethermind
- FuzzingLabs
- Walnut
- Apibara
- Cartridge
- Everyone else who contributed to working on Cairo tools and making them better