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
to2.0.180612
, you don't need to do anything special; - if you're upgrading from a release earlier than
2.0.180425
to2.0.180612
, please check release notes of 2.0.180425 to see if you need to perform additional steps.
Consensus changes
- BSIP26: Refund Order Creation Fee in Originally Paid Asset when order is cancelled
- BSIP27: Asset Issuer Reclaim Fee Pool Funds
- BSIP29: Require owner authority to change asset issuer
- BSIP30: Always Allow Increasing Collateral Ratio If Debt Not Increased
- BSIP31: Update Short Position's Margin Call Price After Partially Called Or Settled
- BSIP32: Always Match Orders At Maker Price
- BSIP33: Maker Orders With Better Prices Take Precedence
- BSIP34: Always Trigger Margin Call When Call Price Above Or At Price Feed
- BSIP35: Mitigate Rounding Issue On Order Matching
- BSIP36: Remove expired price feeds on maintenance interval
- BSIP37: Allow new asset name to end with a number
- BSIP38: Add target collateral ratio option to short positions
- Bugfix #184: Potential something-for-nothing fill bug
- Bugfix #214: Proposal cannot contain proposal_update_operation
- Bugfix #453: Multiple limit order and call order matching issue
- Bugfix #588: Virtual operations should be excluded from transactions
- Bugfix #868: Clear price feed data after updated a bitAsset's backing asset ID
- Bugfix #890: Update median feeds after feed_lifetime_sec changed
- [Bugfix #922 / #931 / #970] Fixed missing checks when updating a smart coin's
bitasset
options E.G. force settlement delay, backing asset ID or etc; - [Bugfix #942] Fixed missing asset authorities check for "from" account when claiming from a withdraw permission.
API changes
extensions
field ofcall_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 ofcli_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 tocli_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 incli_wallet
[PR #804] Refactored
node.cpp
andapplication.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】修复一些编译警告