宣发文章
要求
有新版Move升级的源版本和目标版本,基于Aptos framework的源版本
升级后能达到的效果(早期不需要强调地址格式不同)
对Starcoin 1.0 dapp的应用影响(简单写下就行了)
新版是否具有模块化能力,可以基于Starcoin构建Move链,可以开放式阐述一下
第一版
move版本在不断的进化,starcoin基于account的构建move虚拟机,随着move(https://github.com/move-language/move-on-aptos )新特性不断的 演进,让dapp开发者更好的开发新的move主要引入了如下的特性
智能合约的注解,提供用户的功能
提供了代码格式化工具,类似gofmt, rustfmt等语言的功能
提供了move字节码反编译成源码工具,类似javap语言功能,方便更好的审计
提供对开发者更友好的receiver风格,使用receiver.fun(args)替代func(receiver,args),不用写类似C代码那种冗长风格
提供了枚举和match的函数式编程风格,用户编写代码更方便
提供了基于下标直接访问数组的功能,不用写冗余代码
提供了闭包和引用的功能
提供了用户定义Abilities功能, move原生支持了copy, key, store, drop这些ability, move的新版本可以支持用户定义Iterator功能,这样可以方便类似用户通过Iteration查找某个元素
返回Global storage reference, 之前版本的move是不支持返回Global Storage Reference, 这样在合约代码中用户必须去处理一些逻辑
通过升级move这些新特性,starcoin chain这边需要适配新的接口,添加feature机制来制定都某一区块支持什么新的功能,新接口适配需要将verify交易从编译器放到chain这边来做,gas费新的实现,扩展性更好,object在chain层支持配合合约改造
dapp
升级编译器主要就是更好的支持dapp相关开发目前的规划是将aptos-stdlib基础库移植到starcoin的智能合约基础库内,使用aptos-stdlib来支撑starcoin智能合约底层逻辑,让用户开发和移植 dapp到starcoin更便利
第二版
Move v7 新特性
Move版本在不断进化,继承了其独特的模块化设计和资源类型系统等核心优势。随着Move(Move GitHub)新特性的不断推出,DApp开发者不仅能更高效地构建应用,还能更灵活地利用Move的安全性和并发控制等特点。以下是Move引入的主要新特性:
智能合约注解:为用户提供额外的功能支持。
代码格式化工具:类似于gofmt和rustfmt,为代码提供统一的格式化功能。
代码Linter工具: 类似rust clippy, 开发更安全高效的代码
字节码反编译工具:类似于Java的javap,可以将Move字节码反编译成源码,便于审计。
改进的Receiver风格:提供更友好的语法,允许使用
receiver.fun(args)
替代传统的func(receiver, args)
写法,避免冗长的代码风格。枚举和match功能:引入了函数式编程风格,使代码编写更加便捷。
数组下标访问:支持基于下标直接访问数组,减少冗余代码。
闭包和引用:增加了闭包和引用的功能。
支持用户自定义 abilities:在Move原生支持的
copy
、key
、store
、drop
等 abilities 的基础上,新增了用户定义Iterator功能,方便通过迭代查找元素。Global Storage Reference返回:新版本支持返回 Global Storage Reference,解决了之前版本中合约代码中必须针对类型进行硬编码的问题。
Starcoin的升级
为适应Move新特性,Starcoin需要在现有架构基础上进行功能兼容,主要涉及Move编译器、StarcoinVM、以及Starcoin Framework等几个部分:
Move Compiler
升级至Move v7版本, 目前基于 Aptos 仓库提交哈希 cea6cf84416a651ffb458469b80da2da885fe1f5
支持Module meta功能,配合链为用户提供定制化注解功能
Move compiler 和 Move prover分离
StarcoinVM
适配Move v7新接口,并通过添加Feature机制兼容旧版本已生成区块。
将交易验证从编译器移至链上处理,以优化交易验证流程。
优化Gas费用实现,增强系统扩展性,并使链上对象支持与合约的协同改造。
Framework
将Aptos Object标准移引入到Starcoin Framework,以实现与Aptos Framework 特性的兼容。
基于上述兼容性,Aptos中已开发和部署的项目可以以较小的改动成本移植到Starcoin平台。
受益于此次编译器升级与兼容性升级,新项目基于Starcoin平台开发后,可以更方便地以更小的成本迁移到Aptos平台
已基于StarcoinFramework 1.0 开发的项目需要针对新引入的Object模型做兼容才能再发布新版。
总结
此次Starcoin的升级,不仅是对Move新特性的响应,更是对Starcoin生态系统的进一步完善。通过增强新版Move兼容性、优化性能以及提供更灵活的开发支持,使Starcoin支持模块化前进大步,Starcoin将为开发者带来更广阔的创新空间。未来,随着更多功能的逐步落地,Starcoin将继续推动区块链技术的发展,为用户和开发者提供更加丰富和可靠的链上体验。
参考链接
https://medium.com/aptoslabs/the-future-of-move-at-aptos-17d0656dcc31