Nitrous Update: Vote Estimates, Voting Breakdowns, Tag Limit

in #palnet5 years ago (edited)

Voting estimate and voting breakdowns have now been pushed out. Given that many tokens have settings different than linear, having the ability to estimate the vote value becomes very important because it is additionally dependent on the post that is being voted, rather than being a function of just your stake and voting power.

The high level of the changes as follows:

  1. Compute vote value estimate on the slider (Slider is enabled for everyone).
  2. Pending payouts are updated on load rather than just whenever the last vote was applied.
  3. When clicking on the list of voters, it tells you how much each vote contributed to the vote value of the post.
  4. (Bonus, thanks to @ayogom) Tag limit bumped to 10, from 5. Now applied to this post. However, tag edits may do not seem to work reliably, so beware. Just try it on new ones.

Some screenshots I snagged on mobile. The first is the upvote estimator.

Screenshot_20190627-113753.png

Here's the downvote estimator:

Screenshot_20190627-113804.png

And finally the vote breakdown:

Screenshot_20190627-113809~2.png

Details that not many care about

In order to compute the vote estimate, I read the current data for the token's pending rshares (sum of pending reward curve post rshares) and author curve exponent.

Fetching this data required wiring up the call so that the fetch happens at the stage where the state is being fetched. Eventually this should probably be bundled together so it can happen in a single call to the Scot API, and these kinds of optimizations may need to happen to scale properly.

The formula for how much a vote with size rshares will give is given by

R(post_rshares + rshares) - R(post_rshares)

where

R(r) = r^(reward_exponent) * (reward_pool / pending_rshares)

Pending post rewards is also computed on the fly now with R(post_rshares)

In order to compute the voter breakdown, I processed the votes in vote order and applied the formula above. Keep a running total of rshares for all voters processed so far, and compute

R(rshares_so_far + current_vote_rshares) - R(rshares_so_far)

This works for both upvotes and downvotes.

Misc

There was a previous issue where every post had been marked with "edited" for some strange reason. That has been fixed but may still behave weirdly in some cases. There are still some things that are not ideal in how fetches are made, and that will be an ongoing improvement.

Summary

Anyway that's about it. Let me know if you notice anything weird with the computations or any slowness. Cheers!

Sort:  

Wow! Everything worked just like they showed in the pictures!

cool! always good to know how much i'm going to downvote this post lol

Yeah it's probably overvalued. You might want to :D

@eonwarped. so with all these tokens linked, i read a sports token post about downvoting some of the trending page people as some players received more tokens then others etc. so i did - that then also deleted the persons actifit post steem and PAL upvotes which i felt wasn't fair so i reversed it. how is all this going to work? Down vote small with 1 token - kill someone with the other?

You probably want to delegate the staked tokens to different accounts to separate the effects. That's what I was planning to do with PAL but haven't done so yet.

what a pain in the arse. split up into more accounts. i want to combine all mine lol

That is super-nice.

Damn. Things are improving at a rate of knots. Amazing work. I mean that from the heart. .. @riverflows

These are some of the features I was hoping for. I know they are not 100% accurate etc. but it makes for voting and seeing those helping you with votes a bit better. I like a give/take relationship not a take and take some more :P

Great updates! You're the MVP :) when donations? 👀

Thanks! Donations are on my list of things but I'm not sure when I will get to it, as there are other big asks for making things just work more smoothly.

Is that why for a brief period the rewards on all posts on splintertalk were reduced by a factor of ten? Then got back to normal. Then reduced by half again before getting back to normal? I did think it was some kind of a glitch.

Hmm no that's not normal. I'll check on that specifically, could be a glitch with how I'm handling the precision. I'll double check. There used to be an issue with that but I should have fixed them.

Do I have to be excited because the screenshots you used were showing my reply to Aggroed hahahaha.

I also just noticed that we now see the value of sports each upvote now costs, great work there.

Great update. Is this only applicable on the palnet condenser or are other sites like sportstalk and splinterlands going to implement it too.?

Posted using Partiko Android

All the nitrous/condenser sites should have it, so yes.

Posted using Partiko Android

That is fantastic.. Looking forward to future developments.

Posted using Partiko Android

That's great! Now we have more control when we upvote posts. Thank you for sharing this.

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.033
BTC 64271.38
ETH 3157.43
USDT 1.00
SBD 4.25