StarkNet 是一个无需许可的去中心化 ZK-Rollup 以太坊二层技术方案。dApp可以在此方案上实现性能无限扩展,而不会损害以太坊的可组合性和安全性。
Cairo 是一种编写证明程序的编程语言。能够使用这种语言证明某人正确执行了特定的计算。Cairo 和一些相似的证明系统都可以用于增强区块链的可伸缩性。
StarkNet 使用 Cairo 语言作为基础设施和编写 StarkNet 智能合约。
我们提供了三个示例:
- Hello, StarkNet 演示了怎么编写 StarkNet 合约和系统的一些基本特性。
- Hello, Cairo 描述了开发者该怎么上手 Cairo, 并且开始着手编写 Cairo。
- How Cairo Works 从 Cairo 的低级类汇编版本开始,并解释了 Cairo 编译器的语法糖机制,它将 Cairo 变成了一种类似高级的语言。
“Hello, Cairo” 教程包含对 “How Cairo Works” 的几个示例参考,供那些想要更好地理解这些主题的人学习。
我应该从哪里开始? 如果你想立即开始编写 StarkNet 合约,请从 “Hello, StarkNet” 开始,并且在需要进一步深入学习时跳至 “Hello, Cairo”。最后,如果你想自底向上了解 Cairo 的内部结构,请从 “How Cairo Works” 开始,然后是 “Hello, Cairo”。
-
设置开发环境
-
Hello, StarkNet
- 设置 StarkNet 账号
- 编写 StarkNet 合约
- 更多 CLI 命令
- 增加用户验证
- 构造方法
- 更多特性
- 调用其他合约
- 使用合约部署其他合约
- 事件
- 与 L1 层的合约进行交互
- 默认入口
- 编写单元测试
- 签名验证
- 一个简单的 AMM 实现
- 一些参考链接
- 主网上的 StarkNet Alpha
- 测试网 Goerli 上的StarkNet Alpha version 4
-
Hello, Cairo
- 使用 Cairo 编程
- 15-puzzle(数字推盘)
- 15-puzzle(数字推盘)续
- 输入和提示
- 一个投票系统
- 一个简单的 AMM 实现
-
How Cairo Works
- Cairo 介绍
- Debug 用到的一些flags
- 程序计数器 (pc)
- 常量和引用
- 方法
- 类型
- 分配对象
- 作用域参数
- 导入包
- 提示
- 输入和输出
- 段
- 非确定性跳转
- 内置函数和隐式参数
- 字面值
-
参考
- 语法
- 常用库
-
使用 SHARP (Shared Prover)
- 发送程序到 SHARP