[연재] 솔리디티 Key-Value 값 저장
리디티를 이용해 솔리디티 Key-Value 값 저장해보자.


앞에서 작성한  Storage.sol은 변수에 값을 하나밖에 저장하지 못했다.
이번 예제에서는 데이터베이스 테이블 처럼 저장하는 예제를 해보자.

이름과 연봉을 저장하는 salary라는 변수를 다음과 같이 선언한다.

pragma solidity ^0.4.0;

contract SalaryStorage {
    mapping(string => uint) salary;

    function set(string name, uint amount) public {
        salary[name] = amount;
    }

    function get(string name) public constant returns (uint) {
        return  salary[name];
    }
}


여기서 처음보는 mapping이라는 선언인데 이는 key-value 쌍으로 데이터를 저장하겠다는 것이다.
예제에서는 문자열을 키로하고 자연수를 값으로 하는 salary라는 변수를 정의한다.

get과 set은 파라미터와 값을 읽어오는 부분만 수정하였을 뿐 바뀐 것이 없다.

자 SalaryStorage을 실행해보자.



set에 "홍길동", 1200  이라고 입력하고 set 버튼을 클릭하여 값을 저장한다.

그 다음 get에서 "홍길동"을 매개변수로 입력하고 get버튼을 클릭해보자.

1200이라는 값이 나오는가?

"심청이",1300

"돌쇠",1500

.....

계속 값을 넣고 처음에 입력한 "홍길동"은 계속해서 1200이라는 값을 읽어오는지 실행해보기 바란다.