주 콘텐츠로 건너뛰기

스마트 컨트랙트 실행 input 데이터 형식

댓글

댓글 1개

  • 현준혁

    기나긴 삽질 끝에 해결했네요 휴...

    바보같이 

    caver.klay.abi.encodeFunctionCall 함수 대신 

    caver.klay.abi.encodeFunctionSignature 사용했었네요...

    참고 코드 공유합니다.

     

            const 인풋데이터 = await caver.klay.abi.encodeFunctionCall({
                name: 'safeTransferFrom',
                type: 'function',
                inputs: [{
                    type: 'address',
                    name: 'from'
                }, {
                    type: 'address',
                    name: 'to'
                }, {
                    type: 'uint256',
                    name: 'tokenId'
                }]
            }, [보내는지갑주소, 받는지갑주소, 토큰아이디])


            var options = {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'x-chain-id': '1001',
                    Authorization: 'Basic 비밀입니다'
                },
                data: {
                    from: 보내는지갑주소,
                    // value: '0x0',
                    to: 컨트랙트주소,
                    input: 인풋데이터,
                    nonce: 0,
                    gas: 0,
                    submit: true
                }
            };

            axios.request(options).then(function (response) {
                console.log(response.data);
            }).catch(function (error) {
                console.error(error);
            });
    0

댓글을 남기려면 로그인하세요.