Sam Blackshear谈Move语言的创新

Sui上的Move编程语言融合了三项基本创新:面向对象的数据模型、可编程交易区块和动态字段。Mysten Labs的联合创始人兼首席技术官Sam Blackshear在五年前创建了Move,这是一种专门为在区块链上编写智能合约而设计的语言。这三项在Sui上的创新提升了Move的潜力。

https://youtu.be/PoI2z4mSUqs

视频内容

编程语言并不像自然语言那样包罗万象。它们不会处理所有事情,而是专门针对某一种任务,并且非常擅长完成这项任务。之所以需要专门的语言,是因为这些任务在传统编程语言中不受支持。

Move在Sui上有三个独特的区别性特征。第一个是面向对象的数据模型,对象是Move中的基本构建块,它就像是一个大型的对象数据库。Move针对的任务类型是稀缺对象的编程。这些对象具有保守性质,比如不能意外丢弃、不能复制,并且具有强所有权转移。在Sui上,你可以轻松地获得所有这些特性。例如,定义一个对象就像定义一个结构体一样简单。它有一些字段,有一个全局唯一的ID,可以从Move代码内部引用它。前端的ID在对象跨账户移动和随时间变化时保持不变,它为你提供了一种始终引用它的方法。这不是程序员需要手动完成的事情,每个对象都会免费获得一个这样的ID。我们从Libra项目出来后所做的第一个改变就是增加了这个面向对象的数据模型。

第二个我认为非常有趣的特性是可编程交易区块。当你有一个交易时,它会调用一个Move函数,这就是它的全部功能。而可编程交易区块让你不仅仅调用一个函数,而是可以先调用一个函数,然后再调用另一个函数。你可以将交易区块中前面部分的对象传递到后面的函数中,这让你可以在前端即时进行组合。这可能是Sui开发者最喜欢的特性,因为它不再局限于一次只能调用一个函数。

第三个主要区别特性是动态字段。使用Move对象时,你声明一组字段、静态类型,可以对其进行写操作和更新。而动态字段则允许你在Move对象中即时添加额外的数据。你可能发布了一个对象,然后稍后决定要为其添加一个开始时未预见到的字段,而无需重写旧代码或迁移旧对象数据。你可以以原始创建者未曾预料到的方式混合和匹配对象,从而创造出非常令人愉快的体验。对于游戏开发者来说,动态字段是最具吸引力的特性之一。假设你有一个游戏角色,他们的物品栏由各种异构类型的对象组成。你可以表示为,英雄角色是一个对象,他们的剑是另一个对象,并通过动态字段连接到英雄角色,表示“这是我手里拿着的东西”。如果他们有一双靴子,则通过另一个动态字段表示“这是我脚上的东西”。你不必提前知道需要哪些东西,具有很大的灵活性来进行混合和匹配。Sui的开发者结合这些特性做出了许多令人印象深刻的东西,赋予了系统更多的丰富性和功能。

Move的持续开发提高了其效率和开发者体验。

现在就迁移到Move 2024吧!


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网|英文Twitter|中文Twitter|Discord|英文电报群|中文电报群

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

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

相关文章

JavaScript对象的声明

JS声明对象的语法 1 通过new Object()直接创建对象2 通过 { }形式创建对象 1 通过new Object()直接创建对象 代码 var person new Object(); // 给对象添加属性并赋值 person.name"张小明"; person.age10; person.foods["苹果","橘子","香…

C语言之父和Linux之父谁的C语言更好?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!C语言之父丹尼斯里奇(Dennis Ri…

Google IO 2024有哪些看点呢?

有了 24 小时前 OpenAI 用 GPT-4o 带来的炸场之后,今年的 Google I/O 还未开始,似乎就被架在了一个相当尴尬的地位,即使每个人都知道 Google 将发布足够多的新 AI 内容,但有了 GPT-4o 的珠玉在前,即使是 Google 也不得…

malloc_consolidate

此文章用于详细介绍malloc_consolidate。 众所周知,fastbin一般是不能合并,但在malloc_consolidate中是个例外。 1.触发机制 首先构造这样的堆块结构 一个0x40的堆块在fastbin中,一个0x110的堆块在unbin中 随后我们尝试分配一个0x300的堆…

【Day3:JAVA运算符、方法的介绍】

目录 1、运算符1.1 赋值运算符1.2 比较运算符1.3 逻辑运算符1.3.1 逻辑运算符概述1.3.2 逻辑运算符分类1.3.3 短路的逻辑运算符 1.4 三元运算符1.5 运算符优先级 2、方法2.1 方法介绍2.2 方法的定义和调用格式2.2.1 方法的调用2.2.2 带参数方法的调用2.2.3 带返回值方法的调用2…

【Uniapp】简易封装提示框showToast/showModal

组件 // 封装提示框 export const showModal (content, showCancel false, title "提示") > {return new Promise((resolve, reject) > {uni.showModal({title: title,content: content,showCancel: showCancel,success: (res) > {resolve(res);},fail:…

Ubuntu 下使用 Scons 交叉编译嘉楠堪智 CanMV K230 大小核 Coremark 程序

在 Ubuntu 下使用 SCons 进行交叉编译嘉楠堪智 CanMV K230 大小核(不同的玄铁 C908 核心)的 C 程序,以 Coremark 程序为例,顺便测试一下大小核和编译器的性能。 2024年3月14日,嘉楠科技宣布推出了全球首款支持 RISC-V…

中国历史朝代顺序表(全)

三皇五帝始,尧舜禹相传; 夏商与西周,东周分两段; 春秋和战国,一统秦两汉; 三分魏蜀吴,二晋前后沿; 南北朝并立,隋唐五代传; 宋元明清后,皇朝…

秋招算法复习——5/15——三数之和

文章目录 问题描述思路分析实现代码分析与总结 问题描述 思路分析 三个之和为零,即a b c 0 ,将这个拆解为b c -a ,那就变成了两数之和问题。两重指针的模版来解决。 虽然列表中存在重复的数字,但是结果不允许存在重复的组合…

从开发板导出根文件系统并修改(Ubuntu)

前面提到过基于ubuntu-base去构建根文件系统基于Ubuntu-base构建根文件系统-CSDN博客,但是有时候我们并不需要重头开始,可以基于现有的根文件系统做调整。又或者我们直接在出厂的系统上去搭建好自己的运行环境并且编译出自己想要的程序,现在要…

SWAT模型高阶应用暨SWAT模型无资料地区建模、不确定分析及气候、土地利用变化对水资源与面源污染影响分析

原文链接:SWAT模型高阶应用暨SWAT模型无资料地区建模、不确定分析及气候、土地利用变化对水资源与面源污染影响分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247604401&idx4&snd2d39846dce07bee765c820de1cf92f3&chksmfa821956cdf5904…

如何通过汽车制造供应商协同平台,提高供应链的效率与稳定性?

汽车制造供应商协同是指在汽车制造过程中,整车制造商与其零部件供应商之间建立的一种紧密合作的关系。这种协同关系旨在优化整个供应链的效率,降低成本,提高产品质量,加快创新速度,并最终提升整个汽车产业的竞争力。以…