请选择 进入手机版 | 继续访问电脑版

芒果钱包

 找回密码
 立即注册
搜索
查看: 2867|回复: 0

转:python-bitshares 边学边记 (六) / Dex类

[复制链接]

45

主题

66

帖子

416

积分

中级会员

Rank: 3Rank: 3

积分
416
发表于 2018-3-16 12:01:07 | 显示全部楼层 |阅读模式
本帖最后由 aoao 于 2018-3-27 12:41 编辑

在之前的几篇文章中,我们简单介绍了如何安装python-bitshares 、python-bitshares的钱包相关操作、BitShares类以及Account类、Market类。
详情可以参考文末的参考链接。

(图源 :pixabay)
这节我们来继续学习python-bitshares 。

Dex 类查询功能创建实例我们可以使用以下代码创建Dex实例
from bitshares.dex import Dex
dex = Dex()
手续费以下代码可以用与显示bitshares区块链上各类操作的手续费
from pprint import pprint
from bitshares.dex import Dex
dex = Dex()
pprint(dex.returnFees())
返回的数据比较多,就不一一贴出来了。
如果是经常交易,我们可能会比较关注以下几项费用:

从上图可知,创建订单和取消订单都非常便宜,而撮合订单完全免费。
由此可见bitshares真的是良心交易所
抵押债仓在学习Account类时,我们知道可以用如下代码查看指定用户的抵押债仓
account = Account("xxxxx")
pprint(account.callpositions)
其实,account.callpositions的实现如下:

调用的是Dex类的方法
当然,我们可以直接使用Dex类
from pprint import pprint
from bitshares.dex import Dex
dex = Dex()
pprint(dex.list_debt_positions("aaa"))

结果如上,和调用Account类callpositions属性,完全一致。
Dex 类借钱 & 平仓等抵押(借入)我们可以使用如下代码借入CNY或者其它智能货币资产
from bitshares.dex import Dex
from bitshares.amount import Amount
dex = Dex()
dex.borrow(amount = Amount(1, 'CNY'), collateral_ratio=2, account='test2018')

但是显而易见抵押率计算得不对

注:可能与账户是否借过钱等条件有关,具体原因需要阅读代码
在测试过程中,曾出现过如下错误:
bitsharesapi.exceptions.UnhandledRPCError: Assert Exception: enable_black_swan: Black swan was detected during a margin update which is not allowed to trigger a blackswan
注:我尝试用网页借款后,这个错误无法重现,可能和新账户有关,需要核实一下
平仓(还钱)我们可以使用如下代码平掉CNY的抵押债仓
from bitshares.dex import Dex
from bitshares.amount import Amount
dex = Dex()
dex.close_debt_position(symbol='CNY', account='test2018')


可见我借入和平仓操作都很成功
其它操作除了借入和平仓以外,我们还可以通过Dex类调整债仓或者调整抵押率
def adjust_debt(self, delta, new_collateral_ratio=None, account=None)
def adjust_collateral_ratio(self, symbol, target_collateral_ratio, account=None)
写的多了有点晕,怕写错了误导大家,就不多说了,需要的自己去看代码。
总结Dex类主要提供了手续费、抵押债仓查询以及借钱、平仓、调整仓位、调整抵押率等操作。
但是在抵押率计算上似乎有一些问题,所以如果你需要在你的应用中使用Dex类,你应该先测试并核实是否存在问题后再将其应用到代码中。
文中信息仅供参考,始终文中代码造成损失概不负责!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|芒果钱包

GMT, 2019-7-21 20:25 , Processed in 0.129881 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表