From afc8b887abfbfeaec5040a39f0f20d3071902abe Mon Sep 17 00:00:00 2001 From: obscuren Date: Mon, 15 Dec 2014 12:01:55 +0100 Subject: added whisper --- eth/backend.go | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'eth') diff --git a/eth/backend.go b/eth/backend.go index bdd5956a3..0bdeeea2a 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -14,6 +14,7 @@ import ( "github.com/ethereum/go-ethereum/pow/ezp" "github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/state" + "github.com/ethereum/go-ethereum/whisper" ) const ( @@ -28,26 +29,23 @@ type Ethereum struct { quit chan bool // DB interface - db ethutil.Database + db ethutil.Database + blacklist p2p.Blacklist + + //*** SERVICES *** // State manager for processing new blocks and managing the over all states blockManager *core.BlockManager - // The transaction pool. Transaction can be pushed on this pool - // for later including in the blocks - txPool *core.TxPool - // The canonical chain + txPool *core.TxPool chainManager *core.ChainManager - // The block pool - blockPool *BlockPool - // Event - eventMux *event.TypeMux + blockPool *BlockPool + whisper *whisper.Whisper - blacklist p2p.Blacklist - server *p2p.Server - txSub event.Subscription - blockSub event.Subscription - - RpcServer *rpc.JsonRpcServer + server *p2p.Server + eventMux *event.TypeMux + txSub event.Subscription + blockSub event.Subscription + RpcServer *rpc.JsonRpcServer keyManager *crypto.KeyManager clientIdentity p2p.ClientIdentity @@ -73,7 +71,7 @@ func New(db ethutil.Database, identity p2p.ClientIdentity, keyManager *crypto.Ke db: db, keyManager: keyManager, clientIdentity: identity, - blacklist: p2p.NewBlocklist(), + blacklist: p2p.NewBlacklist(), eventMux: &event.TypeMux{}, filters: make(map[int]*core.Filter), } @@ -82,12 +80,13 @@ func New(db ethutil.Database, identity p2p.ClientIdentity, keyManager *crypto.Ke eth.chainManager = core.NewChainManager(eth.EventMux()) eth.blockManager = core.NewBlockManager(eth) eth.chainManager.SetProcessor(eth.blockManager) + eth.whisper = whisper.New() hasBlock := eth.chainManager.HasBlock insertChain := eth.chainManager.InsertChain eth.blockPool = NewBlockPool(hasBlock, insertChain, ezp.Verify) - // Start the tx pool + // Start services eth.txPool.Start() ethProto := EthProtocol(eth.txPool, eth.chainManager, eth.blockPool) @@ -98,7 +97,7 @@ func New(db ethutil.Database, identity p2p.ClientIdentity, keyManager *crypto.Ke MaxPeers: maxPeers, Protocols: protocols, ListenAddr: ":" + port, - Blacklist: blacklist, + Blacklist: eth.blacklist, NAT: nat, } @@ -162,6 +161,7 @@ func (s *Ethereum) Start(seed bool) error { return err } s.blockPool.Start() + s.whisper.Start() go s.filterLoop() @@ -211,6 +211,7 @@ func (s *Ethereum) Stop() { s.txPool.Stop() s.eventMux.Stop() s.blockPool.Stop() + s.whisper.Stop() logger.Infoln("Server stopped") close(s.shutdownChan) -- cgit