上一篇文章《RocketProtocol虚拟机技术:优化并兼容EVM》分析了EVM设计框架的缺陷以及RocketProtocol的解决方案:在兼容Solidity语言的同时,采用基于中继链技术的跨链资产解决方案,支持已有的以太坊资产在RocketProtocol中流转。根据RocketProtocol团队的规划,中继链技术将2021年第三季度落地。
前文还提到EVM缺乏标准库支持,我们将在本文中聊一聊标准库的问题。
库。标准库的设计哲学多种多样,在不同的编程语言中,标准库的表现形式都不一样。例如:
C标准库是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作系统服务等任务的宏、类型和函数的集合;
Optimism将于0点进行Bedrock升级,主网将停机2-4小时:6月6日消息,Optimism官方表示,将于UTC时间6月6日16:00(北京时间7日0点)进行主网Bedrock升级,并发布了升级指引。届时,Op主网将停机2-4小时。[2023/6/6 21:18:07]
C标准库是一组C模板类,它提供了通用的编程数据结构和函数,如链表、堆、数组、算法、迭代器和任何其他能够被想到的C组件,C标准库包含了C标准库;
Java标准库的常用表达是Java类库,Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。?
Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
万事达卡与EurocoinPay合作推出了一张由比特币和加密货币支持的借记卡:金色财经报道,万事达卡与EurocoinPay合作推出了一张由比特币和加密货币支持的借记卡,该卡可在全球9000万个商户地点使用。[2022/9/24 7:17:43]
标准库的重要性
C的设计者BjarneStroustrup认为:标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。标准库是一门编程语言的基础,基于任何语言的应用开发,都要尽可能地基于标准库开发。首先它可以降低开发成本,不必再浪费人力和时间去进行重新开发;其次,无论是由编程语言规格直接说明还是由编程社区非正式惯例决定,标准库都是经过严格验证的,它的正确性和准确性有保证;最关键的一点,使用标准库开发的代码,其执行效率是行业认可的最高水平。
BM:将引入RocksDB扩展EOSIO数据库容量:针对“在不久的将来你对EOSIO有什么大的更新吗?2020年的大计划是什么?”的提问,BM(DanLarimer)回复称,针对EOSIO,未来我们有很多事情要做。现在,实际上,如果你关注我们的Github,你会发现我们有很多令人兴奋的新更新。我们将通过引入RocksDB来扩展数据库容量,这将使更多的用户可以使用它,并且我们将通过带有返回值的操作和关于WASM-QL的一些其他创新使区块链数据更易于查询。所以我们真的在努力让区块链更容易访问,数据更容易访问,开发人员更容易使用工具,因为我们已经解决流程和事务处理的扩展问题,每秒处理5000到10000个事务。展望未来,我们的目标是解决数据大小方面的问题,同时让开发人员更容易使用API,这样他们就可以更有表现力,更快地构建其应用程序。(U.Today)[2020/3/27]
EVM缺少标准库支持
动态 | 乐天和Techrock合作开发防伪区块链解决方案:据coinspeaker报道,日本电子商务巨头乐天(Rakuten)与基于区块链的供应链和电子商务公司Techrock合作开发防伪区块链解决方案,旨在将可验证的正宗日本商品带入中国市场。[2019/4/19]
在《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协议,并在此基础上进行了扩展,使得开发者能够自由的创建适配各种场景的复杂去中心化应用,同时给予用户近似互联网应用般的体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。