0.0.5 • Published 7 months ago

dvote-polygon v0.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

⚙️ dvote-polygon

dvote-polygon is a typescript library integrated into the polygon 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