I'm new in solidity programming so for learning purpose I'm developing e-voting system using ethereum blockchain. Code mentioned below,
pragma solidity 0.4.25;
contract RegisterCandidate {
// Address Structure
struct Address {
string addressLine;
string district;
string state;
uint pincode;
}
// Candidate Structure
struct Candidate {
uint id;
string name;
Address addr;
uint voteCount;
uint age;
}
// Candidate mapping with candidate id
mapping(uint => Candidate) public candidates;
mapping(uint => Address) public addresses;
// Store Candidates Count
uint public candidatesCount;
function addCandidate (string _name,uint _age,string _address,string _district,string _state,uint _pincode) public {
candidatesCount ++;
addresses[candidatesCount] = Address(_address,_district,_state,_pincode);
candidates[candidatesCount] = Candidate(candidatesCount, _name,addresses[candidatesCount], 0, _age);
}
}
I'm adding a candidate by using these commands,
RegisterCandidate.deployed().then(function(instance){app = instance})
app.addCandidate("Name",22,"Street","District","State",123456)
and to read the candidate,
app.candidates(1)
but whenever I try to read the candidate it is showing "Overflow" error. As here solidity provides build in geter function for public data members I'am unable to fetch the data.
On other hand I'm able to read address struct from addresses mapping
please help me to solve this issue