本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)
Smart Contract Execution
TxTypeSmartContractExecution 使用给定数据执行智能合约。 只有当 "to "是智能合约账户时,才接受TxTypeSmartContractExecution。
导入 ethers 和 @kaiachain/ethers-ext 模块,在 ethers.js 上添加 kaia 功能。
定义发送方和付费方地址和私人密钥
使用指定的 kairos 测试网 URL 设置提供程序。 以太坊中的提供者是访问区块链数据的只读抽象。
此外,您还可以将提供商 URL 从 kairos 更改为 quicknode
使用发件人的私人密钥和提供商创建发件人钱包
使用发送者的私人密钥和提供者的私人密钥创建付费者钱包
在至字段中设置要执行的合约地址,并设置ABI
使用 ethers.Contract创建合约实例,填写参数 contractAddr、abi、provider。 您可以通过该实例读写合约
使用 encodeFunctionData 函数对函数名和参数进行编码
以FeeDelegatedSmartContractExecution类型创建交易对象
在交易中输入必要的详细信息
通过发送人的钱包签署交易
使用付 费者的钱包将交易发送到区块链上。 函数 "sendTransactionAsFeePayer "会在发送者的签名上添加一个带有 FeePayer 私钥的签名,并将其传输到区块链网络。
如果 tx 已成功发送到区块链,wait 函数将返回 tx 收据。