Difference between revisions of "Mappings"
Jump to navigation
Jump to search
| Line 24: | Line 24: | ||
} | } | ||
function setPerson(address _a, uint _id, bytes32 _name) public{ | function setPerson(address _a, uint _id, bytes32 _name) public{ | ||
var person = p | var person = p[_a]; // this will get the memory location | ||
person.id = _id; | |||
person.name = _name; | |||
person.isPerson = true; | |||
} | } | ||
Latest revision as of 18:13, 21 March 2018
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;
}
}