Sui Move 学习 :Task4 链游部署
type
status
date
slug
summary
tags
category
icon
password
学习内容
最近重新学习 Sui 区块链的开发,主要涉及Move 合约编写以及合约部署等方面。在此记录一下学习过程和重要命令。
基础的区块链知识:
智能合约的用途:‣
定义资产:定义USD,定义NFT
操作资产:增删改查
权限控制:限制访问,现在转移权限
一.基础命令
创建钱包
创建新钱包
sui client new-address ed25519
查看钱包地址
sui client addresses
切换当前使用的地址
sui client switch --address <YOUR_ADDRESS>
查看当前环境
sui client envs

切换使用环境
sui client switch --env testnet
Move 合约开发
编译合约
sui move build
运行测试
sui move test
发布包之前,检查字节码是否超过规定值
强烈建议在发包之前执行此操作,避免发布失败,消耗不必要的gas
sui client verify-bytecode-meter
添加gas 预算 可防止发布失败导致浪费
sui client publish --gas-budget 100000
--skip-dependency-verification
有版本验证报错,可尝试使用这个命令报错记录

使用强制命令解决了:
sui client publish --gas-budget 100000000 --skip-fetch-latest-git-deps --skip-dependency-verification
发布合约后记录返回的 package ID
⚠️ 注意
常见问题与解决方案
1. Gas 不足
- 确保设置足够的 gas-budget
- 从水龙头获取测试代币:sui client faucet (测试环境下)
2. 编译错误
- 检查 Move.toml 依赖配置
- 确保模块名称与文件名匹配
- 检查语法错误
二. Sui Move task4 链游部署
详细任务参考:let‘s move 项目
ERC-20 规定如何实现代币的协议之一。定义了一组代币在以太坊区块链上必须遵守的规范,提供与代币交换的通用框架,确保了不同程序,钱包之间的互操作性。
代币在区块链中表示数字资产,可以在区块链上被转移和交易,具有潜在价值。
Coin 在Move中,用户收到Coins 时,这些Coins会存储在用户的对象中(钱包),用户可自由提取对象中的Coins 并使用它们。
TreasuryCap
意译是国债资本,这里我理解为拥有铸造代币权限的ID。
用到的命令:
命令查找:Sui CLI PTB 文档
游戏玩法:
- 玩家投入代币并猜测结果(true/false)
- 检查游戏合约余额是否充足
- 使用随机数生成器生成结果
- 如果猜对:玩家获得双倍奖励
- 如果猜错:玩家损失投入的代币
- 安全措施:
- 破产保护
- 余额检查
AdminCap: 管理员权限凭证
确保游戏合约始终保持足够的储备金。
核心功能
初始化
存款功能
提款功能
游戏核心逻辑