Curl이용한 토큰 전송을 하려 합니다

안녕하세요. curl을 이용해 토큰을 다른 주소로 전송하려고 합니다.

아래와 같이 했는데 에러가 발생합니다.

curl --location --request POST “https://wallet-api.klaytnapi.com/v2/tx/contract/call
-u KASKPYTI30W6Z2DLLWAHK82E:8cY8Wzf/oMewHQ+pj4JGX/qCsX3ESke0vqogAqlz
–header “x-chain-id:1001”
–header “Content-Type: application/json”
–data ‘{ “from”: “0x24bE72057251fbe0E5771EC35b83216079Bf2cb9”, “value”: “0x0”, “to”: “0x28e2b1dce2169d10388496afca7aaf83ab3da081”, “data”: { “methodName”: “transfer”, “arguments”: [ {“type”: “address”, “value”: “0xdDe4aA5aa4fA1804d67a901D020937b58E7067b1”}, {“type”:“uint64”, “value”: 0x1234} ] }, “gas”: 0 }’

결과: {“code”:1060400,“message”:“incorrect request”}

어디가 잘못됬는지 알려주시면 고맙겠습니다.

또, 레거시 트랜잭션도 마찬가지로 curl로 보내려고 하는데, input 데이타는 bytecode 중 transfer 함수의것을 넣어야 하는거 같은데, 이것을 어떻게 찾는지요? klaytn IDE에서 transfer 하면 로그창에
input 데이타가 있는데, 정해진값이 아니라, 보내는 금액과 더불어 값이 바뀌더라고요.

이 input데이타를 caver등 사용치 않고 만들수 있나요?

@starzan 안녕하십니까. 말씀하신대로 bytecode 에서 transfer 함수의 정의된 파라미터의 타입을 같이 넣어줘야 하는데요.

조금더 정확히 설명드리면 bytecode 로는 파라미터의 타입을 유추할 수 없기때문에 해당 contract 의 abi 가 있어야 합니다.
abi 에 보시면 각 파라미터에 대한 타입이 기술되어 있습니다.

안녕하세요.
바이트코드는 abi를 참고해보겠습니다. 그런데, 위 curl 구문으로 실행하는 방법은
없나요? 샘플에 balanceOf 함수는 잘되더군요. 그래서 transfer를 호출해보려고 합니다.

감사합니다.

안녕하세요, 아쉽지만 contract call에 대해서는 해당 ABI형태의 실행을 지원하나, contract execution은 ABI를 encoding하셔야 합니다.

ABI encoding 하는 방법은 아래 문서를 참고 부탁드립니다.

감사합니다.

결국 caver를 이용해야되는군요. ㅠㅠ
답변 주셔서 감사합니다

포럼에서 댓글 달아주신 내용들 중에 링크들을 눌러보면 page not found가 뜨는데 문서들을 볼 수 있는 방법이 없을까요?

안녕하세요, 링크가 변경되었네요. 아래 링크 참고 부탁드립니다.

감사합니다.

오 찾고있던 내용이라 참고할 수 있을 것 같아요! 감사합니다!