Sui网络将Sui Move作为其本地编程语言,使用Sui Move编写的apps利用Sui的共识机制,实现了令人印象深刻的交易性能。
然而,熟悉Move编程语言的开发者在探索Sui文档时可能会感到困惑,因为该文档着重介绍了对象和一些指令,这可能与他们的经验不符。
产生这些差异的原因是Sui Move是从Move演变而来的,旨在更好地满足新型高性能区块链的需求。
原来的Move
Mysten Labs的联合创始人兼CTO Sam Blackshear在Meta的Libra项目中的Diem区块链开发了Move。Move基于Rust编程语言,旨在比现有的区块链语言更通用,而其他编程语言通常与特定的区块链绑定。Sam的目标是创建Web3的JavaScript,即一种跨平台语言,使开发人员能够在多个网络环境中应用他们的技能。
Move的主要关注点是智能合约,它包括用于资产和访问控制的类型和值表示,这是区块链app开发人员编码时经常遇到的两个基本概念。Move对类型的一等抽象这些概念使编程更安全、更高效。
Move于2020年发布,目前在Apache 2.0开源许可下授权。它在Aptos、StarCoin、0L、Rooch、Movement和Offshore等网络中得到应用。
从Move转变为Sui Move
Libra项目专注于构建下一代支付平台,利用区块链技术支持数字货币,Move的设计支持了该项目。与其他区块链技术类似,它采用基于账户的数据模型,数字资产归属于账户。
当Sam和他在Mysten Labs的同事们着眼于构建Sui时,他们专注于更加通用的网络基础设施,而不是Libra项目中Diem区块链的有限范围。虽然Move是面向平台的,这是一个可取的特性,但它受到了以账户为中心的模型的限制。
Sui Move被设计为Move的一个分支,以更好地配合Sui的创新,比如其共识模型。去年,Sam在一篇名为《为什么我们创建了Sui Move》的文章中详细介绍了Move与Sui Move的区别,展示了Sui Move的特点和表现力。Sui Move与Move的根本区别在于其引入了基于对象的数据模型。
通过这种方式专注于对象,使得并行事务处理成为可能,这比只能进行串行处理的区块链有着更好的性能。在高层次上,Sui运行时可以直接确定独享对象与共享对象,并对前者进行即时验证,对后者应用共识验证。
从开发者的角度来看,Sui消除了在事务之前和之后需要进行大量有关资产归属的繁琐工作。原始的Move通过地址和类型名称对全局存储进行键控,而Sui Move使用对象ID来进行全局存储的键控。Sui Move非常重视对象的地位,使其具有无限可能,比如组合性,其中对象可以拥有其他对象。
关于 Sui Network
Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac
官网|Twitter|Discord|英文电报群|中文电报群