Inspiration

To prevent scams in the voting system by protecting data on the distributed immutable ledger

What it does

It provides the most securable voting system by storing data in the blockchain / it cannot be able to tamper with or change the data on voters' list, once the data of voters' list is stored in the blockchain it cannot be able to edit or change the data of the voter's list by hackers it leads to preventing ourselves from active attacks and passive attacks it verifies the voters digital signature by upload the voting list on the blockchain

How we built it

we use React.js for our front-end and solidity for our back-end we use Figma to personalize to looks of our voting interface solidity (smart-contracts) plays a vital role in creating an back-end smart contract in the blockchain

Challenges we ran into

publishing about the digital voting systems and deploying them in small sector elections like student elections, etc...

Accomplishments that we're proud of

we were proud of creating the blockchain-based voting system and preventing data from active attackers on the voting system by using blockchain

What we learned

learned about the digital voting system and a consensus mechanism in blockchain node

What's next for Blockchain VotingSystem

Deploying our very own voting application in the market and aware people about the secure voting system

source code for Back-end

Code block(Solidity: back-end) // SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract votingsystem{ function pay() public payable{

}
address candidate1;
address candidate2;
constructor(){
    candidate1=0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
    candidate2=0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;
}
struct pseudo{
    string name;
    uint age;
    address voterAddress;
}
pseudo private v1;
uint[] private votecount1;
uint[] private votecount2;
uint count;
uint votercount=0;
function votecandidate1(string memory _name,uint _age) public{
    require(_age>=18,"you are not eligible for voting");
    require(msg.sender!=candidate1,"candidates cannot be the voter");
    require( v1.voterAddress!=msg.sender,"you cant cant able to vote again");
    v1.name=_name;
    v1.age=_age;
    v1.voterAddress=msg.sender;
    votecount1.push(1);

}
function votecandidate2(string memory _name,uint _age) public{
    require(_age>=18,"you are not eligible for voting");
    require(msg.sender!=candidate2,"candidates cannot be the voter");
    require( v1.voterAddress!=msg.sender,"you cant able to vote again");
    v1.name=_name;
    v1.age=_age;
    v1.voterAddress=msg.sender;
    votecount2.push(1);
     votercount++;
}
uint public sum1;
uint public sum2;
function addTotal1() public {
   count=0;
   while(count<votecount1.length){
       sum1=sum1+votecount1[count];
       count++;
   }
}
function addTotal2() public {
   count=0;
   while(count<votecount2.length){
       sum2=sum2+votecount2[count];
       count++;
   }
}

}

Share this project:

Updates