役割ベースのアカウント・キー
AccountKeyRoleBasedはロールベースのキーを表す。 アカウントにAccountKeyRoleBasedオブジェクトがあり、トランザクションタイプがアカウント更新を除くものである場合、以下のようにそれぞれのロールに応じたバリデーション処理が行われます:
web3をkaia web3に拡張するために、web3py_extからextendをインポートする。
eth_account、web3py_ext、cytoolsから必要なutilsをインポートする。
指定されたkairosテストネットURLでWeb3インスタンスを作成する
また、プロバイダーのURLをkairosからquicknodeに変更することもできます。
秘密鍵から3個のアカウントを読み込む
TxType.ACCOUNT_UPDATE型の空のトランザクションを作成しています。 empty_txユーティリティを使えば、デフォルトのフィールドが埋められたtxを得ることができる。
mergeユーティリティを使用して、senderやkeysのような追加フィールドを空のtxにマージする。
この場合、更新するアカウント・キーはロール・ベースキーであり、各ロールの可能なキー・タイプは、レガシー、パブリ ック、マルチシグである。
それぞれのロール・キーを設定するには、compressed_key utilを使用します。 圧縮された公開鍵を鍵から抽出する。
fill_transactionを使用して、トランザクション・オブジェクトにガス・リミットなどのパラメータを追加する。
to_prettyユーティリティを使えば、フォーマットされたtxをプリントすることができる。
アカウント更新TXタイプに署名する。 ロードされたupdate_roleアカウントで署名する必要があります。
**署名されたトランザクションをネットワークに送信し、ブロックチェーンで完全に実行されるまで受信を待つ。