マルチシグ・アカウント・キー
AccountKeyWeightedMultiSigは、閾値とWeightedPublicKeys(公開鍵とその重みからなるリスト)を含むアカウント鍵タイプである。
AccountKeyWeightedMultiSigに関連付けられたアカウントで取引が有効であるためには、 以下の条件を満たす必要がある: 署名された公開鍵の加重和が閾値より大きいこと。 無効な署名はトランザクションに含めるべきでない。 * 署名された公開鍵の数は、weightedPublicKeysの数より少なくなければならない。
ethers.jsにkaiaの機能を追加するために、ethersおよび @kaiachain/ethers-extパッケージをインポートする。
変更する送信者アドレス、送信者秘密鍵および新しいmuti-sig秘密鍵**を定義する。
指定されたkairos testnet URLでプロバイダを設定します。 エーテルにおけるプロバイダーとは、ブロックチェーンのデータにアクセスするための読み取り専用の抽象化されたものである。
また、プロバイダのURLをkairosからquicknodeに変更することができます。
private keyとプロバイダーを使って3つの送信者のウォレットを作成する。
新しい秘密鍵からpublic keyを計算する。
計算されたpublic keyとその重みを持つkeysフィールドを持つトランザクショ ンを宣言し、typeをWeightedMultiSigと指定する。
最初のウォレットでトランザクションに署名する
つ目のウォレットでトランザクションに署名する
第3のウォレットでトランザクションに署名し、kaiaネットワークに送信する。
wait関数は、ブロックチェーン上でtx受信が完了すれば、それを返す。