译文/Translated:
今天我们很高兴宣布全新EOSIOV1.4.0版本的发布。我们同时也进行了一次EOSIO.CDT的重大更新,具体内容您可以在后续报道中看到。您可以参阅Github的版本说明,了解全新V1.4.0版本,并在EOSIO开发者门户找到相关文件记录。
我们正持续收集社区的反馈,了解平台构建应用的情况,并继续提升开发者在EOSIO上的开发体验。今后,我们将每个月的第二个星期二(月中)设定为EOSIO软件的更新日。
除了版本说明和文件内容,Block.one开发者关系团队与C++发展和市场联络团队一起,将提供简单易懂的概述,总结每个版本的特点和优势,以及对平台目标而言它们所承载的意义。
请继续阅读以下内容,了解EOSIO V1.4.0版本的内容,和EOSIO合约开发工具的重要更新。
在V1.2.0版本中,我们引进了重播和重新同步优化(#5130),以解决随着区块链发展,设立新节点和重播链所需时间持续增加的问题。基于此,V1.3.0版本中我们引入了性能更高的优化版本,名为值得信赖的制造者轻验证(#5631)
EOSIOV1.4.0版本亮点:
决定性的Snapshots(快照)(#5956)
为帮助新用户在EOSIO上起步,成为EOSIO开发人员,我们大力创建Snapshots(快照),并在建立新节点时使用它们。这将允许普通用户在数分钟内创立并运行EOSIO,而非花费数小时时间等待区块链数据下载并设立自己的节点。下载区块链snapshot需要一个可验证的渠道,例如获得上周或几小时前发布的区块链版本。从这一点来讲,同步到网络便能为您更新至最新版本。
为了支持这一功能,我们引入了确定性的整合散列,它可以确保两个节点拥有完全一样的状态。这让新节点的验证跟从值得信赖的公共节点获得字符并与其他本地副本进行比较一样简单,无论你是否使用snapshot,它都有效。
自从EOSIO发布以来(它是目前为止最快、可扩展性最好的区块链平台之一),Block.one一直致力于区块链技术的大规模应用。简化开发者体验。为新的开发者降低平台使用的门槛一直使我们平台优化的主要目的。最近发布的版本追寻这一宗旨,帮助提高区块链效率,以获得更加可执行的应用开发,并简化EOSIO开发者社区的使用。
持续的性能提升
除了提升开发者在EOSIO上的体验之外,我们持之以恒,努力让EOSIO继续作为一项高效且快速的区块链技术而存在。上个月我们发布的V1.3版本中,其中引进了wabt(发音为“瓦比特”),一套用于WebAssenbly的工具,用以替代现行Binaryen读取器,同时,我们见证了相当大的性能提升。实施后,部分区块制作者在运行主要EOSIO公共区块链上减少了50% CPU资源的使用。
基于Checktime的Kernel Timer(计时器)(#5799)
在此版本中,我们优化了节点监控合约执行时间的方式。此前,节点需要频繁地Poll操作系统,以确定合约是否因为超越资源配置而被中断。现在,使用了计时器,这样操作系统异步通知节点,是时候中断合约执行。在裸金属硬件中,这一优化举动为性能带来了超越10%的提升。在某些云服务器配置上,优化效果甚至更高。
EOSIO.CDT—合约开发工具升级
上周早些时候,我们也发布了EOSIO合约开发工具的升级版——您可以在我们最初发布报告这里阅读相关信息。EOSIO.CDT为EOSIO智能合约开发提供支持,使用Gnu&C++11样式属性为生成ABI标记C++合约,创造一个更灵活、可靠的方式宣告(declare)智能合约结构和关联数据结构。
上周发布的版本中有许多实质的变化,我们在这里进行了详细描述。其中一个主要变化就是为支持我们所需要的二进制发布,从EOSIO.CDT中删除了核心符号(core symbol)的概念。这意味着符号、asset和其他与之相关的类型/功能发生了巨大更改。我们知道这些改变可能引起混乱,我们决定一次性尽可能多地添加,以便让这样的混乱只发生一次。请在“阅读”中仔细查看V1.2.x和V1.3.X版本的区别。
其他发布:
可在官方版本说明中查看此版本的完整发布列表。
保持连接
若您有兴趣提供反馈,并与我们的团队更加密切合作,共同改善EOSIO,请向我们开发者团队发送邮件: developers@block.one。您也可以在EOSIO开发者门户订阅我们的邮件列表,获得更多更新信息。我们很高兴将继续为EOSIO的开发者们完善软件的使用,我们将持续为最具可扩展性的区块链开发奠定坚实的基础。
原文/Original:
Today we are pleased to announce the next version of EOSIO, V1.4.0. We have also addressed a major update to the EOSIO.CDT, which you can read more about below. For EOSIO V1.4.0 you can view the detailed release notes hereon Github, and find documentation on the EOSIO Developer Portal.
We are continually collecting feedback on how the community is building applications on the platform and are consistently improving the developer experience on EOSIO. Going forward, we will be targeting the second Tuesday of each month (in the middle of the month) for an update to the EOSIO software.
In addition to release notes and documentation, the Block.one Developer Relations team — in coordination with the C++ Development and Marketing & Communications teams — will provide easy-to-digest summaries of the features and benefits of each release and their implications on our goals for the platform.
Continue reading below to learn more about EOSIO V1.4.0 and major updates to the EOSIO Contract Development Toolkit.
Highlights in EOSIO V1.4.0:
Deterministic Snapshots (#5956)
In the EOSIO V1.2.0 release, we introduced Replay and Resync optimizations (#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 introduced more performance enhancements called Trusted Producer Light Validation (#5631).
To complete the journey for new users on-boarding as EOSIO developers, we’ve released the ability to create Snapshots and use them when starting a new node. This will allow regular users to get up and running with EOSIO in just a few minutes instead of spending hours waiting to download the blockchain data and set up their node. Downloading a snapshot of the blockchain offers a verifiable path to having a version of the blockchain from last week or even a few hours ago, for example. From this point, syncing up to the network will bring you up to date with the latest version.
To compliment this feature, we’ve introduce a deterministic integrity hash which can prove that two nodes have exactly the same state. This makes verifying new nodes as easy as fetching a string from a trusted public node and comparing it to the local copy and works whether you use snapshots or not.
Since the release of EOSIO, one of the fastest and most scalable blockchain platforms to date, Block.one has been focused on driving mass adoption for blockchain technology. Simplifying the developer experience and lowering barriers for new developers to adopt the platform remains our primary goal for improvements. Recent releases have following this theme by helping to improve the efficiency of the chain for more performant application development and ease of use for the EOSIO developer community.
Ongoing Performance Improvements
In addition to enhancements to the developer experience on EOSIO, we are making continual progress towards EOSIO staying one of the fastest and most efficient blockchain technologies. In our EOSIO V1.3 release last month we introduced wabt (pronounced “wabbit”), a suite of tools for WebAssembly to replace the existing binaryen interpreter, and saw considerable performance increases. Some block producers, after implementation, were utilizing 50% less CPU resources to run the main EOSIO public blockchain.
Kernel Timer-Based Checktime (#5799)
In this release we’ve optimized how contract execution time is monitored by nodeos. Previously nodeos would frequently poll the operating system to determine if a contract should be interrupted due to exceeding its resource allocation. Now, a timer is used so the operating system asynchronously notifies nodeos it is time to interrupt contract execution. On bare metal hardware this improvement typically provides a performance increase over 10%. On certain cloud server configurations the improvement is even higher.
EOSIO.CDT—Contract Development Toolkit Update
Earlier last week we also released an update to the EOSIO Contract Development Toolkit — you can read more about it here in our initial announcement. EOSIO.CDT provides support for EOSIO smart contract development, utilizing Gnu & C++ 11 style attributes to mark C++ contracts for ABI generation, creating a more flexible and reliable way of declaring your smart contract structure and associated data structures.
There were a number of substantial changes made in last week’s release that we wanted to outline in detail here. One of the main changes is that to support binary releases we needed to remove the concept of a core symbol from EOSIO.CDT. This meant drastic changes to symbol, asset and other types/functions that were connected to them. Since we knew these changes would be disruptive, we decided to add as many as we could in one go, so that the disruption should only occur once. Please be sure to read the Differences between Version 1.2.x and Version 1.3.x section of the readme.
Additional Issues:
A full list of issues for this release can be found in the Official Release Notes.
Stay Connected
If you are interested in providing feedback and working more closely with our team to improve EOSIO for the community, you can send our developer relations team an email at developers@block.one. You can also hear about future updates by subscribing to our mailing list on the EOSIO Developer Portal. We are excited to be continually improving the usability of the software for EOSIO developers as we continue laying a foundation for the mass adoption of blockchain technology.
原文链接/Original URL: