1. 引言
目前Starknet的开发工具流可为:
- 1)Starkli:音为Stark-lie,为替换官方starknet-CLI的快速命令行接口。Starkli为单独的接口,可独自应用,而不是其它工具的组件。若只是想与Starknet交互,如发送交易,则独立的CLI比Cast等接口更合适。目前Cast为Foundry开发环境的集成组件。
- Starkli目前由zkLend创始人维护。
- Starkli与cairo-lang类似,但是使用Rust编写。当前支持Braavos和Argent X智能钱包,并内嵌有RPC端口支持。
- 开源代码见:https://github.com/xJonathanLEI/starkli/
- 2)Starknet-devnet:类似于本地节点的Starknet实例,与测试网相比,可支持更快速的开发。早期使用Python编写,后来开发了Rust版本。
- Starknet-devnet由Shardlabs维护。
- 开源代码见:https://github.com/Shard-Labs/starknet-devnet(Python)、https://github.com/0xSpaceShard/starknet-devnet-rs。
- 3)Katana:由Dojo团队开发,为超级快速devnet,设计为支持使用Dojo做本地开发。Daojo为Starknet的游戏引擎。更多资料见:https://book.dojoengine.org/toolchain/katana/overview.html。
- 4)Scarb:为Starknet官方的Cairo包管理工具。
- 由Software Mansion维护。
- 详细资料见:https://docs.swmansion.com/scarb/
- 5)Starknet Foundry:为开发Starknet智能合约的工具链。用于帮助编写、部署和测试智能合约。
- 由Software Mansion维护。
- Starknet Foundry的主要特性有:
- Forge:可快速测试框架。
- 合约内支持打印调试。
- 线上Foundry Book
- 使用Scarb,集成了编译和依赖管理。
- Cast:为集成CLI,可执行Starknet RPC调用等。
- 开源代码见:https://github.com/foundry-rs/starknet-foundry/
- 6)Hardhat(with a plugin):主要用于测试Cairo代码的工具。也可使用JavaScript脚本来部署合约。
- 由Shardlabs维护。
- Hardhat为流行的以太坊JavaScript开发环境,若熟悉该工具,也可将其用于Starknet。
- 集成了一个本地devnet,只需关注以JavaScript写tests即可。
- 开源代码见:https://github.com/0xSpaceShard/starknet-hardhat-plugin。
- 7)Starknet Remix plugin:Remix为以太坊基于浏览器的集成开发环境。Starknet Remix plugin支持使用Remix来测试Starknet只嗯呢该合约,从而可专注于学习Cairo和Starknet,而无需关注配置工具链。
- 由Nethermind维护。
- 开源代码见:https://github.com/groksmith/starkware-remix-plugin
参考资料
[1] StarkWare 2023年10月博客 7 Super Cool Dev Tools for Starknet Devs
Starknet系列博客
- Beerus:基于Helios light client的Starknet Stateless Client
- Kakarot:部署在Starknet上的ZK-EVM type 3
- StarkWare的StarkNet和StarkEx
- StarkWare的Recursive STARKs
- Rollup项目的SNARK景观
- Starknet的去中心化路线图