Proposal for Historical Wallet View

in #proposal8 hours ago

While it's fine for viewing your current holdings, the Steemit Wallet page is very limited when it comes to analyzing your financial activity. It only shows recent past transactions, and those in a very barebones way, where you just get some numbers, so important transactions can easily be lost in a sea of small reward claims and .001 transfers. I think it would be useful to have a more fully-featured tool for exploring an account's financial history on the chain, so I am proposing that I can build a tool like that. (I haven't formally submitted a DAO proposal for this, but if there are indications that support is there I would create one).

HistoricalWallet.png

I think the tool should provide both a way to get the raw data for analysis by other tools (perhaps in XML, or a .CSV file that could be used with crypto tax tools or other analysis software) and a graphical interface to analyze trends. For example, I think it would be cool if you could see how much of your SP came from powerups, author rewards, curation rewards, and interest. I'm envisioning it as a stacked line chart, where you can select which order the various contributions show up in the stack.

Feasibility

One big challenge for historical analysis of the value of Steem accounts is that internally the chain tracks an account's Steem Power in "Vests", and the relationship between Vests and powered-up Steem changes over time. However, @steemchiller's SDS API has support for getting the average steem-per-vest value for each day of the chain's history, so a tool can use that API call to approximate SP from Vests for days in the past.

It looks like the SDS account history API only supports getting the transactions for the past 90 days. The regular Steem API provides support for getting an account's full history, so between the two of them all of the information should be available via API, which ought to mean that it can be implemented in javascript on a webpage without needing its own server to run anything.

I've got a proof of concept running in Node.js on my local machine which is spitting out info about Steem, Vests, and SPs to a CSV file that I've graphed in a spreadsheet. It's not doing the fancy different-sources-of-SP thing yet, but you can see the way STEEM and SP interact with some big powerups and powerdowns. The amount of Vests is plotted against the secondary right Y-axis, and you can see the effect of interest by looking at the way the red Vests line and the yellow SP line relate to each other.

HistoryOfMySP.png

One big downside is that getting this much info via the regular Steem API is not fast, which is not great from the user experience perspective.

A basic implementation would create a public webpage with javascript code that uses API calls to get the data. A more ambitious plan would try to incorporate into Condenser as an additional feature of the wallet, perhaps on an additional tab like the Delegations feature.

Costs

If I got funding I would work on this part time, figure ten hours per week for two months to implement all the features and make it general enough to work for anybody, implement the UI, etc. (Note: I do not have a lot of experience estimating time or effort for software development -- this doesn't seem like a huge task to me but I could be over- or under-estimating what it will actually take). So if we say ~$25 per hour, that would be 36 SBD per day for two months. (I don't know what would be involved with Condenser integration, but I guess another month if that was what people wanted.) If this did need some dedicated server running somewhere, I would want ongoing funding to cover the costs of that. I would likely be selling any SBD I received to contribute to living expenses like rent and utilities.

Conclusion

As I mentioned earlier, if there were indications that an actual DAO/SPS proposal could get support from enough big voters that funds would start flowing then I would submit it as an actual proposal. I think this project has a manageable scope and a reasonably small budget by the standards of what is currently available in the DAO. I think it would provide new functionality that would be useful to people -- obviously not a huge benefit but more than zero. I think I have the skills to deliver the project, but I don't have a track record of doing things exactly like this, so I could understand if that was seen as a risk (I see it that way myself).

Sort:  

I would support your proposal, although I have very little influence. 🙂

Coin Marketplace

STEEM 0.22
TRX 0.24
JST 0.037
BTC 102567.26
ETH 3270.51
SBD 4.65