1. 课程导论
1.1 什么是代币?
代币(Token)是区块链上的可编程数字资产。
你可能习惯了传统银行或 Web2 应用中的余额记录:
"Alice 的账户余额:100 元"
这只是中心化数据库里的一行数字。而代币具有本质的不同:
- 透明性:所有交易记录公开可查,任何人都可以验证。
- 可编程性:可以通过代码(智能合约)定义复杂的转移规则(如:必须持有 NFT 才能转账、每次转账扣 5% 税)。
- 自托管:用户完全控制自己的资产(拥有私钥即拥有资产),无需依赖支付宝或银行。
- 可组合性:代币可以被借贷协议、交易所、游戏等不同应用无缝集成。
代币可以代表多种形式的价值:货币、股权、投票权、会员资格、收藏品,甚至是现实世界资产(如房地产)的数字化凭证。
1.2 代币的分类
从技术特性角度,代币主要分为两类:
同质化代币(Fungible Token)
每一枚代币都是等价且可互换的。
- 特性:如果你借给朋友 100 USDC,他还你任意 100 USDC 即可,不需要是"原来那 100 张钞票"。
- 精度:通常可以分割(如 0.000001 SOL)。
- 例子:稳定币(USDC)、治理代币(UNI)、原生代币(SOL)。
非同质化代币(Non-Fungible Token, NFT)
每一枚代币都是独一无二的,不可互换。
- 特性:就像《蒙娜丽莎》真迹,你不能用另一幅画等价交换。
- 精度:通常不可分割(Decimals = 0)。
- 例子:数字艺术品、游戏道具、ENS 域名、房产证。
从功能角度,代币还可以细分为:
| 类型 | 描述 | 示例 |
|---|---|---|
| 实用型 | 获得特定服务或功能的凭证 | Filecoin(存储服务) |
| 治理型 | 参与协议决策的投票权 | JUP, UNI |
| 证券型 | 代表公司股权或收益权 | STO 代币 |
| 稳定币 | 价值锚定法币或其他资产 | USDC, PYUSD |
1.3 学习目标
完成本课程后,你将能够:
- 理解架构:掌握 Solana 代币账户模型与其他区块链(如以太坊)的核心差异。
- CLI 实战:熟练使用命令行工具创建、铸造、转移代币。
- SDK 编程:使用 JavaScript/TypeScript SDK 编写脚本控制代币逻辑。
- Token-2022:理解并应用 Token Extensions 的高级功能(如转账钩子、元数据指针)。
- 元数据管理:为你的代币添加精美的头像、名称和描述。
- Anchor 集成:在智能合约中安全地集成代币操作(CPI 调用)。
- 安全意识:识别常见风险(如貔貅盘逻辑)并应用最佳防御实践。
1.4 开发环境准备
在开始写代码之前,我们需要准备好武器库。
安装 Solana CLI
这是与 Solana 网络交互的瑞士军刀。
bash# MacOS & Linux sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)" # 验证安装 solana --version
安装 Node.js
我们将使用 TypeScript 编写客户端脚本。推荐安装 v18 或更高版本。
(可选) 安装 Anchor
如果你计划学习第 8 章的合约开发,建议提前安装 Anchor 框架。
bashcargo install --git https://github.com/coral-xyz/anchor avm --force avm install latest avm use latest
配置开发网络 (Devnet)
我们将在 Devnet 上进行所有实验,这里的 SOL 是免费的(没有金钱价值)。
bash# 1. 切换到开发网 solana config set --url devnet # 2. 创建新钱包 (Keypair) # 这会在你的电脑上生成一个 id.json 文件,里面存着私钥 solana-keygen new # 3. 获取测试代币 (Airdrop) # 就像天上掉馅饼一样,免费领取 2 SOL 用于支付 Gas 费 solana airdrop 2
准备好了吗?让我们进入下一章,亲手铸造你的第一个代币!