Let‘s Move Sui:解锁区块链高性能潜力,探索创新开发体验

图片

Sui 是基于第一原理重新设计和构建而成的 L1 公链,旨在为创作者和开发者提供能够承载 Web3 中下一个十亿用户的开发平台。

今年,Sui 的原生编程语言 Move 迎来了重要的更新升级。2024 版将增加枚举 Enums、宏函数、Method 语法等功能。这些重要的新功能为 Move 编程语言引入了新的定义数据和调用函数的方式,使在 Sui 上构建应用程序更加灵活,并符合当前编程语言的最新期望。

Move 语言之于 Sui 生态有何关键之处?事实上,Sui 整个生态建立在三个关键概念的基础上,这三个概念确保交易结算过程是即时的,交易成本是低廉的——这三个核心支柱就是 Move 语言、并行交易执行和 Sui 共识引擎。

其中,Sui 上的应用基于 Move 智能合约语言,这种以智能合约为重点的编程语言充分利用了 Sui 的可扩展性和高吞吐量环境,让开发者能够快速且低成本支持广泛的应用开发。

图片

在之前的文章中,TinTinLand 详细介绍了 Sui 的技术优势、市场前景和生态建设等基本情况(《Sui 如何打造下一个 Web3 十亿用户的开发平台?》)。今天,我们将深入 Sui 的底层 Move 语言,探索其不同于其他区块链编程语言的独特风采。

初探 Move 语言:面向智能合约定制编程

Move 语言特性

Sui 网络基于智能合约执行的支持,其中 Sui 区块链上用 Rust 开发 Move 语言实现起着关键作用。Sui 用的 Move 语言相较于 ETH 的 Solidity 具备更强安全性和可靠性;并且,Sui 对 Move 语言进行了改造,使其以对象为中心,面向对象编程

图片

Sui 上面的 Move 语言允许创建定制的智能合约,可以根据特定用例进行定制,帮助改进项目和应用程序开发和实施过程中的不同流程,并有助于减少与传统中介机构相关的成本。通过这种方式,将有越来越多的开发者和用户进入 Sui 生态。

此外,Sui 的 Move 语言设计方式可防止双花。通过这种方式,它可以帮助 Sui 建立最安全的智能合约平台之一,防止和改进现有加密货币编程语言的固有缺陷。

Move 语言创设初衷

Sui/Mysten Labs 的联合创始人兼 CTO,也是 Move 语言的创办者 Sam Blackshear 在 Meta(原 Facebook)的 Libra 项目中的 Diem 区块链开发了 Move 语言。

在为 Move 语言做出设计之前,Sam 曾花了几个月的时间仔细研究了 Solidity 和 EVM。他认为,智能合约语言应该更像特定领域语言 (DSL),而不是通用编程语言。这些语言专注于创建对象、传输和共享对象以及执行访问控制检查等特定任务。智能合约编程的核心抽象应该围绕这些任务,以确保安全和效率。

图片

于是,Sam 和团队决定设计一种名为 Move 的新语言,而不是试图改造 EVM 或 Solidity 等现有技术。Move 以 B 代码为起点,融入了内存安全、类型安全、资源安全以及对象/资产的人性化处理等功能。

随着 Move 语言的成功创建,接下来更重要的是如何通过提供有吸引力的激励措施,吸引更多开发者使用 Move 进行开发。在他们看来,克服复杂的密钥管理、钱包安装和原生代币获取等障碍对于吸引开发者至关重要。

因此,Move 开发团队的目标是通过提供 ZK 登录等功能,将这些挑战转化为技术问题,无需安装钱包即可进行交易;并且让赞助商交易可以让其他人支付交易费用,从而让开发者探索更丰富的收入模式。

而 Sui 生态的 Move 语言是以对象为中心的全局存储、地址表示对象 ID、对象具有全局唯一 ID 等方面,构成了 Sui 其他技术创新的底层基础。

Move 语言的核心优势

Sui 网络所使用的 Move 语言的核心优势包括:

1、Move 语言引入了资源模型,每个 Object 都被视为独一无二的实体,安全性更强

