StarkNet-Cairo-doc-ZH

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