Author Topic: 喂价相关命令  (Read 6698 times)

0 Members and 1 Guest are viewing this topic.

Offline johnson

  • Full Member
  • ***
  • Posts: 146
    • View Profile
update_asset_feed_producers  能不能用还没试

Offline johnson

  • Full Member
  • ***
  • Posts: 146
    • View Profile
搞定了。需要先vote_for_witness, 然后等maintenance_interval 的时间到了之后,就可以publish 喂价了。

Offline johnson

  • Full Member
  • ***
  • Posts: 146
    • View Profile
运行这步的时候,update_asset_feed_producers MYMPA [in.abit,dele-puppy] true,
报错:

 Cannot set feed producers on a witness-fed asset.

比较奇怪,我是在测试网络上跑的,用的也是witness账户

Offline cat-ch

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
  • BitShares: cat-ch
大概明白了,看来我还要理解一下系统,非常感谢你的解答~~

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
create_asset nathan ASSETNAME 5 {"issuer_permissions": 511,"flags": 128,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}}} {"new_feed_producers":[],"is_prediction_market":true} true
这里,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}},应该是一个数组吧,那如果我新建一个资产,可以这样写吗:

create_asset nathan kitty.szzs 5 {"issuer_permissions": 511,"flags": 128,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}}} {"new_feed_producers":[],"is_prediction_market":true} true,这样就可以了?请问这个{"new_feed_producers":[], 的“[]”代表什么呢?
nathan 是创建人账号
kitty.szzs 中间带点的,需要先建好kitty才能建 kitty.xxx
5是小数位数
core_exchange_rate是汇率,这么理解:1数量(自己按位数加小数点)的1.3.0(BTS)等于1数量(还是要加小数点)的你的资产,这个1.3.1不用管,就这么写就是了,只要保证和base的asset_id不同。
"new_feed_producers":[],是喂价人清单,创建二元预测市场时应该可以不要了。本来加这个是为了创建智能锚定资产的,需要有这么一项才能创建出来,不然就会建成普通资产了。

Quote

这个喂价,我觉得有一些用,因为这个二元智能资产,它也是需要抵押bts来供给的吧?那么他初期应该也有一个内在价值的,价值不是到最后结算日才计算的吧。因为比如假设我这个二元资产是以a股来参照的,如果到7月份上证指数在结算日收市价为3000以上,那么该资产价值1bts,要么就是0。如果发行日上证指数已经2900以上了,那么7月上3000的几率好大,它价值应该达到0.8或以上(本来应该输入更多的参数,因为期权有定价公式),那么应该有个喂价是0.8,那么我才可能用这个价值去抵押bts买入kitty.szzs。我不知道这样理解对不对,希望能解一下疑惑,谢谢a神啦~
你觉得的用途不一定被系统设计进去了。先理解系统怎么运作的,再看是否有不足,是否需要改进。
二元预测市场抵押价应该是1:1。“价值0.8或以上”这个会体现在市场上的,也就是说由市场自动寻价,不需要喂价。
我另外发个贴举例吧。

BitShares committee member: abit
BitShares witness: in.abit

Offline cat-ch

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
  • BitShares: cat-ch
create_asset nathan ASSETNAME 5 {"issuer_permissions": 511,"flags": 128,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}}} {"new_feed_producers":[],"is_prediction_market":true} true
这里,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}},应该是一个数组吧,那如果我新建一个资产,可以这样写吗:

