Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sreyashidey/decentralized-voting-app
The Blockchain Voting System is a decentralized application built using Solidity and ReactJS. It allows users to securely cast their votes through a blockchain network, ensuring transparency, immutability, and fairness. By leveraging Ethereum's blockchain technology. References taken from youtube.
https://github.com/sreyashidey/decentralized-voting-app
blockchain reactjs smart-contracts solidity
Last synced: about 1 month ago
JSON representation
The Blockchain Voting System is a decentralized application built using Solidity and ReactJS. It allows users to securely cast their votes through a blockchain network, ensuring transparency, immutability, and fairness. By leveraging Ethereum's blockchain technology. References taken from youtube.
- Host: GitHub
- URL: https://github.com/sreyashidey/decentralized-voting-app
- Owner: Sreyashidey
- Created: 2024-11-07T09:47:39.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-07T09:52:08.000Z (about 2 months ago)
- Last Synced: 2024-11-20T18:09:05.828Z (about 1 month ago)
- Topics: blockchain, reactjs, smart-contracts, solidity
- Language: JavaScript
- Homepage:
- Size: 394 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Blockchain Voting System
This application demonstrates a decentralized voting system using a Solidity smart contract, integrated with a ReactJS front end. Voters can interact with the application securely, casting their votes through a blockchain network, ensuring immutability and transparency.
---
## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Smart Contract Deployment](#smart-contract-deployment)
- [Running the Application](#running-the-application)
- [Usage](#usage)
- [Technologies Used](#technologies-used)
- [Future Improvements](#future-improvements)---
## Overview
This Blockchain Voting System leverages blockchain technology to provide a transparent and secure voting mechanism. By utilizing Solidity for the smart contract and ReactJS for the front end, this application offers a user-friendly and trustless environment, with each vote permanently stored on the blockchain.
## Features
- **Secure Voting**: Each vote is recorded on the blockchain, ensuring tamper-proof results.
- **Transparency**: Votes are publicly verifiable, adding transparency to the voting process.
- **Decentralization**: The system does not rely on a central authority, eliminating single points of failure.
- **Real-time Updates**: The React front end provides users with immediate feedback on voting status.## Prerequisites
Before you begin, ensure you have the following tools installed:
- **Node.js** (v14 or later)
- **NPM** (v6 or later)
- **Hardhat**: Ethereum development environment
- **MetaMask**: Browser extension to interact with Ethereum blockchain
- **Volta Test Network** or any Ethereum test network## Installation
1. **Clone the Repository**
```shell
git clone https://github.com/yourusername/blockchain-voting-system.git
cd blockchain-voting-system
## InstallationAfter you clone the repository, follow these steps to install the necessary packages and set up the blockchain:
2. **Install Dependencies**
Run the following command to install the required packages:
```shell
npm install
npx hardhat compile
npx hardhat run --network volta scripts/deploy.js
npm start## Technologies used-
This project leverages a combination of tools and technologies to build a decentralized voting system. Below are the key technologies used:- **Solidity**: The programming language used for writing the smart contract that handles the voting logic on the blockchain.
- **Hardhat**: An Ethereum development environment used to compile, test, and deploy the Solidity smart contract.
- **ReactJS**: The JavaScript library used to build the front-end user interface for interacting with the blockchain.
- **MetaMask**: A browser extension wallet that allows users to securely interact with the Ethereum blockchain.
- **Ethereum/Volta Network**: The blockchain network used to deploy the smart contract. The Volta test network is utilized for testing purposes.
- **Node.js**: The runtime environment used to execute JavaScript on the server-side for both the smart contract and front-end interactions.
- **npm**: A package manager used to manage project dependencies and scripts.These technologies together allow the development of a secure, transparent, and decentralized voting system that ensures data integrity and real-time updates.