작성
·
268
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의 권한을 받게 됩니다 ;)
혹시 질문 사항있으시면 언제든지 남겨 주세요 :)