Sui主网现已升级至V1.7.1版本,此升级包含了多项修复和优化。升级要点如下所示:
协议版本提升至20版本。
在Sui框架中新增Kiosk Extensions API和一个新的sui::kiosk_extension模块。
您可以使用该API构建自定义的Kiosk应用程序,以扩展Kiosk基本功能。除了简单地介绍&mut UID的用法,Kiosk Extensions API还为Kiosk扩展提供了增强功能和保证,包括:
此更新还更改了对UID的访问:
改进get方法:
为新的Narwhal领导者调度算法启用narwhal_new_leader_election_schedule标志,该算法增强了容错性并设置了恶意节点的质押阈值。此标志适用于除了主网之外的所有网络。
在构建Move代码时,可能会出现指向未使用函数类型参数的新编译器警告。
升级后,来自软件包发布和升级CLI命令的源代码,改进了验证失败时的警告格式,以及建议修复问题或消除警告的方式。
在构建Move代码时,可能会出现新的编译器警告,指向未使用的结构体字段。
当order_price订单价格和order_quantity订单数量足够小,以至于余额需要进行取舍时,尝试取消限价单的保管人会在其locked_balances锁定余额中留下一枚MIST。
为了解决这个问题,Sui会进行四舍五入,升级后将完全从账户中清除锁定余额。
此PR对CLI keytool进行了以下修改:
Base64PubKeyToAddress
BytesToBase64
Base64ToBytes
Base64ToHex -> input | base64 -d | xxd -p
BytesToHex
HexToBase64 -> input | xxd -r -p | base64
HexToBytes
在构建Move代码时,可能会出现与包含sui::coin::Coin类型字段的结构体相关的额外linter警告,其目标是鼓励开发人员使用sui::balance::Balance类型的字段,这种解决方案更节省空间。
在Deepbook中,Sui在订单匹配循环结束时以及cancel_all_orders结束时会发出一个大的CancelOrders事件,而不是每个取消请求发出一个事件。
此更改是因为存在发出事件的限制,在交易执行过程中可能会有MoveAborts发生。一个示例错误是:Sui Explorer
MovePrimitiveRuntimeError(MoveLocationOpt(Some(MoveLocation { module: ModuleId { address: 0000000000000000000000000000000000000000000000000000000000000002, name: Identifier(“event”) }, function: 0, instruction: 0, function_name: Some(“emit”) }))) in command 0
如果您使用了在PR #12650中引入的新linter,您可能已经看到了Sui标准库的警告。此更新抑制了这些警告。
Move编译器将不再显示依赖项中存在的警告,这可以通过编译器标志 — dependencies-are-root进行覆盖。
查看完整变更日志: https://github.com/MystenLabs/sui/commits/mainnet-v1.7.0
Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac
官网|Twitter|Discord|英文电报群|中文电报群