译文/Translated:
为了提供更好的社区支持,我们在发布最新更新的同时,还对先前的版本进行修补,我们不断修正错误、提供稳定性升级。
本文概括了EOSIO、EOSJS、eosio.contracts和其它开发者资源最近的的一些更新情况。
EOSIO
EOSIO v2.0.3
2020年2月14日,我们发布了EOSIO v2.0.0。这个版本EOSIO的升级关注安全性、稳定性和其它修补。
Security安全性:
- 给base58解码增加期限
Stability稳定性:
- 和EOSIO v1.8.12一样,初始化所有net_plugin类成员变量
其它变化:
- 和EOSIO v1.8.12一样,引入方法跳过从genesis区块开始同步,而是从状态测试中重新开始。
- 和EOSIO v1.8.12一样,用Github Actions替换Travis,使同时进行的工作数量翻三倍
- 和EOSIO v1.8.12一样,去掉了一个不必要的安装
- 把脚本的macOS版本检查调整到10.14,EOSIO将不再支持旧版本
EOSIO v1.8.12
2020年2月14日,我们还发布了EOSIO v1.8.12。这个版本EOSIO的升级关注稳定性和其它修补。
稳定性:
- 初始化所有net_plugin类成员变量
其它变化:
EOSIO v2.0.2
2020年2月7日,我们发布了EOSIO v2.0.2。这次更新关注巩固安全补丁、稳定性修补和其它更改。
安全性:
- 限制允许的区块签名类型
稳定性:
- 当套接字在异步回调之前关闭的情况下,修改内部状态为重置握手,避免net_plugin产生任何混淆
- 现在用Post而不是dispatch来避免strand中的可重入调度
- 最大连续拒绝区块的数量从3个变更到13个,从而实现丢弃延迟到达的区块功能
- 修补只读模式的guards条件
- 对偶然的节点中止提供可能的修复方法
- 初始模块生产开始时间出现延迟,一致性模块若因此提供不准确的计算,则还原该一致性模块
其他变化:
- 和EOSIO v1.8.11一样,引入两个机制—cpu-effort-percent(CPU利用百分比) 和last-block-cpu-effort-percent(上一个区块的CPU利用百分比) —限制可以产生区块的窗口
- 减少对签名的数据限制,推荐利用eosjs v20生成合适的签名,因为其它库可能被节点拒绝
- 和EOSIO v1.8.11一样,取消了对节点是否在创建区块的不必要检查
- 和EOSIO v1.8.11一样,在只读模式中引入简化的on_incoming_block检查
- 和EOSIO v1.8.11一样,增加水印,防止任何代表生成相同或之前的slot
- 引入以下存档变化
- 从shell代码的codeblocks中去掉$
- 在合适的名称后加入反引号
- 修复错字和句法错误
- 从等待进一步更新的state-history-plugin(状态历史插件)中去掉过期的javascript例子和协议文件
- 按需增加官方测试网URL
- 修改只读状态,该状态下允许传入交易,从而为超级节点间的p2p接力节点中的交互以及新增的警告日志信息提供便利
- 删除一条重复的日志信息
EOSIO v1.8.11
2020年2月7日,我们还发布了EOSIO v1.8.11。本次更新新增了一些补丁,进一步促进稳定性和其它修补。
稳定性:
- 变更进程优先级,async_write优先级从低变更为高,从而减少网路堵塞时的延迟,设置同步区块为低优先级,防止点同步导致节点过载
- 对只读/不可更改模式做了修补
- 1.8.x从2.0.x点同步导致一些无法连接区块,对这些区块的处理添加逻辑
其它变化:
- 引入两个机制—cpu-effort-percent(CPU利用百分比) 和last-block-cpu-effort-percent(上一个区块的CPU利用百分比) —限制可以产生区块的窗口
- 取消了对节点是否在创建区块的不必要检查
- 在只读模式中引入简化的on_incoming_block检查
- 增加水印,防止任何代表生成相同或之前的slot
EOSIO v2.0.1
2020年1月28日,我们发布了EOSIO最新的版本v2.0.1。这次升级关注安全性、稳定性和其它升级。
安全性:
- 和EOSIO v1.8.10一样,对先前的区块验证提升安全性
- 和EOSIO v1.8.10一样,在区块验证的时候改进了对延时交易的处理
- 和EOSIO v1.8.10一样,减少了网络插件日志握手规模限制
稳定性:
- 去掉因为大量链接导致问题的区块ID通知功能
- 变更报告方式,当验证区块产生了不同的区块ID的时候进行报告
- 和EOSIO v1.8.10一样,调整了对超时区块的处理,让这些区块更容易被丢弃,也就提高了整体的生产稳定性
- 和EOSIO v1.8.10一样,解决了退出问题崩溃的情况
Other changes其他变化:
- 和EOSIO v1.8.10一样,更新了FC存储库避免记录日志时崩溃的情况
- 更新了README.md,修补无效的档案链接
- 发现Boost安装时的一个问题
- 错误操作之后,把FC还原到合适的位置
- 添加一个pipeline文件用来测试构建脚本
- 和EOSIO v1.8.10一样,fork(代码仓库克隆)到EOSIO/anka-buildkite-plugin 仓库,减少表层攻击
- 和EOSIO v1.8.10一样,增加逻辑防止LRT pipeline自动触发
EOSIO v1.8.10
2020年1月28日,我们还发布了EOSIO v1.8.10。本次升级关注安全性、稳定性和其它变化
安全性 提升:
- 对先前的区块验证提升安全性
- 在区块验证的时候改进了对延时交易的处理
- 减少了网络插件日志握手规模限制
稳定性提升:
其他变化:
- 修复当OPENSSL_ROOT_DIR未设置时,在测试器Cmake中发现openssl的情况
- 为Anka命令添加更好的睡眠Pre-execute,并修复了boost
- Fork到EOSIO/anka-buildkite-plugin存储库减少表层攻击
- 允许ABI中可变类型variant的aliases命令
- 增加逻辑防止LRT pipeline自动触发
合约
eosio.contracts v1.9.1
2020年2月3日,我们发布了eosio.contracts v1.9.1。这次发布修复了一些漏洞并进行了一些更改。
系统合约:
其它变化:
依存关系:
- 请注意,本次升级中,eosio.system和其中包含的eosio.bios合约只能被部署在EOSIO区块链上,并需要激活WTMSIG_BLOCK_SIGNATURES共识升级。如果从新的区块链开始,那么eosio.bios合约的旧版本(v1.7.x or v1.8.x)可能会被用来激活这个协议功能。
EOSJS
EOSJS v21.0.0-rc2
2020年2月7日的另一项发布是EOS JS v21.0.0候补版。该候补版关注加强elliptic库、引入新命令和生产环境的最小化文件,以及其它的变化。
Elliptic库:
- 引入helper功能来执行签名、验证和恢复关键签名的操作
命令:
- 废弃table_key矩阵,用index_position代替
- 添加yarn build-web命令,它能在dist_web中实现调试和最小化文件
最小化文件:
- 推荐在生产环境中使用最小化文件而不是调试文件,减少终端用户的加载时间
其他变化:
- 从EOSIO/develop-version-bump合并pull request #649,锁定版本
- 从PrivateKey/PublicKey/Signature类中添加功能,用来处理格式转换和调用elliptical函数
- 去掉了未来更新本来会有的Travis CI配置
- 在R和S签名中引入零填充,这样它们能利用合理数量的字节产生签名
- 修复了一个关于无效符号的问题
- 去掉了某些警告和相关文件
- 增加IMPORTANT.md并在README.md文件中改变了相关部分
- 调整yarn build-web创建的最小化和调试文件,使其变更为新的最小化文件习惯
- 去除现在已经废弃的table_key命令的使用
- 升级文档,更合理地说明这个新的doc版本
其它更新
元素战争(Elemental Battles)
此外,2020年2月7日,我们还把元素战争的存储库更新到eosio-card-game-repo v1.1.10,元素战争是我们的教程和卡牌游戏
Tropical Stay App v1.1.0
我们也不断探索新颖的方法改进EOSIO上的账户安全。2020年1月18日,我们发布了Tropical Stay App to v1.1.0。这个Tropical Stay示例应用为开发者指导如何把WebAuthn支持的多因素验证和EOSIO WEB应用集成起来。WebAuthn让应用能够利用硬件设备验证用户凭证。Tropical Stay最新的这个版本提供了一些范例,让开发者知道怎么利用WebAuthn启动硬件验证器,如YubiKey或有TouchID指纹识别或FaceID面部识别的iOS设备,来验证账户签名。
联系我们
我们致力于不断改进EOSIO软件、工具和资源。如果您想给我们反馈、更紧密地和我们团队一起为开发者改进EOSIO,您可以给我们的开发者关系小组发送邮件developers@block.one
实时获取未来宣布的事项,您还可以在EOSIO网站订阅我们的邮件。我们很高兴在我们不断为区块链技术的大规模应用奠定基础的同时,能够定期为EOSIO开发者改进软件的实用性。
. . .
重要通知:所有提供的材料都受此重要通知的约束,您必须自行熟悉此间条款。该通知包含与我们软件、出版物、商标、第三方资源以及前瞻性声明相关的信息、限制和约束内容。通过访问我们的材料,您接收并同意此通知的条款。
原文/Original:
In the interest of community support we continue to patch earlier builds with various bug fixes and stability updates in parallel with the releases of our latest builds.
This article contains a summary of the latest updates for EOSIO, EOSJS, eosio.contracts, and other developer resources.
EOSIO
EOSIO v2.0.3
On February 14, 2020 we released EOSIO v2.0.3. Updates introduced in this version of EOSIO focused on security, stability, and other fixes.
Security:
- Added deadline to base58 encoding
Stability:
- As with EOSIO v1.8.12, initialized all net_plugin class member variables
Other changes:
- As with EOSIO v1.8.12, introduced method to skip sync from genesis and resume from state tests
- As with EOSIO v1.8.12, replaced Travis with Github Actions to triple the amount of concurrent jobs
- As with EOSIO v1.8.12, removed an unnecessary install
- Bumped script’s macOS version check to 10.14 as EOSIO will no longer build on older versions
EOSIO v1.8.12
On February 14, 2020 we also released EOSIO v1.8.12. Updates introduced in this version focused on stability and other changes.
Stability:
- Initialized all net_plugin class member variables
Other changes:
- Introduced method to skip sync from genesis and resume from state tests
- Replaced Travis with Github Actions to triple the amount of concurrent jobs
- Removed an unnecessary install
EOSIO v2.0.2
On February 7, 2020, we released EOSIO v2.0.2. This update focuses on consolidated security patches, stability fixes, and other changes.
Security:
- Restricted allowed block signature types
Stability:
- Modified internal state to reset handshake when a socket is closed prior to asynchronous callback to alleviate net_plugin of any confusion
- Now using post instead of dispatch to avoid reentrant calls in strand
- Changed definition of max consecutive rejected blocks from 3 to 13, accounting for the drop late blocks feature
- Fixed guards for read-only modes
- Introduced possible fix for occasional node stall
- Reverted consensus module that provided incorrect calculation for delayed starting time on production of initial block
Other changes:
- As with EOSIO v1.8.11, introduced two mechanisms, cpu-effort-percent and last-block-cpu-effort-percent, to limit the window in which blocks may be produced
- Reduced data limits on signatures, and introduced recommendation to utilize eosjs v20 to generate proper signatures as other libraries may be rejected by nodes
- As with EOSIO v1.8.11, removed unneeded check to see if a node is building a block
- As with EOSIO v1.8.11, introduced a simplified on_incoming_block check to read-only mode
- As with EOSIO v1.8.11, expanded watermark to prevent any delegate from ever producing the same slot or earlier
- Introduced the following documentation changes:
- Removed of $ from shell codeblocks
- Added backticks on proper names
- Fixed typos, syntax errors
- Removed outdated javascript example and protocol document from state history plugin pending further updates
- Added Official Testnet URL as needed
- Modified read only state to allow incoming transactions, facilitating interaction among peer to peer relay nodes between block producers and added warning log message
- Removed a duplicate log message
EOSIO v1.8.11
On February 7, 2020 we also released EOSIO v1.8.11. This update introduced patches to promote additional stability and other fixes.
Stability:
- Changed process priority from low to high for async_write to reduce latency under heavy strain, and scheduled sending sync blocks at low priority to prevent peer sync from overloading a node
- Introduced fixes for ro/immutable modes
- Added logic for handling unlinkable blocks resulting from 1.8.x syncing from 2.0.x peers
Other changes:
- Introduced two mechanisms, cpu-effort-percent and last-block-cpu-effort-percent, to limit the window in which blocks may be produced
- Removed unneeded check to see if a node is building a block
- Introduced a simplified on_incoming_block check to read-only mode
- Expanded watermark to prevent any delegate from ever producing the same slot or earlier
EOSIO v2.0.1
On January 28, 2020 we released the latest build of EOSIO to v2.0.1. This update focused on security, stability, and other improvements.
Security:
- As with EOSIO v1.8.10, enhanced security with earlier block validation
- As with EOSIO v1.8.10, improved handling of deferred transactions during block confirmation
- As with EOSIO v1.8.10, reduced the net plugin logging handshake size limits
Stability:
- Removed block id notify feature that caused issues with large numbers of connections
- Changed reports to indicate when a validation block produces a different block id
- As with EOSIO v1.8.10, introduced changes to the handling of late blocks that makes them more likely to be dropped, improving production stability overall
- As with EOSIO v1.8.10, resolved a crash on exit error
Other changes:
- As with EOSIO v1.8.10, updated the FC repository to eliminate a crash in logging
- Updated README.md to fix broken documentation links
- Identified an issue with Boost installation
- Reverted FC to its proper place following a mistaken commit
- Added a pipeline file for testing build script
- As with EOSIO v1.8.10, forked to the EOSIO/anka-buildkite-plugin repo to reduce attack surfaces
- As with EOSIO v1.8.10, added logic to prevent LRT pipelines from self triggering
EOSIO v1.8.10
On January 28, 2020 we also released EOSIO v1.8.10. This update focused on security, stability, and other changes.
Security Improvements:
- Enhanced security with earlier block validation
- Improved handling of deferred transactions during block confirmation
- Reduced the net plugin logging handshake size limits
Stability Improvements:
- Updated the FC repository to eliminate a crash in logging
- Introduced changes to the handling of late blocks that makes them more likely to be dropped, improving production stability overall
- Resolved a crash on exit error
Other changes:
- Fixed discovery of openssl in tester cmake when OPENSSL_ROOT_DIR is not set
- Added better sleep pre-execute for Anka commands + boost fix
- Forked to the EOSIO/anka-buildkite-plugin repo to reduce attack surfaces
- Allowed for aliases of variants in ABI
- Added logic to prevent LRT pipelines from self triggering
Contracts
eosio.contracts v1.9.1
On February 3, 2020 we released eosio.contracts v1.9.1. With this update, a number of bugfixes and changes were introduced.
System Contract:
- We identified and patched a bug in the producer scheduling logic in v1.9.0 of the system contract that, when triggered, include a pause in payments to block producers, block producer changes, and the closing of name auction. A simple update to v1.9.1 resolves this issue.
Other changes:
- Introduced logic to retry downloading the CDT binary, updated built/test commands to support the new logic, and improved logging output
- Switched out TravisCI in favor of Github Actions
- Cleaned details in annotations to be compatible with mdjavadoc generator
Dependencies:
- It is important to note that, In this update, the eosio.system and eosio.bios contracts contained within can only be deployed on an EOSIO blockchain following the activation of the WTMSIG_BLOCK_SIGNATURES consensus upgrade. If starting a fresh blockchain, older versions of the eosio.bios contract (v1.7.x or v1.8.x) may be used to activate this protocol feature.
EOSJS
EOSJS v21.0.0-rc2
Another February 7, 2020 release is the EOS JS v21.0.0 release candidate. This release candidate focuses on enhancing the elliptic library, introduces new commands as well as the use of minified files for production environments, and other changes.
Elliptic library:
- Introduced helper functions to perform actions that sign, verify, and recovery key signatures
Commands:
- Deprecated table_key parameter and replaced with index_position
- Added yarn build-web command that creates both debug and minified files in dist_web
Minified files:
- Introduced recommendation to use minified files as opposed to debug files in production environments to reduce load times on end user
Other changes:
- Merged pull request #649 from EOSIO/develop-version-bump to lock versions
- Added functions from eosjs-ecc to PrivateKey/PublicKey/Signature classes to handle format conversions and call elliptical functions
- Removed the Travis CI configuration pending future updates
- Introduced zero padding to r and s signatures so they will generate signatures with the proper amount of bytes
- Fixed an issue with an invalid symbol
- Removed certain warnings and related documentation
- Added IMPORTANT.md and changed related section in the README.md document
- Adjusted minified and debug files created by yarn build-web to follow new minified file convention
- Removed usages of the now deprecated table_key command
- Updated documentation to properly reference the new doc version
Other Updates
Elemental Battles
In addition, on February 7, 2020 we updated the repository for Elemental Battles, an educational tutorial and card game, to eosio-card-game-repo v1.1.10.
Tropical Stay App v1.1.0
We continue to explore innovative approaches to improve account security on EOSIO. On January 18, 2020, we released Tropical Stay App to v1.1.0. The Tropical Stay Example Application provides a guideline for developers on how to integrate multi factor authentication powered by WebAuthn with EOSIO web applications. WebAuthn allows applications to authenticate user credentials by way of hardware devices. This most recent version of Tropical Stay provides examples on how to set up a hardware authenticator, such as aYubiKey or an iOS device with TouchID or FaceID, with WebAuthn to validate account signatures.
Stay Connected
We are committed to the ongoing improvement of EOSIO software, tools, and resources. If you would like to offer feedback and work more closely with our team to improve EOSIO for developers, you can send our developer relations team an email at developers@block.one.
To keep up-to-date with future announcements, you can also subscribe to our mailing list on the EOSIO website. We are excited to be regularly improving the usability of the software for EOSIO developers as we continue to lay a foundation for the mass adoption of blockchain technology.
. . .
Important Note: All material is provided subject to this important notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources and forward-looking statements. By accessing any of our material, you accept and agree to the terms of the notice.
原文链接/Original URL: