forked from cerc-io/plugeth
upped proto version and modified block pool
This commit is contained in:
parent
095cb97675
commit
9925916851
@ -154,7 +154,7 @@ func (self *BlockPool) addBlock(b *types.Block, peer *Peer, newBlock bool) {
|
|||||||
fmt.Println("1.", !self.eth.ChainManager().HasBlock(b.PrevHash), ethutil.Bytes2Hex(b.Hash()[0:4]), ethutil.Bytes2Hex(b.PrevHash[0:4]))
|
fmt.Println("1.", !self.eth.ChainManager().HasBlock(b.PrevHash), ethutil.Bytes2Hex(b.Hash()[0:4]), ethutil.Bytes2Hex(b.PrevHash[0:4]))
|
||||||
fmt.Println("2.", self.pool[string(b.PrevHash)] == nil)
|
fmt.Println("2.", self.pool[string(b.PrevHash)] == nil)
|
||||||
fmt.Println("3.", !self.fetchingHashes)
|
fmt.Println("3.", !self.fetchingHashes)
|
||||||
if !self.eth.ChainManager().HasBlock(b.PrevHash) && self.pool[string(b.PrevHash)] == nil && !self.fetchingHashes {
|
if !self.eth.ChainManager().HasBlock(b.PrevHash) /*&& self.pool[string(b.PrevHash)] == nil*/ && !self.fetchingHashes {
|
||||||
poollogger.Infof("Unknown chain, requesting (%x...)\n", b.PrevHash[0:4])
|
poollogger.Infof("Unknown chain, requesting (%x...)\n", b.PrevHash[0:4])
|
||||||
peer.QueueMessage(wire.NewMessage(wire.MsgGetBlockHashesTy, []interface{}{b.Hash(), uint32(256)}))
|
peer.QueueMessage(wire.NewMessage(wire.MsgGetBlockHashesTy, []interface{}{b.Hash(), uint32(256)}))
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
ClientIdentifier = "Ethereum(G)"
|
ClientIdentifier = "Ethereum(G)"
|
||||||
Version = "0.7.8"
|
Version = "0.7.9"
|
||||||
)
|
)
|
||||||
|
|
||||||
var clilogger = logger.NewLogger("CLI")
|
var clilogger = logger.NewLogger("CLI")
|
||||||
|
@ -389,7 +389,6 @@ func (gui *Gui) update() {
|
|||||||
gui.loadAddressBook()
|
gui.loadAddressBook()
|
||||||
gui.loadMergedMiningOptions()
|
gui.loadMergedMiningOptions()
|
||||||
gui.setPeerInfo()
|
gui.setPeerInfo()
|
||||||
//gui.readPreviousTransactions()
|
|
||||||
}()
|
}()
|
||||||
|
|
||||||
for _, plugin := range gui.plugins {
|
for _, plugin := range gui.plugins {
|
||||||
@ -417,9 +416,6 @@ func (gui *Gui) update() {
|
|||||||
core.TxPostEvent{},
|
core.TxPostEvent{},
|
||||||
)
|
)
|
||||||
|
|
||||||
// nameReg := gui.pipe.World().Config().Get("NameReg")
|
|
||||||
// mux.Subscribe("object:"+string(nameReg.Address()), objectChan)
|
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
defer events.Unsubscribe()
|
defer events.Unsubscribe()
|
||||||
for {
|
for {
|
||||||
|
@ -31,7 +31,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
ClientIdentifier = "Mist"
|
ClientIdentifier = "Mist"
|
||||||
Version = "0.7.8"
|
Version = "0.7.9"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ethereum *eth.Ethereum
|
var ethereum *eth.Ethereum
|
||||||
|
@ -125,7 +125,8 @@ func (bc *ChainManager) Reset() {
|
|||||||
|
|
||||||
bc.genesisBlock.Trie().Sync()
|
bc.genesisBlock.Trie().Sync()
|
||||||
// Prepare the genesis block
|
// Prepare the genesis block
|
||||||
bc.add(bc.genesisBlock)
|
bc.write(bc.genesisBlock)
|
||||||
|
bc.insert(bc.genesisBlock)
|
||||||
bc.CurrentBlock = bc.genesisBlock
|
bc.CurrentBlock = bc.genesisBlock
|
||||||
|
|
||||||
bc.SetTotalDifficulty(ethutil.Big("0"))
|
bc.SetTotalDifficulty(ethutil.Big("0"))
|
||||||
@ -134,18 +135,18 @@ func (bc *ChainManager) Reset() {
|
|||||||
bc.TD = ethutil.BigD(ethutil.Config.Db.LastKnownTD())
|
bc.TD = ethutil.BigD(ethutil.Config.Db.LastKnownTD())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a block to the chain and record addition information
|
func (bc *ChainManager) insert(block *types.Block) {
|
||||||
func (bc *ChainManager) add(block *types.Block) {
|
encodedBlock := block.RlpEncode()
|
||||||
bc.writeBlockInfo(block)
|
ethutil.Config.Db.Put([]byte("LastBlock"), encodedBlock)
|
||||||
|
|
||||||
bc.CurrentBlock = block
|
bc.CurrentBlock = block
|
||||||
bc.LastBlockHash = block.Hash()
|
bc.LastBlockHash = block.Hash()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (bc *ChainManager) write(block *types.Block) {
|
||||||
|
bc.writeBlockInfo(block)
|
||||||
|
|
||||||
encodedBlock := block.RlpEncode()
|
encodedBlock := block.RlpEncode()
|
||||||
ethutil.Config.Db.Put(block.Hash(), encodedBlock)
|
ethutil.Config.Db.Put(block.Hash(), encodedBlock)
|
||||||
ethutil.Config.Db.Put([]byte("LastBlock"), encodedBlock)
|
|
||||||
|
|
||||||
//chainlogger.Infof("Imported block #%d (%x...)\n", block.Number, block.Hash()[0:4])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Accessors
|
// Accessors
|
||||||
@ -266,9 +267,14 @@ func (self *ChainManager) InsertChain(chain types.Blocks) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
self.add(block)
|
self.write(block)
|
||||||
if td.Cmp(self.TD) > 0 {
|
if td.Cmp(self.TD) > 0 {
|
||||||
|
if block.Number.Cmp(new(big.Int).Add(self.CurrentBlock.Number, ethutil.Big1)) < 0 {
|
||||||
|
chainlogger.Infof("Split detected. New head #%v (%x), was #%v (%x)\n", block.Number, block.Hash()[:4], self.CurrentBlock.Number, self.CurrentBlock.Hash()[:4])
|
||||||
|
}
|
||||||
|
|
||||||
self.SetTotalDifficulty(td)
|
self.SetTotalDifficulty(td)
|
||||||
|
self.insert(block)
|
||||||
}
|
}
|
||||||
|
|
||||||
self.eventMux.Post(NewBlockEvent{block})
|
self.eventMux.Post(NewBlockEvent{block})
|
||||||
|
@ -167,7 +167,6 @@ out:
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *Miner) reset() {
|
func (self *Miner) reset() {
|
||||||
println("reset")
|
|
||||||
close(self.powQuitCh)
|
close(self.powQuitCh)
|
||||||
self.powQuitCh = make(chan struct{})
|
self.powQuitCh = make(chan struct{})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user