Liens区块数据流
2018-11-20 14:43:33 0 举报
区块链区块Block数据流图
作者其他创作
大纲/内容
logic/account.js: createTable()
加载本地区块
modules/loader.js: Loader.prototype.onBind()
modules.blocks.getCommonBlock()
lastBlock.id==private.genesisBlock.block.id
modules/loader.js:onPeerReady()
app.js: new Blocks()
modules/blocks.js: saveBlock()
block.previousBlock != private.lastBlock.id
modules.delegates.fork()
modules/delegates.js: getBlockSlotData()
产生区块链分叉
modules/loader.js: private.loadBlockChain
library.logic.block.verifySignature(block)
tx.process与之对比,在处理完后进行广播
blocks.js: saveBlocks()
modules.transactions.undoUnconfirmedList()
其他bind
modules/blocks.js: loadBlockOffset()
app.js: scope.bus.message(\"bind\
library.bus.message('blockchainReady');
blocks.js: saveGenesisBlock()
library.bus.message('peerReady')
logic/block.js: create()
验证本地区块
modules/transactions.js: getUnconfirmedTransactionList()
modules/delegates.js: validateBlockSlot
同步区块链,并解决分叉
4种导致分叉的原因
logic/block.js: dbSave()
如果没有分叉行为,则可以保存和广播区块这里出发newBlock事件,新区块广播到网络
modules/delegates.js: loop()
参考交易的广播到网络过程,这里广播区块
modules/blocks.js: processBlock()
创建新区块
modules/blocks.js: generateBlock()
保存创世区块
收藏
收藏
0 条评论
回复 删除
下一页