BitShares Core Release 2.0.180612 新版本发布

This is a protocol upgrade release. All nodes should upgrade before 2018-07-19 14:00:00 UTC.

Detailed info and binaries for download: https://github.com/bitshares/bitshares-core/releases/tag/2.0.180612

Note: in the previous release (2.0.180425) we fixed a serious bug.

  • If you're upgrading from 2.0.180425 to 2.0.180612, you don't need to do anything special;
  • if you're upgrading from a release earlier than 2.0.180425 to 2.0.180612, please check release notes of 2.0.180425 to see if you need to perform additional steps.

Consensus changes

API changes

  • extensions field of call_order_update_operation changed from an array to an object, which affects all related API's E.G. get_block, get_account_history, get_relative_account_history and etc. Due to this, old version of cli_wallet won't be compatible with new API nodes when that operation would occur in result.
  • [Issue #862, PR #872] Improved pagination of list_assets node API
  • [Issue #863, PR #871] Node get_ticker API now returns time stamp of latest block instead of server time
  • [Issue #811, PR #861] Added get_full_account command/API to cli_wallet

Other changes

  • [FC PR #36] Support Boost 1.64-1.65

  • [FC PR #43] Fixed a memory leak issue in TCP socket destruction

  • [FC PR #44] Fixed Diffie-Hellman shared key computation (related to memo encryption)

  • [Issue #727, PR #880] Added stack trace printing when node crashes (only for boost 1.65)

  • [Issue #878, PR #927] Made number of I/O threads configurable (can be manual or auto)

  • [Issue #805, PR #840 / #919 / #937] Improved logging level and messages; added logging options about log-rotation

  • [Issue #837, PR #848 / #839] Added cli_wallet to Docker

  • [PR #938] Fixed an issue that may cause the node to store incorrect block ID to disk when switching forks

  • [Issue #582, PR #813] Fixed macOS witness node crash issue when being used as an API server

  • [Issue #776, PR #816 / #955] Fixed missing notification to RPC clients when changes occurred on some types of objects

  • [Issue #888, PR #954] Fixed an integer overflow issue when checking whether a price feed has expired

  • [Issue #864, PR #865] Fixed a cli_wallet transaction signing issue when creating proposals with transaction builder

  • [Issue #859, PR #801 / #817] Fixed macOS and Ninja build errors introduced in last release

  • [Issue #136, PR #928] Fixed an asset supply calculation error in test case

  • [Issue #943, PR #869 / #945] Improved a few assertion error messages

  • [PR #850] Removed unused asset cache from cli_wallet

  • [PR #918] Fixed in-code documentation for set_desired_witness_and_committee_member_count command/API in cli_wallet

  • [PR #804] Refactored node.cpp and application.cpp for easier testing

  • [PR #851 / #853 / #854 / #855] Fixed several compiler warnings

Contributors


BTS 2.0.180612 新版本已发布。

这是一个协议升级(硬分叉)版本,请所有节点在 2018年7月19日(周四)北京时间晚上22:00前完成升级。

下载地址: https://github.com/bitshares/bitshares-core/releases/tag/2.0.180612

由于有数据变化,升级会自动 replay 。

【注意】前一个版本 2.0.180425 修复了一个账户历史相关的重要问题,主要影响对接,请注意处理以免造成资产损失。详见
@abit/bitshares-core-release-2-0-180425

  • 从 2.0.180425 升级到 2.0.180612 不再需要特殊处理;
  • 从低于 2.0.180425 的版本可以直接升级到 2.0.180612 ,但需要参照 上述链接中的方法,自行判断是否需要进行历史对接数据处理。

本次更新内容

测试讨论帖

https://bitsharestalk.org/index.php?topic=26504.0
https://bitsharestalk.org/index.php?topic=26427.0

硬分叉部分

【BSIP26】如果下单手续费不是用的BTS,撤单返还原始手续费币种而不是返还BTS
【BSIP27】资产发行人可以直接取出资产手续费池中的BTS
【BSIP29】修改资产发行人需要 Owner key
【BSIP30】在爆仓状态可以上调抵押率,不再强制要求必须上调到多少,但抵押率不足最低要求时不能增加借款
【BSIP31】爆仓单部分成交后爆仓价自动更新
【BSIP32】主动吃爆仓单时,成交价是喂价/1.1 (实际数值由喂价产生,1.1是当前大部分智能资产的参数)
【BSIP33】主动吃爆仓单时,会先吃掉比爆仓单价格更低的卖单
【BSIP34】修复买单价高于喂价会导致爆仓单不成交的问题
【BSIP35】降低整除问题对挂单撮合的影响
【BSIP36】删除过期喂价(不再可以通过增加喂价有效期来将已经过期的喂价重新变成有效)
【BSIP37】资产名称可以以数字结尾
【BSIP38】可以设定爆仓后最多归还多少借款(但至少需要满足最低抵押率。默认归还全部欠款)
【Bugfix #184】修正撮合成交会出现付出非0买到0的问题(就是 BSIP35 里的金额为 0 的情况)
【Bugfix #214】修正不能用提案来批准提案的问题
【Bugfix #453】修正多个大爆仓单同时砸盘时可能会和价格不是最高的买单成交的问题
【Bugfix #588】修正可以签虚拟交易上链的问题
【Bugfix #868】修改智能资产的背书资产后,清除现有喂价
【Bugfix #890】修改智能资产的喂价有效时间时,更新喂价并检查爆仓单
【Bugfix #922 / #931 / #970】 当修改BitAsset的参数,比如修改背书资产、修改强清延迟时间等时,遗漏一些检查。现在修正。
【Bugfix #942】 循环扣款时,遗漏对被扣款人进行白名单检查。现在修正。

其他优化部分

【FC 库 PR #36】 增加支持 Boost 1.64-1.65
【FC 库 PR #43】 修正一处内存泄露问题
【FC 库 PR #44】 修正一个使用diffie-hellman算法计算共享秘钥时的潜在错误(memo加密相关)
【Issue #727, PR #880】 节点崩溃时输出堆栈信息
【Issue #878, PR #927】 可以配置IO线程数,或者根据CPU内核数自动配置IO线程数
【Issue #805, PR #840 / #919 / #937】 增加日志回滚配置项,改进日志记录内容
【Issue #837, PR #848 / #839】将cli_wallet加入Docker

【PR #938】修正一个可能导致错误的区块索引保存到本地磁盘的问题
【Issue #582, PR #813】 修正macOS节点(重钱包)收到挂单后崩溃的问题
【Issue #776, PR #816 / #955】 修正有些交易发生时没有通知客户端、所以客户端不会自动刷新的问题
【Issue #888, PR #954】 修正检查喂价过期时的整型溢出问题
【Issue #864, PR #865】 修正命令行钱包使用 transaction builder 时可能不正确签名的问题
【Issue #859, PR #801 / #817】 修正macOS下、Ninja下编译失败问题
【Iuuse #136, PR #928】修正测试案例中一处资产供应量的计算错误
【Issue #943, PR #869 / #945】 优化报错信息
【Issue #862, PR #872】 优化查询资产列表API的翻页参数
【Issue #863, PR #871】 优化get_ticker API的返回时间戳,现在返回最新块时间戳而不是当前时间
【Issue #811, PR #861】 命令行钱包增加 get_full_account 命令
【PR #850】 命令行钱包不再缓存资产数据
【PR #918】修正一处命令行钱包帮助文档错误
【PR #804】 重构p2p和app模块部分代码以方便测试
【PR #851 / #853 / #854 / #855】修复一些编译警告

代码贡献者

H2
H3
H4
3 columns
2 columns
1 column
13 Comments