# 스마트컨트랙트에 구현되어잇는 메소드에 대해서 바이트코드를 어떻게 해야 알아낼수잇나요?

**URL:** <https://devforum.kaia.io/t/topic/1057>\
**Category:** Kaia\
**Created:** [4월 29, 2021, 7:01오전 UTC](https://devforum.kaia.io/t/topic/1057 "2021-04-29T07:01:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![11134](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/11134/32/612_2.png) [@11134](https://devforum.kaia.io/u/11134)\
**Post date:** [4월 29, 2021, 7:01오전 UTC](https://devforum.kaia.io/t/topic/1057/1 "2021-04-29T07:01:12Z")

</div>

이미 배포가 된 스마트컨트랙트에 구현되어잇는 메소드에 대해서 바이트코드를 어떻게 해야 알아낼수잇나요?  
또는 어떻게 배포된 스마트컨트랙트의 메소드를 실행할수 잇나요.

(현재 rpc-api를 통해 해당 메소드 바이트 코드를 통해 실행하고자합니다.)

---

<div class="post-metadata">

**Author:** ![colin.kim](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/colin.kim/32/55_2.png) [@colin.kim](https://devforum.kaia.io/u/colin.kim)\
**Post date:** [5월 3, 2021, 4:19오전 UTC](https://devforum.kaia.io/t/topic/1057/2 "2021-05-03T04:19:50Z")

</div>

안녕하세요, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

본인이 직접 구현하신 함수라면 caver.abi.encodeFunctionCall ([caver-js](https://docs.klaytn.com/bapp/sdk/caver-js/api-references/caver.abi#encodefunctioncall), [caver-java](https://javadoc.io/static/com.klaytn.caver/core/1.6.0-android/com/klaytn/caver/abi/ABI.html#encodeFunctionCall-com.klaytn.caver.contract.ContractMethod-java.util.List-))를 사용하시는 것이 가장 수월하실 것 같습니다.

RPC-API를 통해 호출하신다면 function signature를 직접 구현하셔야 할 것 같은데, 그 경우는 해당 코드의 구현체([caver-js](https://github.com/klaytn/caver-js/blob/0c8434e2f5fd49c73253355f7199a4e501dfdde0/packages/caver-abi/src/index.js#L348), [caver-java](https://github.com/klaytn/caver-java/blob/e48961f3100f56a5c810c09c31445121c91de8da/core/src/main/java/com/klaytn/caver/abi/ABI.java#L46))를 참조하셔야 할 것 같습니다.

감사합니다.

---

<div class="post-metadata">

**Author:** ![itsreallyhumid](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/itsreallyhumid/32/1384_2.png) [@itsreallyhumid](https://devforum.kaia.io/u/itsreallyhumid)\
**Post date:** [12월 23, 2021, 2:53오전 UTC](https://devforum.kaia.io/t/topic/1057/3 "2021-12-23T02:53:05Z")

</div>

클레이튼도 이렇게 되어있는지는 모르겠는데 이더리움에서는 가령 컨트랙트 내 pwn() 함수가 '0xdd365b8b’라는 값을 변환된 것을 확인하기 위해서 Keccak-256를 켠다. (구글에 치면 바로 아래의 사이트가 나옴) 그리고 pwn()를 입력하고 hashing 하면 나오는 값 중 4bytes 값에 0x를 붙여 16진수 표기를 하면 0xdd365b8b과 같에해서 함수를 호출할 수 있는 코드가 되는 건데 이 것을 의미하신 거면 하면 테스트해보세요 관련해서 delegate call이라고 검색하시면 됩니다.
