# Caver-java-ext-kas를 통한 유저대납트랜잭션 호출 이용방법 문의드립니다

**URL:** <https://devforum.kaia.io/t/caver-java-ext-kas/1883>\
**Category:** Caver\
**Created:** [9월 17, 2021, 4:53오전 UTC](https://devforum.kaia.io/t/caver-java-ext-kas/1883 "2021-09-17T04:53:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ToTheMoon](https://avatars.discourse-cdn.com/v4/letter/t/46a35a/32.png) [@ToTheMoon](https://devforum.kaia.io/u/ToTheMoon)\
**Post date:** [9월 17, 2021, 4:53오전 UTC](https://devforum.kaia.io/t/caver-java-ext-kas/1883/1 "2021-09-17T04:53:30Z")

</div>

안녕하세요.

저희가 baobab에 배포한 컨트랙트의 transferFrom 함수를 호출하려고 합니다.  
이때 가스비는 유저가 대납하는 형식으로 유저대납트랜잭션을 호출하도록 설정을 하고

트랜잭션을 호출했는데  
사인을 처리는 부분에서 오류가 발생했습니다.

```auto
Contract contract = caverExtKas.contract.create(abi Json파일, "컨트랙트주소");
SendOptions sendOptions = new SendOptions(deployerKeyring.getAddress());
sendOptions.setFeeDelegation(true);
sendOptions.setFeePayer(feePayerKeyring.getAddress());
sendOptions.setFrom("0xb7cc~~"); // baobab.wallet.klaytn.com 에서 생성한 지갑주소

TransactionReceipt.TransactionReceiptData receiptData = contract.getMethod("transferFrom")
                    .send(Arrays.asList("0xb7cc ~~", "0x30f645~~", 1000000), sendOptions);

```

이런식으로 호출하였고  
Arrays.asList부분의 주소는 전부 [baobab.wallet.klaytn.com](http://baobab.wallet.klaytn.com) 에서 생성한 지갑주소입니다.

디버깅을 해본결과

```auto
this.wallet.sign(determinedOption.getFrom(), transaction);

```

부분에서 오류가 발생하였고

```auto
xyz.groundx.caver_ext_kas.exception.KASAPIException: Bad Request

	at xyz.groundx.caver_ext_kas.wallet.KASWallet.makeSignature(KASWallet.java:484)
	at xyz.groundx.caver_ext_kas.wallet.KASWallet.makeSignature(KASWallet.java:445)
	at xyz.groundx.caver_ext_kas.wallet.KASWallet.sign(KASWallet.java:242)
	at com.klaytn.caver.contract.ContractMethod.sign(ContractMethod.java:368)
	at com.klaytn.caver.contract.ContractMethod.send(ContractMethod.java:281)
	at com.klaytn.caver.contract.ContractMethod.send(ContractMethod.java:242)

```

이러한 로그가 찍혔습니다.

이 부분은 어떻게 해결하면 되는지 문의드립니다.

---

<div class="post-metadata">

**Author:** ![Kale](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/kale/32/148_2.png) [@Kale](https://devforum.kaia.io/u/Kale)\
**Post date:** [9월 24, 2021, 4:33오전 UTC](https://devforum.kaia.io/t/caver-java-ext-kas/1883/2 "2021-09-24T04:33:00Z")

</div>

안녕하세요. @ToTheMoon

질문에 대해 답변을 하기에 앞서서, 문의 주신 질문은 대부분 KAS-Docs 문서에 있는 내용들인데요. 혹시 KAS Docs 읽어보셨나요?

- [KAS Wallet API와 클레이튼 계정으로 스마트 컨트랙트 사용하기](https://docs.klaytnapi.com/v/ko/sdk#kas-sdk-using-kaswallet)
- [KAS SDK에서 KeyringContainer(in-memory wallet) 사용하기](https://docs.klaytnapi.com/v/ko/sdk#kas-sdk-using-keyringcontainer)
- [KASAPIException에 대해서](https://docs.klaytnapi.com/v/ko/sdk#caver-java-kasapiexception)

클레이튼 바오밥 네트워크에 스마트 컨트랙트를 배포 시에 사용한 Account계정이 KAS가 관리하는 account인지 아닌지에 따라, 사용방법이 달라지는데요. 이를 문서를 통해 숙지하시고 개발을 진행하시면 좋을 것 같습니다.

감사합니다.
