役割ベースのアカウント・キー
AccountKeyRoleBasedはロールベースのキーを表す。 アカウントにAccountKeyRoleBasedオブジェクトがあり、トランザクションタイプがアカウント更新を除くものである場合、以下のようにそれぞれのロールに応じたバリデーション処理が行われます:
ethers.jsにkaiaの機能を追加するために、ethersおよび @kaiachain/ethers-extパッケージをインポートする。
送信者のaddress、送信者のprivate key、および変更する新しいrole-based private keyを定義する。
指定されたKairos testnet URLでプロバイダを設定します。 エーテルにおけるプロバイダーとは、ブロックチェーンのデータにアクセスするための読み取り専用の抽象化されたものである。
また、プロバイダのURLをkairosからquicknodeに変更することができます。
送信者のウォレットを、更新者ロールの秘密鍵とプロバイダーで作成する。
新しい役割ベースの秘密鍵からpublic keyを計算する。
計算されたrole-based public keyでkeysフィールドにトランザクションを宣言する。
txをブロックチェーンに送信します。 関数 sendTransaction
は内部的にアカウントの秘密鍵で署名し、ブロックチェーンネットワークに送信する。
wait関数は、ブロックチェーン上でtx受信が完了すれば、それを返す。