Public Account Key
AccountKeyPublic is used for accounts having one public key. If an account has an AccountKeyPublic object, the transaction validation process is done like below:
Import the ethers and @kaiachain/ethers-ext packages to add kaia features on ethers.js
Define sender's address and private key
Set up the provider with the specified kaia Baobab testnet URL. A provider in ethers is a read-only abstraction to access the blockchain data.
Also, you can change the provider URL from baobab to allthatnode
Create a sender's wallet with the private key and provider
Define a message to be signed and recovered
Sign the message with sender's wallet
Recover the address from signed message using ethers.utils.verifyMessage
Recover the address from signed message using klay_recoverFromMessage