You are on page 1of 22

DECENTRALIZED

VOTING
APPLICATION
WHAT IS D’Voting APP

➜ Decentralized application
➜ Peer to peer
➜ Data is shared
➜ Code is shared

2
D’ Voting APP Structure

BROWSER

Front End
Node
HTML , CSS,JS

Node Node

Smart Contract
Block Chain
Node
Ledger
3
4
FLOW CHART

5
SOFTWARES USED

INSTALL ETHEREUM DEPENDENCIES

 NPM

 TRUFFLE

 METAMASK

 GANACHE

 LITE-SERVER

6
NPM

 NPM Means (Node.js package manager).

 NPM is written entirely in JavaScript and was developed by Isaac Z.

 It is a Packet manager for the JavaScript programming language.

 It is the default package manager for the JavaScript runtime environment Node.js.
 It consists of a command line client, also called npm, and an online database of public and
paid-for private packages, called the npm registry.

7
TRUFFLE

 Truffle is a development environment, testing framework and asset pipeline for Ethereum,
aiming to make life as an Ethereum developer easier.
 Built-in smart contract compilation, linking, deployment and binary management.
 Automated contract testing with Mocha and Chai.
 Configurable build pipeline with support for custom build processes.
 Scriptable deployment & migrations framework.
 Network management for deploying to many public & private networks.
 Interactive console for direct contract communication.
 Instant rebuilding of assets during development.
 External script runner that executes scripts within a Truffle environment.

8
METAMASK

 MetaMask is a bridge that allows you to visit the distributed web of tomorrow in your browser today.

 It allows you to run Ethereum dApps right in your browser without running a full Ethereum node.

 Our mission is to make Ethereum as easy to use for as many people as possible.
 MetaMask includes a secure identity vault, providing a user interface to manage your identities on
different sites and sign blockchain transactions.

9
GANACHE

 Ganache can use to run tests, execute commands, and inspect state while controlling how the chain
operates.

 Ganache is an ethereum client which one can use for Ethereum development.
 Ganache can use for the development of DAPP and once it is developed and tested on the ganache you
can deploy your DAPP on ethereum client like geth or parity.

10
LITE-SERVER

 Lightweight development only node server that serves a web app, opens it in the browser, refreshes
when html or javascript change, injects CSS changes using sockets, and has a fallback page when a
route is not found.
 lite-server is a simple customized wrapper around BrowserSync to make it easy to serve SPAs.

 BrowserSync does most of what we want in a super fast lightweight development server. It serves the
static content, detects changes, refreshes the browser, and offers many customizations.

Install: > npm i lite-server

11
PROCESS OF STARTING PROJECTS

 Install Ethereum dependencies.


E:\FInal Project> npm install
 Start Ganache
 Compile & Deploy Election Smart Contract
E:\FInal Project> truffle migrate –reset
 Configure Metamask
 Unlock Metamask
 Connect metamask to your local Etherum blockchain provided by Ganache.
 Import an account provided by ganache.
 Run the Front End Application
 npm run dev Visit this URL in your browser: http://localhost:3000

12
13
SNAPSHOTS

14
15
16
17
18
19
20
21
Thanks!
Any questions?

22

You might also like