Starknet Tooling

To make the most of this chapter, a basic grasp of the Cairo programming language is advised. We suggest reading chapters 1-6 of the Cairo Book, covering topics from Getting Started to Enums and Pattern Matching. Follow this by studying the Starknet Smart Contracts chapter in the same book. With this background, you’ll be well-equipped to understand the examples presented here.

Today, Starknet provides all essential tools for building decentralized applications (dApps), compatible with multiple languages like JavaScript, Rust, and Python. You can use the Starknet SDK for development. Front-end developers can use Starknet.js with React, while Rust and Python work well for back-end tasks.

We welcome contributors to enhance existing tools or develop new solutions.

In this chapter, you’ll explore:

  • Frameworks: Build using Starknet-Foundry

  • SDKs: Discover multi-language support through Starknet.js, Starknet-rs, Starknet_py, and Caigo

  • Front-end Development: Use Starknet.js and React

  • Testing: Understand testing methods with Starknet-Foundry and the Devnet

By chapter’s end, you’ll have a complete grasp of Starknet’s toolset, enabling efficient dApp development.

Here’s a quick rundown of the tools that could be used for Starknet development and that we’ll cover in this chapter:

  1. Scarb: A package manager that compiles your contracts.

  2. Starkli: A CLI tool for interacting with the Starknet network.

  3. Starknet Foundry: For contract testing.

  4. Katana: Creates a local test node.

  5. SDKs: starknet.js,, and interface with Starknet using common programming languages.

  6. Starknet-react: Builds front-end apps using React.