Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

前言

欢迎阅读《Move on Sui: 从零到精通》。这本书是为所有希望深入理解 Sui 区块链及 Move 智能合约语言的开发者而编写的,无论你是从 Solidity 转型的以太坊开发者、有一定编程基础的系统工程师,还是对 Web3 充满好奇的通用程序员,本书都将为你提供一条从入门到精通的清晰路径。本书全面覆盖 Move 2024 Edition 在 Sui 上的最新特性,确保你学到的每一行代码都与当前主网保持同步。

目标读者

本书面向以下几类读者:

区块链开发者

如果你已经在以太坊、Solana 或其他链上有开发经验,本书将帮助你快速理解 Sui 的对象模型与 Move 语言的独特设计哲学。你会发现 Move 在资源安全性和类型系统上相比 Solidity 有质的飞跃。

Solidity 开发者

本书在关键章节中穿插了与 Solidity 的对比,包括存储模型差异(账户模型 vs 对象模型)、安全机制(重入攻击在 Move 中为何不存在)以及编程范式的根本区别。这些对比将大幅缩短你的学习曲线。

通用程序员

即使你没有任何区块链经验,本书也从最基础的概念讲起。只要你熟悉至少一门编程语言(如 Rust、TypeScript、Python 或 Go),就能跟上本书的节奏。Move 语言的语法借鉴了 Rust,如果你有 Rust 背景会感到尤其亲切。

学习路线

本书采用循序渐进的结构,共分为五个阶段:

第一阶段:基础认知(第 1–2 章)

了解区块链与智能合约的基本原理,认识 Sui 的技术架构与生态系统,搭建完整的开发环境。这一阶段为后续所有内容打下坚实基础。

第二阶段:Move 语言精通(第 3–5 章)

从 Hello World 开始,逐步掌握 Move 的类型系统、Abilities 机制、所有权与引用、泛型编程等核心语言特性。每个知识点都配有可编译运行的代码示例。

第三阶段:Sui 对象模型(第 6–8 章)

深入 Sui 最具创新性的对象模型——理解对象所有权、共享对象与快速路径、动态字段、Balance 与 Coin 等核心概念。这是区分“会写 Move“和“会用 Sui“的关键分水岭。

第四阶段:设计模式与工程实践(第 9–10 章)

掌握 Capability、Witness、Hot Potato 等经典设计模式,学习编写高质量测试。这些模式是生产级 Sui 合约的基石。

第五阶段:应用实战(第 11–17 章)

从代币发行、NFT 市场到全栈 DApp 开发,再到 ZKLogin、DeepBook、Walrus 等前沿技术,将所学知识付诸实践。

// 你将在本书中编写的第一个 Move 模块
module hello::hello_world;

use std::string::String;
use std::unit_test::assert_eq;

public fun greeting(): String {
    b"Hello, Move on Sui!".to_string()
}

#[test]
fun greeting_returns_hello() {
    assert_eq!(greeting(), b"Hello, Move on Sui!".to_string());
}

如何使用本书

动手实践

本书采用边学边练的教学方法。每一章都包含完整的代码示例,我们强烈建议你在本地环境中亲手输入、编译和运行每一段代码,而不是简单地复制粘贴。肌肉记忆是掌握新语言最有效的方式。

章节递进

各章节之间存在依赖关系——后面的章节会引用前面介绍的概念和代码。建议你按照章节顺序阅读,至少在第一遍学习时不要跳读。当然,如果你已有一定基础,可以从目录中选择感兴趣的章节开始。

代码仓库

本书所有代码示例均可在配套的 GitHub 仓库中找到。每一章的代码都是独立可编译的 Move 项目,你可以直接 clone 下来运行:

git clone https://github.com/hoh-zone/learning-sui.git
cd learning-sui

版本说明

本书内容基于以下版本编写:

  • Move 语言:2024 Edition
  • Sui 框架:与当前 Sui 主网版本保持同步
  • Sui CLI:最新稳定版

由于 Sui 生态发展迅速,部分 API 可能会随版本更新而变化。如果遇到编译错误,请先检查依赖版本是否与书中一致。

前置知识

为了顺利阅读本书,你需要具备以下基础:

  • 编程基础:熟悉至少一门编程语言的基本概念(变量、函数、控制流、数据结构)
  • 命令行操作:能够在终端中执行基本命令
  • Git 基础:了解 clone、commit、push 等基本操作
  • 区块链概念(可选):如果你了解公钥/私钥、交易、区块等基本概念会更有帮助,但这不是必须的——第一章会从头讲起

不需要提前学习 Rust,虽然 Move 的语法与 Rust 相似,但本书会在引入每个语法特性时给出充分的解释。

小结

本书将带你从零开始,系统地掌握 Sui 区块链上的 Move 智能合约开发。通过理论讲解与实战演练相结合的方式,你将不仅学会 Move 语言本身,更会深入理解 Sui 的对象模型、设计模式与最佳实践。无论你的最终目标是构建 DeFi 协议、NFT 市场,还是创新的链上应用,本书都将为你提供坚实的技术基础。

让我们开始这段旅程吧。