2、Move 提供了严格的类型系统和所有权模型,有助于编译时监测和防治各种漏洞,特别适合处理复杂的金融交易

3、Move 支持高度模块化和可组合特性,允许开发者创建可交互操作的模块化和库

资源型数据

Move 的核心创新之一是引入资源型数据类型,这些类型的行为类似于现实世界的对象,不能复制或无痕删除,从而防止了意外的数据篡改。

Move 支持两个核心对象:智能合约(Move 包,是一组 Move 模块)和数字资产(资源)。Sui 对资源的本地支持通过字节码验证表达。在 Move 源代码编译为字节码后,一个名为 Move 字节码验证器的静态分析工具保证字节码遵循 Sui 的类型、内存和资源安全规则。这种验证确保对象不能被其定义模块之外的代码创建、复制或意外销毁。它还包括对双重支出和重入等某些漏洞的保护。

安全性模型

Move 解决了现有语言的部分安全问题,例如重入、动态分派、所有权检查和对象序列化等,为开发人员提供了更安全的环境。

*要注意的是,Move 的安全性并不完全基于迄今为止没有发生过黑客攻击事件,任何智能合约语言都无法阻止程序员编写不安全的代码,仍然需要审计和其他检查来查找那些以及其他漏洞。

图片

Move 的关键价值主张在于其类型化对象和类型安全类型安全不仅适用于程序内部,也适用于与外部代码或不可信源交互时。

Move 内置的另一个安全功能是字节码验证器。它确保智能合约的字节码是有效且安全可执行的。字节码验证器的设计是为了确保不会在链上执行创建假币、人为增加币值或复制/销毁现有币的恶意代码。

模块化设计

Move 允许将代码组织成模块,每个模块都有自己的命名空间和私有性规则,这使得代码更容易维护和复用。

Move 代码被组织成模块,每个模块类似于其他区块链上的单个智能合约。这种模块化设计在 Sui 中得到了强调,旨在促使开发者保持模块小巧且分布在不同文件中,同时坚持清晰的数据结构和代码规范。这样做既方便应用程序集成,也便于用户理解。

更高效安全的开发体验

对于 Web3 开发者来说,在 Move 和 Sui 上的开发体验更加高效且安全

需要注意的是,对于采用 Move 开发的 Web3 项目来说,要发挥 Move 的安全优势,就要让系统中的所有智能合约都必须始终如一地使用 Move。当所有合约都用 Move 编写时,就可以运行验证器并确保对代码和对象的有力假设。

例如 Bucket Protocol 正在 Sui 生态上构建一个 DeFi 项目,他们在对外展示系统架构及其之间的协作时,特别提到,如果他们用 Solidity 来编写这个项目,可能需要八个月的时间,但是用 Move 只用了两个月,而且他们对其安全性非常有信心。Move 这门语言的工作方式非常贴近他们头脑中对于项目组合的想法。

Sui 对于标准 Move 语言的创新探索

Sui Move 是从 Move 语言演变而来的,旨在更好地满足新型高性能区块链的需求,因此与标准 Move 语言具有一定差异。在标准 Move 语言的基础上,Sui 利用其安全性和灵活性,大幅提高吞吐量、减少最终性的延迟,并使 Move 编程更易于实践。

图片

Sui Move 编程语言与标准 Move 有很多比较明显的差异,包括:

  • Sui 使用自己的以对象为中心的全局存储

  • 地址表示对象标识

  • Sui 对象具有全局唯一标识符

  • Sui 具有模块初始化程序 (init)

  • Sui 入口点以对象引用作为输入

标准 Move 语言

Move 于 2020 年发布,目前在 Apache 2.0 开源许可下授权。它在 Aptos、StarCoin、0L、Rooch、Movement 和 Offshore 等网络中得到广泛应用。

标准 Move 基于 Rust 编程语言,比现有的区块链语言更通用,而其他编程语言通常与特定的区块链绑定。Move 语言创办者 Sam 的目标是创建 Web3 的 JavaScript,即一种跨平台语言,使开发人员能够在多个网络环境中应用他们的技能。

图片

