木星链 木星链
Ctrl+D收藏木星链
首页 > Bitcoin > 正文

MOV:Facebook Move编程语言入门:易于开发吗?

作者:

时间:1900/1/1 0:00:00

Facebook区块链项目Libra的其中一个技术亮点,就是它使用了一种称为Move的新编程语言,那么这种语言是怎样的呢,今天我们就从其官方的概述资料入手,近距离了解这种新的语言。

以下内容为译文:

Move是一种新的编程语言,它为Libra区块链提供了一个安全和可编程的基础。Libra区块链中的账户是任意数量Move资源及Move模块的容器。提交至Libra区块链的每个事务,都使用以Move语言编写的事务脚本对其逻辑进行编码。

这个事务脚本可调用模块声明的过程来更新区块链的全局状态。

在本指南的第一部分内容中,我们将概括性地介绍Move语言的主要特点:

Move事务脚本启用可编程事务;

Move模块允许组合型智能合约;

Move语言具有第一类资源;

CryptoQuant CEO:可能很快会看到Facebook等机构宣布购买BTC:CryptoQuant首席执行官Ki Young Ju发推称,我们可能很快会看到一些机构宣布购买BTC,比如Facebook。自今年2月以来,BTC价格在4.8万至6万美元区间时,多个机构已经囤积BTC。大约15.4万比特币从Coinbase流入多个冷钱包。

据此前报道,5月11日,Facebook创始人Mark Zuckerberg在Facebook上写道:“我的山羊们:Max和比特币。”[2021/5/11 21:48:53]

对于求知欲强的读者来说,Move编程语言的技术论文包含了更多关于该语言的细节信息:

在本指南的第二部分,我们将向你展示如何在Move中间代码优化的环境下编写自己的应用。初始的测试网并不支持自定义Move程序,但这些功能可供你在本地试用。

英国首个合规加密货币对冲基金Prime Factor Capital或将关闭:据市场消息,英国首个合规加密货币对冲基金Prime Factor Capital将关闭。(金十)[2020/7/22]

一、Move语言的主要特点

1、1Move事务脚本启用可编程事务

每个Libra事务都包含一个Move事务脚本,该脚本对验证者应代表客户端执行的逻辑进行编码;

事务脚本通过调用一个或多个Move模块的过程,与Libra区块链全局存储中发布的Move资源进行交互;

事务脚本不会存储在全局状态当中,因此其它事务脚本无法调用它,这是一个一次性程序;

我们在编写事务脚本时,提供了几个事务脚本示例;

1、2Move模块允许组合型智能合约

Move模块定义了更新Libra区块链全局状态的规则。Move模块与其它区块链中的智能合约一样都是解决相同的问题。模块声明了可在用户账户下发布的资源类型。Libra区块链中的每个账户都是任意数量资源和模块的容器。

声音 | 潘石屹:统一货币只有数字货币 Facebook难成功但探索有意义:11月1日晚,SOHO中国董事长潘石屹发布短片,称目前物流、信息流、市场都全球化了,但货币还没有统一。没有统一货币就等于没有统一度量衡,汇率处在急剧的波动中,全社会投入在货币投机上的资金和时间,远远比人们创造真正社会财富的资金和时间多得多。

潘石屹称,统一货币是解决世界经济冲突的关键,其唯一可能是数字货币。虽然Facebook数字货币注定很难成功,但艰难探索很有意义。[2019/11/2]

模块声明结构类型以及过程;

Move模块的过程,定义了创建、访问以及销毁其声明类型的规则。

模块是可重用的。一个模块中声明的结构类型,可以使用另一个模块中声明的结构类型,并且一个模块中声明的过程可以调用另一个模块中声明的公共过程。模块可以调用在其他Move模块中声明的过程。事务脚本可以调用已发布模块的任何公共过程。

声音 | 知情人士:Facebook一直在与Coinbase和Gemini就其即将推出的加密产品进行谈判:据英国《金融时报》报道,两名知情人士称,Facebook也一直在与Coinbase和Gemini交易所进行谈判,希望为其用户提供第三方、受监管的平台,以存储和交换资产。消息人士称,该公司还一直在与芝加哥主要高频交易公司Jump和DRW讨论市场创造和流动性问题。早间报道,Facebook计划在2020年推出GlobalCoin加密货币。[2019/5/24]

最终,Libra用户将能在自己的帐户下发布模块。

1、3Move语言具有第一类资源

Move的主要功能是定义自定义资源类型。资源类型用于编码具有丰富可编程性的安全数字资产。

资源是语言中的普通值,它们可存储为数据结构,作为参数传递给procedure,从procedure返回,等等;

声音 | 币安周玮:Facebook区块链计划的目标或是为了阻止其他人进入其系统:据雅虎财经报道,针对Facebook的区块链计划,币安首席财务官周玮表示,“我怀疑这将是一个封闭的Facebook生态系统,他们的目标是阻止其他人进入其系统,而不是向其他人开放其系统。”Facebook在三月份公开宣布已经成立区块链研究小组,有60多名工作人员在研究这项技术。

据此前报道,纽约时报记者Nathaniel Popper发推表示,“有消息来源透露,Facebook目前正在寻求让风险投资公司投资于其加密货币项目。听说他们的目标很大,高达10亿美元。”[2019/4/26]

Move类型系统为资源提供了特殊的安全保障。Move资源不能复制、重复使用或丢弃。资源类型只能由定义该类型的模块创建或销毁。这些保障是由Move虚拟机通过bytecode验证静态地强制执行的。Move虚拟机将拒绝运行尚未通过bytecode检验器的代码;

Libra币作为一种资源类型,其名称为LibraCoin

此事务脚本存在着一个不幸的问题:如果地址接收方没有账户,它将失败。我们将通过修改脚本来解决这个问题,为接收方创建一个账户。

//Asmallvariantofthepeer-peerpaymentexamplethatcreatesafresh//accountifonedoesnotalreadyexist

LibraAccount

让我们看一个更复杂的例子。在这个例子中,我们将使用事务脚本为多个接收方进行支付。

//Multiplepayeeexample

好了,到这里,我们就结束了事务脚本部分的展示,有关更多例子,包括初始测试网中支持的事务脚本,请参阅

libra/language/stdlib/transaction_scripts2、3编写模块

现在,我们把注意力集中到编写自己的Move模块上,而不仅仅是重用现有的LibraAccount和LibraCoin模块。考虑这样一个情况:Bob将来某个时候将在地址a创建一个帐户,Alice想要“指定”Bob一笔资金,以便他可以在账户创建后将其存入自己的帐户。但她也希望,如果Bob一直不创建一个账户,她就能收回这笔资金。

为了解决Alice的这个问题,我们将编写一个专用的EarmarkedLibraCoin模块,它会:

声明一个新的资源类型EarmarkedLibraCoin

//Allowthetransactionsendertoclaimacointhatwasearmarkedforher

//Allowthecreatoroftheearmarkedcointoreclaimit

//ExtracttheLibracoinfromitswrapperandreturnittothecaller

}

Alice可以为Bob创建一种预先安排的币,方法是创建一个事务脚本,调用Bob的地址a的create,以及她所拥有的LibraCoin.T。一旦地址a被创建,Bob就可以通过从a发送一个事务来领取这笔币,这会调用claim_for_recipient,将结果传递给unwrap,并将返回的LibraCoin存储在他希望的任何地方。如果Bob在创建a的过程中花费的时间太长,而Alice想要收回她的资金,那么Alice可以使用claim_for_creator,然后unwrap。

观察型读者可能已经注意到,本模块中的代码对LibraCoin.T的内部结构不可知。它可以很容易地使用泛型编程编写。我们目前正致力于为Move增加这种参量多态性。

2、4未来开发者体验

在不久的将来,MoveIR将稳定下来,编译和验证程序将变得更加对用户友好。此外,IR源的位置信息将被跟踪,然后传递给验证者,以使错误消息更容易排错。然而,IR将继续作为测试Movebytecode的工具。它是作为底层bytecode的一种语义透明的表示。

为了允许有效的测试,IR编译器需生成错误的代码,这些代码将被bytecode验证者拒绝,或在编译器的运行时失败。

而对用户友好的源语言则是另一种选择,它应该拒绝编译在管道的后续步骤中将失败的代码。

未来,我们将拥有更高层次的Move源语言。这种源语言将被设计成安全而容易地表达常见的Move惯用语和编程模式。由于Movebytecode是一种新语言,而Libra区块链是一种新的编程环境,我们对应支持的习惯用法和模式的理解,仍在不断发展。目前,源语言还处于开发的早期阶段,我们还没有为它准备好发布时间表。

标签:MOVMOVELIBLIBRAIMOVmove币最新消息LIBERAlibra币今日行情

Bitcoin热门资讯
NAN:不甘落后Facebook, 谷歌发布新开源加密工具

某些研究需要敏感的数据集,比如学校营养午餐与学生健康之间的关系、企业薪资股权激励的有效性等,这些有价值的数据通常会涉及隐私信息.

1900/1/1 0:00:00
INE:日本出牌!揭秘日韩最大社交平台加密支付体系“三步走战略”

昨日,彭博社消息显示,日本最大的社交平台公司Line即将获得在日本推出加密货币交易所的许可证。同一消息源表示,该交易所将被称为BitMax,将允许Line在日本的8000万用户购买和出售加密货币.

1900/1/1 0:00:00
区块链:链上破案, 区块链可解司法数据博弈困局丨锌声

文:孙子栋编辑:王巧随着区块链技术的不断落地,采用纯数学方法建立分布式节点间的信任关系的应用和领域也越来越多.

1900/1/1 0:00:00
COM:DeFi 是以太坊的杀手锏吗?一项针对 Compound 的案例研究

在以太坊诞生四年后,人们依然不知道智能合约最好的用例是什么。ICO的出现为融资方式带来了革命性的改变,引爆了一轮牛市,并在2018年1月达到高峰.

1900/1/1 0:00:00
加密货币:盘点跟链圈人聊天不得不知的58个术语 先藏后看

加密圈的技术令人眼花缭乱,仅仅是那些术语,也常常让人难以理解,成为了小白学习区块链的第一只拦路虎.

1900/1/1 0:00:00
ALGO:第二轮拍卖一定涨?业内如何看待Algorand荷兰拍卖

6月19日晚上6点,关注度仅次于Polkadot的区块链明星项目Algorand开始了第一次ALGO代币荷兰式拍卖,在短短4小时的时间里,2500万枚ALGO代币被投资者一抢而空.

1900/1/1 0:00:00