Poll Creator using Blockchain API
- Utilize a block-chain platform to achieve functionality
- Create a new poll
- Find existing polls to vote for
- Submit voting option selections to the poll
- Polls are valid only for a certain length of time
- Poll results are immutable once the deadline passes
- User details are stored along with user's voting selections
- Poll results include statistics and other desirable user metadata'
- [Poll Creator] creates a new poll
- [Poll Creator] inserts poll details
- Application publishes poll
- (Substep) User details are verified (extends)
- [Poll Voter] finds a poll
- [Poll Voter] selects voting choices
- (Substep) Voting selection transaction is verified by [Blockchain API] (includes)
- [Blockchain API] adds vote selection to the blockchain
- Poll expires and triggers generation of poll results
- (Substep) Poll result analysis and statistics are generated (extends)
- Blockchain Poll Homepage -> index.html
- Create -> creator/index.html
- Submit Page -> creator/submit.php
- Vote -> voter/index.php
- Poll Page -> voter/poll.php
- Submit Page -> voter/submit.php
- Delete Page -> voter/delete.php
- Poll Page -> voter/poll.php
- Results -> results/index.php
- Results Page To Do
- Delete Page -> results/delete.php
- Team -> about/index.html
- Create -> creator/index.html
- VM
- Source Code (GitHub)
- MySQL
- Multichain/Blockchain
- Server
- download VM
- load cs480-vm.ovf or cs480-vm-disk1.vmdk into VM
- login password: a
- start multichain
multichaind cs480 -daemon
- site contained at cs480.com
- clone repository
- install curl
- install MySQL
- create users and grant permissions
- on root account create cs480 user and grant permissions
CREATE USER 'cs480'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT,INSERT,CREATE,DELETE,DROP ON * . * TO 'cs480'@'localhost';
- create databases and tables
- on cs480 user create polls database and creators table
CREATE DATABASE polls; use polls; CREATE TABLE creators (id TEXT, poll TEXT);
- install multichain
- create cs480 blockchain
multichain-util create cs480
multichaind cs480 -daemon
- change password and port in config folder
- password can be found in ~/.multichain/cs480/multichain.conf
- under rpc-password
- port can be found in ~/.multichain/cs480/params.dat
- under default-rpc-port
- password can be found in ~/.multichain/cs480/multichain.conf
- install a web server and add php support
- I am using Apache on Ubuntu 16