Move 的主要关注点是智能合约,它包括用于资产和访问控制的类型和值表示,这是 DApp 开发人员编码时经常遇到的两个基本概念。Move 对类型的一等抽象这些概念使编程更安全、更高效。

从 Move 到 Sui Move

虽然 Move 语言是面向平台的,但它受到了以账户为中心的模型的限制。当 Sam 和他在 Mysten Labs 的团队着眼于构建 Sui 时,他们专注于更加通用的网络基础设施,而不是 Libra 项目中 Diem 区块链的有限范围。

图片

Sui Move 被设计为 Move 语言的一个分支,以更好地配合 Sui 的创新,比如其共识模型,其中最重要的区别在于它采用了面向对象的数据存储模型。Sui 网络通过将 Sui Move 作为其本地编程语言,使用 Sui Move 编写的 apps 利用 Sui 的共识机制,实现了令人印象深刻的交易性能。

去年,Sam 在一篇名为《为什么我们创建了 Sui Move》的文章中详细介绍了 Move 与 Sui Move 的区别,展示了 Sui Move 的特点和表现力。

🔗 查看文章详情:https://blog.sui.io/why-we-created-sui-move

通过这种专注于对象的方式,使得并行事务处理成为可能,这比只能进行串行处理的区块链有着更好的性能。在更高层次上,Sui 运行时可以直接确定独享对象与共享对象,并对前者进行即时验证,对后者应用共识验证。

开发者的角度来看,Sui 消除了在事务之前和之后需要进行大量有关资产归属的繁琐工作。原来的 Move 语言通过地址和类型名称对全局存储进行键控,而 Sui Move 使用对象 ID 来进行全局存储的键控。对于对象地位的重视,使得Sui Move 具有无限可能性,比如组合性,其中对象可以拥有其他对象。

踏上 Move 开发之旅

Move 和其他区块链语言深受加密传统的影响,更关注资产所有权,导致它们以账户为中心,而不是资产本身。Sui Move 分叉在创建和操作资产方面提供了更大的灵活性,为大众期待的各种强大程序和游戏打开了大门。

那么如何从标准 Move 语言开发迁移到 Sui Move 呢?采用原来 Move 的开发人员将在他们的工具箱中添加一种非常有用、可移植的语言。要进入 Sui Move 需要从对象的角度思考并学习一些新指令,但 Sui Move Analyzer 和 WELLDONE Code 插件等工具可以简化这一过程。

🛠️ Sui Move Analyzer 插件:https://zh.blog.sui.io/move-analyzer-tutorial/

🛠️ WELLDONE Code 插件:https://zh.blog.sui.io/remix-ide-welldone-code/

🔍 查看更多关于 Move 语言的开发详情:

📄 Move 开发者文档:https://docs-zh.sui-book.com/concepts/sui-move-concepts/

📄 Sui 开发者文档:https://docs.sui.io/guides/developer/sui-101

📄 基础开发教程:https://zh.blog.sui.io/encode-club-sui-series-1/

Let's Move Sui!

Let's Move Sui 是 Sui 生态推出的一个全新的交互式学习平台,通过 SuiFrens 帮助新手和经验丰富的开发者在 Sui 网络上进行构建。利用 Move 在 Sui 上的独特之处,该计划将会提供从基于对象的数据模型的基础知识到像可编程交易区块、可组合的 NFT 和 Kiosk 标准等强大工具

图片

Let's Move Sui 使学习 Move 编程语言变得直观、简单和互动,开发者将通过直接对源代码进行更改来了解 Move 在 Sui 上的工作原理。与此同时,开发者还将进行 SuiFrens 的操作,例如功能升级、SuiFrens 进化、将 SuiFrens 包装并打包,以及繁殖新的 SuiFrens 类型。Let's Move Sui 计划展示了 Sui 上的可组合性的力量,同时利用了开发者在 Sui 上可以访问的独特工具。

📚 加入 Let's Move Sui:https://letsmovesui.com/?ref=blog.sui.io

Move 开发课程和线下活动火热开启

了解 Sui Move 的优越性能和开发体验后,你是否也对学习 Move 语言跃跃欲试?Sui 生态和 TinTinLand 携手举办的「Move 开发训练营」或许是你开启 Sui 生态开发探索的第一步的最佳选择!

📑 免费入学:https://meggd.xetlk.com/s/g96Ad

图片

Move 开发训练营将带你抢先进入 Sui 生态开发实战,Sui 官方还将有多场线下活动陆续在杭州、成都、上海、深圳、珠海开展,请各位开发者保持期待。

图片

🔍 以下为「TinTin DESTINATION MOON」杭州站 Sui 生态线下活动详情。请感兴趣的伙伴们积极报名,共赴 Sui 生态发展的高光未来!现场还有 Web3 招聘墙,想在 Web3 行业深耕发展的朋友们请别错过海量工作机会!

活动主题

构建下一个 Web3 巅峰:Sui Overflow 全球黑客松燃魂启动!

活动时间

4 月 20 日(周六)13:00-18:00 UTC+8

活动地点

杭州市西湖区(具体地址报名后可获取)

报名方式

⭐️ 点击活动行链接,完成报名:https://hdxu.cn/G46z7

图片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024.4.28 机器学习周报

目录 引言 Abstract 文献阅读 1、题目 2、引言 3、创新点 4、总体流程 5、网络结构 5.1、损失函数 5.2、Confidence Maps 5.3、Part Affinity Fields(PAFs) 5.4、多人的PAFs 6、实验 7、结论 深度学习 yolov8实现目标检测和人体姿态估计 Yolov8网络结构 yaml…

基于深度学习的实时人脸检测与情绪分类

情绪分类 实时人脸检测与情绪分类 Kaggle Competion 数据集 fer2013 中的测试准确率为 66%CK数据集的检验准确率为99.87%情绪分类器模型预测从网络摄像头捕获的实时视频中的平均成本时间为 4~ 10ms 关键技术要点: 实时人脸检测:系统采用了前沿的人脸检…

案例-部门管理-新增

黑马程序员JavaWeb开发教程 文章目录 一、页面原型二、接口文档三开发1、controller2、service(1)service接口层(2)Service实现层 3、 mapper4、postman 优化 一、页面原型 二、接口文档 在这里插入图片描述 三开发 1、control…

2024年好用又便宜的云手机!哪款性价比高?

随着科技的飞速发展,云计算技术也在不断演进,而云手机作为其创新之一,已经开始在我们的生活中崭露头角。它通过将手机的硬件和软件功能移到云端,让用户能够借助强大的云计算资源完成各种任务。2024年,哪款云手机性价比…

运行django

确保app被注册 urls.py中编写url 视图对应关系 命令行启动 python manage.py runserver

“湘”约你我,“V”你而来!苏州金龙新V系客车闪耀星城

“湘”约你我、为你而来!4月24日,苏州金龙新V系智慧客车推介会走进星城长沙。来自湖南省内的160余位旅游客运行业协会及企业代表齐聚一堂,共同见证客车行业新质生产力标杆产品的无限魅力。 当前,湖南的旅游产业和道路运输业正处于…

每年首版次测试报告的要求有哪些?

每年首版次测试报告的要求可能因不同的地区、行业或产品而有所差异,但一般而言,它们通常遵循一些基本的标准和原则。以下是一些常见的首版次测试报告要求: 完整性:测试报告应包含所有必要的测试内容,包括但不限于测试…

意法半导体STM32F407VET6TR单片机优缺点、参数、应用和引脚封装

ST(意法半导体)的型号STM32F407VET6TR属于32位MCU微控制器,基于高性能的ArmCortex-M4 32位RISC核心,工作频率高达168MHz。单精度浮点单元(FPU)用于Cortex-M4核心,支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个…

1-内核开发环境ubuntu+virtualbox+mobaXterm搭建

内核开发环境 ubuntuvirtualboxmobaXterm搭建 目录 内核开发环境 ubuntuvirtualboxmobaXterm搭建 1.virtualbox 安装 2.ubuntu 安装 3.网络设置 4.虚拟机安装ssh 服务,更新ubuntu 源安装基本软件 5.mobaXterm 个人免费版本安装 6.总结 本课程教程从0-1开始教…

