本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需 最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)
基于角色的账户密钥
AccountKeyRoleBased 表示基于角色的密钥。 如果账户有一个** AccountKeyRoleBased对象,且交易类型为except account update**,那么验证过程将根据每个角色进行,如下所示:
从web3py_ext导入extend,将 web3 扩展为 kaia web3
从 eth_account、web3py_ext 和 cytools 中导入必要的实用程序
使用 kairos testnet 端点创建 Web3 实例
此外,您还可以将提供商 URL 从 kairos 更改为 quicknode 。
从私人密钥加载 3 个账户
创建一个TxType.ACCOUNT_UPDATE类型的空交易。 您可以使用 empty_tx 工具来获取已填写默认字段的 tx。
使用 merge 工具,将 sender 和 keys 等附加字段合并到空 tx 中。
在这种情况下,要更新的账户密钥是基于ole-based密钥,每个角色的可能密钥类型是传统密钥、公共密钥或多重密钥。
您可以使用 compressed_key 工具来设置每个角色的密钥。 它将从密钥中提取压缩公钥
使用 fill_transaction 为交易对象添加更多参数,如 gas 限制...
您可以使用 to_pretty 工具打印格式化的 tx。
签署账户更新 tx 类型。 您必须使用已加载的 update_role 账户签署它
向网络发送*已签名的交易,并等待接收,直到交易在区块链中完全执行为止