현재 해시 = 해시함수(이전해시 + 데이터 + 작성시간 + 넌스) 이다.
블록 안에 이 밖에 다양한 것들이 들어갈 수 있지만, 간단히 말하자면 저렇게 현재 블록의 해시가 탄생한다.
크립토 좀비에선 좀비가 어떤 생명체를 먹느냐에 따라 외관이 바뀌는 컨셉이다.
챕터 2: 매핑과 주소
- 개념1: 주소(address)
특정 계정을 가리키는 고유 식별자이다.
"주소는 특정 유저(혹은 스마트 컨트랙트)가 소유한다"
예시: 0x0cE446255506E92DF41614C46F1d6df9Cc969183
- 개념2: 매핑(mapping)
lesson1에서 구조체와 배열을 살펴봤다. 매핑은 솔리디티에서 구조화된 데이터를 저장하는 또 다른 방법이다.
// 금융 앱용으로, 유저의 계좌 잔액을 보유하는 uint를 저장한다:
mapping (address => uint) public accountBalance;
// 혹은 userID로 유저 이름을 저장/검색하는 데 매핑을 쓸 수도 있다
mapping (uint => string) userIdToName;
매핑은 기본적으로 키-값 (key-value) 저장소로, 데이터를 저장하고 검색하는 데 이용된다. 첫번째 예시에서 키는 address이고 값은 uint이다. 두번째 예시에서 키는 uint이고 값은 string이다.