本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 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 "以付費方賬戶簽署交易
將交易發送到區塊鏈。 它將返回交易收據