이더리움 DApp은 컨트랙트를 배포하고 나면 블록체인에 영구적으로 기록될 것이기에 수정할 수 없게 된다.
이에 따른 단점은 결함이 있는 코드를 배포하고나서 결함을 해결하고 수정하려고 해도 불가하다는것
반대로 장점은 다른이들도 내가 배포한 컨트랙트를 임의로 예상치 못한 결과를 만들어낼 수 없다는것
여하튼 그래서 컨트랙트 내부의 중요한 부분들을 수정할 수 있도록 하는 함수를 만들어두어
필요할 때 그 함수를 이용하여 중요한 값들을 변경하는데에 사용할 수 있다.
챕터1 답 수정 전
// 1.
address ckAddress = 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d;
// 2.
KittyInterface kittyContract = KittyInterface(ckAddress);
// 3.
수정 후
// 1. 임의로 적혀있던 주소를 지우고
// 2. 해당 주소에 대한 인터페이스를 대입했던것을 대입을 뺌
KittyInterface kittyContract;
// 3. 필요한 주소값을 대입시킬 함수 생성
function setKittyContractAddress(address _address) external {
kittyContract = KittyInterface(_address);
}
'솔리디티 > 크립토좀비' 카테고리의 다른 글
레슨3 챕터4, 5, 6 - 가스(gas) / 시간 단위(Time units) (0) | 2022.02.17 |
---|---|
레슨3 챕터2, 3 - 소유 가능한 컨트랙트, 함수제어자(modifier) (0) | 2022.02.17 |
레슨2 챕터 10, 11, 12, 13 - 인터페이스 (0) | 2022.02.12 |
레슨2 챕터9 - 함수 접근 제어자 (0) | 2022.02.12 |
레슨2 챕터 7, 8 - storage, memory (0) | 2022.02.12 |
댓글