Rocket Protocol虚拟机技术(二):建立标准类库_ROC:PRO

上一篇文章《RocketProtocol虚拟机技术:优化并兼容EVM》分析了EVM设计框架的缺陷以及RocketProtocol的解决方案:在兼容Solidity语言的同时,采用基于中继链技术的跨链资产解决方案,支持已有的以太坊资产在RocketProtocol中流转。根据RocketProtocol团队的规划,中继链技术将2021年第三季度落地。

前文还提到EVM缺乏标准库支持,我们将在本文中聊一聊标准库的问题。

库。标准库的设计哲学多种多样,在不同的编程语言中,标准库的表现形式都不一样。例如:

C标准库是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作系统服务等任务的宏、类型和函数的集合;

Tether诉讼法官将于10月3日举行听证会讨论将Roche Freedman从案件中撤出的请求:9月9日消息,据外媒报道,负责监督针对 Tether 的集体诉讼的联邦法官已安排一场听证会,来讨论有关各方提出的将陷入困境的 Roche Freedman 律师事务所从案件中撤出的请求。听证会时间为10月3日。

8月底,Roche Freedman创始合伙人KyleRoche推出几起集体诉讼,包括针对Tether和Bitfinex、Tron、BitMEX和Binance提起的集体诉讼。此前Roche Freedman的律所创始合伙人Kyle Roche因Ava Labs相关爆料视频引发热议。(TheBlock)[2022/9/9 13:18:13]

C标准库是一组C模板类,它提供了通用的编程数据结构和函数,如链表、堆、数组、算法、迭代器和任何其他能够被想到的C组件,C标准库包含了C标准库;

NBA芝加哥公牛队将发布NFT系列“The Aurochs”:9月8日消息,NBA芝加哥公牛队将发布由23位艺术家创作的队标NFT系列“The Aurochs”,设计的队标将不会取代现有的队标,但将体现对不同品牌的设想。该系列NFT将于9月22日在Coinbase平台上进行拍卖,起拍价为0.2ETH。拍卖所得40%将分配给艺术家,40%分配给芝加哥公牛队,10%分配给NBA,最后的10%将捐献给芝加哥旨在为年轻人提供教育机会的非营利组织After School Matters。(CoinDesk)[2022/9/9 13:18:09]

Java标准库的常用表达是Java类库,Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。?

传Roche Freedman律所除Kyle Roche外的其他律师也持有大量AVAX:金色财经报道,Debevoise&Plimpton律所律师Elliott Greenfield透露,Kyle Roche可能不是CryptoLeaks视频爆料中唯一获得Ava Labs股权和AVAX代币的律师,Roche Freedman律所中,除Kyle Roche之外,包括 Devin “Vevel” Freedman、Amos Friedland和Edward Normand等律师可能都持有大量AVAX代币,截止发稿时,相关人士均未回复置评请求。据此前报道,Cryptoleaks在其官网的视频爆料称Avalanche开发公司Ava Labs在几年前和美国律师事务 Roche Freedman达成一项合作协议,内容是Ava Labs向Roche Freedman支付大量Ava Labs股权和AVAX(现价值数亿美元),Roche Freedman则针对 Binance、Solana Labs和Dfinity Foundation等竞争对手发起恶意诉讼。(Blockworks)[2022/9/5 13:08:30]

Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。

Roc-A-Fella Records就Jay-Z的NFT提起诉讼:金色财经报道,嘻哈唱片公司Roc-A-Fella正在就与Jay-Z相关的NFT起诉其联合创始人之一Damon Dash。根据上周在联邦法院提起的诉讼,Damon Dash计划在名为SuperFarm的在线市场上出售与Jay-Z的首张专辑“合理怀疑”相关的NFT。这张专辑于1996年在Roc-A-Fella发行。Roc-A-Fella表示,虽然每位联合创始人都拥有公司三分之一的股份,但Dash对Roc-A-Fella的任何唱片(包括“合理怀疑”)没有个人权利,而且他不能出售他所不拥有的。[2021/6/22 23:55:08]

