Fuel Core 中的区块生产是负责创建、验证和将新区块添加到区块链的关键过程。此过程集成了多个核心组件,它们协同工作以确保区块能够可靠、安全且高效地生产。本文档将介绍区块生产系统如何运行,包括区块创建的触发器、交易选择和区块执行过程。
有关交易在进入区块之前如何管理的更多信息,请参阅交易生命周期。有关区块内 Gas 定价的详细信息,请参阅Gas 定价机制。
Fuel Core 中的区块生产主要由两个相互作用的组件管理:
来源
PoA 共识模块支持多种触发机制来决定何时生产新区块:
| 触发类型 | 描述 |
|---|---|
从不 | 从不自动生产区块 |
即时 | 一旦有新交易即可生产区块 |
间隔 | 以固定的时间间隔生产区块 |
开放 | 在指定的时段过去后生产区块 |
当满足触发条件时,共识模块通过区块生产者服务启动区块生产过程。
来源
PoA 共识服务实现为一个管理区块生产生命周期的MainTask。
MainTask 负责:
来源
区块生产者服务实现了实际的区块创建逻辑。
来源
区块生产过程包含几个关键步骤:
来源
区块的交易可以来自不同的来源:
来源
区块生产的一个重要部分是为新区块选择合适的数据可用性 (DA) 高度。
来源
Fuel Core 支持手动区块生产,这对于测试和开发很有用。
手动区块生产支持两种模式:
来源
Fuel Core 还可以生产预定义区块,这对于测试或确定性场景很有用。
来源
区块生产完成后,将执行并导入区块链。
来源
Fuel Core 实现了一种区块生产就绪信号机制,用于控制何时可以开始区块生产。
该机制确保在节点准备好(例如,与网络完全同步)之前不会开始区块生产。
来源
块生产系统包含强大的错误处理机制,以应对各种故障。
来源
Fuel Core 中的块生产系统是一个复杂的组件,负责处理创建区块链新块的关键过程。它与交易池、共识、执行和数据可用性等多个其他系统集成,以确保块的正确高效生成。各种触发机制和配置选项为从自动生产到手动测试的不同部署场景提供了灵活性。