マルチシグ・アカウント・キー
AccountKeyWeightedMultiSigは、閾値とWeightedPublicKeys(公開鍵とその重みからなるリスト)を含むアカウント鍵タイプである。
AccountKeyWeightedMultiSigに関連付けられたアカウントで取引が有効であるためには、 以下の条件を満たす必要がある: 署名された公開鍵の加重和が閾値より大きいこと。 無効な署名はトランザクションに含めるべきでない。 * 署名された公開鍵の数は、weightedPublicKeysの数より少なくなければならない。
web3をkaia web3に拡張するために、web3py_extからextendをインポートする。
必要なutilsをweb3とweb3py_extからインポートする。
指定されたkairosテストネットURLでWeb3インスタンスを作成する
また、プロバイダーのURLをkairosからquicknodeに変更することもできます。
Account.from_key
を使用して3つの異なるアカウントを定義する。
TxType.ACCOUNT_UPDATE型の空のトランザクションを作成しています。 empty_txユーティリティを使えば、デフォルトのフィールドが埋められたtxを得ることができる。
mergeユーティリティを使用して、senderやkeysのような追加フィールドを空のtxにマー ジする。
この場合、更新するアカウント・キーはmutisigキーであり、中の各キーは圧縮された公開キーとそのウェイトを含む。 compressed_keyユーティリティは、圧縮された公開鍵を鍵から抽出する。
fill_transactionを使用して、トランザクション・オブジェクトにガス・リミットなどのパラメータを追加する。
to_prettyユーティリティを使えば、フォーマットされたtxをプリントすることができる。
アカウント更新TXタイプに署名する。 ロードした3個のアカウントすべてで署名する必要があります
**署名されたトランザクションをネットワークに送信し、ブロックチェーンで完全に実行されるまで受信を待つ。