第 3 章 账户、网络、Token 与费用
学习目标
- 分清 Sui address、Sui object、Blob ID 的职责。
- 知道上传 Blob 时 SUI 和 WAL 分别支付什么。
- 能在 Testnet/Mainnet 之间显式切换。
前置条件
- 已完成第 2 章安装。
- 当前 Sui 钱包已经连接 Testnet。
- Testnet 账户里有测试 SUI 和测试 WAL。
账户与对象
查看当前地址:
sui client active-address
查看本机管理的地址:
sui client addresses
创建新地址:
sui client new-address ed25519
Walrus 上传成功后,链上会出现一个 Blob 对象。这个对象归你的地址所有,后续管理操作一般由当前钱包签名。
sui client objects
如果对象很多,可以按对象 ID 查看详情:
sui client object <BLOB_OBJECT_ID>
网络切换
查看 Sui 环境:
sui client envs
sui client active-env
切到 Testnet:
sui client switch --env testnet
增加 Mainnet 环境时,使用官方 fullnode:
sui client new-env \
--alias mainnet \
--rpc https://fullnode.mainnet.sui.io:443
切到 Mainnet 前先确认:
sui client switch --env mainnet
sui client active-env
walrus info --context mainnet
本书练习命令默认继续使用:
walrus info --context testnet
Token 与费用
上传 Blob 会涉及两类资产:
| 资产 | 用途 |
|---|---|
| SUI | 支付 Sui 交易 gas,例如创建 Blob 对象、更新属性、删除对象 |
| WAL | 支付 Walrus 存储资源,按大小和 Epoch 计费 |
查看余额:
sui client balance
Testnet 领取和兑换:
sui client active-address
walrus get-wal --context testnet
sui client balance
Mainnet 不存在免费 faucet。切到 Mainnet 前必须明确你将花费真实 SUI/WAL。
准备本书工作目录
后续章节使用一个独立目录,避免把仓库或私钥文件误传:
mkdir -p ~/walrus-book-lab/files ~/walrus-book-lab/downloads
cd ~/walrus-book-lab
printf 'Walrus CLI lab\n' > files/hello.txt
printf '{"name":"walrus","network":"testnet"}\n' > files/meta.json
检查:
find files -maxdepth 1 -type f -print
输出解读
sui client balance 中看到 WAL Token 才能顺利上传。只看到 SUI 时,Walrus 存储付款会失败。
sui client active-env 和 walrus --context 是两套配置入口。为减少误操作,本书所有 Walrus 命令都显式写 --context testnet。
常见坑
- 地址字符串能跨网络复用,但资产不能跨网络复用;同一个地址在 Testnet 和 Mainnet 余额完全不同。
Blob ID不是 Sui 对象,不能用sui client object <BLOB_ID>查询。- 删除本地文件不影响 Walrus;删除 Walrus Blob 也不保证互联网上已缓存的数据消失。
- 钱包助记词和私钥绝不能上传到 Walrus。Walrus 默认公开可发现。
下一步
下一章上传第一个 Blob,并学习如何保存命令输出中的关键字段。