refactor(blockchain): clear redundancy code
This commit is contained in:
parent
ff408351a2
commit
aee4ec3f27
|
@ -113,8 +113,7 @@ func (bc *Blockchain) AddBlock(block *Block) {
|
||||||
log.Panic(err)
|
log.Panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
lastHash := b.Get([]byte("l"))
|
lastBlockData := b.Get(bc.tip)
|
||||||
lastBlockData := b.Get(lastHash)
|
|
||||||
lastBlock := DeserializeBlock(lastBlockData)
|
lastBlock := DeserializeBlock(lastBlockData)
|
||||||
|
|
||||||
if block.Height > lastBlock.Height {
|
if block.Height > lastBlock.Height {
|
||||||
|
@ -197,7 +196,7 @@ func (bc *Blockchain) FindUTXO() map[string]TXOutputs {
|
||||||
return UTXO
|
return UTXO
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterator returns a BlockchainIterat
|
// Iterator returns a BlockchainIterator
|
||||||
func (bc *Blockchain) Iterator() *BlockchainIterator {
|
func (bc *Blockchain) Iterator() *BlockchainIterator {
|
||||||
bci := &BlockchainIterator{bc.tip, bc.db}
|
bci := &BlockchainIterator{bc.tip, bc.db}
|
||||||
|
|
||||||
|
@ -210,8 +209,7 @@ func (bc *Blockchain) GetBestHeight() int {
|
||||||
|
|
||||||
err := bc.db.View(func(tx *bolt.Tx) error {
|
err := bc.db.View(func(tx *bolt.Tx) error {
|
||||||
b := tx.Bucket([]byte(blocksBucket))
|
b := tx.Bucket([]byte(blocksBucket))
|
||||||
lastHash := b.Get([]byte("l"))
|
blockData := b.Get(bc.tip)
|
||||||
blockData := b.Get(lastHash)
|
|
||||||
lastBlock = *DeserializeBlock(blockData)
|
lastBlock = *DeserializeBlock(blockData)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -277,24 +275,10 @@ func (bc *Blockchain) MineBlock(transactions []*Transaction) *Block {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err := bc.db.View(func(tx *bolt.Tx) error {
|
lastHeight = bc.GetBestHeight()
|
||||||
b := tx.Bucket([]byte(blocksBucket))
|
|
||||||
lastHash = b.Get([]byte("l"))
|
|
||||||
|
|
||||||
blockData := b.Get(lastHash)
|
|
||||||
block := DeserializeBlock(blockData)
|
|
||||||
|
|
||||||
lastHeight = block.Height
|
|
||||||
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
log.Panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
newBlock := NewBlock(transactions, lastHash, lastHeight+1)
|
newBlock := NewBlock(transactions, lastHash, lastHeight+1)
|
||||||
|
|
||||||
err = bc.db.Update(func(tx *bolt.Tx) error {
|
err := bc.db.Update(func(tx *bolt.Tx) error {
|
||||||
b := tx.Bucket([]byte(blocksBucket))
|
b := tx.Bucket([]byte(blocksBucket))
|
||||||
err := b.Put(newBlock.Hash, newBlock.Serialize())
|
err := b.Put(newBlock.Hash, newBlock.Serialize())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue