当前位置: 首页 > article >正文

Starknet开发工具

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的去中心化路线图

http://www.kler.cn/news/108814.html

相关文章:

  • 解决找不到vcruntime140.dll,无法继续执行代码方法
  • SOLIDWORKS PDM 2024数据管理5大新功能
  • 简单方法搭建个人网站
  • DeOldify 接口化改造 集成 Flask
  • STM32:串口轮询模式、中断模式、DMA模式和接收不定长数据
  • git 推送到github远程仓库细节处理(全网最良心)
  • matlab中narginchk函数用法及其举例
  • FPGA_状态机工作原理
  • 前端小技巧: TS实现new出一个对象的内部过程
  • 独创改进 | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构
  • maven环境变量,安装源,本地仓库配置
  • STM32F10xx 存储器和总线架构
  • Redisson的看门狗策略——保障Redis数据安全与稳定的机制
  • Spring-声明式事务
  • 解决visual studio Just-In-Time Debugger调试
  • 论文写作框架示例:论软件系统建模方法及其应用
  • YouTube博主数据信息资源
  • JS中Map对象与object的区别
  • pythonWeb主流框架分析
  • css-表格样式
  • 【Java 进阶篇】解决Java Web应用中请求参数中文乱码问题
  • Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案
  • 97. 交错字符串
  • Go学习第十二章——Go反射与TCP编程
  • 如何使用drawio画流程图以及导入导出
  • 微服务parent工程和子工程pom文件配置注意
  • 基于Qt 文本读写(QFile/QTextStream/QDataStream)实现
  • C++编程题目------平面上的最接近点对(分治算法)
  • C++设计模式_13_Flyweight享元模式
  • 漏洞复现-showdoc文件上传_v2.8.3_(CNVD-2020-26585)