Kaikas 지갑에서 KLAY 전송시 Klaytn Provider API를 사용하면 아래와 같습니다.
const transactionParameters = {
gas: '0x2710',
to: '0x0000000000000000000000000000000000000000',
from: klaytn.selectedAddress,
value: '0xff'
}
klaytn.sendAsync(
{
method: 'klay_sendTransaction',
params: [transactionParameters],
from: klaytn.selectedAddress
},
callback
)
이런식으로 나와 있는데, KLAY 가 아닌 KIP7으로 발행한 토큰전송시에는
caver-js를 통하여 API를 확인했습니다만, Klaytn Provider API는 제공되지 않는것인가요?
const data = caver.klay.abi.encodeFunctionCall(
{
name: 'transfer',
type: 'function',
inputs: [
{
type: 'address',
name: 'recipient'
},
{
type: 'uint256',
name: 'amount'
}
]
},
[
to,
caver.utils
.toBN(amount)
.mul(caver.utils.toBN(Number(`1e${decimal}`)))
.toString()
]
)
caver.klay
.sendTransaction({
from,
to: contractAddress,
data,
gas
})
.on('transactionHash', transactionHash => {
console.log('txHash', transactionHash)
this.setState({ txHash: transactionHash })
})
.on('receipt', receipt => {
console.log('receipt', receipt)
this.setState({ receipt: JSON.stringify(receipt) })
})
.on('error', error => {
console.log('error', error)
this.setState({ error: error.message })
})
}
위와 같이 caver에서는 parameter에 data 변수로 처리하게 되어있던데,
caver.klay.abi.encodeFunctionCall 함수는 Klaytn Privider에서 어떻게 사용할 수 있을까요?