dPoll development updates: Result filtering and voting audits


See it online at dpoll.xyz, and the source code at github repository.


dPoll is a poll application on the top of STEEM blockchain. It utilizes an account based voting and stores poll and voting data on the blockchain. It's currently ranked at #4 at steemapps by usage numbers.

Result filters

Dan's latest poll brought some questioning about account based voting. In order to eliminate multi account voting abuse, we have implemented result filters in the poll detail page.

It's possible to filter voters by

  • Minimum reputation
  • Minimum STEEM power
  • Minimum account age in days
  • Minimum post count

If you have something big to decide and act according to a poll you have created, you can use these filters to exclude 0 SP/0 activity accounts.

We didn't want to limit people to vote. So, as a poll owner, you can't set restrictions for your potential voters. Every account can vote, and the default view doesn't exclude any accounts. However, you can filter/exclude the results based on the parameters you set.

Related pull requests:

Auditing votes

dPoll uses main posts as polls, and comments as votes. Whenever you post a poll, a secret json metadata is written to the blockchain. That's the same with votes.

People may delete the comment from Steemit. This operation doesn't actually delete the comment but sends a signal that it's deleted. The comment operations still stay in the history of the blockchain, However,get_content_replies doesn't return the deleted comments.

People may edit the comments with alternative Steem apps. These apps may hijack the json_metadata, therefore removes the voting_data when they're used for editing.

see Auditing dPolls.

In order to make the auditing process easier, we have started storing corresponding transaction ids and block numbers for each vote.

There is also a public table available for each poll (accessible via the audit button in the detail page).

Related pull requests:

Defensive broadcasting logic on votes


The previous logic on dPoll votes was:

  • Register the vote in dPoll's internal database
  • Sync the vote to the blockchain

However, this was causing some problems. Due to a really rare hiccup on Steemconnect, we were seeing some votes exists on dPoll but not on the blockchain. For the reference, on this huge poll, this issue happened on two votes.

We have updated the logic to behave more defensively. We register the vote to the database if only we get a successful response from the Steemconnect.

Related pull request:


Current activity levels

dPoll is ranked at 4 on steemapps. On stateofdapps we are at number 17.

Without any huge delegations, it's amazing that we generate that level of activity in the blockchain.

Thanks to our community and sponsors for the support. Our curation account is @dpoll.curation. You may consider delegating to that account to support the project.

Vote for my witness

I do my best to support the blockchain with my skills. If you like what I do, consider casting a vote on via Steemconnect or on steemit.com

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now