Let's Move Sui环形掌上战争 0基础开发入门到精通(7)

  • Summer.XJ
  • 更新于 2024-04-11 23:12
  • 阅读 1042

Let'sMoveSui环形掌上战争0基础开发入门到精通(7)第七章继续迭代中碰到的问题和解决方案2024新版和旧版交替问题suimove的新版已经在测试版/主网发布。还在用老版本的同学们会碰到一些问题。甚至有些朋友还在用1.16版本,非常古老了。建议大家都做一做升级。升级步

<!--StartFragment-->

Let's Move Sui环形掌上战争 0基础开发入门到精通(7)

第七章 继续迭代中碰到的问题和解决方案

ch07

2024新版和旧版交替问题

sui move的新版已经在测试版/主网发布。还在用老版本的同学们会碰到一些问题。

甚至有些朋友还在用1.16版本,非常古老了。建议大家都做一做升级。

升级步骤不再冗述,请参考官方文档。

本文列举一些大家常见碰到的问题:

新版本和旧版本交替问题

这个问题就是因为教程上用了public 关键字,而本地版本还没升到1.22所致 public关键字

在toml里加入了控制开关

edition = "2024.beta"

编译顺利通过。然后在主网上试着发布一下,发现如下现象。 主网发布

实际public打包成字节码发布上去后就没有了,说明编译环境自动会根据情况编译成不同的版本。

v1.22开始,增加了migrate操作,之前是没有这个命令的。 migrate

同学们可以从主网下载1.22版本进行测试,或者自己编译一个1.22版本。 1.22版本

windows环境下的同学们目前非常多的碰到问题:

fetch

目前解决的方案是需要在toml文件里做如下改动

[dependencies]
Sui = { git = "...", subdir = "crates/sui-framework/packages/sui-framework", rev = "framework/testnet" }

改成

[dependencies]
Sui = { git = "...", subdir = "crates/sui-framework/packages/sui-framework", rev = "testnet" }

其实就是将 **framework/**去掉,估计是windows环境下的路径有问题。

或者是将源码下载下来,使用本地路径

Sui = { local = "../../../sui/crates//sui-framework/packages/sui-framework"}

以上两个方案都可以解决这个问题

在windows状态下编译可能会碰到 os error 3的问题(这个也比较常见)

os error 3 这个错误可能是windows的权限问题。

一时半会儿没有找到解决方法,官网上我已问过。据说是 1.23版本修复了这个问题。

目前暂时使用 powershell 来暂时解决这个问题。

powershell

还有个新人很容易碰到的问题

19 │     public entry fun mint(amount:u64 , ctx:&mut TxContext,test:u64){
   │            -----                       ^^^ -------------- 'entry' parameters must be primitives (by-value), vectors of primitives, objects (by-reference or by-value), vectors of objects, or 'Receiving' arguments (by-reference or by-value)
   │            │                           │
   │            │                           Invalid 'entry' parameter type for parameter 'ctx'
   │            'mint' was declared 'entry' here

其实是ctx的位置问题,必须是最后一个参数。

但报错信息并没有很好的解释。

所以很容易误导我们。

改成这样就没问题了

public entry fun mint(amount:u64,test:u64 , ctx:&mut TxContext)

其他还有很多问题,大家可以参考官方github上的示例。

直接到sample里去找,那边的代码基本都是编译通过的。

也欢迎留言给我,大家一起探讨。

(未完待续)

Let's Move 中文社区

telegram: https\://t.me/move_cn

QQ群: 79489587

<!--EndFragment-->

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Summer.XJ
Summer.XJ
0x0d54...9e80
学好Sui MOVE