How to calculate estimated account value: Part Two / 如何计算账户估值:第二部分

in #steemdev7 years ago (edited)

In my previous article, we concluded that:
To calculate estimated account value, we need to get items from these four parts:

  1. The assets in wallet( And in SAVINGS)
  2. The assets in internal market
  3. The assets(SBD) in conversion processes
  4. The assets(rewards) to be claimed

I will explain how to get them in this article.

The assets in wallet( And in SAVINGS)

The following assets need to be fetched.

  • STEEM
  • STEEM POWER
  • STEEM DOLLARS
  • STEEM in SAVINGS
  • STEEM DOLLARS in SAVINGS

There is a API named get_accounts will retrieve the account information which contained the above items.
vector< extended_account > get_accounts( vector< string > names ) const;

To retrieve them we need to put the account name into list, and then call API with this list as arguments. We can read the item value from the result using the corresponding key.

ItemKey
STEEMbalance
STEEM POWERvesting_shares
STEEM DOLLARSsbd_balance
STEEM in SAVINGSsavings_balance
STEEM DOLLARS in SAVINGSsavings_sbd_balance




An additional note, STEEM POWER was expressed in the form of VESTS, we need to convert it to equivalent STEEM.

The assets in internal market

To simplify the problem, In order to simplify the problem, we define two type of operations: BUY and SELL.

  • BUY: We pay SBD, and want to receive STEEM
  • SELL: We pay STEEM, and want to receive SBD

So, We get the following correspondence

AssetHow to calculate
STEEM in internal marketRemaining STEEM in all opening SELL order
STEEM DOLLARS in internal marketRemaining SBD in all opening BUY order

There is a API named get_open_orders, will return all open orders in internal market for specified account.
vector<extended_limit_order> get_open_orders( string owner )const;

The example return information for my account.

We can draw the results from above information: we have 0.586 STEEM and 2 SBD in internal market.

The assets(SBD) in conversion processes

As I mentioned in previous article, if we try to convert some amount SBD to STEEM, it will disappear from the wallet. So to accurately calculate the estimated account value, we need to get this part of SBD.

Fortunately, there is a API called get_conversion_requests.
vector<convert_request_api_obj> get_conversion_requests( const string& account_name )const;

The result should like this one, We can work out the total amount of SBD easily.

The assets(rewards) to be claimed

And after HF18, users need to claim their rewards manually, so to accurately calculate the estimated account value, we need to add this part: Rewards to be claim.

The good news is we can retrieval them directly from user info, with same API get_accounts and the same way.

ItemKey
STEEM Reward to be claimedreward_steem_balance
STEEM DOLLARS to be claimedreward_sbd_balance
STEEM POWER to be claimedreward_vesting_balance / reward_vesting_steem


For STEEM POWER to be claimed, we can obtain it from reward_vesting_balance or reward_vesting_steem, but the previous one need to be converted, so the later one is better.

For detailed usage of APIs, Please refer to the steem source code on Github.

中文

上篇文章中我们得出结论,精确计算账户估值,我们需要读取:

  • 钱包资产(包括存款账户)
  • 内部市场资产
  • 转换中的资产
  • 待收取的资产

我们可以使用:
get_accounts读回钱包资产(包括存款账户)
get_open_orders读回并计算出内部市场资产
get_conversion_requests读回并计算出 转换中的资产
get_accounts读回待收取的资产

API的详细用法,请参考Github上的steem源码

Sort:  

Super cool thanks!

simplified but accurated detailed one. good post

If this is the simplified version I would hate to see a detailed version. Valuable info nonetheless

thanks for sharing i will take my time to study this

thanks 4 such a nice post

i hope u explain soon how to get payouts also.. and thanks for this one :) many of us needed to know all this..

There are many people who have strategies to get payouts. I think the biggest thing is participate. Create your own interesting posts, make well written and informed replies and up vote posts which you think deserve it. I believe the first 50 votes you make in the day are the most valuable. Check your wallet every day because I think it takes about a week for the steem to start fogging in (someone please correct me if I am wrong). Of course I only make pennies but I take joy in learning.

thanks... and i wish u all the best

Is there any technique for a post to come in trending section because I am feeling jealous seeing your payout money 🤣🤣

We all would love a bone or two to be thrown our way haha.

Try joining @minnowsupport or giving @randowhale a go!

Thanks for this detailed post!

excellent post friend

nice post and i like read your post... thank you

Step by step explanation...great work! 👍

Thank you.

Excellent post @oflyhigh, I agree with what you write, it's very interesting, thanks for sharing that information , I follow you, we must support ourselves as a community, I appreciate it if you I would give me a look at my last post and give me your opinion, greetings and success in everything.

useful dear,,
thanks

upvoted

有些人说自己英语不好,我又被骗了

o哥说喜欢美女 这个绝对错不了。:)

你知道的太多了!🔫

哪个骗子,揭发他!😡

切,你还不知道吗

permission to reblog again
because its very nice post

Thank you.

very useful information thank you @oflyhigh for sharing

Thanks for sharing!

Thanks for sharing the Information of steemit account value, Really it helped a lot to understand basic mechanism of steemit. Also I missed the part one, definitely will navigate and read it out..

You are welcome!

Thanks a lot for sharing this post @oflyhigh ^_^ you have feed our minds with a knowledge about calculating the estimated account value. This sure is worthy for sharing :) Keep it up!

This is an area that has always baffled me and I believe others too. You have made so clear even for new users. I recommend others to book mark the post for future reference.

Very complete and useful article.
Didn't had this view about the subject.
I'm sharing !

Good post.
Good. Luck!
Follow me thanks!

Great explanation!
Ty

wow nice job

you always become useful when you start to write a post and share with us, somehow we should be grateful, because what you submit is really very easy to understand

Thank you.

So clear....i just post and upvote on steemit but never know how to calculate it. But your post really elaborate it clearly.

Gone over my head 🙄🙄

Very detailed informative post. Thanks for all the information.

Great post giving necessary information to understand your Steemit account, thanks for this!

I always visit your blog because you inspires me. Do what you do. Thank you very much for sharing inspiring content.

Or... we could just take the account value estimation on the wallet as gospel :)

Great post!

O哥这中文够简洁的。哈哈

i hope u explain soon how to get payouts also.. and thanks for this one :) many of us needed to know all this..

写的很清楚,看一次就能了解了。
谢谢
有空的话看下我的 post, 谢谢 :)
Please check out my post too if possible, Thanks :)
https://steemit.com/cn/@applesspatrick/saturday-photography-awesome-shot-in-a-rainy-day

Thanks @oflyhigh for a very detàiled information about calculating estimated account. I am new in steemit and your post helped a lot.
Best regard
@tatimaryati

The method is streamlined but has great utility
Thank you for this useful article
We await your further information

your post is very nice, full pack of knowledge and very attractive :-)

Excellent tutorial! Resteemed!

O哥,代理的SP能算入账户资产吗?

当然不能 😄

Very usefull information!
Thank you for sharing this great information. :)

Vielen Dank für diesen sehr informativen Beitrag.....Auch ich bin über jegliche Unterstützung dankbar

Congratulations @oflyhigh!
Your post was mentioned in the hit parade in the following category:

  • Pending payout - Ranked 4 with $ 302,11

Finally know how to calculation between all these assets, great post!