안녕하세요
https://docs.klaytnapi.com/sdk를 참고해서 하고 있는데요.
-
아래 있는 abi는 제가 임의로 수정해도 되는건가요?
-
ABI를 따로 설정하는 부분인건지, 아니면 build된 스마트 컨트랙의 abi를 참고해서 가져오는코드인지 설명 부탁드립니다.
-
const byteCode 부분이 있는데, 컴파일을 해야 byteCode를 가져올 수 있는거 아닌가요?
제가 IDE를 통해 KIP7Token을 발행해서 그런데 byteCode값을 어떻게 가져올 수 있을까요??
// caver-js-ext-kas
const CaverExtKAS = require('caver-js-ext-kas')
const caver = new CaverExtKAS()
const accessKeyId = '{access key ID of your KAS account}'
const secretAccessKey = '{secret access key of your KAS account}'
caver.initKASAPI(chainId, accessKeyId, secretAccessKey)
const abi = [
{
constant: true,
inputs: [{ name: 'key', type: 'string' }],
name: 'get',
outputs: [{ name: '', type: 'string' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'key', type: 'string' }, { name: 'value', type: 'string' }],
name: 'set',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
]
const contractAddress = '0x5D3Cd9eB73f00BbECB949DCE08BB26019FcB599f'
const contract = new caver.contract(abi, contractAddress)
// SmartContractExecution 트랜잭션을 발생시키는 from 계정은 충분한 KLAY를 소유하고 있어야 합니다.
const receipt = await contract.methods.set('key', 'value').send({ from: '0x{the address of a Klaytn account in KAS Wallet API}', gas: 5000000 })
console.log(receipt)