本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)
智慧型契約執行
TxTypeSmartContractExecution 使用給定的資料執行智慧型契約。 TxTypeSmartContractExecution 僅在「to」為智慧型契約帳戶時才會被接受。
此類型的交易可以建立帳戶、轉移代幣、部署智慧型契約、執行智慧型契約,或執行上述的混合交易。
匯入 @kaiachain/viem-ext 套件以在 web3 上新增 kaia 功能
使用 createPublicClient 建立一個 publicClient,設定為透過 HTTP 傳輸 (http()
),與 Kaia Kairos testnet (kairos
)互動。 公共用戶端用於只讀操作,例如查詢區塊鏈或讀取智慧契約狀態,不需要私鑰或簽署功能。
使用 createWalletClient 設定一個錢包用戶端,並配置 Kairos 鏈、HTTP 傳輸,以及轉換為帳戶的寄件者私密金鑰。
在 to 欄位中設定您要執行的合約位址,並設定 ABI。
使用 encodeFunctionData 函式對函式名稱和參數進行編碼
使用 prepareTransactionRequest 建立執行智慧型契約的交易請求。 指定交易類型 (TxType.smartContractExecution)
將 tx 傳送至區塊鏈。 函式 sendTransaction
內部會以帳戶的私密金鑰簽章,然後傳送到區塊鏈網路。
publicClient 會呼叫智慧型契約上的 number 函式,以擷取契約狀態中儲存的目前值。