本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)
撰写(费用委托)
当您要执行智能合约时,您可以向 feepayer 发送**"交易 ",其中包括支付请求**。
从web3py_ext导入extend,将 web3 扩展为 kaia web3
从 web3 和 eth_account 导入必要的实用程序
使用 kairos testnet 端点创建 Web3 实例
此外,您还可以将提供商 URL 从 kairos 更改为 quicknode
从每个私人密钥加载用户和收费委托人账户
创建合同实例,并提供其地址和 ABI
设置在部署教程中部署的合约地址(计数器合同)。 您可以在部署 tx 收据中看到地址
设置合约 abi。 使用 remix 或 solc 编译器编译后,可以获得 ABI
调用合约的视图函数并打印结果
使用 build_transaction创建一个 tx,返回 tx 实例和作为参数传递的字段。 您应设置TxType.FEE_DELEGATED_SMART_CONTRACT_EXECUTION类型,以便向费用支付方申请费用委托。
increment() 会自动让函数调用数据并将其设置到 data 字段中
使用 fill_transaction 添加交易的其余字段,如气量限制、Nonce等。 如果您想查看以下内容,可以打印这一行之后的所有字段
用用户的私钥签署交易
使用收费委托人的密钥,以收费人的身份签署交易。 您还需要提供缴费人的地址。
发送原始交易并获取交易哈希值
等待交易收据
检查合约是否已更新状态