本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)
寫入(費用委託)
當您想要執行智慧契約時,您可以向 feepayer 提出包含付款請求的**「交易」**。
匯入 @kaiachain/viem-ext 套件以在 web3 上新增 kaia 功能
初始化用於與 Kaia 區塊鏈進行唯讀互動的公共用戶端。
使用 createWalletClient 設定寄件者和付費者的錢包,並配置 Kairos 鏈、HTTP 傳輸,以及轉換為帳戶的 ** 寄件者私密金鑰**。
在 to 欄位中設定您要執行的合約位址,並設定 ABI。
使用 encodeFunctionData 函式對函式名稱和參數進行編碼
使用 prepareTransactionRequest 建立寫入智慧型契約的交易請求,指定寄件者帳戶、收件者位址、要轉移的價值(本範例中為 0 KLAY)和交易類型 (TxType.SmartContractExecution)
使用錢包用戶端 signTransaction 方法簽署交易。
寄件者使用 klay_sendRawTransaction 將交易提交給 Kaia 區塊鏈,並記錄結果 (通常是交易哈希值)。 寄件者支付交易費用。
準備一個費用授權交易 (FeeDelegatedSmartContractExecution),在合約上呼叫相同的 setNumber 函式。 設定與非費用委託交易類似,但費用支付者簽署交易以**費用。
寄件者先簽署交易,付費者再加上他們的簽名,然後將交易提交到 Kaia 區塊鏈。
透過呼叫 number 函式(一個不修改狀態的視圖函式),使用公用客戶端從合約中讀取 number 變數的值。