개발관련/Solidity2018.11.13 17:34

 


 

 

-
요즘 개발하면서 재밌다... 라는 느낌보다는 어렵다는 느낌을 많이 받는데.... 나이탓인가..ㅠㅠ..

여튼 블록체인이 핫이슈인지라 블록체인 쪽 개발을 진행해보는 중이다. 



이더리움 기반 스마트컨트랙트 작성 시, 이해가 안되는건 차고 넘치치만. address(0) 는 좀 특이해서 남겨본다. 

아래 소스를 보면 Ownerable 컨트랙트에 transferOwvership을 실행 할 때 address(0)와 newOwner와의 비교를 하는 부분이 있다. 


실제 로그를 보면 address(0)는 '0x0000000000000000000000000000000000000000' 의 값을 리턴한다. 



타 블로그를 보면 
//address(0)은 트랜잭션은 새 계약을 작성합니다. 
//여기서 0은 주소가 0이라는 의미가 아니라 보낸 사람의 주소와 보낸 거래 수("nonce")에서 파생된 주소입니다.

또는 

//대상 계정이 0 계정 (주소가 0 인 계정) 인 경우 트랜잭션은 새 계약을 작성합니다. 이미 언급했듯이 계약서의 주소는 0 번지가 아니라 보낸 사람의 주소와 보낸 거래 수 ( "nonce")입니다
으로 설명 되어 있다. 



내가 이해한 개념으로 생각해서는 address 타입의 변수에 Dummy 값 또는 공백의 값이 넘어왔을 경우, 기본으로 address(0) 의 값을 가지고  그걸 비교해서 require문에서는 공백이 아니라면 으로 해석하는게 맞는것 같다. 

혹시 다른의견이나 제가 틀린 부분 있으면 의견 주세요. 












'개발관련 > Solidity' 카테고리의 다른 글

solidity address(0) 의 의미.  (0) 2018.11.13
Posted by bbokkun

댓글을 달아 주세요