Skip to content

Latest commit

 

History

History
49 lines (27 loc) · 1.28 KB

智能合约.md

File metadata and controls

49 lines (27 loc) · 1.28 KB

系统首次启动时

  1. 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的时候,会判断交易类型,然后执行相应的合约代码;

image-20180514120803625

最终的底层调用映射到了OntInit这本合约上:

image-20180514122252210

  • 总的ONT数量会均分到各个bookkeeper上;

收到交易时