No keyring found for the requested account.
이런 에러가 뜨는데
자기자신의 지갑의 다른계정으로는 대납이 가능한데
다른지갑의 계정의 대납은 어떻게 해야하는지 모르겟네요
const { rawTransaction: senderRawTransaction } =
await caver.klay.signTransaction({
type: “FEE_DELEGATED_SMART_CONTRACT_EXECUTION”,
from: window.klaytn.selectedAddress,
to: CaverAddress,
data: myContra.methods.mintImageNFT(data.title, bu.path).encodeABI(),
gas: “500000”,
value: caver.utils.toPeb(“0”, “KLAY”),
});
caver.klay
.sendTransaction(
{
senderRawTransaction: senderRawTransaction,
feePayer: feePayerAccount.address,
}
// feePayer2.privateKey
)
.on(“error”, (e) => {
console.log(e);
});
};
안녕하세요, 다른지갑의 키를 불러와서 sendTransaction을 하면 될 것 같습니다.
그리고 코드 전체를 올려주시면 조금 더 고민하시는 포인트를 이해하는데 도움이 될 것 같습니다. 예를 들어서 현재는 wallet 인스터스를 어떻게 사용하셨는지 알기 어려워 보다 자세한 답변이 어렵습니다.
다음과 같이 Keyring을 먼저 추가해 주어야 합니다.
const feePayerKeyring = caver.wallet.keyring.create(
process.env.ADDRESS || "",
process.env.PRIVATE_KEY || ""
);
caver.wallet.add(feePayerKeyring);
보다 자세한 내용은 다음 docs 참고하시면 좋을것 같습니다.