diff options
author | obscuren <geffobscura@gmail.com> | 2015-02-09 23:20:34 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-02-10 20:04:38 +0800 |
commit | da2fae0e437f9467a943acfe0571a8a24e8e76fd (patch) | |
tree | d760375fbcd441a6460c1ea1d7db930f78e1df20 /core | |
parent | b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e (diff) | |
download | dexon-da2fae0e437f9467a943acfe0571a8a24e8e76fd.tar.gz dexon-da2fae0e437f9467a943acfe0571a8a24e8e76fd.tar.zst dexon-da2fae0e437f9467a943acfe0571a8a24e8e76fd.zip |
Basic structure miner
Diffstat (limited to 'core')
-rw-r--r-- | core/block_processor.go | 10 | ||||
-rw-r--r-- | core/chain_manager.go | 11 |
2 files changed, 15 insertions, 6 deletions
diff --git a/core/block_processor.go b/core/block_processor.go index d6755e7f7..8c4e53813 100644 --- a/core/block_processor.go +++ b/core/block_processor.go @@ -7,7 +7,6 @@ import ( "sync" "time" - "github.com/ethereum/c-ethash/go-ethash" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethutil" @@ -15,7 +14,7 @@ import ( "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/pow" - _ "github.com/ethereum/go-ethereum/pow/ezp" + "github.com/ethereum/go-ethereum/pow/ezp" "github.com/ethereum/go-ethereum/state" "gopkg.in/fatih/set.v0" ) @@ -65,9 +64,10 @@ type BlockProcessor struct { func NewBlockProcessor(db ethutil.Database, txpool *TxPool, chainManager *ChainManager, eventMux *event.TypeMux) *BlockProcessor { sm := &BlockProcessor{ - db: db, - mem: make(map[string]*big.Int), - Pow: ðash.Ethash{}, + db: db, + mem: make(map[string]*big.Int), + //Pow: ðash.Ethash{}, + Pow: ezp.New(), bc: chainManager, eventMux: eventMux, txpool: txpool, diff --git a/core/chain_manager.go b/core/chain_manager.go index 0847980ca..308e958fe 100644 --- a/core/chain_manager.go +++ b/core/chain_manager.go @@ -16,6 +16,11 @@ import ( var chainlogger = logger.NewLogger("CHAIN") +type ChainEvent struct { + Block *types.Block + Td *big.Int +} + type StateQuery interface { GetAccount(addr []byte) *state.StateObject } @@ -175,6 +180,9 @@ func (bc *ChainManager) NewBlock(coinbase []byte) *types.Block { ethutil.BigPow(2, 32), nil, "") + block.SetUncles(nil) + block.SetTransactions(nil) + block.SetReceipts(nil) parent := bc.currentBlock if parent != nil { @@ -385,8 +393,9 @@ func (self *ChainManager) InsertChain(chain types.Blocks) error { self.setTotalDifficulty(td) self.insert(block) self.transState = state.New(cblock.Root(), self.db) //state.New(cblock.Trie().Copy()) - } + self.eventMux.Post(ChainEvent{block, td}) + } } self.mu.Unlock() |