Role-based Account Key
AccountKeyRoleBased represents a role-based key. If an account has an AccountKeyRoleBased object and the transaction type is one except account update, the validation process is done according to each roles like below:
Import the @kaiachain/web3js-ext packages to add kaia features on web3
Define sender's address and role-based private keys
Define receiver's address
Set up the provider with the specified kaia Baobab testnet URL. A provider in web3js is a read-only abstraction to access the blockchain data.
Also, you can change the provider URL from baobab to allthatnode
Define a web3 instance using the provider
Create a sender's wallet with the transaction role private key and provider
Create a value transfer transaction with type: TxType.ValueTransfer
Sign the transaction with the wallet that has role sending transaction
Send the signed transaction to kaia network
Recover the address from signed transaction using web3.klay.recoverFromTransaction