• 카테고리

    질문 & 답변
  • 세부 분야

    블록체인

  • 해결 여부

    미해결

Ownable에 대해서 질문이 있습니다

22.11.14 16:21 작성 조회수 194

1

상속받은 컨트랙트가 배포될 때 부모 컨트랙트의 constructor도 같이 실행이 되는 건가요?

owner를 Sale contract에서 생성해주지 않았는데 배포될 때 자동으로 abstract Ownable의 constructor가 실행되는 건가요?

답변 1

답변을 작성해보세요.

0

안녕하세요, p1n9 님 :)

네, 정확하십니다!

기본적으로 상속을 받게 된다면, 상속 받은 스마트 컨트랙트도 다 같이 실행이 됩니다 :)

그래서, Ownable.sol (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol) 의 컨스트럭터를 확인하시면, 아래와 같이 나오는데요.

constructor() {

transferOwnership(msgSender());

}

스마트 컨트랙트를 배포한 사람이, Owner의 권한을 갖게 되는걸 보실 수 있으세요.

이와같이, 제가 Sale contract에 Ownable.sol 을 상속 받아서, 제가 주소 0xab..12를 사용해서 Sale contract를 배포한다면,

0xab..12가 owner의 권한을 받게 됩니다 ;)

 

혹시 질문 사항있으시면 언제든지 남겨 주세요 :)