Mappings
Jump to navigation
Jump to search
Mappings
- One way hash function.
- Cannot loop through a mapping
- On Demand Data Structure
- Hash key then get results
- A hash function is any function that can me bused to map data of arbitrary size to data of fixed size
contract MappingDemo {
struct Person {
uint id;
bytes32 name;
bool isPerson;
}
mapping(address => Person) p;
function getPerson(address _a) view public returns(uint, bytes32, bool)
{
var person = p[_a];
// take the value of a and hash it using sha3(_a)
// once it hashes it, it will use that value, as the location of where in memory or value is.
// memory location 0x0a
return (person.id, person.name, person.isPerson);
}
function setPerson(address _a, uint _id, bytes32 _name) public{
var person = p[_a]; // this will get the memory location
person.id = _id;
person.name = _name;
person.isPerson = true;
}
}