KAS 스마트 컨트랙트 실행 관련 doc 문서 및 문의

https://docs.klaytnapi.com/tutorial/wallet-transaction-api/wallet-transaction-contract-execute
위 문서에서

스마트 컨트랙트 함수를 실행하려면 실행하려는 함수의 바이트코드가 필요합니다. 함수의 바이트코드는 스마트 컨트랙트를 배포할 때 Solidity 컴파일러로 컨트랙트 코드를 컴파일하여 얻을 수 있습니다.

input : 실행할 스마트 컨트랙트 함수의 바이트코드입니다. Solidity로 작성한 스마트 컨트랙트를 솔리디티 컴파일러로 컴파일하면 얻습니다.

로 설명되어있는데, input은 함수의 바이트코드가 아니라 함수실행을 위한 transaction의 input (function selector와 parameter)로 보입니다. 수정이 필요할 듯 합니다.

또 문서에서 KAS에서 function execution 및 call이 가능하다고 안내되어있는데 call에 대한 예제가 없습니다.
해당부분은 아직 미구현인가요?

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

  1. 네 의견 감사드립니다. Docs에는 수정이 될 수 있도록 하겠습니다.
  2. 현재 call에 대한 API는 없으며, 내년 초에 추가될 예정입니다. caver-js와 Node API를 이용하시면 컨트랙트 call을 쉽게 하실 수 있습니다. 아래 코드를 참고 부탁드립니다.
// test.js
const Caver = require('caver-js')

const accessKeyId = "{{your_accessKeyId}}";
const secretAccessKey = "{{your_secretAccessKey}}";

const option = {
    headers: [
      {name: 'Authorization', value: 'Basic ' + Buffer.from(accessKeyId + ':' + secretAccessKey).toString('base64')},
      {name: 'x-chain-id', value: '8217'},
    ]
  }

const caver = new Caver(new Caver.providers.HttpProvider("https://node-api.klaytnapi.com/v1/klaytn", option))

async function testFunction() {
    const abi = [{"constant":true,"inputs":[],"name":"count","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_count","type":"uint256"}],"name":"setCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
    const contractInstance = new caver.contract(abi, '0x{smart contract address}')

    const value = await contractInstance.methods.get('testKey').call()
    console.log(value)
}

testFunction()

감사합니다.