立即创建账户 / Create Account
BitShares Block Explorer

Block 27,188,624


25 transactions in this block, produced at 2018-05-22 03:17 (UTC)

97ffc499 wants 1,560 CNY for 1,007 BTS
aa3d60fe wants 683 BTS for 1,050 CNY
b43c07f5 cancel order
3637ab0e wants 298 USD for 1,245 BTS
56db9744 wants 24.06 USD for 99 BTS
87ecdb1e wants 70 BTS for 0.002067 OPEN.BTC
537011c6 cancel order
3dbaa334 wants 33 BTS for 50.8 CNY
virtual paid 33 BTS for 7.89 USD
virtual paid 50.8 CNY for 33 BTS
virtual paid 7.9 USD for 50.8 CNY
d71ee1a3 wants 161.7 CNY for 25 USD
a1a2056f wants 153.3 CNY for 99 BTS
f75d42e0 wants 324 CNY for 209 BTS
7d1a222e sent 0.00001 BTS to
测试网硬分叉版本发布: test-2.0.180510
« on: May 10, 2018, 11:13:21 pm »
中文还没来得及写。

英文见: https://steemit.com/bitshares/@abit/bitshares-testnet-release-test-2-0-180510 />
New HARD FORK release for [BitShares](
https://bitshares.org/) [Open Public TestNet](https://testnet.bitshares.eu) is out, version [test-2.0.180510](https://github.com/bitshares/bitshares-core/releases/tag/test-2.0.180510). />
Hard fork time is scheduled at `Sat, 19 May 2018 13:58:00 UTC`.

Testnet nodes please upgrade, ALL PEOPLE please help test.

Mainnet release will be published after test is done, estimated date is around Tue, 12 June.

## Consensus changes:

* [BSIP26: Refund Order Creation Fee in Originally Paid Asset when order is cancelled](
https://github.com/bitshares/bsips/blob/master/bsip-0026.md) />* [BSIP27: Asset Issuer Reclaim Fee Pool Funds](https://github.com/bitshares/bsips/blob/master/bsip-0027.md) />* [BSIP29: Require owner authority to change asset issuer](https://github.com/bitshares/bsips/blob/master/bsip-0029.md) />* [BSIP30: Always Allow Increasing Collateral Ratio If Debt Not Increased](https://github.com/bitshares/bsips/blob/master/bsip-0030.md) />* [BSIP31: Update Short Position's Margin Call Price After Partially Called Or Settled](https://github.com/bitshares/bsips/blob/master/bsip-0031.md) />* [BSIP32: Always Match Orders At Maker Price](https://github.com/bitshares/bsips/blob/master/bsip-0032.md) />* [BSIP33: Maker Orders With Better Prices Take Precedence](https://github.com/bitshares/bsips/blob/master/bsip-0033.md) />* [BSIP34: Always Trigger Margin Call When Call Price Above Or At Price Feed](https://github.com/bitshares/bsips/blob/master/bsip-0034.md) />* [BSIP35: Mitigate Rounding Issue On Order Matching](https://github.com/bitshares/bsips/blob/master/bsip-0035.md) />* [BSIP36: Remove expired price feeds on maintenance interval](https://github.com/bitshares/bsips/blob/master/bsip-0036.md) />* [BSIP37: Allow new asset name to end with a number](https://github.com/bitshares/bsips/blob/master/bsip-0037.md) />* [BSIP38: Add target collateral ratio option to short positions](https://github.com/bitshares/bsips/blob/master/bsip-0038.md) />* [Bugfix #184: Potential something-for-nothing fill bug](https://github.com/bitshares/bitshares-core/issues/184) />* [Bugfix #214: Proposal cannot contain proposal_update_operation](https://github.com/bitshares/bitshares-core/issues/214) />* [Bugfix #453: Multiple limit order and call order matching issue](https://github.com/bitshares/bitshares-core/issues/453) />* [Bugfix #588: Virtual operations should be excluded from transactions](https://github.com/bitshares/bitshares-core/issues/588) />* [Bugfix #868: Clear price feed data after updated a bitAsset's backing asset ID](https://github.com/bitshares/bitshares-core/issues/868) />* [Bugfix #890: Update median feeds after feed_lifetime_sec changed](https://github.com/bitshares/bitshares-core/issues/890) />
Non-consensus changes and other info to be updated.
Logged
BTS account: abit
BTS committee member: abit
BTS witness: in.abit
Offline abit
Committee member
Hero Member
*

Posts: 3081
View Profile Steemit Blog
BitShares: abit
GitHub: abitmore

Re: 测试网硬分叉版本发布: test-2.0.180510
« Reply #1 on: May 11, 2018, 01:53:37 am »
关于功能测试。

具体功能参见以前的几个帖子。
https://bitsharestalk.org/index.php?topic=25926.msg315666#msg315666 />https://bitsharestalk.org/index.php?topic=26011.msg316139#msg316139 />https://bitsharestalk.org/index.php?topic=26158.msg317036#msg317036 />
【BSIP26】下单手续费用非BTS,撤单返还原始手续费币种而不是返还BTS
测试方法(注意用其他资产付手续费):
* 分叉前,下单+撤单:分为主动撤单,过期自动撤单,金额太小被动撤单几种;还要测部分成交后的撤单;
* 分叉前下单,分叉后撤单;
* 分叉后,下单撤单。

【BSIP27】资产发行人可以直接取出资产手续费池中的BTS
GUI 实现这个功能之前,可以用 cli_wallet 也就是命令行钱包测试。有个新命令,格式是:
claim_asset_fee_pool [资产名] [金额] [是否广播]
比如
claim_asset_fee_pool XIANHUA 1000 true
表示从 XIANHUA 的手续费池中取 1000 BTS 。

测试方法:
* 分叉前,这个命令应该会报错
* 分叉后,资产发行人可以用这个命令,需要测试:发行人正常取钱成功、非发行人取钱失败、取负数失败、超额取钱失败等等。

【BSIP29】修改资产发行人需要 Owner key
GUI 实现这个功能之前,可以用 cli_wallet 也就是命令行钱包测试。有个新命令,格式是:
update_asset_issuer [资产名] [新发行人] [是否广播]
比如
update_asset_issuer XIANHUA niufen true
表示把 XIANHUA 资产转给 niufen 。

测试方法:
* 分叉前,这个命令应该报错
* 分叉前,可以用 update_asset 命令,或者通过 GUI 修改资产发行人,需要 active key
* 分叉后,update_asset 命令不能用来修改发行人,命令里指定新发行人会报错
* 分叉后,update_asset_issuer 命令应该可以使用,需要测试:用 owner key 正常转让成功、active key转让失败、转让他人资产失败等等。

【BSIP30】在爆仓状态可以上调抵押率,但抵押率不足最低要求时不能增加借款
测试方法:
* 分叉前,爆仓状态,比如抵押率 150% 时,调仓时必须保证调整后抵押率在 175% 以上
* 分叉后,只要上调抵押率、同时保证借款不增加,就可以成功,比如,可以调整到 151% 。需要测试:正常调整成功、增加借款失败、降低抵押率失败等等。

【BSIP31】爆仓单部分成交后爆仓价自动更新
测试方法(注意:自建资产可以指定喂价人,不一定要见证人喂价):
* 分叉前,喂高价,借款,喂低价造爆仓,吃爆仓单、强清造成实际抵押率排序与按爆仓价排序不同,甚至排名第2的已经资不抵债但不触发黑天鹅
* 分叉瞬间,爆仓价自动更新,排序与抵押率一致,触发成交甚至黑天鹅
* 分叉后,继续吃爆仓单、以及强清,爆仓价自动更新,与实际抵押率排序相同

【BSIP32】挂单撮合以 Maker 价成交
测试方法:
* 分叉前,主动吃爆仓单成交价是买单价
* 分叉后,主动吃爆仓单成交价是喂价/1.1

【BSIP33】挂单撮合时价格优先
测试方法:
* 分叉前,如果有爆仓单,并且有低于爆仓单的卖单,挂买单价格高于喂价/1.1时,会和爆仓单成交
* 分叉后,上述买单会先和低价卖单成交

【BSIP34】爆仓单不成交问题
* 分叉前,挂高价买单,然后喂价造爆仓导致挂出来不成交
* 分叉瞬间,由于规则变化,不成交的单会成交
* 分叉后,挂高价买单,会直接成交

【BSIP35】整除问题
整除问题包含5种情况:匹配两个限价单、限价单与爆仓单、强清单与爆仓单、全局清算/黑天鹅、黑天鹅之后的强清。
每种情况里还包含 0 金额和非0金额两类。
测试方法举例(限价单)(例子中数值单位为1聪,或者说资产都是0位小数):

* 分叉前,账户A挂卖单卖 100 BTS 换 2000 卢布,账户B挂买单以 30 卢布换 1 BTS,成交结果是B花 30 卢布买 1 BTS
* 分叉后,重复上述测试案例,成交结果是B花 20 卢布买 1 BTS

* 分叉前,两个账户A和B先后都挂卖单卖 1 BTS 换 20 卢布,另一个账户 C 挂买单以 30 卢布换 1 BTS,成交结果是 A 得 20 卢布 付 1 BTS、B 白得 10 卢布、C 得 1 BTS 付 30 卢布
* 分叉后,重复上述测试案例,成交结果是A和C完成1BTS换20卢布的交易,B的单子不成交

上面的测试,因为一方是 1 ,可以单向整除,所以还不完全。可以测试类似 101 BTS 卖 2017 卢布这种情况。

其他4种情况类似。


【BSIP36】删除过期喂价
这个只影响见证人和理事会喂价的资产,需要见证人或者理事会成员来测。
测试方法:
* 分叉前,投上去一批见证人,喂价,然后换一批人,再喂价,原来那批人喂价过期后还是残留在系统里,可以查到
* 分叉瞬间,过期喂价会被清除(不影响当前喂价,所以不触发爆仓撮合成交)
* 分叉后,重复上述测试,过期喂价会在定期维护时被清除(测试网是每5分钟维护一次,正式网是整点维护)

这个功能不影响自定义喂价人的资产,也可以验证测试一下,是否影响。


【BSIP37】资产名称可以以数字结尾
测试方法:
* 分叉前,创建资产,名称可以包含英文和数字,但必须英文开头和结尾
* 分叉后,创建资产,名称可以包含英文和数字,只要求英文开头,可以用数字结尾


【BSIP38】设定爆仓后卖多少的功能
GUI 实现这个功能之前,可以用 cli_wallet 也就是命令行钱包测试。有个新命令,格式是:
borrow_asset_ext [账号] [借款金额] [借款币种] [抵押金额] [扩展字段] [是否广播]
比如
borrow_asset_ext niufen 1000 XIANHUA 100 {"target_collateral_ratio":1750} true
表示抵押 100 抵押物,借出 1000 XIANHUA ,如果爆仓,只卖出部分抵押物,到抵押率 175% 为止(可少量超过)
borrow_asset_ext niufen 1000 XIANHUA 100 null true
表示爆仓时,不限制卖多少抵押物
borrow_asset_ext niufen -500 XIANHUA 100 {"target_collateral_ratio":2000} true
表示增加 100 抵押,归还 500 XIANHUA,如果爆仓,只卖出部分抵押物,到抵押率 200% 为止(可少量超过)

注意:
* 每次调仓,必须重新指定扩展字段,新的会覆盖旧的。如果调仓时用 null ,表示不再限制爆仓时卖多少。
* 如果用老的 borrow_asset 命令,或者用没升级的 GUI 钱包调仓,则不会指定扩展字段,也就是不限制卖多少(和现在一样)。

测试方法:
* 分叉前,用大买单吃爆仓单,可以一次吃完
* 分叉前,上述命令的 [扩展字段] 参数如果不用为 null 会报错
* 分叉后,可以用非 null 。数值必须 0 - 65535 ,表示 0% - 6553.5% 。但是,如果最低抵押率是 175%,那么低于1750时会以1750为准。
* 分叉后,用大单吃爆仓单,如果爆仓单设置了扩展字段,会吃不完,这时,检查剩余仓位的抵押率和爆仓价


【Bugfix #184】这个就是 BSIP35 里的金额为 0 的情况

【Bugfix #214】用提案来批准提案
测试方法:
* 分叉前,不能把“批准提案”这个操作放到提案里。GUI里可以试,批准提案时,弹出签名确认框,选择提案再确认,会报个错。
* 分叉后,可以。

【Bugfix #453】多个大爆仓单同时砸盘时可能会和低价买单成交
测试方法:
* 分叉前,造若干个大小不一、抵押率一样的债仓,以及若干个大小不一、价格不一的买单,然后喂低价让所有债仓爆仓,会发现高价买单没成交完,低价买单有成交。
* 分叉后,重复测试,价格高的买单成交、低价的不成交

【Bugfix #588】可以签虚拟交易上链的问题
测试方法:
* 分叉前,可以把“取消清算单”操作(本应该是虚拟操作)放在一个提案中上链,虽然不会有实际效果。
* 分叉后,不行。

【Bugfix #868】修改智能资产的背书资产后,清除现有喂价
背景:发行量为 0 时,智能资产的背书资产是可以修改的。
测试方法:
* 分叉前,先喂价,然后修改背书,老的喂价数据不清除
* 分叉瞬间,错误的喂价会被清除,喂价会更新,同时重新检查爆仓单并撮合成交
* 分叉后,修改背书时,老的喂价数据会清除

【Bugfix #890】修改智能资产的喂价有效时间时,更新喂价并检查爆仓单
测试方法:
* 分叉前,先喂价,然后修改资产的喂价有效时间,不会更新当前喂价。比如改短了,该过期,但是还可以借款;或者改长,本来过期的变成不过期,该爆仓不爆。
* 分叉瞬间,喂价会更新,同时重新检查爆仓单并撮合成交
* 分叉后,修改资产的喂价有效时间时,会更新当前喂价
« Last Edit: May 19, 2018, 11:03:46 am by abit »
f3395825 adjust collateral by -3,000 BTS, debt by -3,000 CNY
c0798ee6 wants 70 BTS for 0.002067 OPEN.BTC
c9ca1a01 wants 51.1 CNY for 33 BTS
e648077e wants 3,266 BTS for 5,000 CNY
7c360a99 cancel order

Show raw block data