create_asset nathan kitty.szzs 5 {"issuer_permissions": 511,"flags": 128,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}}} {"new_feed_producers":[],"is_prediction_market":true} true,这样就可以了?请问这个{"new_feed_producers":[], 的“[]”代表什么呢?

这个喂价,我觉得有一些用,因为这个二元智能资产,它也是需要抵押bts来供给的吧?那么他初期应该也有一个内在价值的,价值不是到最后结算日才计算的吧。因为比如假设我这个二元资产是以a股来参照的,如果到7月份上证指数在结算日收市价为3000以上,那么该资产价值1bts,要么就是0。如果发行日上证指数已经2900以上了,那么7月上3000的几率好大,它价值应该达到0.8或以上(本来应该输入更多的参数,因为期权有定价公式),那么应该有个喂价是0.8,那么我才可能用这个价值去抵押bts买入kitty.szzs。我不知道这样理解对不对,希望能解一下疑惑,谢谢a神啦~


Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
能不能有个例子呢?没例子的话,我都不知道是怎样输入那3个数,可能我基础不太行,只能通过例子去理解。
那个界面不能设置条件啊,你说条件的框只是用来描述的而已,在哪里有可以输入参数的呢?二元预测资产的喂价和结算价,是否都可以由发行人出?还是一定要用见证人?这些关系一直困扰着我,非常感谢你对小白的支持,要是界面上能做到更多的帮助和功能就好了,可惜一来是功能不太够,二来是不太够友好,我只能寻求你们大神帮助才有可能弄懂这些,谢谢了
哪3个数?我贴出来的就是例子了

511,128这些是权限、旗标,按一个一个bit叠加算出来的,具体哪一位代表什么意思我也没仔细研究过,应该直接抄就可以了。你如果想搞清楚数值的含义,到测试链测一下,建一个资产,然后命令行get_asset 资产名,就看到了。或者直接看代码。

再后面是汇率,和裁决价的参数结构一样的。

如果我没搞错,现在bts系统中已经在运作的二元预测市场,都没有用过见证人喂价,都是发行人自己作最终裁决的。
你提到的喂价,除了最终裁决,还有什么用?当结果还没出来时候,怎么喂价呢?

BitShares committee member: abit
BitShares witness: in.abit

Offline cat-ch

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
  • BitShares: cat-ch
能不能有个例子呢?没例子的话,我都不知道是怎样输入那3个数,可能我基础不太行,只能通过例子去理解。
那个界面不能设置条件啊,你说条件的框只是用来描述的而已,在哪里有可以输入参数的呢?二元预测资产的喂价和结算价,是否都可以由发行人出?还是一定要用见证人?这些关系一直困扰着我,非常感谢你对小白的支持,要是界面上能做到更多的帮助和功能就好了,可惜一来是功能不太够,二来是不太够友好,我只能寻求你们大神帮助才有可能弄懂这些,谢谢了

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
我对在命令行钱包里面,输入创建 二元预测市场资产的格式和参数都不是很理解知道,能不能发个格式和例子出来呢。非常感谢你,我相信好多人都会通过这个贴获益良多!
格式加到顶楼了。不过,既然可以在GUI界面里面创建,为什么还要在命令行做?
BitShares committee member: abit
BitShares witness: in.abit

Offline cat-ch

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
  • BitShares: cat-ch
我对在命令行钱包里面,输入创建 二元预测市场资产的格式和参数都不是很理解知道,能不能发个格式和例子出来呢。非常感谢你,我相信好多人都会通过这个贴获益良多!

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
感谢abit的中文帮助啊,非常非常有用,大家要记录一下啊。
@abit,我是龙猫,希望以后你有空能发放多些中文代码帮助出来,帮帮我们小白们 :)
其实好多代码也不明白,需要慢慢理解。这里有两个问题:
1.二元预测市场的条件设置如何写?在网页钱包里,如果新建资产,开启二元市场,会在描述那里多了个【条件】,下面应该填什么格式的参数呢?在命令行钱包又是怎么填的呢?
2.一直搞不清创建资产里面,权限和旗标的区别,能不能简单描述一下?
非常感谢你的解答,希望这些疑问对其他人也有帮助~~
1.描述页就是这个市场的规则描述,不是强制性的规则设置。反正,写清楚买代表什么意思,卖代表什么,什么时候裁决,就可以了。
命令行里没区分这么多项,格式是UI定的。
另外,最终的裁决结果喂入,现在好像还是靠发行人的信用?

2.权限是用来限制资产发行人的。请注意,这个非常重要:开启权限才能修改旗标;权限一旦关闭很难再次开启(不信去问巨蟹)。现在界面里,默认是黑色,表示开启。

