본문 바로가기

:D/block chain

[Solidity] Mapping 과 Address

이더리움 블록체인은 은행 계좌와 같은 계정들로 이루어져 있고

계정은 이더리움 블록체인상의 통화인 이더(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