Multisig Account Key
AccountKeyWeightedMultiSig is an account key type containing a threshold and WeightedPublicKeys which contains a list consisting of a public key and its weight.
In order for a transaction to be valid for an account associated with AccountKeyWeightedMultiSig, the following conditions should be satisfied: _ The weighted sum of the signed public keys should be larger than the threshold. _ The invalid signature should not be included in the transaction. * The number of signed public keys should be less than the number of weightedPublicKeys.
Import the @kaiachain/web3js-ext packages to add kaia features on web3
Define sender's address and private key and all weighted multi-sig private keys
Set up the provider with the specified kairos testnet URL. A provider in web3js is a read-only abstraction to access the blockchain data.
Also, you can change the provider URL from kairos to quicknode
Define a web3 instance using the provider
Create a wallet with the first weight multi-sig 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 web3.eth.accounts.recover
Recover the address from signed message using web3.klay.recoverFromMessage