执行模式
本页介绍 Kaia 智能合约的执行模型、数据结构和生命周期。
执行模式
平台 API 可生成交易,详见 Platform API Specification。 这些交易被发送到_共识节点(CNs\ )_,存储在一个区块中。 CN 检查收到的每笔交易是否有效。 有效的事务会保存在事务池中,否则会被丢弃。 CN 在其事务池中选择当前区块中的可执行事务,并逐一执行。
要执行交易,发送方必须支付一定数额的 KAIA 作为交易费。 KAIA 的这笔交易费是根据天然气和乘数(即_)、单价计算的。 气体是计算的基本单位。 在 Kaia 节点上执行的每个操作都会消耗预定量的气体。 交易所需的 KAIA 确切金额按交易费中的公式计算。 如果发送方提交的交易附带的气体不足,交易可能会失败。 如果发件人账户余额不足,交易也可能失败。
当一个事务成功执行后,它就会被包含在当前区块中。 CN 收集交易,直到达到区块气体限制或区块时间限制。 然后,CN 将这些交易生成一个区块。 这一步需要在区块中填写几个字段。 例如,它必须计算交易、收据、状态等的哈希值。 填写完所有必填字段后,CN 会生成一个区块哈希值。
区块生成完成后,区块会传播到所有其他 CN。 其他 CN 都会验证传播的区块,并通过 BFT 共识算法就验证结果达成共识。 当大多数 CN 成功完成验证过程后,区块就会被存储到区块链中。 由于 BFT 共识算法满足即时终局性属性,因此区块是终局的,永远不会被删除。 一个区块最终完成后,该区块中所有事务的执行都将得到不可逆转的保证,而且如果发送者提出要求,其执行结果可以返回给发送者。