Solidity 기초 - 2 (msg.sender, mapping, require)

2022. 1. 16. 20:14언어/Solidity

msg.sender

솔리디티는 모든 함수에서 사용 가능한 전역 변수들이 존재합니다.

그 중 하나인 msg.sender는 호출한 스마트 컨트랙트의 주소를 가리킵니다.

솔리디티에서 함수의 실행은 항상 외부 호출자가 시작하므로 누군가가 컨트랙트의 함수를 호출해야합니다.

이 때, 호출한 컨트랙트의 주소가 msg.sender에 담기게 됩니다.

 

Mapping

mapping은 '키 - 값' 구조로 데이터를 저장하거나 검색하는데 이용됩니다.

msg.sender와 함께 이용하여 특정 유저의 고유한 데이터를 관리하는 것으로 사용할 수 있습니다.

// 금융 앱용으로, 유저의 계좌 잔액을 보유하는 uint를 저장한다: 
mapping (address => uint) public accountBalance;
// 혹은 userID로 유저 이름을 저장/검색하는 데 매핑을 쓸 수도 있다 
mapping (uint => string) userIdToName;

 

Require

require은 솔리디티의 error handling 함수입니다.

특정 조건이 참이면 함수 실행을 진행합니다.

거짓이라면, 즉시 에러 메시지와함께 함수를 벗어납니다.