lantto avatar

How to calculate Steem Power using the API

lantto

Published: 11 Aug 2016 › Updated: 11 Aug 2016How to calculate Steem Power using the API

How to calculate Steem Power using the API


I've seen a lot of discussions on how Steem Power is actually calculated. In this post I will show a concrete example using JavaScript and the steem.ws WebSocket API.

Formula

The forumla for calculating Steem Power is as follows:

total_vesting_fund_steem * (user's vesting_shares / total_vesting_shares)

I won't go into details what these are but here is a good article outlining the concepts of vests.

Code

This script retrieves the relevant values in the formula and calculates Steem Power for lantto@lantto:

var totalVestingShares, totalVestingFundSteem;

var socket = new WebSocket('wss://node.steem.ws'),
    account = 'lantto';

socket.onopen = function(event) {
    socket.send(JSON.stringify({id: 1, method: 'get_dynamic_global_properties', 'params': []}));
}

socket.onmessage = function(event) {
    var steemPower, vestingShares;

    var data = JSON.parse(event.data);

    if (data.id === 1) {
        totalVestingShares = data.result.total_vesting_shares.split(' ')[0];
        totalVestingFundSteem = data.result.total_vesting_fund_steem.split(' ')[0];

        socket.send(JSON.stringify({id: 2, method: 'get_accounts', params: [[account]]}));
    }

    if (data.id === 2) {
        vestingShares = data.result[0].vesting_shares.split(' ')[0];
        steemPower = totalVestingFundSteem * (vestingShares / totalVestingShares);

        console.log(steemPower);
    }
}

Go ahead and replace lantto with your own username and paste the code into the Chrome DevTools console. It should output your current Steem Power.

This is how Steem Power is calculated everywhere. We can verify this by looking at the source code of steemit.com where they're using a utility function very similar to the code above.

Let me know if you have any questions!

Credits

steem.ws by xeroc@xeroc and jesta@jesta
How to calculate the Market Capitalization of Steem by dantheman@dantheman
Developers Guide to Steem's Blockchain by furion@furion

Leave How to calculate Steem Power using the API to:

Written by

Read more #steem posts


Best Posts From lantto

We have not curated any of lantto's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From lantto