标准库的重要性

C的设计者BjarneStroustrup认为:标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。标准库是一门编程语言的基础,基于任何语言的应用开发,都要尽可能地基于标准库开发。首先它可以降低开发成本,不必再浪费人力和时间去进行重新开发;其次,无论是由编程语言规格直接说明还是由编程社区非正式惯例决定,标准库都是经过严格验证的,它的正确性和准确性有保证;最关键的一点,使用标准库开发的代码,其执行效率是行业认可的最高水平。

EVM缺少标准库支持

在《RocketProtocol虚拟机技术》提到,REVM在兼容EVM的同时,也继承了EVM的Solidity语言。在具有编写程序简单、兼容性强、非常高效这些优点以外,REVM也同时具有Solidity与生俱来的缺陷:缺少标准库支持。

Solidity语言没有自己的标准代码库,它本身内置的只有一些非常简单的函数,开发者只能自己不停地对简单函数进行组合复用,例如字符串拼接、切割、查找等都需要开发者自己去实现,使得开发者开发复杂应用的难度较大。这种方式带来的后果是开发者需要关注很多非本身业务的零碎细节而不是开发应用本身,无端增加开发成本。同时,用这种方式编写出的代码,会比根据拥有健全标准库的虚拟机开发出来的代码更长。代码越长,上传到区块链环境中时产生的GAS费就越高,运行代码所需的步骤也会越多,增加虚拟机运算代码的时长,执行效率低下的同时也不能保证最终结果的正确性和准确性。有的开发者为了节省GAS费,会直接从一些开源软件中调用代码或者写出不是特别周全的代码,导致代码本身的安全性得不到保证,加重合约代码审计的难度。

REVM建立了标准类库

RocketProtocol技术团队认为,优秀的虚拟机除了要在架构设计上展现大方优雅的特点,也需要具有易用性和可操作性。因此,REVM在兼容EVM的基础上,建立了自己的标准类库——以太坊原有的智能合约不仅可以直接迁移到RocketProtocol上使用,无需重新编译,同时也能通过REVM添加的智能合约内置函数来将降低开发门槛。

除此之外,REVM还引入了RocketProtocol自定义的关键字,支持用一条语句完成跨链、NFT协议等功能,开发者在智能合约中使用这些关键字,即可享受到RocketProtocol带来的独有的可组合性与可操作性。对于使用了这些关键字的合约,必须要通过REVM的编译,才能生成可用的字节码。

针对用户编程,RocketProtocol目前已经添加了更直观的NFT操作函数。下一阶段,RocketProtocol也将在奖池、空投、DeFi等层面添加相应的内置函数,以提高智能合约的编写效率。

功能拓展方面,由于RocketProtocol的中继链是基于智能合约功能实现和拓展的,所以也将添加中继相关的智能合约内置函数,以扩展基于REVM智能合约的功能。

总结

DeFi和NFT近两年相继爆发,各类上层复杂应用的层出不穷对基础设施的要求会越来越高。标准库的建立并非一朝一夕就可完成,它需要随着开发者和用户真实需求的增加而不断完善,甚至需要随着行业的不断拓展而开发出更优于标准库的机制来提高开发者者效率和支持复杂应用落地。虚拟机的优化方案也绝非仅限于完善标准库,如何解决缺乏成熟工具集这个问题,将是我们下一个需要讨论的重点。

关于RocketProtocol

RocketProtocol是由MixMarvel孵化的面向未来虚拟世界的区块链基础设施。目前RocketProtocol已升级至2.0版本。作为可以实现EVM体系多链合约互操作的高性能链群,RocketProtocol2.0融合了跨链协议、NFT协议以及EVM协议,并在此基础上进行了扩展,使得开发者能够自由的创建适配各种场景的复杂去中心化应用,同时给予用户近似互联网应用般的体验。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:31ms0-0:670ms