이더리움 블록체인은 은행 계좌와 같은 계정들로 이루어져 있고
계정은 이더리움 블록체인상의 통화인 이더(ETH) 의 잔액을 가지고 있음
나의 은행 계좌에서 다른 계좌로 돈을 송금할 수 있듯이, 계정을 통해 다른 계정과 이더를 주고 받을 수 있음
각 계정은 은행 계좌 번호와 같은 주소를 가지고 있고 주소는 특정 계정을 가리키는 고유 식별자
(0x0cE446255506E92DF41614C46F1d6df9Cc969183)
Address
주소(Address)는 특정 유저(혹은 스마트 컨트랙트)가 소유한다
주소를 계정에 대한 소유권을 나타내는 고유 ID로 활용할 수 있음
앱을 통해 새로운 계정을 생성하면 계정을 생성하는 함수를 호출한 이더리움 주소에 그 계정에 대한 소유권을 부여
Mapping
mapping은 솔리디티에서 구조화된 데이터를 저장하는 또다른 방법 중 하나
// 금융 앱용으로, 유저의 계좌 잔액을 보유하는 uint를 저장한다:
mapping (address => uint) public accountBalance;
// 혹은 userID로 유저 이름을 저장/검색하는 데 매핑을 쓸 수도 있다
mapping (uint => string) userIdToName;
매핑은 기본적으로 key-value(키-값) 형태의 저장소로 데이터를 저장하고 검색하는 데 이용
첫번째 예시에서 키는 address 이고 값은 uint
두번째 예시에서 키는 uint이고 값은 string
' :D > block chain' 카테고리의 다른 글
[Solidity] Require (0) | 2022.02.15 |
---|---|
[Solidity] Msg.sender (0) | 2022.02.15 |
[Solidity] Keccak256과 형 변환 (0) | 2022.02.15 |
[Solidity] 함수의 반환값과 함수 제어자 (0) | 2022.02.15 |
[Solidity] Private / Public / Internal / External (0) | 2022.02.15 |