Kenneth Phang
Aug 8, 2017 · 1 min read

var Web3 = require(‘web3’);

var fs = require(‘fs’);

var solc = require(‘solc’);

var web3 = new Web3();

var provider = new web3.providers.HttpProvider(‘http://localhost:8545');

web3.setProvider(provider);

var code = fs.readFileSync(‘contracts/Voting.sol’).toString();

console.log(code);

var compiledCode = solc.compile(code);

console.log(compiledCode);

var abiDefinition = JSON.parse(compiledCode.contracts[‘:Voting’].interface);

console.log(abiDefinition);

var VotingContract = web3.eth.contract(abiDefinition);

console.log(VotingContract);

var bytecode = compiledCode.contracts[‘:Voting’].bytecode;

var gasEstimates = compiledCode.contracts[‘:Voting’].gasEstimates;

console.log(“>> “ + gasEstimates);

console.log(“>> “ + bytecode);

web3.eth.contract(abiDefinition).new([‘Kenneth’, ‘Fara’, ‘Bala’], { from: web3.eth.accounts[0], gas: 4700000, data: bytecode }, function(err, contract) {

if (err) {

console.error(err);

return;

} else if (contract.address) {

myContract = contract;

console.log(‘address: ‘ + myContract.address);

var contractInstance = VotingContract.at(myContract.address);

console.log(contractInstance.totalVotesFor.call(“Kenneth”));

contractInstance.voteForCandidate.call(‘Kenneth’, { from: web3.eth.accounts[0] });

contractInstance.voteForCandidate.call(‘Kenneth’, { from: web3.eth.accounts[0] });

contractInstance.voteForCandidate.call(‘Kenneth’, { from: web3.eth.accounts[0] });

contractInstance.voteForCandidate.call(‘Fara’, { from: web3.eth.accounts[0] });

console.log(contractInstance.totalVotesFor.call(“Kenneth”).toLocaleString());

}

});

output

address: 0x152983568f64afc88af26f34d23d7c9160831487
{ [String: ‘0’] s: 1, e: 0, c: [ 0 ] }
0

keep getting 0 for votes any idea?