- logjson flag remove logformat flag
- passed to eth Config
- logsystem not a field of Ethereum
- LogSystem does not need to expose GetLogLevel/SetLogLevel
- message struct just implements more generic LogMsg interface
- LogMsg is a fmt.Stringer with Level()
- jsonMsg ([]byte) implements LogMsg
- remove "raw" systems
- move level logic inside StdLogSystem
- logsystems only print their kind of msg: jsonLogSystem prints jsonMsg, StdLogSystem prints stdMsg
- protocolversion, networkid global int flags to cli and mist
- fix bug with protocolversion check using wrong db
- log protocolversion & networkid in backend
This avoids having to query the coinbase when creating the miner, which
in turn eliminates the dreaded startup error when no accounts are set
up. Later, this will also allow us to simply restart the miner when the
user picks a different coinbase.
This causes a lot of changes in other packages. These are included in
this commit because they're impossible to separate.
This is mostly for automated tests. The tests can use the following
commands to start the node:
ethereum --unencrypted-keys account new
...
ethereum --unencrypted-keys
The ethereum command line interface is now structured using subcommands.
These separate the different tasks it can perform.
Almost all flag names are backwards compatible.
The key tasks have not been ported to subcommands since they will be
replaced by the new accounts infrastructure very soon.
Various functions throughout the codebase used it to grab settings. This
has to stop because I want to use them without reading the config file.
These functions can now be used without reading the config first:
* ethdb.NewLDBDatabase
* ethrepl.NewJSRepl
* vm.New