Steem Apps - Update #4 (More Data!)
SteemApps.com received an important update, which improves the amount of data we can fetch & analyze for each app - for example, to track the number of users each app has per day/week/month.
This post is going to be more technical than previous updates.
Essentially with this update (#4), sub-groups of custom_json
transactions are now being tracked, which d/Apps can use for submission of data, which previously couldn't be pinpointed to specific apps (votes, transfers, delegations, etc.)
For example, this post has been created with Steemit.com. I know this not only because I wrote it, but also because it's inside the meta
-data of this post. Which means, SteemApps.com and other websites are able to fetch and analyze this data.
However, if I upvote this post - there is no way for me to say which d/App has been used to make this vote. That's why I've created a custom_json standard.
First Success: Partiko
For an easier understanding, let me explain this with Partiko, who are using these custom_jsons for over 2 weeks to track upvotes.
As you can see above, @crypto.talk has upvoted a post from @nathanmars via the Partiko app, which also broadcasted a custom_json with the vote
-id and a specific json
body. Before you worry about unnecessary transactions or resource credits usage - Partiko is only doing this once-per-day so SteemApps & Co. are able to track users for votes.
So far, this has resulted in an increase to 1100 Daily Average users from 900. (Keep in mind that those users weren't new, they were simply hidden as SteemApps.com wasn't able to know that they were using Partiko) Also, the amount of transactions are not going to be increased by this.
Supported Transactions
Every d/App is able to implement the same logic for votes & other transactions.
So far, the following transactions are supported, which are the id's of custom_jsons:
- vote (for upvotes & downvotes)
- transfer (for transfers & transfer_to_vestings)
- delegate (for delegations & undelegations)
- active_user (for anything related to the activity of users)
In the future, resteems, as well as follows/unfollows, should be supported.
Structure
In any case - it's very important that the structure of these custom_jsons are accurate, otherwise, SteemApps.com and other websites aren't able to utilise the data.
If you're not sure what custom_jsons are, then please research that first.
required_posting_auths
: some_user (required_auths is not supported currently as STEEMSQL isn't tracking the active-key field)id
: vote (or any of the other supported transactions as shown above)json
: {"app":"someapp (for example partiko)" ... }
I'm not planning to utilize any of the other data for now inside the json
part (as seen in the partiko example) of the custom_json, besides app
- which is crucial.
Please take a look at https://steemapps.com/apps/yourapp
and use it if possible for the app
in the json, as this name will be used for assigning the custom_jsons towards the apps of SteemApps.com. Otherwise, please contact me on discord if you are using a different app
tag: https://discord.gg/HQatBRe
Also feel free to contact me if you there are any questions or feedback!
Github
https://github.com/therealwolf42/steemapps-backend
Pull Requests:
- https://github.com/therealwolf42/steemapps-backend/pull/7
- https://github.com/therealwolf42/steemapps-backend/pull/8
All right, that's it for the 4th update. The next one will probably be a more visual one again.
All the best,
Wolf
Do you believe that my work is valuable for Steem? Then please vote for me as witness.
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Chat with us on Discord.
[utopian-moderator]
Thank you for your review, @helo! Keep up the good work!
Could we do a
active_user
tx with the amount of transactions a user did? That would be less bloat for the blockchain. And does that tx have any content requirements? Otherwise I would keep it as simple as possible to save space.Good questions! So currently only Daily/Weekly/Monthly Users are being tracked by these kinds of custom_jsons and I'm planning on keeping it that way for the time being.
Now regarding the
active_user
that was just some last_minute thought I wanted to add to see what the feedback is. I'm not yet sure how to best utilize it, as I don't want to go too much off-chain. The idea was that apps are able to broadcast this custom_json if a user is doing any actions. For example logging in, logging out, etc etcThis means the dapp can put any number for the transaction amount?
Posted using Partiko Android
Great work as always, Wolf.
Accurate and trusted dApp statistics is crucial to the success of Steemit, especially in promotional campaigns.
Agreed. The goal is to gather as much data as possible, without it becoming a burden for the user.
I didn’t even know steemapps.com was you. Your awesome man I use all your tools. From steemapps to smartsteem. Keep up the great work for the Steem Ecosystem. People like you are what makes Steem great.
Posted using Partiko iOS
Nice work!
Great job man! 😎
Posted using Partiko iOS
Give this man a beer!
Good for @partiko
Posted using Partiko Android
I was just wondering how much steem steemmonsters takes in so love being able to see this. Makes me realize how far steem has come and how far it has yet to go.
I am a computer developer but until now I'm just working on steemit as a blogger, and I would obviously like to develop an application on the blockchain steem, the apps statistics is a good tool that will probably help me in my future projects, and also it will be useful for all developers.