# isContract 체크 오류 문의

**URL:** <https://devforum.kaia.io/t/iscontract/6397>\
**Category:** Kaia\
**Tags:** smart-contract, klaytn\
**Created:** [1월 31, 2023, 5:25오전 UTC](https://devforum.kaia.io/t/iscontract/6397 "2023-01-31T05:25:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![zzase](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/zzase/32/934_2.png) [@zzase](https://devforum.kaia.io/u/zzase)\
**Post date:** [1월 31, 2023, 5:25오전 UTC](https://devforum.kaia.io/t/iscontract/6397/1 "2023-01-31T05:25:49Z")

</div>

안녕하세요.  
solidity 코드 관하여 질문 드립니다.

저희 klaytn의 go package를 사용하여 구성한 테스트 환경과 리믹스에서 연결한 테스트 넷 환경에서는 정상 동작하는 부분이 실제 클레이튼 네트워크 (바오밥) 에서는 동작하지 않는 것을 확인하였습니다.

사용한 코드는 openzepplin의 isContract 검사이며

```auto
function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

```

해당 코드에서 address(0)를 입력하면 revert가 나야하나 사이드 체인에서는 address(0)도 검사를 통과합니다. 확인 부탁드립니다.

---

<div class="post-metadata">

**Author:** ![Lewis](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/lewis/32/3118_2.png) [@Lewis](https://devforum.kaia.io/u/Lewis)\
**Post date:** [1월 31, 2023, 9:57오전 UTC](https://devforum.kaia.io/t/iscontract/6397/2 "2023-01-31T09:57:14Z")

</div>

안녕하세요, 클레이튼 메인넷/바오밥 테스트넷의 address(0) (zero address) 에는 code hash가 있습니다. ([해당 컨트랙트](https://github.com/klaytn/klaytn/blob/dev/contracts/cypress/credit.sol)) 따라서 해당 isContract로는 true가 반환됩니다.

해당 주소가 caller인 경우는 없으니 무시하셔도 큰 지장은 없으나, 신경이 쓰이신다면 zero address를 확인하는 require문 등을 추가하시면 해결될 것 같습니다.

감사합니다.
