forked from cerc-io/plugeth
Merge remote-tracking branch 'tgerring/jsonlogs' into jsonlogs
This commit is contained in:
commit
34be795bc1
@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/ethdb"
|
"github.com/ethereum/go-ethereum/ethdb"
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
"github.com/ethereum/go-ethereum/event"
|
"github.com/ethereum/go-ethereum/event"
|
||||||
ethlogger "github.com/ethereum/go-ethereum/logger"
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
"github.com/ethereum/go-ethereum/miner"
|
"github.com/ethereum/go-ethereum/miner"
|
||||||
"github.com/ethereum/go-ethereum/p2p"
|
"github.com/ethereum/go-ethereum/p2p"
|
||||||
"github.com/ethereum/go-ethereum/p2p/discover"
|
"github.com/ethereum/go-ethereum/p2p/discover"
|
||||||
@ -23,8 +23,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
logger = ethlogger.NewLogger("SERV")
|
ethlogger = logger.NewLogger("SERV")
|
||||||
jsonlogger = ethlogger.NewJsonLogger()
|
jsonlogger = logger.NewJsonLogger()
|
||||||
|
|
||||||
defaultBootNodes = []*discover.Node{
|
defaultBootNodes = []*discover.Node{
|
||||||
// ETH/DEV cmd/bootnode
|
// ETH/DEV cmd/bootnode
|
||||||
@ -74,7 +74,7 @@ func (cfg *Config) parseBootNodes() []*discover.Node {
|
|||||||
}
|
}
|
||||||
n, err := discover.ParseNode(url)
|
n, err := discover.ParseNode(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("Bootstrap URL %s: %v\n", url, err)
|
ethlogger.Errorf("Bootstrap URL %s: %v\n", url, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
ns = append(ns, n)
|
ns = append(ns, n)
|
||||||
@ -98,7 +98,7 @@ func (cfg *Config) nodeKey() (*ecdsa.PrivateKey, error) {
|
|||||||
return nil, fmt.Errorf("could not generate server key: %v", err)
|
return nil, fmt.Errorf("could not generate server key: %v", err)
|
||||||
}
|
}
|
||||||
if err := ioutil.WriteFile(keyfile, crypto.FromECDSA(key), 0600); err != nil {
|
if err := ioutil.WriteFile(keyfile, crypto.FromECDSA(key), 0600); err != nil {
|
||||||
logger.Errorln("could not persist nodekey: ", err)
|
ethlogger.Errorln("could not persist nodekey: ", err)
|
||||||
}
|
}
|
||||||
return key, nil
|
return key, nil
|
||||||
}
|
}
|
||||||
@ -130,14 +130,14 @@ type Ethereum struct {
|
|||||||
WsServer rpc.RpcServer
|
WsServer rpc.RpcServer
|
||||||
keyManager *crypto.KeyManager
|
keyManager *crypto.KeyManager
|
||||||
|
|
||||||
logger ethlogger.LogSystem
|
logger logger.LogSystem
|
||||||
|
|
||||||
Mining bool
|
Mining bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(config *Config) (*Ethereum, error) {
|
func New(config *Config) (*Ethereum, error) {
|
||||||
// Boostrap database
|
// Boostrap database
|
||||||
logger := ethlogger.New(config.DataDir, config.LogFile, config.LogLevel, config.LogFormat)
|
ethlogger := logger.New(config.DataDir, config.LogFile, config.LogLevel, config.LogFormat)
|
||||||
db, err := ethdb.NewLDBDatabase("blockchain")
|
db, err := ethdb.NewLDBDatabase("blockchain")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -174,7 +174,7 @@ func New(config *Config) (*Ethereum, error) {
|
|||||||
keyManager: keyManager,
|
keyManager: keyManager,
|
||||||
blacklist: p2p.NewBlacklist(),
|
blacklist: p2p.NewBlacklist(),
|
||||||
eventMux: &event.TypeMux{},
|
eventMux: &event.TypeMux{},
|
||||||
logger: logger,
|
logger: ethlogger,
|
||||||
}
|
}
|
||||||
|
|
||||||
eth.chainManager = core.NewChainManager(db, eth.EventMux())
|
eth.chainManager = core.NewChainManager(db, eth.EventMux())
|
||||||
@ -216,7 +216,7 @@ func New(config *Config) (*Ethereum, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *Ethereum) KeyManager() *crypto.KeyManager { return s.keyManager }
|
func (s *Ethereum) KeyManager() *crypto.KeyManager { return s.keyManager }
|
||||||
func (s *Ethereum) Logger() ethlogger.LogSystem { return s.logger }
|
func (s *Ethereum) Logger() logger.LogSystem { return s.logger }
|
||||||
func (s *Ethereum) Name() string { return s.net.Name }
|
func (s *Ethereum) Name() string { return s.net.Name }
|
||||||
func (s *Ethereum) ChainManager() *core.ChainManager { return s.chainManager }
|
func (s *Ethereum) ChainManager() *core.ChainManager { return s.chainManager }
|
||||||
func (s *Ethereum) BlockProcessor() *core.BlockProcessor { return s.blockProcessor }
|
func (s *Ethereum) BlockProcessor() *core.BlockProcessor { return s.blockProcessor }
|
||||||
@ -234,7 +234,7 @@ func (s *Ethereum) Coinbase() []byte { return nil } // TODO
|
|||||||
|
|
||||||
// Start the ethereum
|
// Start the ethereum
|
||||||
func (s *Ethereum) Start() error {
|
func (s *Ethereum) Start() error {
|
||||||
jsonlogger.LogJson(ðlogger.LogStarting{
|
jsonlogger.LogJson(&logger.LogStarting{
|
||||||
ClientString: s.net.Name,
|
ClientString: s.net.Name,
|
||||||
ProtocolVersion: ProtocolVersion,
|
ProtocolVersion: ProtocolVersion,
|
||||||
})
|
})
|
||||||
@ -260,7 +260,7 @@ func (s *Ethereum) Start() error {
|
|||||||
s.blockSub = s.eventMux.Subscribe(core.NewMinedBlockEvent{})
|
s.blockSub = s.eventMux.Subscribe(core.NewMinedBlockEvent{})
|
||||||
go s.blockBroadcastLoop()
|
go s.blockBroadcastLoop()
|
||||||
|
|
||||||
logger.Infoln("Server started")
|
ethlogger.Infoln("Server started")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,7 +295,7 @@ func (s *Ethereum) Stop() {
|
|||||||
s.whisper.Stop()
|
s.whisper.Stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.Infoln("Server stopped")
|
ethlogger.Infoln("Server stopped")
|
||||||
close(s.shutdownChan)
|
close(s.shutdownChan)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,11 +12,11 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
ethlogger "github.com/ethereum/go-ethereum/logger"
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
"github.com/ethereum/go-ethereum/pow"
|
"github.com/ethereum/go-ethereum/pow"
|
||||||
)
|
)
|
||||||
|
|
||||||
var poolLogger = ethlogger.NewLogger("Blockpool")
|
var poolLogger = logger.NewLogger("Blockpool")
|
||||||
|
|
||||||
const (
|
const (
|
||||||
blockHashesBatchSize = 256
|
blockHashesBatchSize = 256
|
||||||
|
@ -12,19 +12,19 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
ethlogger "github.com/ethereum/go-ethereum/logger"
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
"github.com/ethereum/go-ethereum/pow"
|
"github.com/ethereum/go-ethereum/pow"
|
||||||
)
|
)
|
||||||
|
|
||||||
const waitTimeout = 60 // seconds
|
const waitTimeout = 60 // seconds
|
||||||
|
|
||||||
var logsys = ethlogger.NewStdLogSystem(os.Stdout, log.LstdFlags, ethlogger.LogLevel(ethlogger.DebugDetailLevel))
|
var logsys = logger.NewStdLogSystem(os.Stdout, log.LstdFlags, logger.LogLevel(logger.DebugDetailLevel))
|
||||||
|
|
||||||
var ini = false
|
var ini = false
|
||||||
|
|
||||||
func logInit() {
|
func logInit() {
|
||||||
if !ini {
|
if !ini {
|
||||||
ethlogger.AddLogSystem(logsys)
|
logger.AddLogSystem(logsys)
|
||||||
ini = true
|
ini = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
"github.com/ethereum/go-ethereum/p2p"
|
"github.com/ethereum/go-ethereum/p2p"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
)
|
)
|
||||||
@ -137,6 +138,12 @@ func (self *ethProtocol) handle() error {
|
|||||||
if err := msg.Decode(&txs); err != nil {
|
if err := msg.Decode(&txs); err != nil {
|
||||||
return self.protoError(ErrDecode, "msg %v: %v", msg, err)
|
return self.protoError(ErrDecode, "msg %v: %v", msg, err)
|
||||||
}
|
}
|
||||||
|
for _, tx := range txs {
|
||||||
|
jsonlogger.LogJson(&logger.EthTxReceived{
|
||||||
|
TxHash: ethutil.Bytes2Hex(tx.Hash()),
|
||||||
|
RemoteId: self.peer.ID().String(),
|
||||||
|
})
|
||||||
|
}
|
||||||
self.txPool.AddTransactions(txs)
|
self.txPool.AddTransactions(txs)
|
||||||
|
|
||||||
case GetBlockHashesMsg:
|
case GetBlockHashesMsg:
|
||||||
|
@ -12,12 +12,12 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
ethlogger "github.com/ethereum/go-ethereum/logger"
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
"github.com/ethereum/go-ethereum/p2p"
|
"github.com/ethereum/go-ethereum/p2p"
|
||||||
"github.com/ethereum/go-ethereum/p2p/discover"
|
"github.com/ethereum/go-ethereum/p2p/discover"
|
||||||
)
|
)
|
||||||
|
|
||||||
var sys = ethlogger.NewStdLogSystem(os.Stdout, log.LstdFlags, ethlogger.LogLevel(ethlogger.DebugDetailLevel))
|
var sys = logger.NewStdLogSystem(os.Stdout, log.LstdFlags, logger.LogLevel(logger.DebugDetailLevel))
|
||||||
|
|
||||||
type testMsgReadWriter struct {
|
type testMsgReadWriter struct {
|
||||||
in chan p2p.Msg
|
in chan p2p.Msg
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package logger
|
package logger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math/big"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -54,7 +55,7 @@ func (l *P2PDisconnected) EventName() string {
|
|||||||
|
|
||||||
type EthMinerNewBlock struct {
|
type EthMinerNewBlock struct {
|
||||||
BlockHash string `json:"block_hash"`
|
BlockHash string `json:"block_hash"`
|
||||||
BlockNumber int `json:"block_number"`
|
BlockNumber *big.Int `json:"block_number"`
|
||||||
ChainHeadHash string `json:"chain_head_hash"`
|
ChainHeadHash string `json:"chain_head_hash"`
|
||||||
BlockPrevHash string `json:"block_prev_hash"`
|
BlockPrevHash string `json:"block_prev_hash"`
|
||||||
LogEvent
|
LogEvent
|
||||||
|
@ -11,11 +11,14 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
"github.com/ethereum/go-ethereum/event"
|
"github.com/ethereum/go-ethereum/event"
|
||||||
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
"github.com/ethereum/go-ethereum/pow"
|
"github.com/ethereum/go-ethereum/pow"
|
||||||
"github.com/ethereum/go-ethereum/state"
|
"github.com/ethereum/go-ethereum/state"
|
||||||
"gopkg.in/fatih/set.v0"
|
"gopkg.in/fatih/set.v0"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var jsonlogger = logger.NewJsonLogger()
|
||||||
|
|
||||||
type environment struct {
|
type environment struct {
|
||||||
totalUsedGas *big.Int
|
totalUsedGas *big.Int
|
||||||
state *state.StateDB
|
state *state.StateDB
|
||||||
@ -146,7 +149,12 @@ func (self *worker) wait() {
|
|||||||
block := self.current.block
|
block := self.current.block
|
||||||
if block.Number().Uint64() == work.Number && block.Nonce() == nil {
|
if block.Number().Uint64() == work.Number && block.Nonce() == nil {
|
||||||
self.current.block.Header().Nonce = work.Nonce
|
self.current.block.Header().Nonce = work.Nonce
|
||||||
|
jsonlogger.LogJson(&logger.EthMinerNewBlock{
|
||||||
|
BlockHash: ethutil.Bytes2Hex(block.Hash()),
|
||||||
|
BlockNumber: block.Number(),
|
||||||
|
ChainHeadHash: ethutil.Bytes2Hex(block.ParentHeaderHash),
|
||||||
|
BlockPrevHash: ethutil.Bytes2Hex(block.ParentHeaderHash),
|
||||||
|
})
|
||||||
if err := self.chain.InsertChain(types.Blocks{self.current.block}); err == nil {
|
if err := self.chain.InsertChain(types.Blocks{self.current.block}); err == nil {
|
||||||
self.mux.Post(core.NewMinedBlockEvent{self.current.block})
|
self.mux.Post(core.NewMinedBlockEvent{self.current.block})
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user