티스토리 뷰

솔리디티(solidity) - 포인터 storage, struct 전달

  데이터를 직접 찾는 대신에 포인터를 즉 참조를 전달하게되면 직접 찾을 필요없이 바로 수정이가능하므로 아주 편리하다. 이더리움의 솔리디티도 그러한 기능을 가지고있다.

solidity pointercryptozombies.io

위와같이 좀비라는 구조체를 전달하는 함수가있는데, storage 키워드를 사용해서 포인터(참조)를 전달해줄 수 있다. 즉 위 함수에서는 외부에 있는 좀비 구조체를 참조하여 그 곳에 직접 저장(관리)이 가능한 것이다.

storage 키워드

modifier 내용추가

이전 글에서 modifier에 대해서 언급하지 않은 부분이 있어서 추가합니다. modifier는 인수도 전달받을 수 있고 그 인수를 활용해서 보다 구체적인 검사수행이 가능합니다. 위와같이 사용하는 방법은 간단한 예시입니다.


 위에 있는 코드의 내용을 해설하자면, 나이와 유저아이디를 받아서 사용자가 해당 나이보다 높은 나이를 갖고있는지 검사합니다. 그리고 만약 미만의 나이라면 조건이 만족하지 않으므로 종료하게 되겠죠.

구체적인 사용예시

 좀 더 구체적으로 보자면, 위와 같이 특정 레벨 이상에서만 특정 기능을  수행할 수 있도록 레벨을 제한하는데에 응용이 가능합니다. 내부에서는 또 다시 소유의 확인을 해주는 모습입니다.

 현재 진행 중인 학습내용은 모두 크립토좀비를 이용한 내용입니다. 프로그래밍에 대해 어느정도 알고 있다면 아주 쉽게 솔리디티를 배울 수 있는 곳입니다.

시간단위 함수 now 사용하기

이더리움(Ethereum) Gas, 가스 사용료 줄이기를 위한 압축

댓글
댓글쓰기 폼
네이버 이웃추가
«   2019/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함