You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
https://github.com/software-mansion/scarb[Scarb^] is much more than a package manager for Cairo: It is the easiest and most recommended way to build and maintain Cairo code. Developed by Software Mansion and inspired by Cargo for Rust, Scarb includes:
5
-
6
-
* Initiating a new Cairo project.
7
-
* Compiling Cairo projects.
8
-
* Adding and removing Cairo dependencies.
9
-
* Generating Cairo documentation.
10
-
* Fetching and uploading packages link:https://scarbs.xyz/[Scarbs.xyz], the Cairo Registry.
11
-
* Integrating with the Cairo language server, as well as other tools in the Cairo ecosystem, such as Starknet Foundry and the Dojo gaming engine.
12
-
13
3
== VS Code Cairo extension
14
4
https://marketplace.visualstudio.com/items?itemName=starkware.cairo1[VS Code Cairo extension^] is an extension for the Microsoft Visual Studio (VS) Code IDE that provides assistance when writing Cairo smart contracts, including live diagnostic highlighting for compile errors, quick fixes with suggestions, code formatting and completion, and more. It integrates with Scarb, and works best when Scarb is installed via `asdf`.
15
5
6
+
== Cairo Playground
7
+
https://www.cairo-lang.org/cairovm/[Cairo Playground^] an online tool that can be used to both experiment with Cairo without deploying a smart contract on Starknet, as well as dive deep into the Cairo virtual machine.
8
+
9
+
== Sierra Analyzer
10
+
https://github.com/FuzzingLabs/sierra-analyzer[Sierra Analyzer^], developed by https://x.com/fuzzinglabs[FuzzingLabs^] is a security toolkit for analyzing Sierra files, including decompiling a Sierra file, printing the contract's control flow graph, and running static analysis detectors.
11
+
12
+
== Stark Utils
13
+
https://www.stark-utils.xyz/converter[Stark Utils^] is a simple web application that aims to be a toolbox for Cairo developers, allowing you to convert any input to a felt, string, hexadecimal value, and more.
14
+
15
+
== Thoth
16
+
https://github.com/FuzzingLabs/thoth[Thoth^] is a Cairo security toolkit that includes analyzers, disassemblers, and decompilers, which enable the generation of call, control-flow, and data-flow graphs for Sierra and Casm files, as well as other advanced tools, such as a symbolic execution engine and a symbolic bounded model checker.
17
+
16
18
== Universal Sierra Compiler
17
19
https://github.com/software-mansion/universal-sierra-compiler[Universal Sierra Compiler^] is a utility tool for compiling single Sierra files (unlike Scarb, which compiles full projects) from any Sierra version into CASM.
18
20
@@ -29,17 +31,10 @@ https://github.com/software-mansion/cairo-profiler[Cairo Profiler^] is a utility
29
31
Cairo Profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.
30
32
====
31
33
32
-
== Cairo Playground
33
-
https://www.cairo-lang.org/cairovm/[Cairo Playground^] an online tool that can be used to both experiment with Cairo without deploying a smart contract on Starknet, as well as dive deep into the Cairo virtual machine.
34
-
35
-
== Sierra Analyzer
36
-
https://github.com/FuzzingLabs/sierra-analyzer[Sierra Analyzer^], developed by https://x.com/fuzzinglabs[FuzzingLabs^] is a security toolkit for analyzing Sierra files, including decompiling a Sierra file, printing the contract's control flow graph, and running static analysis detectors.
37
-
38
34
== Cairo Lint
39
35
https://github.com/software-mansion/cairo-lint[Cairo Lint^] is a collection of lints that can either be used as either a library or as a standalone binary to help both detect and fix common mistakes and improve your Cairo code.
40
36
41
-
== Stark Utils
42
-
https://www.stark-utils.xyz/converter[Stark Utils^] is a simple web application that aims to be a toolbox for Cairo developers, allowing you to convert any input to a felt, string, hexadecimal value, and more.
43
-
44
-
== Thoth
45
-
https://github.com/FuzzingLabs/thoth[Thoth^] is a Cairo security toolkit that includes analyzers, disassemblers, and decompilers, which enable the generation of call, control-flow, and data-flow graphs for Sierra and Casm files, as well as other advanced tools, such as a symbolic execution engine and a symbolic bounded model checker.
37
+
[NOTE]
38
+
====
39
+
Cairo Lint comes bundled with Scarb and does not need to be installed separately if Scarb is installed.
Copy file name to clipboardExpand all lines: components/Starknet/modules/tools/pages/interacting-with-starknet.adoc
-59Lines changed: 0 additions & 59 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,67 +1,8 @@
1
1
= Tools for interacting with Starknet
2
2
3
-
== Starknet Foundry's `sncast`
4
-
https://foundry-rs.github.io/starknet-foundry/starknet/sncast-overview.html[Starknet Foundry's `sncast`^] is a command line interface with Starknet Foundry projects that enable to interact with Starknet with deep integration, including declaring, deploying, and interacting with contracts, deploying accounts, and more.
5
-
6
3
== Starkli
7
4
https://github.com/xJonathanLEI/starkli/[Starkli^], developed by https://x.com/xjonathanlei[Jonathan Lei^], is a fast command-line interface for interacting with Starknet. It supports fetching data from the Starknet network, deploying accounts, interacting with contracts, and other useful utilities for developers.
8
5
9
-
== Starknet SDKs
10
-
A Software Development Kit (SDK) is a library that abstracts the complexities of Starknet when building transactions and interacting with the blockchain. SDKs implement the Starknet https://github.com/starkware-libs/starknet-specs[JSON RPC specification^], and are updated to support the latest API changes. There are SDKs for various languages, so you can choose the SDK according to your needs.
11
-
12
-
[%autowidth]
13
-
|===
14
-
| Language | Maintainer | Code | Package | Docs | Support
15
-
16
-
| JavaScript / TypeScript
17
-
| https://x.com/0xSpaceShard[SpaceShard^]
18
-
| https://github.com/starknet-io/starknet.js[starknet.js on GitHub^]
19
-
| https://www.npmjs.com/package/starknet[starknet.js on NPM^]
20
-
| https://www.starknetjs.com/[starknet.js Book^]
21
-
| https://discord.gg/starknet-community[starknet.js channel on Starknet Discord^]
22
-
23
-
| Python
24
-
| https://x.com/swmansionxyz[Software Mansion^]
25
-
| https://github.com/software-mansion/starknet.py[starknet.py on GitHub^]
26
-
| https://pypi.org/project/starknet-py/[starknet.py on PyPi^]
27
-
| https://starknetpy.rtfd.io/[starknet.py Docs^]
28
-
| https://t.me/starknetpy[starknet.py on Telegram^]
29
-
30
-
| Rust
31
-
| https://x.com/xjonathanlei[Jonathan Lei^]
32
-
| https://github.com/xJonathanLEI/starknet-rs[starknet-rs on GitHub^]
33
-
| https://crates.io/crates/starknet[starknet-rs on Crates^]
34
-
| https://github.com/xJonathanLEI/starknet-rs[starknet-rs Docs^] | https://t.me/starknet_rs[starknet-rs on Telegram^]
35
-
36
-
| Go
37
-
| https://x.com/NethermindEth[Nethermind^]
38
-
| https://github.com/NethermindEth/starknet.go[starknet.go on GitHub^]
| https://github.com/focustree/starknet.dart[starknet.dart on GitHub^]
60
-
| https://pub.dev/packages/starknet[starknet.dart on Pub^]
61
-
| https://starknetdart.dev/[starknet.dart Docs^]
62
-
| https://t.me/+CWezjfLIRYc0MDY0[starknet.dart on Telegram^]
63
-
|===
64
-
65
6
== Entro
66
7
https://github.com/NethermindEth/entro[Entro^] helps decoding and analyzing Starknet transactions and events, including decoding contract ABI and transaction data and getting contract class history,
Copy file name to clipboardExpand all lines: components/Starknet/modules/tools/pages/overview.adoc
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
-
= Starknet developer tools overview
1
+
= Starknet tooling overview
2
2
3
-
To support its unique architecture, Starknet boasts its own xref:#list_of_tools[suite of developer tools] (also known as _devtools_) that aim to streamline the development process for Starknet developers. While sometimes developed in coordination with StarkWare, the majority of these tools are community-driven projects, showcasing the collaborative and innovative spirit of the Starknet ecosystem.
3
+
To support its unique architecture, Starknet boasts its own suite of developer tools (also known as _devtools_) that aim to streamline the development process for Starknet developers. While sometimes developed in coordination with StarkWare, the majority of these tools are community-driven projects, showcasing the collaborative and innovative spirit of the Starknet ecosystem.
4
4
5
-
For ease of navigation, the tools in this section are categorized by context, including xref:coding-in-cairo.adoc[tools for coding in Cairo], xref:writing-smart-contracts.adoc[tools for writing smart contracts], xref:building-dapps.adoc[tools for building dApps], xref:interacting-with-starknet.adoc[tools for interacting with Starknet], xref:creating-ai-agents.adoc[tools for creating AI agents], and xref:running-devnets[tools for working locally].
5
+
Starknet's core tools include its build toolchain and package manager _Scarb_, smart contract development toolchain _Starknet Foundry_, local node implementation _Starknet Devnet_, and various software development kits (also known as _SDKs_). For ease of navigation, additional tools are categorized by context, including xref:coding-in-cairo.adoc[tools for coding in Cairo], xref:writing-smart-contracts.adoc[tools for writing smart contracts], xref:building-dapps.adoc[tools for building dApps], xref:interacting-with-starknet.adoc[tools for interacting with Starknet], xref:creating-ai-agents.adoc[tools for creating AI agents], and xref:running-devnets[tools for working locally].
Copy file name to clipboardExpand all lines: components/Starknet/modules/tools/pages/running-devnets.adoc
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,5 @@
1
1
= Tools for working locally
2
2
3
-
== Starknet Devnet
4
-
https://github.com/0xSpaceShard/starknet-devnet[Starknet Devnet^], developed by SpaceShard, is a Rust implementation of a local Starknet node that includes many featured tailored for testing and development, which are not present on testnet or mainnet.
5
-
6
3
== Starknet Devnet JS
7
4
https://github.com/0xSpaceShard/starknet-devnet-js[Starknet Devnet JS^] is a JavaScript package that abstracts the Starknet Devnet API, making it easier to interact with it and write end-to-end tests for L1<>L2 communications.
Copy file name to clipboardExpand all lines: components/Starknet/modules/tools/pages/writing-smart-contracts.adoc
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,5 @@
1
1
= Tools for writing Starknet smart contracts
2
2
3
-
== Starknet Foundry's `snforge`
4
-
https://foundry-rs.github.io/starknet-foundry/testing/running-tests.html[Starknet Foundry's `snforge`^] is a command line interface that enables using of various "cheatcodes" for testing various aspects of the contracts, such as setting caller address, manipulating the timestamp and block number, forking the chain at a specific block, getting accurate gas and resource reports, profiling and more.
5
-
6
3
== Starknet Remix plugin
7
4
https://remix-project.org[Remix^] is a browser-based integrated development environment (IDE) for Ethereum that you can use for learning, experimenting and finding vulnerabilities in smart contracts, without installing anything. https://github.com/NethermindEth/starknet-remix-plugin[Starknet Remix plugin^] lets you use Remix for testing Starknet smart contracts, so you can focus on learning Cairo and Starknet in the comfort of your browser. The plugin is also integrated with https://starknet-by-example.voyager.online/[Starknet By Example^], a rich repository of practical learning content.
0 commit comments