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

第 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-envwalrus --context 是两套配置入口。为减少误操作,本书所有 Walrus 命令都显式写 --context testnet

常见坑

  • 地址字符串能跨网络复用,但资产不能跨网络复用;同一个地址在 Testnet 和 Mainnet 余额完全不同。
  • Blob ID 不是 Sui 对象,不能用 sui client object <BLOB_ID> 查询。
  • 删除本地文件不影响 Walrus;删除 Walrus Blob 也不保证互联网上已缓存的数据消失。
  • 钱包助记词和私钥绝不能上传到 Walrus。Walrus 默认公开可发现。

下一步

下一章上传第一个 Blob,并学习如何保存命令输出中的关键字段。