OSDN Git Service

optimise saveChainStatus
authoroys <oys@oysdeMacBook-Pro.local>
Wed, 19 Jun 2019 13:53:28 +0000 (21:53 +0800)
committeroys <oys@oysdeMacBook-Pro.local>
Wed, 19 Jun 2019 13:53:44 +0000 (21:53 +0800)
database/store.go
protocol/protocol.go

index 5462d99..13a1e7f 100644 (file)
@@ -323,7 +323,7 @@ func (s *Store) SaveBlockHeader(blockHeader *types.BlockHeader) error {
 }
 
 // SaveChainStatus save the core's newest status && delete old status
-func (s *Store) SaveChainStatus(node, irreversibleNode *types.BlockHeader, view *state.UtxoViewpoint, voteResults []*state.VoteResult) error {
+func (s *Store) SaveChainStatus(blockHeader, irrBlockHeader *types.BlockHeader, view *state.UtxoViewpoint, voteResults []*state.VoteResult) error {
        batch := s.db.NewBatch()
        if err := saveUtxoView(batch, view); err != nil {
                return err
@@ -339,12 +339,12 @@ func (s *Store) SaveChainStatus(node, irreversibleNode *types.BlockHeader, view
                s.cache.removeVoteResult(vote)
        }
 
-       nodeHash := node.Hash()
-       irreversibleHash := irreversibleNode.Hash()
+       blockHeaderHash := blockHeader.Hash()
+       irreversibleHash := irrBlockHeader.Hash()
        bytes, err := json.Marshal(protocol.BlockStoreState{
-               Height:             node.Height,
-               Hash:               &nodeHash,
-               IrreversibleHeight: irreversibleNode.Height,
+               Height:             blockHeader.Height,
+               Hash:               &blockHeaderHash,
+               IrreversibleHeight: irrBlockHeader.Height,
                IrreversibleHash:   &irreversibleHash,
        })
        if err != nil {
index 90464f5..b38d79f 100644 (file)
@@ -92,8 +92,8 @@ func (c *Chain) initChainStatus() error {
                BlockHeight: 0,
        }}
 
-       node := genesisBlock.BlockHeader
-       return c.store.SaveChainStatus(&node, &node, utxoView, voteResults)
+       genesisBlockHeader := &genesisBlock.BlockHeader
+       return c.store.SaveChainStatus(genesisBlockHeader, genesisBlockHeader, utxoView, voteResults)
 }
 
 // BestBlockHeight returns the current height of the blockchain.