인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

__p1n9__님의 프로필 이미지
__p1n9__

작성한 질문수

ERC20 깨부수기 (+ truffle, 프론트엔드)

화이트리스트 추가

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

작성

·

268

1

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

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

답변 1

0

D_One님의 프로필 이미지
D_One
지식공유자

안녕하세요, 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의 권한을 받게 됩니다 ;)

 

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

__p1n9__님의 프로필 이미지
__p1n9__

작성한 질문수

질문하기