Steem Apps - Update #4 (More Data!)

in steemapps •  4 months ago  (edited)

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:


All right, that's it for the 4th update. The next one will probably be a more visual one again.

All the best,
Wolf

https://steemapps.com


Do you believe that my work is valuable for Steem? Then please vote for me as witness.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  • Great enhancement to track the un-tracked transactions.
  • Looks good as a blog post, you may want to include code samples and explanations of coding choices if you want to make a development post.

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 etc

·

This 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.

Hi, @therealwolf!

You just got a 0.46% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

This post has been included in the latest edition of SoS Daily News - a digest of all you need to know about the State of Steem.

Bloody well done

Posted using Partiko iOS

Hi @therealwolf!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Congratulations @therealwolf! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You got more than 4250 replies. Your next target is to reach 4500 replies.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Hey, @therealwolf!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!