Skip to content

Dapp Voting Library integrated into polygon network

Notifications You must be signed in to change notification settings

xmrrabbitx/dvote-polygon

Repository files navigation

header.png

⚙️ dvote-polygon

dvote-polygon is a typescript library integrated into the [polygon] (https://polygon.technology/) network.

This library is tested on the polygon Mumbai test network using quicknode provider.
This library is tested on Ganache, which is a personal Ethereum blockchain.

Installation

type this command in CMD or Terminal
   npm i dvote-polygon

Usage

First Set your Private Key in Dotenv
PRIVATE_KEY = YOUR_PRIVATE_KEY_OF_CRYPTO_WALLET_ADDRESS

Import the Class

import {Dvote}  from "dvote-polygon";

Create New Instance

params => endpointUrl:string , renewContract:boolean
second parameter is false by default and it could be true if you want to deploy new contract! you can leave it blank if you want to use previous contract.
const endpointUrl = "http://127.0.0.1:8545" // your provider

const dv = new Dvote(endpointUrl, renewContract) // create new instance

Compile Vote.sol Contract

params => abi:Array, bytecode:string
let abi = dv.compile().abi()
let bytecode = dv.compile().bytecode()

Deploy Contract

params => abi:Array, bytecode:string
dv.deploy(abi, bytecode).then(data=>{

  result = data;

})

Create a Poll

params => ballotName:string, voteOptions:string[]
let ballotName = "EBAY-SCORES"
let voteOptions = ["Perfect", "Good", "Bad", "Worst"]

dv.createVote(voteName, voteOptions).then(data=>{

  result = data;

})

Add Vote

params => fromAddress:string, ballotName:string, voteOption:string
let fromAddress = "any User Wallet Address"
let ballotName = "EBAY"
let voteOption = "Perfect"

dv.addVote(voteName, voteOption, fromAddress).then(data=>{

   result = data;
    
})

Change your Vote

you can change your casted vote to another option
params => fromAddress:string, ballotName:string, newOption:string
let fromAddress = "any User Wallet Address"
let ballotName = "EBAY"
let newOption = "Good"

dv.changeVote(ballotName, newOption, fromAddress).then((data:any)=>{

    result = data;

})

Vote Result

show the result of voting
let ballotName = "EBAY"

dv.voteResult(ballotName).then((data:any)=>{

    result = data;

})

contribution

If you are interested in contributing to this project, I will be very glad ^__^

License

MIT

About

Dapp Voting Library integrated into polygon network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published