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

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@emrebeyler·
0.000 HBD
dPoll development update: Keychain integration and 3rd party voting support
<center><img src="https://steemitimages.com/p/4i88GgaV8qiFU89taP2MgKXzwntUGAvkoQiKU7VxyD37q94Wi9c7sckcogtYxZUCMZDdF5zmwoKUZWw1iZw1YDMLq33p3D4GSpz3CzvSn3BMn9D8qospTKaVPt?format=match&mode=fit&width=640"></center>
<center><sup>See it online at [dpoll.xyz](https://dpoll.xyz/), and the source code at [github repository.](https://github.com/emre)</sup></center>
***

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](https://github.com/MattyIce/steem-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.

<center><img src="https://ipfs.busy.org/ipfs/QmfQ5EQf3eayv6xt53UoQR453VLuXADjzPRoVJ63VV6bvE"></center>
***

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

<center><img src="https://ipfs.busy.org/ipfs/QmVdS9heA5yUgLWoWzfjBq3JrFEKNcHGTFovD8GMaKXeDR"></center>

# 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:

<center><img src="https://ipfs.busy.org/ipfs/QmQTMhJLU7c1BMeget5PwQSSppjEzanvke6upeZHT9bbjg"></center>
<center><a href="https://gist.github.com/emre/16e561b416de0e9f7fefc701e673d696">See the source in raw format</a></center>
***

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

- https://github.com/emre/dpoll.xyz/pull/104

# Vote for my witness
*If you like what I do, consider casting a vote on [Steemconnect](https://steemconnect.com/sign/account-witness-vote?witness=emrebeyler&approve=1) or on [Steemit](https://steemit.com/~witnesses)*

👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,