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

news2024/10/2 8:41:01

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.coloradmin.cn/o/788149.html

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

相关文章

使用TensorFlow训练深度学习模型实战(上)

大家好,尽管大多数关于神经网络的文章都强调数学,而TensorFlow文档则强调使用现成数据集进行快速实现,但将这些资源应用于真实世界数据集是很有挑战性的,很难将数学概念和现成数据集与我的具体用例联系起来。本文旨在提供一个实用…

自然语言处理应用程序设计

原文地址:https://zhanghan.xyz/posts/22426/ 文章目录 一、摘要二、数据集三、相关环境四、功能展示1.系统主界面2.中文分词3.命名实体识别4.文本分类5.文本聚类6.其他界面 五、源码链接 一、摘要 将自然语言处理课程设计中实现的模型集成到自然语言处理应用程序…

利用模 m 的原根存在性判断以及求解

完整资料进入【数字空间】查看——搜索"writebug" 一、题目: 模 m 的原根存在性判断以及求解。判断 m 原根是否存在,如存在给出一个原根以及所有原根。 二、问题描述 首先要判断给定模 m 是否存在原根,然后需要对其原根进行求解。…

js截取字符串

1、 split() 方法用于把一个 字符串 分割成 字符串数组 var str "123,456,789"; console.log(str.split()); // ["1", "2", "3", ",", "4", "5", "6", ",", "7", &…

性能测试—性能监控

性能监控 性能监控是指通过收集、分析和报告关键性能指标,实时监测系统、应用程序或网络的性能和健康状况。通过性能监控,您可以及时发现潜在的性能问题,识别系统瓶颈,并进行性能优化。 以下是一些常见的性能监控指标和技术&…

标准IO_打开和关闭文件_fopen,fdopen,freopen,stdin,stdout,stderr

目录 1.打开文件 1.1 fopen函数原型 1.1.1 fopen函数 1.1.2 fopen函数原理 1.1.3 文本文件和二进制文件区别? 1.1.4 “r"模式和“rb”模式区别? 1.1.5 fopen函数使用示例 1.2 fdopen函数原型 1.2.1 fdopen函数 1.2.2 fdopen函数原理 1.2…

电脑丢失msvcp140.dll的解决方法分享

如果你在使用电脑时遇到了“找不到msvcp140.dll”的错误提示,别着急!这并不是什么严重的问题,电脑丢失msvcp140.dll的解决方法分享,只要你按照以下方法进行处理,很快就能够顺利地解决它。 一.什么是msvcp140.dll msvc…

Spring Boot与MyBatis结合 实现对mock平台改造

上一章: 测开工具:spring boot 实现mock平台_springboot搭建mock_做测试的喵酱的博客-CSDN博客 代码地址: GitHub - 18713341733/mock: Spring Boot与MyBatis结合 实现对mock平台改造 一、背景 读取数据改为从mysql数据库中读取。 Sp…

RDIFramework.NET CS敏捷开发框架 V6.0发布(支持.NET6+、Framework双引擎,全网唯一)

全新RDIFramework.NET V6.0 CS敏捷开发框架发布,全网唯一支持.NET6,Framework双引擎,降低开发成本,提高产品质量,提升用户体验与开发团队稳定性,做软件就选RDIFramework.NET开发框架。 1、RDIFramework.NET…

主从复制高级进阶

从主库入手: 关闭 主:修改配置文件 /etc/my.cnf 查看日志 查看 从: 修改重启 重启后报错,可能是uuid相同,要修改 查看状态 都是yes 从 从库入手 修改配置文件重启 从3: 从2: 先停止slave …

redis中使用bloomfilter的白名单功能解决缓存预热问题

一 缓存预热 1.1 缓存预热 将需要的数据提前缓存到缓存redis中,可以在服务启动时候,或者在使用前一天完成数据的同步等操作。保证后续能够正常使用。 1.2 解决办法PostConstruct注解初始化

微服务框架入门

微服务 微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征: 单一职责:微服务拆分粒度小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发面向服务:微服务对外暴露…

闲置旧手机搭建服务器?在安卓手机上使用Termux搭建web服务「公网远程访问」

文章目录 概述1.搭建apache2.安装cpolar内网穿透3.公网访问配置4.固定公网地址5.添加站点 概述 Termux是一个Android终端仿真应用程序,用于在 Android 手机上搭建一个完整的Linux 环境,能够实现Linux下的许多基本操作,不需要root权限Termux就…

MobileViG实战:使用MobileViG实现图像分类任务(一)

文章目录 摘要安装包安装timm安装 grad-cam 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 论文翻译:https://blog.csdn.net/m0_47867638/article/details/131860981?spm1001.2014.3001.5502 官方源码:https://github.com/SLDGroup/M…

Qt Core学习日记——第四天QMetaEnum(下)

类定义&#xff1a; 成员变量就只有QMetaObject *mobj和uint handle&#xff0c;handle同样用于计算在qt_meta_stringdata_XTest的位置 成员函数&#xff1a; 接下以test类进行函数讲解 test.h #pragma once #include <qobject.h> #include <QFlags> class X…

源码跟踪,案例详解Spark的分区规则

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 目录 一、默认分区规则 1. 从集合中创建RDD - makeRDD   2. 读取外部存储系统创建RDD - textFile 二、指定分区规则 1. 从集合中创建RDD指定分区 - makeRDD   2. 读取外部存储系统创建RDD指定分…

基于Java+SpringBoot+vue前后端分离甘肃非物质文化网站设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

TCP/UDP的首部

TCP/UDP首部信息 TCP首部第一个4字节第二个4字节与第三个4字节第四个4字节第五个4字节选项最大报文段长度&#xff08;MSS&#xff09;选项窗口扩大选项时间戳选项 什么时候发送RST包UDP首部 TCP首部 TCP 首部长度为20字节&#xff0c;加上选项部分最大可达60字节。 第一个4…

移动端商品详情页设计

效果图 代码如下 页面设计 <div class"container"><!--商品详情 start--><van-image class"goods-item-image" :src"goods.goodsHeadImg"></van-image><div class"goods-price">&#xffe5;<span&…

MySQL函数讲解(谓词、CASE)

目录 MySQL常见函数 字符串函数 进行字符串操作的函数 算术函数 进行数值计算的函数 日期函数 进行日期操作的函数 转换函数 进行数据类型和值转换的函数 流程函数 进行条件删选 聚合函数 进行数据聚合的函数 谓词 一般用于条件判断 什么是函数 函数指一段可以直接被…