NineData即将亮相2024中国移动算力网络大会,创始人CEO叶正盛带来《生态软件加速数据库国产替代》主题演讲

2024年4月28-29日,NineData即将亮相2024中国移动算力网络大会,创始人&CEO叶正盛将在「云原生数据库专场」带来《生态软件加速数据库国产替代》主题演讲。届时将和众多院士专家、行业大咖、业界伙伴一起探讨,并帮助企业提升数据库研发协同…

进口透明可视耐腐蚀PFA进样管特氟龙圆底试管适配MC-ICP-MS

PFA进样管可适配Neptune plus多接收器等离子质谱仪(MC-ICP-MS),广泛应用于地球化学、核保障、环境科学、金属组学领域,在生物、物理、化学、材料等多个学科的交叉方向也有良好的应用前景。 外观半透明,便于观察管内情…

【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包

【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包 文章目录 【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包1.确保你已经安装了moveit2环境2.配置机械臂功能包Reference 环境信息: ubuntu 22.04ros2 humblemoveit2 1.确保你已经安装了…

《佩德罗·巴拉莫》炽热的科马拉土地上,游荡的亡魂诉说着一切!

《佩德罗巴拉莫》炽热的科马拉土地上,游荡的亡魂诉说着一切! 胡安鲁尔福(1917-1986),墨西哥作家,代表作有《佩德罗巴拉莫》《燃烧的原野》《金鸡》,和诺奥克塔维奥帕斯、卡洛斯弗恩特斯并称为墨…

Redisson - tryLock 函数参数分析

这里有三个参数: waitTime:等待时间leaseTime:超时施放时间TimeUnit:时间单位 等待时间 如果 ABC… 多个线程去抢夺一把锁,A 成功了,如果设置的是 -1,那么 BCD... 就不等待,直接返…

使用CNN实现新闻文本分类

一、实验目的: 理解卷积神经网络的基本概念和原理;了解卷积神经网络处理文本数据的基本方法;掌握卷积神经网络处理文本数据的实践方法,并实现新闻文本的分类任务。 实验要求: 使用Keras框架定义并训练卷积神经网络模…

防盗链在nginx中如何配置,简单演示403forbidden的效果

一、使用场景: 资源被其他网站无端盗用 服务器压力无端增加 二、实现方法 1.valid_referers指令可以检测被访问资源从哪个地址来 2.通过referer头字段判断 3.若为空,报403错误 nginx的准备工作: 可以看 虚拟机中使用LNMP模拟跨域并结合…

书籍推推荐之二--《生命的色彩》

史钧《生命的色彩》 在生活中,我们会注意到一个有趣的现象:每个人的头发颜色各不相同,有黑色、灰色、黄色、棕红色、银白色等,但就是没有绿色。对于生活在丛林中的早期人类来说,绿色的头发简直就是天然的迷彩服&#x…

基于arcpro3.0.2版的使用深度学习检测对象之椰子树

基于arcpro3.0.2版的使用深度学习检测对象之椰子树 GPU显卡Nivda 1080 训练模型图 (四)检测对象之椰子树 使用深度学习检测对象 打开 detect objects using deep learning,参数 输入栅格为要检测的影像 模型定位为上一步输出的.emd文件 cpu模式Max Overlap Ratio0.4 运行时间…

C++感受6-Hello World 交互版

变量、常量输入、输出、流getline() 函数读入整行输入Hello() 函数复习新定义函数 Input() 实现友好的人机交互还有 “痘痘” 为什么挤不到的分析…… 1. DRY 原则简介 上一节课,我们写了两版“问候”程序。第一版的最大问题是重复的内容比较多,每一次问…

今日arXiv最热大模型论文:大模型也来看球,还能判断是否犯规

在足球世界,裁判的哨声可谓“千金难买”,因为它能直接决定俱乐部的钱包是鼓是瘪。但球场变化莫测,非常考验裁判的水平。 2022年卡塔尔世界杯上,半自动越位识别技术(SAOT)闪亮登场,通过12台摄像…