3.另外请注意,那个“手续费汇率”也非常重要。因为创建资产花的BTS手续费,有一半会进手续费池,等于别人可以按你设置的汇率,用你的资产来买池里的BTS。有个哥们跑了个机器人,专偷设错汇率的资产的手续费池。
BitShares committee member: abit
BitShares witness: in.abit

Offline cat-ch

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
  • BitShares: cat-ch
感谢abit的中文帮助啊,非常非常有用,大家要记录一下啊。
@abit,我是龙猫,希望以后你有空能发放多些中文代码帮助出来,帮帮我们小白们 :)
其实好多代码也不明白,需要慢慢理解。这里有两个问题:
1.二元预测市场的条件设置如何写?在网页钱包里,如果新建资产,开启二元市场,会在描述那里多了个【条件】,下面应该填什么格式的参数呢?在命令行钱包又是怎么填的呢?
2.一直搞不清创建资产里面,权限和旗标的区别,能不能简单描述一下?
非常感谢你的解答,希望这些疑问对其他人也有帮助~~

Offline cat-ch

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
  • BitShares: cat-ch
感谢abit的中文帮助啊,非常非常有用,大家要记录一下啊。
@abit,我是龙猫,希望以后你有空能发放多些中文代码帮助出来,帮帮我们小白们 :)

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
最近有朋友在研究预测市场,苦于不知道如何发布喂价,所以我把以前记录的一些命令贴在这里,希望有帮助。时间仓促,来不及仔细整理,内容可能过期,或者有误,请见谅。

不知道预测市场是否已经有中文版教程。如果没有,希望有心人能研究一下,写个教程。
最好是做个简单好用的UI。

公开测试链 http://testnet.bitshares.eu/ 代码在 https://github.com/BitSharesEurope/graphene-testnet/ ,可以随意测试。

1. 自定义智能资产
* 创建资产
create_asset nathan MYMPA 5 {"issuer_permissions": 511,"flags": 128,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}}} {"new_feed_producers":[],"feed_lifetime_sec":120} true

* 设置喂价人
update_asset_feed_producers MYMPA [in.abit,dele-puppy] true

* 喂价
publish_asset_feed in.abit MYMPA {"settlement_price":{"base":{"amount":50000,"asset_id":"1.3.662"},"quote":{"amount":1000000000,"asset_id":"1.3.0"}},"core_exchange_rate":{"base":{"amount":100000,"asset_id":"1.3.0"},"quote":{"amount":10000,"asset_id":"1.3.662"}}} true

2. 预测市场
* 创建资产
create_asset nathan ASSETNAME 5 {"issuer_permissions": 511,"flags": 128,"core_exchange_rate":{"base":{"amount":1,"asset_id":"1.3.0"},"quote":{"amount":1,"asset_id":"1.3.1"}}} {"new_feed_producers":[],"is_prediction_market":true} true


* 结算(不知道专业术语是什么,意思就是结束这个预测市场)
global_settle_asset ASSETNAME {"base":{"amount":1,"asset_id":"1.3.663"},"quote":{"amount":1,"asset_id":"1.3.0"}} true

其中base是预测市场资产,quote是货币资产(例子里是BTS),asset_id是对应的资产id,base amount / quote amount 设 1/1就是赢,0/1就是输,1/2就是平局;base amount值应该不能比quote大。

注意事项
1.资产代码后面的数字,是小数位数。比如BTS的小数位数是5,CNY是4。预测市场的小数位数要与下注货币小数位数相同。注意先想清楚,这个一旦创建就不能修改的。

2.权限是用来限制资产发行人的。请注意,这个非常重要:开启权限才能修改旗标;权限一旦关闭很难再次开启(不信去问巨蟹)。现在界面里,默认是黑色,表示开启。

3.另外请注意,那个“手续费汇率”也非常重要。因为创建资产花的BTS手续费,有一半会进手续费池,等于别人可以按你设置的汇率,用你的资产来买池里的BTS。有个哥们跑了个机器人,专偷设错汇率的资产的手续费池。
« Last Edit: April 04, 2016, 10:48:14 am by abit »
BitShares committee member: abit
BitShares witness: in.abit