New to Busy?

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


9 months agoBusy2 min read

See it online at, 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


Sort byBest