python-bitshares 边学边记 (四) / Account类

in #python-bitshares7 years ago (edited)

在之前的几篇文章中,我们简单介绍了如何安装python-bitshares 、python-bitshares的钱包相关操作以及BitShares类。


(图源 :pixabay)

这节我们来继续学习python-bitshares 。

Account 类

bitshares中采用的用户这个概念,无论是发起转账还是投票或者是市场下单,主体都是用户。所以了解用户类是很有必要的。

创建实例

我们可以使用以下代码创建用户类实例
from bitshares.account import Account
account = Account("xxxxx")
之后就可以读取和用户有关的各类信息了。

获取资产余额

比如获取我们最关心的账户资产余额信息:
from pprint import pprint
from bitshares.account import Account
account = Account("xxxxx")
pprint(account.balances)

如果账户资产类型比较多,只想获取指定类型的资产,那么我们可以用balance方法
比如我们指定获取类型为CNY的资产
account = Account("xxxxx")
pprint(account.balance("CNY"))

抵押债仓

这个我叫不准咋翻译好,姑且这么叫着,欢迎大家指正。
account = Account("xxxxx")
pprint(account.callpositions)

获取账户订单

以下代码获取当前账户订单信息
account = Account("xxxxx")
pprint(account.openorders)

略为遗憾的是,显示的资产对不支持互换。

获取账户历史

可以用history获取账户信息,参数定义如下:

我们尝试获取最近的两条历史记录:
for h in account.history(limit=2):
pprint(h)

通过分析可得,一条是转账,一条是订单撮合

Account 类其它属性/方法

items 方法

方法items 获取账户的一些基本信息:
for k, v in account.items(): print(k, v);

is_ltm 属性

判断用户是否是终身会员
print(account.is_ltm)

很遗憾,我不是😭

upgrade 方法

upgrade方法用于将账户升级成终身会员。终身会员有很多好处,比如80% 手续费返现奖励啦,又比如通过引荐用户注册获得推荐奖励啦。但是我想了想,还是不要测试的啦,因为,升级终身会员,是需要大把的money呢。


只需1,456.76103 BTS哦,土豪们赶快行动吧。

底层实现

Account 类获取信息的几个属性和方法,实际上封装了以下几个API

  • get_objects
  • lookup_account_names
  • get_full_accounts
  • get_account_balances
  • get_account_history
    感兴趣的可以自行深入探索一下,本文就不再赘述了。

参考信息

Sort:  

i restem your post,,,@oflyhigh

Good post... Please Help me by Upvote on my Comments...!

1456 bts升级费据说是二三分钱时候的定价,现在一块多了还收这么多

神奇

执行一次account.balance("CNY")要16秒左右,对程序交易来说不可忍受。

原来是账户里币种太多了导致的。