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?