執行模式
本頁介紹 Kaia 智能合約的執行模型、數據結構和生命週期。
執行模式
Transactions can be generated by platform APIs as described in Platform API Specification. 這些交易被髮送到_共識節點(CNs\ )_,存儲在一個區塊中。 CN 檢查收到的每 筆交易是否有效。 有效的事務會保存在事務池中,否則會被丟棄。 CN 在其事務池中選擇當前區塊中的可執行事務,並逐一執行。
要執行交易,發送方必須支付一定數額的 KAIA 作為交易費。 KAIA 的這筆交易費是根據天然氣和乘數(即_)、單價計算的。 氣體是計算的基本單位。 在 Kaia 節點上執行的每個操作都會消耗預定量的氣體。 交易所需的 KAIA 確切金額按交易費中的公式計算。 如果發送方提交的交易附帶的氣體不足,交易可能會失敗。 如果發件人賬戶餘額不足,交易也可能失敗。
當一個事務成功執行後,它就會被包含在當前區塊中。 CN 收集交易,直到達到區塊氣體限制或區塊時間限制。 然後,CN 將這些交易生成一個區塊。 這一步需要在區塊中填寫幾個字段。 例如,它必須計算交易、收據、狀態等的哈希值。 填寫完所有必填字段後,CN 會生成一個區塊哈希值。
區塊生成完成後,區塊會傳播到所有其他 CN。 其他 CN 都會驗證傳播的區塊,並通過 BFT 共識算法就驗證結果達成共識。 當大多數 CN 成功完成驗證過程後,區塊就會被存儲到區塊鏈中。 由於 BFT 共識算法滿足即時終局性屬性,因此區塊是終局的,永遠不會被刪除。 一個區塊最終完成後,該區塊中所有事務的執行都將得到不可逆轉的保證,而且如果發送者提出要求,其執行結果可以返回給發送者。