No keyring found for the requested account error 클레이톤 대납처리

const { rawTransaction: senderRawTransaction } =
  await caver.klay.accounts.signTransaction(
    {
      type: "FEE_DELEGATED_ACCOUNT_UPDATE",
      from: sender.address,
      key: accountForUpdate,
      gas: "300000",
    },
    sender.privateKey
  );
cav.klay
  .sendTransaction({
    senderRawTransaction: senderRawTransaction,
    feePayer: feePayer.address,
  })
  .then(function (receipt) {
    console.log(receipt);
  });

}, );

대납계정 업데이트후 대납처리를 해도
No keyring found for the requested account error 에러가 뜨고잇습니다
대납계정업데이트 성공 receipt 는 넘어옵니다
const feePayer = cav.klay.accounts.wallet.add

const accountForUpdate = cav.klay.accounts.createAccountForUpdate(
sender.address,
sender.privateKey
);도 햇습니다
1.대납계정 업데이트를 어떤식으로 해야하나요
2.아니면 대납계정 업데이트후에도 따로 진행해야하는 과정이 잇나요

안녕하세요

먼저 사용하고 계신 caver-js 버전이 어떻게 되시나요?
그리고 provider는 뭐로 사용하고 계실까요?

에러 메세지를 보았을 때, caver-js에서 발생하는 에러는 아니고 카이카스를 사용하고 계신 것 같은데요,
카이카스에 feePayer 계정이 있는지 확인 부탁드립니다.

카이카스의 경우 대납 사용하는 케이스도 kaikas-tutorial에 예제가 마련되어 있습니다.
해당 리포에 있는 예제 참고 부탁드립니다.

그리고 카이카스 사용과 관련된 추가적인 질문이 있으시면 카이카스 포럼이나 헬프센터로 문의해 주시기 바랍니다.

감사합니다

1개의 좋아요

네 카이카스에 사용하고 있습니다
현재 자기 카이카스의 지갑의 다른계정사용으로 한 대납은 된 상태인데
다른 카이카스 지갑의 계정의 주소를 가져와서 하려고 하면 저렇게 떠서 해결할수 있는 방법이 있을가여

provider은 truffle-hdwallet-provider-klaytn 사용중에 있습니다
“caver-js”: “^1.8.1”,

caver 객체를 생성할 때 window.klaytn을 사용하신 것 같은데요
이게 카이카스와 연결되는 프로바이더 역할을 합니다. 그 말은 서비스가 하나의 지갑과 연결된 경우 그 지갑과의 인터랙션만 하게됩니다.
만약 아예 다른 카이카스에 있는 계정으로 나머지 서명을 하고 싶으신 경우, sender가 서명한 결과를 전달하여 다른 카이카스 지갑이 연결되어 있는 서비스에서 요청을 전송해야 합니다.

단순히 지금 하나의 카이카스 지갑과 연결되어 있는 서비스에서 다른 계정이 들어있는 다른 카이카스 월렛을 찾아갈 수 없습니다.

카이카스와 관련된 추가적인 질문은 위에 안내해드린 카이카스 포럼 혹은 헬프센터로 문의해 주시기 바랍니다.

프로바이더를 바꾸면 해결댈수 있을가요