EOS 1.3.0 版本发布说明

96
苗政委
2018.09.24 21:31 字数 2743

今天我们很高兴宣布下一个版本的EOSIO,V1.3.0。您可以在Github上查看详细的发行说明,并在EOSIO Developer Portal上查找文档。

我们不断收集有关社区如何在平台上构建应用程序的反馈,并不断改进开发人员在EOSIO上的体验。展望未来,我们将针对每个月的第二个星期二更新EOSIO软件。

除了发行说明和文档之外,Block.one开发人员关系团队 - 与C ++开发和公共通信团队协作 - 将提供易于理解的每个版本的功能和优点摘要及其对我们的目标的影响。该平台。

请继续阅读以下内容,了解有关EOSIO V1.3.0的更多信息。

实施可信赖的生产者Light验证

In the EOSIO V1.2.0 release, we introduced Replay and Resync (#5130) to address the issue that as the blockchain grows, the time needed to set up a new node and replay the chain will also continue to rise. Building on that, in V1.3.0, we have included more performance enhancements called Trusted Producer Light Validation (#5631).

在EOSIO V1.2.0版本中,我们引入了重放和重新同步(#5130)来解决随着区块链的增长,设置新节点和重放链所需的时间也将继续增加的问题。在此基础上,在V1.3.0中,我们提供了更多性能增强功能,称为Trusted Producer Light Validation(#5631)。

In conversations with the community, we have been discussing the concept of a “trusted producer.” This would allow for blocks from specific Producer(s) to be considered “trusted” and only need light-verification. For example, Producers would have the ability to trust their own blocks and designate them as “light” drastically reducing propagation delays across their own internal networks of API and P2P nodes for blocks they produce in order to increase the overall performance of the network.

在与社区的对话中,我们一直在讨论“可信赖的生产者”的概念。这将允许来自特定生产者的块被视为“可信任”并且仅需要Light验证。例如,生产者将能够信任他们自己的块并将它们指定为“Light”,从而大大减少其自身内部网络API和P2P节点的传播延迟,以便为其生成的块提高网络的整体性能。

Overall, we expect to see a significant performance increase from this for Producers as they continue to optimize their own infrastructure to run the EOSIO blockchain. Note that light validation is intended to be used on the interior of a single block producer’s network of nodes, it is not intended to be used on P2P nodes connecting to other block producers since blocks traversing the P2P net between producers must continue to be fully validated in order to maintain integrity of the blockchain.

总体而言,我们预计生产者将继续优化自己的基础设施以运行EOSIO区块链,从而显着提高性能。请注意,Light验证旨在用于单个块生成器的节点网络的内部,它不打算用于连接到其他块生成器的P2P节点,因为在生成器之间遍历P2P网络的块必须继续完全验证为了保持区块链的完整性。

Meet wabt, the new WASM backend (#5416)

We have replaced the existing binaryen interpreter with wabt (pronounced “wabbit”), a suite of tools for WebAssembly that is considerably faster than the current default binaryen interpreter. This means that every microsecond spent processing transactions on an EOSIO-based blockchain can be more productive. Additionally, we expect that the replay time for existing chains can be cut in half. For more information on wabt you can review the project directly on github here. 

我们已经用wabt(发音为“wabbit”)替换了现有的binaryen解释器,这是一套WebAssembly工具,它比当前默认的binaryen解释器快得多。 这意味着在基于EOSIO的区块链上每微秒花费的处理事务可以提高工作效率。 此外,我们预计现有链条的重播时间可减少一半。 有关wabt的更多信息,您可以在此处直接在github上查看项目。       The best part is, as this is all backend mechanics powering the EOSIO platform, no additional development complexity is needed to see these benefits. New developers will be able to more easily set up a node, lowering the barrier to entry to start using the EOSIO blockchain.

最好的部分是,因为这是为EOSIO平台提供动力的所有后端机制,所以不需要额外的开发复杂性来实现这些优势。 新开发人员将能够更轻松地设置节点,降低进入门槛以开始使用EOSIO区块链。

EOSIO Contract Development Toolkit (EOSIO.CDT)

A core part of writing applications for EOSIO is writing C++ smart contracts compiled to WASM. Previously, we recommended using the eosiocpp utility, which was included as a part of the EOSIO build. You may have seen that there is a deprecation notice posted to the issue here and is displayed to developers when using eosiocpp. Please note that eosiocpp will be gradually deprecated across future releases. It will not be removed immediately, but it is strongly recommended to begin transitioning.

为EOSIO编写应用程序的核心部分是编写编译为WASM的C ++智能合约。 以前,我们建议使用eosiocpp实用程序,该实用程序作为EOSIO构建的一部分包含在内。 您可能已经看到此处发布了一个弃用通知,并在使用eosiocpp时向开发人员显示。 请注意,eosiocpp将在以后的版本中逐渐弃用。 它不会立即删除,但强烈建议您开始转换。

That said, with the release of EOSIO V1.3.0, we are excited to announce a new toolkit we will start recommending for compiling smart contracts and generating ABI files — the EOSIO Contract Development Toolkit (EOSIO.CDT). EOSIO.CDT provides support for Gnu & C++ 11 style creating a more reliant way of declaring your smart contract structure and associated data structures.

T也就是说,随着EOSIO V1.3.0的发布,我们很高兴地宣布一个新工具包,我们将开始推荐编译智能合约和生成ABI文件--EOSIO合同开发工具包(EOSIO.CDT)。 EOSIO.CDT为Gnu和C ++ 11风格提供支持,创建了一种更加依赖于声明智能合约结构和相关数据结构的方式。

This has been available on github in experimentation mode for some time, but has reached enough stability where it will start having its own release cycle independent of EOSIO core. At the moment, to start using EOSIO.CDT it must be compiled from the source found here, but stay tuned for coming releases where we plan to include the precompiled binaries.

这已经在github上以实验模式提供了一段时间,但已达到足够的稳定性,它将开始拥有独立于EOSIO核心的自己的发布周期。 目前,要开始使用EOSIO.CDT,必须从此处找到的源代码编译,但请继续关注我们计划包含预编译二进制文件的即将发布的版本。

Full List of 1.3.0 Release Issues: 1.3.0发布问题的完整列表:

Add block info & ram delta to action_trace (#5339)

将块信息和ram delta添加到action_trace(#5339)

Add UNIX socket HTTP server to keosd (#5425)

将UNIX套接字HTTP服务器添加到keosd(#5425)

Transaction trace logging for visibility of transactions on P2P (#5725)

事务跟踪日志记录,用于P2P上事务的可见性(#5725)

Fix typo in cleos help text (#5639)

修复拼贴帮助文本中的拼写错误(#5639)

Doxygen fixes for copy of eosiolib (#5603)

Doxygen 用于复制eosiolib(#5603)

Unit test fixes (#5634)

单元测试修复(#5634

Fix wording for Inline Action Depth Reached (#5635)

Support iteration over scopes & tables in cleos (#5486)

支持在cleos中对范围和表进行迭代(#5486)

Remove unused variable (#5582)

删除未使用的变量(#5582)

Spelling and whitespace corrections in transaction.h (#5580)

transaction.h中的拼写和空白更正(#5580)

Inverted check for flag for no auto keosd (#5574)

no auto keosd反向检查标志(#5574)

Fix Spurious Long Running Test Failures (#5558)

Launcher tests (#5476)

Launcher测试(#5476)

Print separators properly with cleos get account (#5506)

使用cleos get帐户正确打印分隔符(#5506)

cleos support for delayed transaction(#5492)

cleos对延迟交易的支持(#5492)

Remove old exchange contract (#5477)

删除旧的exchange合同(#5477)

New test to ensure require_recipient to generator is ignored (#5446)

将忽略确保require_recipient到generator的新测试(#5446)

Chain api: get code hash (#5434)

Chain api:获取代码哈希(#5434)

add cleos set contract/code/abi — clear (#5442)

添加cleos set contract / code / abi - clear(#5442)

Correct cleos get table help text from ‘contract’ to ‘account’ (#5448)

cleos正确从“合同”到“帐户”获取表帮助文档(#5448)

Stop creating anonymous volumes during image build (#5444)

在镜像构建期间停止创建匿名卷(#5444)

Docker Improvements (#5452)

Docker改进(#5452)

Build secp256k1 as a submodule (#5478)

将secp256k1构建为子模块(#5478)

Updates to fc:

更新到fc:

- A handful of fc changes to support unix sockets for HTTP RPC (EOSIO/fc#12)

- Optimize sha256 comparison (EOSIO/fc#16)

- 优化sha256比较(EOSIO / fc#16)

- Change various asserts in fc code to use FC_ASSERT (EOSIO/fc#19)

- 更改fc代码中的各种断言以使用FC_ASSERT(EOSIO / fc#19)

- Fix uninitialized data bug in fc cryptographic hash classes when constructing from a hex string (EOSIO/fc#21)

-从十六进制字符串构造时修复fc加密哈希类中的未初始化数据错误(EOSIO / fc#21)

Fixed framework casing for case sensitive MacOS builds (#5386)

用于区分大小写的MacOS版本的build(#5386)

Improve error for malformed signature (#5305)

改善格式错误签名的错误(#5305)

use config::producers_account_name instead of N(eosio.prods) (#5277)

使用config :: producer_account_name而不是N(eosio.prods)(#5277)

Add new get_raw_abi RPC to chain API (#5375)

将新的get_raw_abi RPC添加到链API(#5375)

Support for ABI version 1.1 in abi_serializer: added variants and binary extensions; major version number in ABI is now enforced (#5652, #5673)

在abi_serializer中支持ABI 1.1版:添加了变体和二进制扩展;现在强制执行A​​BI中的主要版本号(#5652,#5673)

Fixed bugs in abi_serializer (#5680)

修复了abi_serializer中的错误(#5680)

When clearing state DB, erase contents of the state directory but not the directory itself (#5696)

清除状态DB时,删除状态目录的内容,但不删除目录本身(#5696)

Add optional — pay-ram-to-open flag for the cleos transfer command to prepend an eosio.token::open action before the eosio.token::transfer action (#5581)

为cleos transfer命令添加可选 - pay-ram-to-open标志,以在eosio.token :: transfer操作之前添加eosio.token :: open操作(#5581)

get_account RPC in chain API now tries to determine the core symbol from the installed system contract rather than relying on the build configuration parameter (#5704)

get_account链中的RPC现在尝试从已安装的系统契约中确定核心符号,而不是依赖于构建配置参数(#5704)

Improvements to cleos get account sub-command: robust against mismatch of core symbol between API node and cleos; now also prints account creation time in output (#5704)

对cleos的改进得到了帐户子命令:强大的API节点和cleos之间的核心符号不匹配;现在还在输出中打印帐户创建时间(#5704)

Proper matching of transaction ID prefix within get_transaction RPC of the history_plugin (#5723)

在history_plugin的get_transaction RPC中正确匹配事务ID前缀(#5723)

avoid plugin through irreversible_block signal change block before apply_block (#5611)

在apply_block之前避免插入不可逆的触发信号更改块(#5611)

日记本