上一篇文章《RocketProtocol虚拟机技术:优化并兼容EVM》分析了EVM设计框架的缺陷以及RocketProtocol的解决方案:在兼容Solidity语言的同时,采用基于中继链技术的跨链资产解决方案,支持已有的以太坊资产在RocketProtocol中流转。根据RocketProtocol团队的规划,中继链技术将2021年第三季度落地。
前文还提到EVM缺乏标准库支持,我们将在本文中聊一聊标准库的问题。
库。标准库的设计哲学多种多样,在不同的编程语言中,标准库的表现形式都不一样。例如:
C标准库是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作系统服务等任务的宏、类型和函数的集合;
IRS指控加密货币项目创始人Bruno Brock逃税:美国国税局(IRS)已就两项逃税罪指控了加密货币项目创始人Amir Bruno Elmaani(又名 Bruno Brock)。
据悉,Elmaani创建了名为Oyster Pearl的区块链协议,从2017年其Pearl(PRL)的首次代币发行中赚了几百万美元。这些资金据称将用于购买在线数据存储,推动Oyster协议的发展。但随后,Elmaani伪造了2017年的纳税申报表,并未能在2018年提交纳税申报表,而是将数百万美元收入囊中。(Coindesk)[2020/12/10 14:49:23]
C标准库是一组C模板类,它提供了通用的编程数据结构和函数,如链表、堆、数组、算法、迭代器和任何其他能够被想到的C组件,C标准库包含了C标准库;
动态 | 加密交易所Kraken聘请Pierre Rochard推广比特币:据Coingape消息,加密交易所Kraken已聘请比特币咨询公司Bitcoin Advisory创始人Pierre Rochard以推广比特币。据悉,Pierre Rochard在Kraken将专注于比特币教育和开源开发,将帮助Kraken及其用户学习比特币知识,同时从创新开源项目中受益。[2019/10/5]
Java标准库的常用表达是Java类库,Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。?
Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
声音 | Pierre Rochard: BTC的超通缩导致了现在的危机:比特币分析师,软件工程师 Pierre Rochard在 Twitter上表示:通常在货币贬值危机中,我建议央行收紧货币政策。但这场 BTC危机有一个明显的原因:BTC在两年半内从200美元上涨到20000美元,在30个月里有两次大规模的超通缩。[2018/12/7]
标准库的重要性
C的设计者BjarneStroustrup认为:标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。标准库是一门编程语言的基础,基于任何语言的应用开发,都要尽可能地基于标准库开发。首先它可以降低开发成本,不必再浪费人力和时间去进行重新开发;其次,无论是由编程语言规格直接说明还是由编程社区非正式惯例决定,标准库都是经过严格验证的,它的正确性和准确性有保证;最关键的一点,使用标准库开发的代码,其执行效率是行业认可的最高水平。
动态 | RockTree Lex (Lex) 宣布向美国监管部门提交重要报告:近日,美国国会和证券委员会收到了一份重要报告,《政府监管区块链数字货币行业参照标准指南》(拟定)。
这份报告是首次涉及Utility Token话题,由来自知名区块链领域服务公司 Lex的董事长欧阳默博士参与的全球数字资产委员会和各国区块链行业的知名专家团拟定并提交。RockTree Lex 作为来自亚洲的唯一组织参与了该指南的制订。该报告将成为美国国会、证监会等相关机构定义Utility Token的重要参考依据。
Lex 是一个为区块链项目提供法律合规、全球化发展、国际交易指导的专业服务平台。在北京、纽约等地设有代表处。[2018/8/1]
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协议,并在此基础上进行了扩展,使得开发者能够自由的创建适配各种场景的复杂去中心化应用,同时给予用户近似互联网应用般的体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。