役割ベースのアカウント・キー
AccountKeyRoleBasedはロールベースのキーを表す。 アカウントにAccountKeyRoleBasedオブジェクトがあり、トランザクションタイプがアカウント更新を除くものである場合、以下のようにそれぞれのロールに応じたバリデーション処理が行われます:
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で送信者アドレスを復旧し ます