-
ont初始化合约是如何别调用起来的?
st=>start: 系统启动 ontologyStart e=>end: 流程结束 op1=>subroutine: 初始化存储 initLedger st->op1->e
初始化存储子流程中包含两步:
- 初始化默认账本
- 账本初始化
下面针对账本初始化动作,给出流程图
st=>start: 初始化存储initLedger e=>end: 流程结束 action1=>subroutine: 初始化创世块 action2=>subroutine: 在账本中构建创世块 st->action1->action2->e
- 初始化创世块的时候,在创世块中构建6笔交易,分别是ont ong params的deploy和invoke交易;
- 在账本中构建创世块的时候,会调用saveBlock函数,ledger下面挂了三个leveldb实例;当存储stateStore的时候,会判断交易类型,然后执行相应的合约代码;
最终的底层调用映射到了OntInit这本合约上:
- 总的ONT数量会均分到各个bookkeeper上;