The blockchain giant-impact: YouVote

La risposta alla domanda: “Chi ha davvero vinto X-Factor?”

Giuseppe Palazzolo
Mar 5 · 3 min read

Nonostante per alcune blockchain non sia ancora arrivata la prima fase, per altre è cominciata la seconda, quella dell’implementazione di un caso d’uso.

Premessa: non avrei mai voluto che questa serie prendesse una piega trash.

Ma come facciamo a essere certi che dal nostro reality preferito venga eliminato o vinca effettivamente il concorrente che abbiamo votato? Come facciamo a essere certi che le nomination non siano sabotate? Si è pensato di implementare uno dei casi d’uso più diffusi nell’ambito delle blockchain, preso come esempio per la maggior parte di queste: la votazione.


Idea di partenza

YouVote è un’applicazione di votazioni su IPFS che permette di creare elezioni, partecipare ad esse e verificarne i risultati scegliendo tra l’altro quale blockchain utilizzare tra quelle che testeremo.

Partiamo dal voler consentire un numero arbitrario di candidati e voti disponibili, ogni indirizzo/elettore potrà votare una volta e alla scadenza verrà mostrata la classifica risultante; vedremo se queste caratteristiche sono applicabili o bisogna scendere a compromessi e.g. limitare il numero di candidati.

Il programma dovrà fornire un livello di astrazione tra il caso d’uso in questione e l’utilizzo delle varie blockchain.

Effettivamente quanto è fattibile realizzarlo? Quanto Ethereum, Scrypta, Quadrans e altre si prestano e quali sono i loro confini? Uno smart contract è necessario? Ne vale la pena in termini di costi?

Implementazione

YouVote è una PWA sviluppata in Vuejs, utilizzando il framework Ionic. Elemento essenziale sarà il blockchainTool, oggetto che astrae dalla blockchain in uso e fornirà delle funzioni specifiche che verranno implementate secondo le API a disposizione:

  • getAccountAddress(…)

Front-end

L’interfaccia è strutturata su tre sezioni principali:

  • Discover: in cui selezionando la blockchain desiderata è possibile partecipare a elezioni messe in evidenza

Nella pagina di votazione verranno mostrate le informazioni necessarie quali:

  • Candidati

Back-end: Interazione YouVote-IPFS-Blockchain

Ogni elezione sarà salvata come JSON in un apposita cartella all’interno di un nodo IPFS, uno degli attributi di questo file sarà l’indirizzo blockchain di riferimento attraverso il quale poter verificare nell’explorer le transazioni eseguite.

L’intera applicazione sarà salvata su IPFS e accessibile da un indirizzo IPNS, comunicherà con la blockchain di riferimento tramite le API fornite ed eventualmente integrate da estenzioni browser.

Sarà possibile partecipare o verificare i risultati di un’elezione attraverso il suo CID: da qui YouVote scaricherà il JSON, chiederà alla blockchain lo stato della votazione e informazioni sull’elettore, dopodichè restituirà i risultati o visualizzarà l’elezione.

Riferimenti bibliografici

vivido-it

Blockchain on demand software company

Giuseppe Palazzolo

Written by

vivido-it

vivido-it

Blockchain on demand software company

More From Medium

More on Blockchain from vivido-it

More on Blockchain from vivido-it

More on Blockchain from vivido-it

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade