dPoll development update: Keychain integration and 3rd party voting support

4개월 전

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

With the @steemalliance's decision to use dPoll for their voting/election activities, a couple of concerns raised regarding the Steemconnect authentication on dPoll.

I have personally mixed feelings about Steemconnect. As an application developer, I love it. It makes things easier in terms of development costs and time. As a stakeholder, I am not %100 comfortable because I add another central point of trust to use an app. And this is not a perfect solution.

Voting via Keychain

Keychain is a browser extension working in the client side to address some of the concerns on Steemconnect flow. Keychain is not a direct replacement for Steemconnect. So, dPoll will continue using SC for general authentication logic and creating polls.

However, if you want to use dPoll to use voting for crucial polls (like @steemalliance polls.), you may skip logging in and vote directly via Keychain. On a poll detail view, click to the link indicates the keychain voting support.

After that step you will be asked to broadcast a vote/comment operation:

Voting via any tool/scripts

One can also be skeptical about Keychain. It's another third-party browser extension. And I wouldn't use that if I didn't trust to owners and didn't have the skills to audit the extension's source code. So, instead of limiting voting to Keychain or Steemconnect, by broadcasting valid Comment objects, you can join to any poll.

A Python script demonstrating that functionality:

See the source in raw format

By following the dPoll's json_metadata standard, you can actually vote with little scripts. After broadcasting the transaction, just trigger the web-api/sync endpoint of the dPoll and you're all set.

Pull Requests

Vote for my witness

If you like what I do, consider casting a vote on Steemconnect or on Steemit

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:  trending
  • Good short article with one image and one code sample.
  • Seems like an important move for the project to remove single points of failure.
  • Nice to see some comments in the code.

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.



Thank you for your review, @helo! Keep up the good work!


Hi @emrebeyler!

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

Maybe this will be my first time on keychain! 😃

Posted using Partiko Android

Great work as always mate. I think Keychain is possibly the beat development we've seen on Steem and its great youve integrated it with your own brilliant creation
Best wishes to you as always :-)

Posted using Partiko Android

I believe every dapp need to have both for authentication.

Posted using Partiko Android

Keychain is so user friendly and secure compared to Steemconnect.
You gotta love it!


It's a good solution 👍

Like always, well done @emrebeyler! :)
How things going in Holland? :)

Posted using Partiko Android



Still trying to settle and handle the bureaucracy but it's pretty good so far! :)


All the best to you! :))

Posted using Partiko Android

So is keychain safer to use than steemconnect? I, too, am not that confortable in using steemconnect but most steem-based app uses it for logging in, giving me not many options. If keychain is safer than steemconnect then I might start using it soon.


Keychain is definitely safer. Your keys are stored locally on your machine and you don't need to trust any third party to keep it secure.


You just planted 0.10 tree(s)!

Thanks to @fuadsm

We have planted already
7740.98 trees
out of 1,000,000

Let's save and restore Abongphen Highland Forest
in Cameroonian village Kedjom-Keku!
Plant trees with @treeplanter and get paid for it!
My Steem Power = 20881.13
Thanks a lot!
@martin.mikes coordinator of @kedjom-keku

I had forgotten about that. Will have to check it out.

Posted using Partiko Android

cool man, i love keychain, i hope more dApps will follow!

Posted using Partiko Android

Are you putting polling information into the blockchain? How does it work?
Can other platforms interact or are you centralizing it in and through your website?


we can say dPoll is centralized on some points. (E.g: we have a delist option for spam polls) however with the polls and votes are also stored in the blockchain one can create a new dpoll with its source code just by parsing the blockchain.)



  1. What parts are centralized?
  2. Each user puts their vote inside of a comment right?
  3. Do you put those votes inside of a first thread?
    That would seems to uncluttered a lot because many interfaces have Collapse ability.
    I know it may not sound awesome but maybe that allows the user to Mute that first thread comment. Or even give a front end the ability to auto collapse when it sees a comment from @votingsystemthing
  4. Have you considered using comment metadata so that posts are way more clean?
  5. What about working with front ends to help educate them about how they can empower the users to vote from their interface?
  6. Are you mainly focused on creating a heavily used tool for the blockchain or a heavily used website? Because if you're willing to let front ends join in on the fun this could go from something small to something standard in every interface on steem.

7 . Btw strong move to allow keychain! Well done. I may actually use the system now.

It is amazing to now have 3rd party support! Thank you! =)


Enjoy! And let me know if things doesn't work out properly.

Hey, @emrebeyler!

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!

This post has been included in the latest edition of The Steem News in 10 posts - a compilation of the key news stories on the Steem blockchain.

Congratulations @emrebeyler!
Your post was mentioned in the Steem Hit Parade in the following category:

  • Pending payout - Ranked 3 with $ 234,91

Ok, you won my vote. I guess I have being a bit relaxed these days with the voting. Need to make my mind more active about it.

Voting for witnesses should actually be related/win "extra reputation"... @steem-ua
Especially if validated by real curators...

Example... I vote A but I do the opposite of A and someone spots me... and I don't answer... that should negatively impact my reputation. Otherwise BOOOm!

Your extraordinary comments, very interesting to discuss, especially regarding the issue of voting through keychain, good luck @emrebeyler