Skip to content

Commit 01639c8

Browse files
authored
Tooling nav refactor #1640
1 parent 6589a67 commit 01639c8

File tree

7 files changed

+37
-103
lines changed

7 files changed

+37
-103
lines changed
Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
11
* Tooling
22
** xref:overview.adoc[Overview]
3-
// ** xref:core-tools.adoc[Core tools]
4-
** xref:coding-in-cairo.adoc[Coding in Cairo]
5-
** xref:writing-smart-contracts.adoc[Writing smart contracts]
6-
** xref:building-dapps.adoc[Building dApps]
7-
** xref:interacting-with-starknet.adoc[Interacting with Starknet]
8-
** xref:creating-ai-agents.adoc[Creating AI agents]
9-
** xref:running-devnets.adoc[Working locally]
3+
** https://docs.swmansion.com/scarb/[Scarb ↗^]
4+
** https://foundry-rs.github.io/starknet-foundry/[Starknet Foundry ↗^]
5+
** https://0xspaceshard.github.io/starknet-devnet/[Starknet Devnet ↗^]
6+
** Software Development Kits
7+
*** https://starknetjs.com/[Javascript ↗^]
8+
*** https://starknetpy.readthedocs.io/en/latest/[Python ↗^]
9+
*** https://github.com/xJonathanLEI/starknet-rs?tab=readme-ov-file#starknet-rs[Rust ↗^]
10+
*** https://pkg.go.dev/github.com/NethermindEth/starknet.go#section-readme[Go ↗^]
11+
*** https://github.com/software-mansion/starknet-jvm?tab=readme-ov-file#-starknet-jvm-[Java ↗^]
12+
*** https://github.com/software-mansion/starknet.swift?tab=readme-ov-file#starknetswift[Swift ↗^]
13+
*** https://starknetdart.dev/[Dart ↗^]
14+
** Additional tools
15+
*** xref:coding-in-cairo.adoc[Coding in Cairo]
16+
*** xref:writing-smart-contracts.adoc[Writing smart contracts]
17+
*** xref:building-dapps.adoc[Building dApps]
18+
*** xref:interacting-with-starknet.adoc[Interacting with Starknet]
19+
*** xref:creating-ai-agents.adoc[Creating AI agents]
20+
*** xref:running-devnets.adoc[Working locally]
Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
= Tools for coding in Cairo
22

3-
== Scarb
4-
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-
133
== VS Code Cairo extension
144
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`.
155

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+
1618
== Universal Sierra Compiler
1719
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.
1820

@@ -29,17 +31,10 @@ https://github.com/software-mansion/cairo-profiler[Cairo Profiler^] is a utility
2931
Cairo Profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.
3032
====
3133

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-
3834
== Cairo Lint
3935
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.
4036

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.
40+
====

components/Starknet/modules/tools/pages/core-tools.adoc

Lines changed: 0 additions & 7 deletions
This file was deleted.

components/Starknet/modules/tools/pages/interacting-with-starknet.adoc

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,8 @@
11
= Tools for interacting with Starknet
22

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-
63
== Starkli
74
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.
85

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^]
39-
| N/A
40-
| https://pkg.go.dev/github.com/NethermindEth/starknet.go[starknet.go Docs^]
41-
| https://t.me/StarknetGo[starknet.go on Telegram^]
42-
43-
| Java
44-
| https://x.com/swmansionxyz[Software Mansion^]
45-
| https://github.com/software-mansion/starknet-jvm[starknet-jvm on GitHub^]
46-
| https://central.sonatype.com/artifact/com.swmansion.starknet/starknet[starknet-jvm on Maven]
47-
| https://docs.swmansion.com/starknet-jvm/[starknet-jvm Docs^]
48-
| N/A
49-
50-
| Swift
51-
| https://x.com/swmansionxyz[Software Mansion]
52-
| https://github.com/software-mansion/starknet.swift[starknet.swift on GitHub^]
53-
| N/A
54-
| https://docs.swmansion.com/starknet.swift/documentation/starknet/[starknet.swift Docs^]
55-
| N/A
56-
57-
| Dart
58-
| https://x.com/focustree_app[Focustree^]
59-
| 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-
656
== Entro
667
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,
678

components/Starknet/modules/tools/pages/overview.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
= Starknet developer tools overview
1+
= Starknet tooling overview
22

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.
44

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].
66

77
[NOTE]
88
====

components/Starknet/modules/tools/pages/running-devnets.adoc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
= Tools for working locally
22

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-
63
== Starknet Devnet JS
74
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.
85

components/Starknet/modules/tools/pages/writing-smart-contracts.adoc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
= Tools for writing Starknet smart contracts
22

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-
63
== Starknet Remix plugin
74
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.
85

0 commit comments

Comments
 (0)