Sui Move与标准Move的有哪些区别和根本性创新

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|英文电报群|中文电报群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/7049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka消费者api和分区分配和offset消费

kafka消费者 消费者的消费方式为主动从broker拉取消息,由于消费者的消费速度不同,由broker决定消息发送速度难以适应所有消费者的能力 拉取数据的问题在于,消费者可能会获得空数据 消费者组工作流程 Consumer Group(CG&#x…

git 提示 不能合并

今天A分支合并B分支,提示“不能合并” 最终发现,是另一个分支的版本落后导致,但是git并未提示出来 有遇到这种问题可以先检查下版本

如何有效跟踪你的计费时间?

对于自由职业者、小型企业和远程团队来说,时间跟踪是必需的。了解自己在单个项目或任务上投入了多少时间,可以帮助他们有效管理资源和优化工作流程。 然而,在向客户收费时,时间跟踪多了一层复杂性:不仅需要跟踪所花费…

Linux工具——vim

安装vim yum -y install vim 如果安装失败,提示Could not resolve host:mirrorlist.centos.org: Unkown error的问题,需要替换yum源,可以参考这个文章 配置vim root的vim配置文件在 /etc/vimrc 普通用户的vim配置文件在用户对应家目录下&a…

react实现页面动态表单设计器(自定义推拽表单)

react实现页面动态表单设计器(自定义推拽表单) 实现效果安装插件使用组件介绍基本设置,可设置控件标签,是否必填,校验规则校验规则有如下几种多选,下拉,单选可动态设置每个选择的label以及值 实…

一百三十三、Hive——Hive外部表加载含有JSON格式字段的CSV文件数据

一、目标 在Hive的ODS层建外部表,然后加载HDFS中的CSV文件数据 注意:CSV文件中含有未解析的JSON格式的字段数据,并且JSON字段中还有逗号 二、第一次建外部表,直接以,分隔行字段,结果JSON数据只显示一部分…

【1++的C++初阶】之list

👍作者主页:进击的1 🤩 专栏链接:【1的C初阶】 文章目录 一,什么是list二,构造与析构2.1 结点结构2.2 链表结构2.3 迭代器结构 三,部分重要接口的作用及其实现3.1 迭代器相关的接口3.2 list相关…

【VCS】(5)Fast RTL-level Verification

Fast RTL-level Verification General Coding GuidlinesLab --- simprofile$display() 输出彩色内容 前面的内容都是在说怎样进行仿真和验证,即如何使用 VCS 。 但是,仿真和验证是不是也有所讲究? 有没有一些标准来衡量设计代码和验证代码的质…

62. 不同路径

题目链接:力扣 解法一:动态规划 定义状态:对于m*n的网络,从最后一行到右下角,以及从最后一列到右下角,都只有一条不同路径:一直向右或一直向下,所以可以定义状态:dp[i][…

OpenCV系列__chapter2

这里写目录标题 1 图像加减乘除位运算1.1 加法 img cv2.add(img1, img2)1.2 减法 img cv2.subtract(img1, img2)1.3 乘法 img cv2.multiply(img1, img2)1.4 除法 img cv2.divide(img1, img2)1.5 位运算 2 图像增强2.1 线性变换2.2 非线性变换 3 图像几何变换3.1 裁剪、放大…

七大排序算法和计数排序

文章目录 一、直接插入排序二、希尔排序三、直接选择排序四、堆排序五、冒泡排序六、快速排序6.1递归实现快速排序6.2非递归实现快速排序 七、归并排序7.1递归实现归并排序7.2非递归实现归并排序 八、计数排序 以下排序以从小到大排序为例 一、直接插入排序 时间复杂度&#x…

文章审核之敏感词过滤

技术选型 DFA实现原理 DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。 存储:一次性的把所有的敏感词存储到了多个map中,就是下图表示这种结构 敏感词:冰毒、大麻、大坏蛋 工具类 最下面的main方法是测试用的&a…

Java版本电子招标采购系统源代码—企业战略布局下的采购寻源

智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明,可…

微信小程序-地图上的图标计算旋转值朝向经纬度计算

废话不多说,开整 // 参数为寄件人经纬度和收件人经纬度 // 根据寄收件人经纬度弧度π进行rotate旋转计算 const getRotate (po1, po2) > {if (!(po1 && po2)) return 0const lng_a po1.longitudeconst lat_a po1.latitudeconst lng_b po2.longitud…

MySQL使用

目录 1 MySQL的登录 1.1 服务的启动和终止 1.2 自带客户端的登录与退出 2 MySQL演示使用 2.1 MySQL的使用演示 2.2 MySQL的编码设置 1 MySQL的登录 1.1 服务的启动和终止 MySQL安装完毕以后,需要启动服务器进程,不然客户端无法连接数据库。 在前面…

vue-cli项目中,使用webpack-bundle-analyzer进行模块分析,查看各个模块的体积,方便后期代码优化

一、安装 npm install --save-dev webpack-bundle-analyzer 二、在vue.config.js中配置 const BundleAnalyzerPlugin require(webpack-bundle-analyzer).BundleAnalyzerPlugin plugins: [new BundleAnalyzerPlugin({analyzerMode: server,analyzerHost: 127.0.0.1,analyze…

Word2Vec实现文本识别分类

深度学习训练营之使用Word2Vec实现文本识别分类 原文链接环境介绍前言前置工作设置GPU数据查看构建数据迭代器 Word2Vec的调用生成数据批次和迭代器模型训练初始化拆分数据集并进行训练 预测 原文链接 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&…

探析国内数字孪生引擎技术现状

在数字孪生软件来发中,渲染引擎是一个关键点,国内大多数字孪生平台引擎通常使用的是自研的渲染引擎或者采用开源的渲染引擎。下面通过一些常见的渲染引擎在国内数字孪生引擎中的应用带大家了解数字孪生软件开发的方式。 自研渲染引擎:许多数…

HTTPS安全套接字层超文本传输协议

HTTPS安全套接字层超文本传输协议 HTTPS简介HTTPS和HTTP的主要区别客户端在使用HTTPS方式与Web服务器通信时的步骤SSL/TLS协议的加密(握手)过程为什么数据传输阶段使用对称加密HTTPS 的优点HTTPS 的缺点HTTPS 的优化证书优化会话复用 HTTPS简介 HTTP协议…

文件包含漏洞利用思路

简介 通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,导致意外的文件泄漏甚至恶意代码注入。 常见的文件包含函数 php中常见的文件包含函数有以下四种: include()require()include_once()re…