Switched over to leveldb instead of memdb
This commit is contained in:
parent
04c00f40f0
commit
1f7b13ff4e
16
ethereum.go
16
ethereum.go
@ -33,7 +33,7 @@ type Ethereum struct {
|
|||||||
quit chan bool
|
quit chan bool
|
||||||
// DB interface
|
// DB interface
|
||||||
//db *ethdb.LDBDatabase
|
//db *ethdb.LDBDatabase
|
||||||
db *ethdb.MemDatabase
|
db ethutil.Database
|
||||||
// Block manager for processing new blocks and managing the block chain
|
// Block manager for processing new blocks and managing the block chain
|
||||||
BlockManager *ethchain.BlockManager
|
BlockManager *ethchain.BlockManager
|
||||||
// The transaction pool. Transaction can be pushed on this pool
|
// The transaction pool. Transaction can be pushed on this pool
|
||||||
@ -52,10 +52,14 @@ type Ethereum struct {
|
|||||||
serverCaps Caps
|
serverCaps Caps
|
||||||
|
|
||||||
nat NAT
|
nat NAT
|
||||||
|
|
||||||
|
// Specifies the desired amount of maximum peers
|
||||||
|
MaxPeers int
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(caps Caps, usePnp bool) (*Ethereum, error) {
|
func New(caps Caps, usePnp bool) (*Ethereum, error) {
|
||||||
db, err := ethdb.NewMemDatabase()
|
db, err := ethdb.NewLDBDatabase()
|
||||||
|
//db, err := ethdb.NewMemDatabase()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -79,6 +83,7 @@ func New(caps Caps, usePnp bool) (*Ethereum, error) {
|
|||||||
Nonce: nonce,
|
Nonce: nonce,
|
||||||
serverCaps: caps,
|
serverCaps: caps,
|
||||||
nat: nat,
|
nat: nat,
|
||||||
|
MaxPeers: 5,
|
||||||
}
|
}
|
||||||
ethereum.TxPool = ethchain.NewTxPool()
|
ethereum.TxPool = ethchain.NewTxPool()
|
||||||
ethereum.TxPool.Speaker = ethereum
|
ethereum.TxPool.Speaker = ethereum
|
||||||
@ -93,7 +98,7 @@ func New(caps Caps, usePnp bool) (*Ethereum, error) {
|
|||||||
func (s *Ethereum) AddPeer(conn net.Conn) {
|
func (s *Ethereum) AddPeer(conn net.Conn) {
|
||||||
peer := NewPeer(conn, s, true)
|
peer := NewPeer(conn, s, true)
|
||||||
|
|
||||||
if peer != nil {
|
if peer != nil && s.peers.Len() < s.MaxPeers {
|
||||||
s.peers.PushBack(peer)
|
s.peers.PushBack(peer)
|
||||||
peer.Start()
|
peer.Start()
|
||||||
}
|
}
|
||||||
@ -263,9 +268,10 @@ func (s *Ethereum) Stop() {
|
|||||||
|
|
||||||
close(s.quit)
|
close(s.quit)
|
||||||
|
|
||||||
s.shutdownChan <- true
|
|
||||||
|
|
||||||
s.TxPool.Stop()
|
s.TxPool.Stop()
|
||||||
|
s.BlockManager.Stop()
|
||||||
|
|
||||||
|
s.shutdownChan <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function will wait for a shutdown and resumes main thread execution
|
// This function will wait for a shutdown and resumes main thread execution
|
||||||
|
Loading…
Reference in New Issue
Block a user