本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)
智能合约执行
TxTypeSmartContractExecution 使用给定数据执行智能合约。 只有当 "to "是智能合约账户时,才接受TxTypeSmartContractExecution。
导入 web3 和 @kaiachain/web3js-ext 软件包,在 web3 上添加 kaia 功能
定义发送方、付费方地址和私人密钥
定义合同地址和 abi
使用指定的 kairos 测试网 URL 设置提供程序。 web3 中的提供者是访问区块链数据的只读抽象。
此外,您还可以将提供商 URL 从 kairos 更改为 quicknode
使用 "web3.eth.accounts.privateKeyToAccount "创建带有私钥的发件人钱包
使用 "web3.eth.accounts.privateKeyToAccount "用私钥创建付费者钱包
定义 contractAddr 和 contractAbi,您可以从编译后的 solidity 代码或区块链资源管理器中获取合约地址和 Abi。
使用定义了 contractAbi 和 address 的 Web3.eth.Contract
创建合约实例。 您可以通过该实例读写合约
为 setNumber
函数编码数据,encodeABI
将数据转换为字节码
创建交易对象与合约交互
设置 type:TxType.FeeDelegatedSmartContractExecution
用于更改与费用支付方的合约状态的交易
设置 data: data
以获取较早编码的函数数据
使用 signTransaction
在发送方账户上签署交易
使用 "signTransactionAsFeePayer "以付费方账户签署交易
将交易发送到区块链。 它将返回交易收据