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 address, sender private key and new muti-sig private keys to be changed
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 three sender's wallets with the private keys and provider
Compute the public keys from the new private keys
Declare a transaction which has the keys field with the computed public keys and theirs weight, specify the type as WeightedMultiSig
Sign the transaction with the first wallet
Sign the transaction with the second wallet
Sign the transaction with the third wallet
Send the transaction to kaia network and returns the tx receipt if it is completed in the blockchain.