Skip to content

Commit c9a23d5

Browse files
authored
Tooling refactor cont. (#1563)
* init * cont * cont * cont
1 parent 877eb72 commit c9a23d5

File tree

8 files changed

+62
-64
lines changed

8 files changed

+62
-64
lines changed

components/Starknet/modules/architecture-and-concepts/nav.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
* Architecture
2-
** Core topics
2+
** Core topics
33
*** Accounts
44
**** xref:accounts/introduction.adoc[What is an account?]
55
**** xref:accounts/approach.adoc[Starknet's account interface]
@@ -22,7 +22,7 @@
2222
**** xref:network-architecture/transaction-life-cycle.adoc[Transaction lifecycle]
2323
**** xref:network-architecture/transactions.adoc[Transaction types]
2424
**** xref:network-architecture/block-structure.adoc[]
25-
** Advanced topics
25+
** Additional topics
2626
*** xref:cryptography.adoc[Cryptography]
2727
*** xref:network-architecture/fee-mechanism.adoc[Fee mechanism]
2828
*** xref:network-architecture/messaging-mechanism.adoc[L1-L2 messaging]
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
* Tooling
22
** xref:overview.adoc[Overview]
3-
** xref:coding-in-cairo.adoc[Tools for coding in Cairo]
4-
** xref:writing-smart-contracts.adoc[Tools for writing smart contracts]
5-
** xref:building-dapps.adoc[Tools for building dApps]
6-
** xref:interacting-with-starknet.adoc[Tools for interacting with Starknet]
7-
** xref:running-devnets.adoc[Tools for running devnets]
8-
** xref:creating-ai-agents.adoc[Tools for creating AI agents]
3+
** xref:core-tools.adoc[Core tools]
4+
** Additional tools
5+
*** xref:coding-in-cairo.adoc[Tools for coding in Cairo]
6+
*** xref:writing-smart-contracts.adoc[Tools for writing smart contracts]
7+
*** xref:building-dapps.adoc[Tools for building dApps]
8+
*** xref:interacting-with-starknet.adoc[Tools for interacting with Starknet]
9+
// *** xref:running-devnets.adoc[Tools for running devnets]
10+
*** xref:creating-ai-agents.adoc[Tools for creating AI agents]

components/Starknet/modules/tools/pages/coding-in-cairo.adoc

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
11
= Tools for coding in Cairo
22

3-
[#scarb]
4-
== Scarb
5-
6-
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:
7-
8-
* Initiating a new Cairo project.
9-
* Compiling Cairo projects.
10-
* Adding and removing Cairo dependencies.
11-
* Generating Cairo documentation.
12-
* Fetching and uploading packages link:https://scarbs.xyz/[Scarbs.xyz], the Cairo Registry.
13-
* Integrating with the Cairo language server, as well as other tools in the Cairo ecosystem, such as Starknet Foundry and the Dojo gaming engine.
14-
153
[#vs-code-cairo-extension]
164
== VS Code Cairo extension
175

@@ -51,6 +39,6 @@ https://github.com/software-mansion/cairo-lint[Cairo lint^] is a collection of l
5139

5240
== Stark-utils
5341

54-
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, etc.
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.
5543

5644

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
= Core Starknet devtools
2+
3+
== Scarb
4+
5+
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:
6+
7+
* Initiating a new Cairo project.
8+
* Compiling Cairo projects.
9+
* Adding and removing Cairo dependencies.
10+
* Generating Cairo documentation.
11+
* Fetching and uploading packages link:https://scarbs.xyz/[Scarbs.xyz], the Cairo Registry.
12+
* Integrating with the Cairo language server, as well as other tools in the Cairo ecosystem, such as Starknet Foundry and the Dojo gaming engine.
13+
14+
[#starknet-foundry]
15+
== Starknet Foundry
16+
17+
https://github.com/foundry-rs/starknet-foundry[Starknet Foundry^] is the go-to toolchain for developing Starknet smart contracts, which includes:
18+
19+
* `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.
20+
21+
* `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.
22+
23+
== Starknet Devnet
24+
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:
25+
26+
* Pre-deployed and pre-funded accounts
27+
* Forking the chain at a specific block.
28+
* Dumping current state (and loading in future runs)
29+
* Impersonating account
30+
* Mock L1<>L2 communication
31+
32+
[NOTE]
33+
====
34+
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.
35+
====
Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,72 @@
11
= Tools for interacting with Starknet
22

3-
[#starkli]
43
== Starkli
5-
64
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.
75

8-
[#sncast]
9-
== sncast
10-
Part of the Starknet Foundry suite, https://foundry-rs.github.io/starknet-foundry/starknet/sncast-overview.html[`sncast`^] is a command line interface for interacting with Starknet, which includes deep integration with Starknet Foundry projects.
11-
12-
[#sdks]
136
== Starknet SDKs
14-
157
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.
168

17-
[cols=",,,,,",]
9+
[%autowidth]
1810
|===
19-
| SDK name | Maintainer | Code | Package | Docs | Support
11+
| Language | Maintainer | Code | Package | Docs | Support
2012

21-
| Starknet.js
13+
| JavaScript / TypeScript
2214
| https://x.com/0xSpaceShard[SpaceShard^]
2315
| https://github.com/starknet-io/starknet.js[starknet.js on GitHub^]
2416
| https://www.npmjs.com/package/starknet[starknet.js on NPM^]
2517
| https://www.starknetjs.com/[starknet.js Book^]
2618
| https://discord.gg/starknet-community[starknet.js channel on Starknet Discord^]
2719

28-
| Starknet.py
20+
| Python
2921
| https://x.com/swmansionxyz[Software Mansion^]
3022
| https://github.com/software-mansion/starknet.py[starknet.py on GitHub^]
3123
| https://pypi.org/project/starknet-py/[starknet.py on PyPi^]
3224
| https://starknetpy.rtfd.io/[starknet.py Docs^]
3325
| https://t.me/starknetpy[starknet.py on Telegram^]
3426

35-
| Starknet-rs
27+
| Rust
3628
| https://x.com/xjonathanlei[Jonathan Lei^]
3729
| https://github.com/xJonathanLEI/starknet-rs[starknet-rs on GitHub^]
3830
| https://crates.io/crates/starknet[starknet-rs on Crates^]
3931
| https://github.com/xJonathanLEI/starknet-rs[starknet-rs Docs^] | https://t.me/starknet_rs[starknet-rs on Telegram^]
4032

41-
| Starknet.go
33+
| Go
4234
| https://x.com/NethermindEth[Nethermind^]
4335
| https://github.com/NethermindEth/starknet.go[starknet.go on GitHub^]
4436
| N/A
4537
| https://pkg.go.dev/github.com/NethermindEth/starknet.go[starknet.go Docs^]
4638
| https://t.me/StarknetGo[starknet.go on Telegram^]
4739

48-
| starknet-jvm
40+
| Java
4941
| https://x.com/swmansionxyz[Software Mansion^]
5042
| https://github.com/software-mansion/starknet-jvm[starknet-jvm on GitHub^]
5143
| https://central.sonatype.com/artifact/com.swmansion.starknet/starknet[starknet-jvm on Maven]
5244
| https://docs.swmansion.com/starknet-jvm/[starknet-jvm Docs^]
5345
| N/A
5446

55-
| starknet.swift
47+
| Swift
5648
| https://x.com/swmansionxyz[Software Mansion]
5749
| https://github.com/software-mansion/starknet.swift[starknet.swift on GitHub^]
5850
| N/A
5951
| https://docs.swmansion.com/starknet.swift/documentation/starknet/[starknet.swift Docs^]
6052
| N/A
6153

62-
| starknet.dart
54+
| Dart
6355
| https://x.com/focustree_app[Focustree^]
6456
| https://github.com/focustree/starknet.dart[starknet.dart on GitHub^]
6557
| https://pub.dev/packages/starknet[starknet.dart on Pub^]
6658
| https://starknetdart.dev/[starknet.dart Docs^]
6759
| https://t.me/+CWezjfLIRYc0MDY0[starknet.dart on Telegram^]
6860
|===
6961

70-
[#entro]
7162
== Entro
72-
7363
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,
7464

75-
[#rpc-request-builder]
7665
== Starknet RPC Request Builder
7766
https://rpc-request-builder.voyager.online/[Starknet RPC Request Builder^] is a useful tool for generating RPC queries for Starknet, with support for basic example for JavaScript, Go, and Rust.
7867

79-
[#walnut]
8068
== Walnut
81-
https://walnut.dev/[Walnut^] is a transaction debugger and simulator for Starknet that supports Starknet Mainnet, Starknet Sepolia and Starknet Appchains and includes transaction call trace analysis, visual transaction step by step debugger, and transaction simulator.
69+
https://walnut.dev/[Walnut^] is a transaction debugger and simulator for Starknet that supports Starknet Mainnet, Starknet Sepolia and Starknet Appchains and includes transaction call trace analysis, visual transaction step by step debugger, and transaction simulator.
70+
71+
== Cainome
72+
https://github.com/cartridge-gg/cainome[Cainome^] is a library for generating bindings from Cairo ABI, abstracting away Cairo serialization and deserialization, and providing a flexible way for different languages to interact with Cairo contracts.

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
= Starknet developer tools 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 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.
4+
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].
46

57
[NOTE]
68
====
Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,4 @@
11
= Tools for running a Starknet devnet
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,including
5-
* Pre-deployed and pre-funded accounts
6-
* Forking the chain at a specific block.
7-
* Dumping current state (and loading in future runs)
8-
* Impersonating account
9-
* Mock L1<>L2 communication
10-
11-
== Starknet Devnet JS
12-
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.
13-
143
== Katana
154
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.

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

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

3-
[#starknet-foundry]
4-
== Starknet Foundry
5-
6-
https://github.com/foundry-rs/starknet-foundry[Starknet Foundry^] is the go-to toolchain for developing Starknet smart contracts, which includes:
7-
8-
* `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.
9-
10-
* `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.
11-
123
[#starknet-remix-plugin]
134
== Starknet Remix plugin
145

0 commit comments

Comments
 (0)