|
|
@ -27,6 +27,7 @@ import ( |
|
|
|
"github.com/ethereum/go-ethereum/core" |
|
|
|
"github.com/ethereum/go-ethereum/core" |
|
|
|
"github.com/ethereum/go-ethereum/eth/downloader" |
|
|
|
"github.com/ethereum/go-ethereum/eth/downloader" |
|
|
|
"github.com/ethereum/go-ethereum/eth/ethconfig" |
|
|
|
"github.com/ethereum/go-ethereum/eth/ethconfig" |
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/eth/filters" |
|
|
|
"github.com/ethereum/go-ethereum/ethclient" |
|
|
|
"github.com/ethereum/go-ethereum/ethclient" |
|
|
|
"github.com/ethereum/go-ethereum/ethstats" |
|
|
|
"github.com/ethereum/go-ethereum/ethstats" |
|
|
|
"github.com/ethereum/go-ethereum/internal/debug" |
|
|
|
"github.com/ethereum/go-ethereum/internal/debug" |
|
|
@ -35,6 +36,7 @@ import ( |
|
|
|
"github.com/ethereum/go-ethereum/p2p" |
|
|
|
"github.com/ethereum/go-ethereum/p2p" |
|
|
|
"github.com/ethereum/go-ethereum/p2p/nat" |
|
|
|
"github.com/ethereum/go-ethereum/p2p/nat" |
|
|
|
"github.com/ethereum/go-ethereum/params" |
|
|
|
"github.com/ethereum/go-ethereum/params" |
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/rpc" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// NodeConfig represents the collection of configuration values to fine tune the Geth
|
|
|
|
// NodeConfig represents the collection of configuration values to fine tune the Geth
|
|
|
@ -200,6 +202,14 @@ func NewNode(datadir string, config *NodeConfig) (stack *Node, _ error) { |
|
|
|
rawStack.Close() |
|
|
|
rawStack.Close() |
|
|
|
return nil, fmt.Errorf("ethereum init: %v", err) |
|
|
|
return nil, fmt.Errorf("ethereum init: %v", err) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Register log filter RPC API.
|
|
|
|
|
|
|
|
filterSystem := filters.NewFilterSystem(lesBackend.ApiBackend, filters.Config{ |
|
|
|
|
|
|
|
LogCacheSize: ethConf.FilterLogCacheSize, |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
rawStack.RegisterAPIs([]rpc.API{{ |
|
|
|
|
|
|
|
Namespace: "eth", |
|
|
|
|
|
|
|
Service: filters.NewFilterAPI(filterSystem, true), |
|
|
|
|
|
|
|
}}) |
|
|
|
// If netstats reporting is requested, do it
|
|
|
|
// If netstats reporting is requested, do it
|
|
|
|
if config.EthereumNetStats != "" { |
|
|
|
if config.EthereumNetStats != "" { |
|
|
|
if err := ethstats.New(rawStack, lesBackend.ApiBackend, lesBackend.Engine(), config.EthereumNetStats); err != nil { |
|
|
|
if err := ethstats.New(rawStack, lesBackend.ApiBackend, lesBackend.Engine(), config.EthereumNetStats); err != nil { |
|
|
|