decodeParameter 예시 문의

안녕하세요, getTransactionReceipt로 읽어온 데이터에서 input data를 decode하여 사용하고 싶은데, abi json을 통해 decode하는 예제 코드 혹은 샘플이 있을 지 문의드립니다.

@jaeholee
안녕하세요.

smart-contract-execution-example.java · GitHub 예제 소스코드를 참고해보시면 좋을 거 같습니다.

도움이 되었으면 좋겠네요 :slight_smile:

151라인부터 157라인까지가 원하시는 내용에 대한 핵심 부분입니다.
Receipt 으로부터 input을 추출하고, 호출하시는 함수의 선언부에 맞게 decoding을 해서 출력하는 소스코드입니다.

추출한 input에서 substring(10)을 하는 이유는 input 가장 앞단에는 4바이트 크기(16진수로 변환하면 8글자)의 FunctionSignature가 0x{FunctionSignature}의 형태로 인코딩 되어있기 때문입니다.

예제에서 사용한 ABI의 원본 Contract 소스 코드는 caver-java-examples/KVstore.sol at master · klaytn/caver-java-examples · GitHub 를 보시면 될 거 같습니다.

Reference: