课程简介
了解课程概览、我们将使用的技术栈,以及你将从中获得的内容。
本实践课程基于第一性原理的思维方式,我们将从零开始学习使用 Solidity 开发并部署概率型“玩赚”游戏。
我们将以“玩赚”游戏作为应用领域,并涵盖 Solidity 开发的通用知识。本课程为开发适用于所有 Solidity 兼容 区块链 的智能合约奠定基础,包括:
- 以太坊
- Polygon
- Solana
- Binance Smart Chain
- Tron
- Hedera
除了 Solidity 之外,本课程的重点在于突出区块链开发与传统客户端-服务器架构开发之间的关键差异。
我们将学习如何思考不可变的去中心化软件开发,并力求一次就做到正确(因为在区块链上我们没有第二次机会来修正错误)。这种方法可以节省数年的试错时间,并可能避免因不安全代码导致的用户巨额损失。
多年来,Solidity 开发社区涌现出一系列最佳实践和标准合约(可类比于其他编程语言中的库)。这些提供了安全且高效的标准化方法,帮助我们避免重复造轮子。第“继承”章节将介绍其中一些标准合约与接口(如 ERC-721 非同质化代币(NFT)标准),并将其集成到我们自己的合约中。
完成本课程后,你将掌握以下技能:
-
理解公共区块链在不可变性、透明性、无信任机制、访问控制和支付处理方面的附加价值。
-
对比公共区块链在计算能力、交易成本和信息脆弱性方面的局限性。
-
评估去中心化软件中随机数生成的挑战,以及对链外预言机的需求。
-
计算概率型“玩赚”游戏带来的基本概率与期望值。
-
使用 Solidity 编写智能合约。
-
实现 Solidity 设计模式(可暂停性、所有权控制、重入防护)。
-
实现接口继承。
-
安全地从链外预言机请求数据。
-
评估安全设计模式与链外预言机对不可变性、透明性和无信任性的实际影响。
-
在 Solidity 中构建概率型“玩赚”游戏。
-
部署智能合约。