github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/core/helper_test.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:35</date> 10 //</624450079155032064> 11 12 13 package core 14 15 import ( 16 "container/list" 17 18 "github.com/ethereum/go-ethereum/core/types" 19 "github.com/ethereum/go-ethereum/ethdb" 20 "github.com/ethereum/go-ethereum/event" 21 ) 22 23 //实施我们的ethtest管理器 24 type TestManager struct { 25 //StateManager*状态管理器 26 eventMux *event.TypeMux 27 28 db ethdb.Database 29 txPool *TxPool 30 blockChain *BlockChain 31 Blocks []*types.Block 32 } 33 34 func (tm *TestManager) IsListening() bool { 35 return false 36 } 37 38 func (tm *TestManager) IsMining() bool { 39 return false 40 } 41 42 func (tm *TestManager) PeerCount() int { 43 return 0 44 } 45 46 func (tm *TestManager) Peers() *list.List { 47 return list.New() 48 } 49 50 func (tm *TestManager) BlockChain() *BlockChain { 51 return tm.blockChain 52 } 53 54 func (tm *TestManager) TxPool() *TxPool { 55 return tm.txPool 56 } 57 58 //func(tm*testmanager)statemanager()*statemanager_ 59 //返回tm.statemanager 60 //} 61 62 func (tm *TestManager) EventMux() *event.TypeMux { 63 return tm.eventMux 64 } 65 66 //func(tm*testmanager)keymanager()*crypto.keymanager_ 67 //返回零 68 //} 69 70 func (tm *TestManager) Db() ethdb.Database { 71 return tm.db 72 } 73 74 func NewTestManager() *TestManager { 75 testManager := &TestManager{} 76 testManager.eventMux = new(event.TypeMux) 77 testManager.db = ethdb.NewMemDatabase() 78 //testmanager.txpool=newtxpool(testmanager) 79 //testmanager.blockchain=newblockchain(testmanager) 80 //testmanager.statemanager=新状态管理器(testmanager) 81 return testManager 82 } 83