Skip to content

Commit b9f9c6c

Browse files
authored
Tooling refactor (#1623)
* init * cont
1 parent 2e6351a commit b9f9c6c

File tree

8 files changed

+45
-61
lines changed

8 files changed

+45
-61
lines changed
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
* Tooling
22
** xref:overview.adoc[Overview]
3-
** xref:core-tools.adoc[Core tools]
4-
** xref:coding-in-cairo.adoc[Tools for coding in Cairo]
5-
** xref:writing-smart-contracts.adoc[Tools for writing smart contracts]
6-
** xref:building-dapps.adoc[Tools for building dApps]
7-
** xref:interacting-with-starknet.adoc[Tools for interacting with Starknet]
8-
** xref:creating-ai-agents.adoc[Tools for creating AI agents]
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]

components/Starknet/modules/tools/pages/building-dapps.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
= Tools for building Starknet dApps
22

3-
== Scaffold-Stark
4-
https://scaffoldstark.com/[Scaffold-Stark^] is built using NextJS, Starknet.js, Scarb, Starknet-React, Starknet Foundry and Typescript, and designed to make it easier for developers to create, deploy and interact with smart contracts.
3+
== Scaffold Stark
4+
https://scaffoldstark.com/[Scaffold Stark^] is built using NextJS, Starknet.js, Scarb, Starknet-React, Starknet Foundry and Typescript, and designed to make it easier for developers to create, deploy and interact with smart contracts.
55

66
== Starknet Scaffold
7-
https://www.starknetscaffold.xyz/[Starknet-Scaffold^] is an open-source, up-to-date toolkit for building decentralized applications on Starknet, that help you move from prototyping to production-grade apps seamlessly.
7+
https://www.starknetscaffold.xyz/[Starknet Scaffold^] is an open-source, up-to-date toolkit for building decentralized applications on Starknet, that help you move from prototyping to production-grade apps seamlessly.
88

99
Decentralized applications are at the heart of Starknet. These libraries help developers build Dapps on Starknet and connect to prominent Starknet wallets.
1010

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
11
= Tools for coding in Cairo
22

3-
[#vs-code-cairo-extension]
4-
== VS Code Cairo extension
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.
512

13+
== VS Code Cairo extension
614
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`.
715

8-
[#usc]
9-
== Universal-Sierra-Compiler
10-
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.
16+
== Universal Sierra Compiler
17+
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.
1118

1219
[NOTE]
1320
====
14-
Universal-Sierra-Compiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.
21+
Universal Sierra Compiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.
1522
====
1623

17-
[#cairo-profiler]
18-
== cairo-profiler
19-
https://github.com/software-mansion/cairo-profiler[cairo-profiler^] is a utility tool that can be used to create profiles of Cairo executions from execution traces, which can be analyzed and used to show flame graphs and other useful information.
24+
== Cairo Profiler
25+
https://github.com/software-mansion/cairo-profiler[Cairo Profiler^] is a utility tool that can be used to create profiles of Cairo executions from execution traces, which can be analyzed and used to show flame graphs and other useful information.
2026

2127
[NOTE]
2228
====
23-
cairo-profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.
29+
Cairo Profiler comes bundled with Starknet Foundry and does not need to be installed separately if Starknet Foundry is installed.
2430
====
2531

26-
[#cairo-playground]
2732
== Cairo Playground
28-
2933
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.
3034

31-
[#sierra-analyzer]
3235
== Sierra Analyzer
33-
3436
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.
3537

36-
== Cairo lint
37-
38-
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.
39-
40-
== Stark-utils
38+
== Cairo Lint
39+
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.
4140

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

4444
== Thoth
4545
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.
Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,7 @@
11
= Core Starknet devtools
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
== Starknet Foundry
144
https://github.com/foundry-rs/starknet-foundry[Starknet Foundry^] is the go-to toolchain for developing Starknet smart contracts, which includes:
155

16-
* `snforge`, 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.
17-
18-
* `sncast`, 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.
19-
20-
== Starknet Devnet
21-
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, including:
226

23-
* Pre-deployed and pre-funded accounts
24-
* Forking the chain at a specific block.
25-
* Dumping current state (and loading in future runs)
26-
* Impersonating account
27-
* Mock L1<>L2 communication
287

29-
[NOTE]
30-
====
31-
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.
32-
====

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +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+
36
== Starkli
47
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.
58

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

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

5-
Starknet's xref:core-tools.adoc[core devtools] include Scarb, Starknet Foundry, and Starknet Devnet. 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 contract], xref:building-dapps.adoc[tools for building dApps], xref:interacting-with-starknet.adoc[tools for interacting with Starknet], and xref:creating-ai-agents.adoc[tools for creating AI agents].
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].
66

77
[NOTE]
88
====
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
= Tools for running a Starknet devnet
1+
= Tools for working locally
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+
== Starknet Devnet JS
7+
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.
28

39
== Katana
4-
https://book.dojoengine.org/toolchain/katana[Katana], developed by https://cartridge.gg/[Cartridge^], is an extremely fast devnet designed to support local development with the https://github.com/dojoengine/dojo[Dojo Starknet gaming engine] but can be used as a general purpose devnet as well.
10+
https://book.dojoengine.org/toolchain/katana[Katana^], developed by https://cartridge.gg/[Cartridge^], is an extremely fast devnet designed to support local development with the https://github.com/dojoengine/dojo[Dojo Starknet gaming engine^] but can be used as a general purpose devnet as well.
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
= Tools for writing Starknet smart contracts
22

3-
[#starknet-remix-plugin]
4-
== Starknet Remix plugin
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.
55

6+
== Starknet Remix plugin
67
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.
78

8-
[#open-zeppelin-contract-wizard]
99
== Open Zeppelin Contract Wizard
10-
1110
https://wizard.openzeppelin.com/cairo[Open Zeppelin Contract Wizard^] is a tool that helps you create smart contracts with Open Zeppelin libraries by easily toggling on and off features for popular smart contract patterns.

0 commit comments

Comments
 (0)