API에서 Contract함수 실행방법

안녕하세요 KAS 커뮤니티에서 댓글이 달리지 않아서 여기서도 여쭈어 봅니다…!

API를 사용중입니다.

이미 배포된 Contract의 내부 함수를 사용할 때

기존에는

https://wallet-api.klaytnapi.com/v2/tx/contract/execute 를 사용해서

Input값에 HEX코드를 직접 넣어서 사용하고있습니다.

ABI값이 아닌 단순하게 HEX코드를 넣고 있는거라 다른 컨트랙트 함수 호출 시 매번 새로 함수를 만들어서 만들어야 하더라구요

abi를 이용해서 쉽게 사용하는 방법이 있을까요?

abi의 인자값을 넣어서 사용해야하는 함수들입니다.

답변 부탁드립니다…!!

@multicore

안녕하세요.
Caver 를 사용하셔서 input 값을 만드시면 될 거 같습니다.
GitHub - ground-x/caver-js-ext-kas 라이브러리를 활용해보시는 건 어떨까요?

아래와 같이 input 값 만들어보실 수 있습니다.

    const changeOwnerAbi = {
        "inputs": [
            {
                "internalType": "address",
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "changeOwner",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    }
    const input = caver.abi.encodeFunctionCall(changeOwnerAbi, ["0x3e2ac308cd78ac2fe162f9522deb2b56d9da9499"])

참고용 Docs: caver.abi - Klaytn Docs