このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)
マルチシグ・アカウント・キー
AccountKeyWeightedMultiSigは、閾値とWeightedPublicKeys(公開鍵とその重みからなるリスト)を含むアカウント鍵タイプである。
AccountKeyWeightedMultiSigに関連付けられたアカウントで取引が有効であるためには、 以下の条件を満たす必要がある: 署名された公開鍵の加重和が閾値より大きいこと。 無効な署名はトランザクションに含めるべきでない。 * 署名された公開鍵の数は、weightedPublicKeysの数より少なくなければならない。
eth_utils、web3、eth_accountから必要なユーティリティをインポートする。
web3をkaia web3に拡張するために、web3py_extからextendをインポートする。
Web3.HTTPProviderとRPCエンドポイントを使用してWeb3接続を定義します。
また、プロバイダのURLをkairosからquicknodeに変更することができます。
マルチシグアカウントのメンバーキーであるAccount.from_key_pairを使用して、秘密鍵からウォレットを定義します。
署名するメッセージを定義する
EIP-191標準と互換性を持たせるために、encode_defunctを使ってメッセージをフォーマットする。
作成したアカウントで取引に署名する
署名とその長さをプリントアウトする
署名されたメッセージからAccount.recover_messageで送信者アドレスを復旧します