获取账户信息是HIVE区块链最基本的功能之一,也是我们最常用到的功能。通过查询账户信息,我们可以知道账户的基本信息、账户的余额、账户的权限信息以及投票mana等等。 ![image.png](https://images.hive.blog/DQmeXqRS5YJFSDQ58ztLeryhT52MbvKxjvkBDU8VqHCDuhX/image.png) (图源 :[pixabay](https://pixabay.com/)) 但是你知道吗?是不用不同的API,获取账户信息的返回还有些差异呢,我们这里简单来介绍一下。 # 对节点(hived)直接发起请求 获取账户信息最方便的方式是对自己的节点发起请求,我本地运行着一个轻节点,用来做测试那是极其便利的。 获取账户信息有两种方式,一种是使用:`database_api.find_accounts`: >`{'jsonrpc': '2.0', 'method': 'database_api.find_accounts', 'params': {'accounts': ['oflyhigh']}, 'id': 1}` 另外一种是使用`condenser_api.get_accounts` >`{'jsonrpc': '2.0', 'method': 'condenser_api.get_accounts', 'params': [['oflyhigh']], 'id': 1}` 以`balance`为例,不难看出,`condenser_api`对返回信息做了一些处理,使之更便于阅读: >![image.png](https://images.hive.blog/DQmUrzZrdo5HSnR1BRhLKZhVzJTuVxmgUkJrPP4v5zJnsJS/image.png) >![image.png](https://images.hive.blog/DQmeDaJNPtdvHpevdTjxKSNoLMpyUPS4EzTm2yjUQyJkBJF/image.png) 除此之外,`condenser_api`的返回中还增加了一些内容,比如`witness_votes`等等 >![image.png](https://images.hive.blog/DQmXgSmAHU72D61aEjHAz78DnRt7zrasZBuVEzaipdzBkUZ/image.png) 所以说,简单来讲,`condenser_api.get_accounts`对`database_api.find_accounts`进行了一些包装,使其返回更多以及更加便于理解的内容。 # 对HIVEMIND API节点请求 尽管对轻节点使用获取账户信息API可以获取很多内容,但是还是有些内容获取不到,比如说上述两个调用,返回的`posting_json_metadata`等都是空的,又比如`reputation`等数据都是0。 >![image.png](https://images.hive.blog/DQmPm72S12f1a1fqh6WyWBP9z4snsvDrDEHqC68tWokxBw1/image.png) 这样的话,可能我们就要对胖节点操作,而运行一个胖节点所需的资源还是很可观的,所以用户都去运行有些不太靠谱。所以最简单的方法还是使用公共的HIVEMIND API节点。 我没对HIVEMIND做更多的了解,但是我理解大意是把很多不是很重要的数据放到hivemind里,这样降低链本身的资源占用、提升链的处理能力。(如果理解不对请多指正)。 同样运行上述两个API调用,我们会发现大部分返回数据都是一致的,而`posting_json_metadata`和`reputation`等则有了具体的内容: >![image.png](https://images.hive.blog/DQmasnjwGY5tYgynQU9x8bAxa8b9qKnWNixJPJbS7SnR7jA/image.png) >![image.png](https://images.hive.blog/DQmUo1toJLnYQWzXF8NMaeuNJjRNS6hCiFGXqNUbstRd8j7/image.png) # 结论 所以尽管是一个简单的获取账户信息功能,还有着不少的学问呢,比如说是使用`condenser_api.get_accounts`还是`database_api.find_accounts`,是对轻节点还是胖节点抑或是hivemind节点发起请求,这结果差异还是挺大的呢。 搞清楚这些并选择合适的方式,无疑会事半功倍,否则可就是事倍功半喽。 ***注:本文首发[HIVE平台](https://hive.blog),欢迎大家到[HIVE](https://hive.blog/@oflyhigh)上关注我,并参与讨论。***
post_id | 88,137,946 |
---|---|
author | oflyhigh |
permlink | bbj52 |
category | cn |
json_metadata | {"tags":["cn","hive","api","life","blog","hivemind","cutehive"],"image":["https:\/\/images.hive.blog\/DQmeXqRS5YJFSDQ58ztLeryhT52MbvKxjvkBDU8VqHCDuhX\/image.png","https:\/\/images.hive.blog\/DQmUrzZrdo5HSnR1BRhLKZhVzJTuVxmgUkJrPP4v5zJnsJS\/image.png","https:\/\/images.hive.blog\/DQmeDaJNPtdvHpevdTjxKSNoLMpyUPS4EzTm2yjUQyJkBJF\/image.png","https:\/\/images.hive.blog\/DQmXgSmAHU72D61aEjHAz78DnRt7zrasZBuVEzaipdzBkUZ\/image.png","https:\/\/images.hive.blog\/DQmPm72S12f1a1fqh6WyWBP9z4snsvDrDEHqC68tWokxBw1\/image.png","https:\/\/images.hive.blog\/DQmasnjwGY5tYgynQU9x8bAxa8b9qKnWNixJPJbS7SnR7jA\/image.png","https:\/\/images.hive.blog\/DQmUo1toJLnYQWzXF8NMaeuNJjRNS6hCiFGXqNUbstRd8j7\/image.png"],"links":["https:\/\/pixabay.com\/","https:\/\/hive.blog","https:\/\/hive.blog\/@oflyhigh"],"app":"steemit\/0.2","format":"markdown"} |
created | 2020-10-23 12:29:12 |
last_update | 2020-10-23 12:29:12 |
depth | 0 |
children | 1 |
net_rshares | 1,267,474,051,564 |
last_payout | 2020-10-30 12:29:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.140 SBD |
curator_payout_value | 0.130 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 2,072 |
author_reputation | 1,148,153,621,496,884 |
root_title | 每天进步一点点:从获取账户信息说起 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
lemooljiang | 0 | 117,169,813,622 | 88% | ||
ace108 | 0 | 364,181,781,824 | 29% | ||
skysunny | 0 | 88,062,020 | 88% | ||
ghasemkiani | 0 | 354,847,887,688 | 61.11% | ||
timool | 0 | 344,000,428 | 88% | ||
lucknie | 0 | 21,088,136,646 | 88% | ||
carrotliu | 0 | 0 | 88% | ||
dumping | 0 | 3,092,664,998 | 88% | ||
jinghua | 0 | 0 | 88% | ||
elizacheng | 0 | 8,081,298,790 | 5.94% | ||
maxer27 | 0 | 12,901,863,452 | 100% | ||
oldman28 | 0 | 21,501,772,915 | 60% | ||
ir3k | 0 | 61,935,786,724 | 100% | ||
kimzwarch | 0 | 15,653,497,458 | 12.7% | ||
metten | 0 | 7,727,781,074 | 88% | ||
cn-book | 0 | 758,617,426 | 88% | ||
cnbuddy | 0 | 1,552,178,293 | 0.1% | ||
cn-movie | 0 | 74,896,182 | 88% | ||
vivia | 0 | 13,763,207,345 | 88% | ||
xiaoli | 0 | 212,247,337 | 88% | ||
akifane | 0 | 2,440,264,362 | 100% | ||
archisteem | 0 | 595,989,367 | 7.61% | ||
ayisigi | 0 | 328,339,488 | 100% | ||
haixiaox | 0 | 145,320,925 | 100% | ||
lovelemon | 0 | 6,583,579,612 | 99.92% | ||
steemjiang | 0 | 0 | 88% | ||
starnote | 0 | 149,223,588 | 88% | ||
moochain.net | 0 | 150,499,025 | 88% | ||
lemool | 0 | 0 | 88% | ||
moochain.com | 0 | 0 | 88% | ||
liebin | 0 | 0 | 88% | ||
bettyliu | 0 | 0 | 88% | ||
younggle | 0 | 0 | 88% | ||
dinggle | 0 | 0 | 88% | ||
moocer | 0 | 0 | 88% | ||
steem-zh | 0 | 0 | 88% | ||
coursechain | 0 | 0 | 88% | ||
youngoole | 0 | 0 | 88% | ||
imooc | 0 | 0 | 88% | ||
wikicoin | 0 | 0 | 88% | ||
starchain | 0 | 0 | 88% | ||
steemzh | 0 | 0 | 88% | ||
openbazzar | 0 | 0 | 88% | ||
steemipfs | 0 | 0 | 88% | ||
hive-224466 | 0 | 0 | 88% | ||
bugabuga | 0 | 15,664,997,298 | 7% | ||
ezvote | 0 | 8,356,858,476 | 1% | ||
patorney | 0 | 227,852,623,452 | 5% | ||
ezcurate | 0 | 230,861,749 | 1% |
好久没来,老兄还在
post_id | 88,141,684 |
---|---|
author | haixiaox |
permlink | qio23d |
category | cn |
json_metadata | {"app":"steemit\/0.2"} |
created | 2020-10-23 18:02:00 |
last_update | 2020-10-23 18:02:00 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2020-10-30 18:02:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 9 |
author_reputation | 20,313,173,491 |
root_title | 每天进步一点点:从获取账户信息说起 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |