일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- vue.js
- vue
- 블록체인 구조와 이론
- 접근제어자
- javascript
- blockchain
- web3
- Klaytn API Service
- nodejs
- kas
- Geth
- 솔리디티
- API
- ethereum
- 이더리움
- SCN
- web3.js
- 제어자
- 앵커링
- Web
- 프론트엔드
- geth구현
- 블록체인
- Solidity
- Klaytn
- frontend
- 웹
- 서비스체인
- 프레임워크
- 클레이튼
Archives
- Today
- Total
BloCCat
효율적인 Contract 작성법 (1) 본문
* 꼭 알고 넘어가야 할 것
1.컨트랙트 불변성
컨트랙트는 변하지 않는다. 즉 한번 블록체인에 배포된 컨트랙트는 수정/업데이트를 할 수 없다.
반대로 이런 특성때문에 함수 호출에 대한 의심또한 할 수 없다.
2. 외부 의존성
내 컨트랙트에 외부 컨트랙트 주소(CA)값을 인터페이스 개체에 직접 넣어 사용하게 되면
외부 컨트랙트가 문제가 생길시 내 컨트랙트(함수)에도 영향을 끼치게 된다.
따라서 이런 부분을 방지하기 위해 문제가 생기면 문제가 생긴부분만 바꿔주는 함수를 만들어 값을 저장한다.
(SET METHOD)
변경 전
address ckAddress = 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d;
KittyInterface kittyContract = KittyInterface(ckAddress);
변경 후
//address ckAddress = 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d;
KittyInterface kittyContract;
function setKittyContractAddress(address _address) external {
kittyContract = KittyInterface(_address);
}
'Study > Solidity' 카테고리의 다른 글
solidity - 함수 제어자 활용 (0) | 2021.08.30 |
---|---|
효율적인 Contract 작성법 (2) - 가스 절약 (0) | 2021.08.30 |
Ownable.sol (0) | 2021.08.29 |
solidity 기초 (3) (0) | 2021.08.29 |
solidity 기초(2) (0) | 2021.08.29 |