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 함수입니다.
특정 조건이 참이면 함수 실행을 진행합니다.
거짓이라면, 즉시 에러 메시지와함께 함수를 벗어납니다.
'언어 > Solidity' 카테고리의 다른 글
Solidity 기초 - 4 (구조체 압축) (0) | 2022.01.23 |
---|---|
Solidity 기초 - 3 (함수 제어자) (0) | 2022.01.17 |
Solidity 기초 - 1 (기본 변수, 함수 Keyword) (0) | 2022.01.11 |
Solidity Memory, Storage 차이 (0) | 2022.01.11 |
Solidity 개요 (dApp, EVM, Smart Contracts) (0) | 2022.01.10 |