Introducing to SteemVBS
SteemVBS is the first Steem Library written in VBScript. Yes, it is VBScript. ;)
New Features
Adding the support for Vests/Steem Conversions and the functions to get the current vote worth. In particular, the following functions have been added to the library.
- Steem_Per_MVests
- Vests_To_Steem
- GetRewardFund
- GetRecentClaims
- GetAccountVests
- GetMedianPrice
- GetAccount_UpvoteValue
Examples
Vests and Steem:
Dim SteemIt
Set SteemIt = New Steem
WScript.Echo SteemIt.Steem_Per_MVests
WScript.Echo SteemIt.Vests_To_Steem(1)
WScript.Echo SteemIt.Steem_To_Vests(1)
Get Current Vote Worth:
' get account upvote value
Public Function GetAccount_UpvoteValue(id, vp, weight)
Dim power
power = (100 * vp * 100 * weight / 1e4 + 49) / 50
Dim total_vests
total_vests = GetAccountVests(id)
Dim final_vests
final_vests = total_vests * 1e6
Dim rshares
rshares = power * final_vests / 1e4
Dim rewards
rewards = GetRewardFund
Dim sbd_median_price
sbd_median_price = GetMedianPrice
Dim estimate
estimate = rshares / GetRecentClaims * rewards * sbd_median_price
GetAccount_UpvoteValue = estimate
End Function
Fully Unit Tested:
Dim SteemIt
Set SteemIt = New Steem
Dim Util
Set Util = New Utility
Dim fund
fund = SteemIt.GetRewardFund
AssertTrue fund > 0, "Rewards Pool should be larger than zero"
Dim esp
esp = SteemIt.Vests_To_Steem(SteemIt.GetAccountVests("justyy"))
AssertTrue esp > 1000, "justyy's ESP should be at least 1000"
Dim price
price = SteemIt.GetMedianPrice
AssertTrue price > 0, "median price should be larger than 0"
Dim upvote_value
upvote_value = SteemIt.GetAccount_UpvoteValue("justyy", 100, 100)
AssertTrue upvote_value > 0.1, "full vote value should be at least $0.1"
Dim current_upvote_value
current_upvote_value = SteemIt.GetAccount_UpvoteValue("justyy", 50, 20)
AssertEqualFloat upvote_value * 0.5 * 0.2, current_upvote_value, 0.1, "current upvote value calculation error"
Set SteemIt = Nothing
Set Util = Nothing
Github
https://github.com/DoctorLai/steemvbs
Pull Requests
https://github.com/DoctorLai/steemvbs/pull/1
Support me and my work as a witness - witness thread by
- voting me here, or
- voting me as a witness proxy - let @justyy represent you.
Thank you! Some of My Contributions: SteemYY.com - SteemIt Tutorials, Robots, Tools and APIs and VPS Search Tool