本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请 参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)
智能合约执行
TxTypeSmartContractExecution 使用给定数据执行智能合约。 只有当 "to "是智能合约账户时,才接受TxTypeSmartContractExecution。
这种类型的交易可以创建账户、转移代币、部署智能合约、执行智能合约,或执行上述交易的组合。
导入 @kaiachain/viem-ext 软件包,在 web3 上添加 kaia 功能
使用createPublicClient创建一个publicClient,配置为通过HTTP传输(http()
)与Kaia Kairos testnet(kairos
)交互。 公共客户端用于只读操作,如查询区块链或读取智能合约状态,无需私钥或签名功能。
使用createWalletClient建立钱包客户端,配置Kairos链、HTTP传输和转换为账户的发送者私钥。
在至字段中设置要执行的合同地址,并设置ABI。
使用 encodeFunctionData 函数对函数名和参数进行编码
使用prepareTransactionRequest为执行智能合约创建交易请求。 指定交易类型**(TxType.smartContractExecution)**
向区块链发送 tx。 函数 "sendTransaction "使用账户的私钥进行内部签名,然后将其传输到区块链网络。
publicClient 调用智能合约上的number函数,该函数会检索存储在合约状态中的当前值。