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
notion image
切换使用环境
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 有版本验证报错,可尝试使用这个命令
 
报错记录
notion image
使用强制命令解决了: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)
  • 检查游戏合约余额是否充足
  • 使用随机数生成器生成结果
  • 如果猜对:玩家获得双倍奖励
  • 如果猜错:玩家损失投入的代币
  1. 安全措施:
    1. AdminCap: 管理员权限凭证
    2. 破产保护
      1. 余额检查
      确保游戏合约始终保持足够的储备金。

      核心功能

      初始化
      存款功能
      提款功能
      游戏核心逻辑

      参考资料

       

      © Anne 2021-2025