diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go index 1133bd6f7..d9fbabdb7 100644 --- a/cmd/ethereum/main.go +++ b/cmd/ethereum/main.go @@ -108,7 +108,8 @@ runtime will execute the file and exit. utils.RPCEnabledFlag, utils.RPCListenAddrFlag, utils.RPCPortFlag, - utils.VMTypeFlag, + utils.VMDebugFlag, + //utils.VMTypeFlag, } // missing: diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index fb80ac708..d363ef280 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -26,9 +26,15 @@ import ( var ( // General settings - VMTypeFlag = cli.IntFlag{ - Name: "vm", - Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM", + /* + VMTypeFlag = cli.IntFlag{ + Name: "vm", + Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM", + } + */ + VMDebugFlag = cli.BoolFlag{ + Name: "vmdebug", + Usage: "Virtual Machine debug output", } KeyRingFlag = cli.StringFlag{ Name: "keyring", @@ -152,6 +158,7 @@ func GetEthereum(clientID, version string, ctx *cli.Context) *eth.Ethereum { LogLevel: ctx.GlobalInt(LogLevelFlag.Name), LogFormat: ctx.GlobalString(LogFormatFlag.Name), MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name), + VmDebug: ctx.GlobalBool(VMDebugFlag.Name), MaxPeers: ctx.GlobalInt(MaxPeersFlag.Name), Port: ctx.GlobalString(ListenPortFlag.Name), diff --git a/eth/backend.go b/eth/backend.go index 1c711a775..799937510 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -20,6 +20,7 @@ import ( "github.com/ethereum/go-ethereum/p2p/discover" "github.com/ethereum/go-ethereum/p2p/nat" "github.com/ethereum/go-ethereum/rpc" + "github.com/ethereum/go-ethereum/vm" "github.com/ethereum/go-ethereum/whisper" ) @@ -43,6 +44,7 @@ type Config struct { LogLevel int KeyRing string LogFormat string + VmDebug bool MaxPeers int Port string @@ -212,6 +214,8 @@ func New(config *Config) (*Ethereum, error) { eth.net.ListenAddr = ":" + config.Port } + vm.Debug = config.VmDebug + return eth, nil } diff --git a/vm/common.go b/vm/common.go index 919153335..b391bb8c2 100644 --- a/vm/common.go +++ b/vm/common.go @@ -9,6 +9,9 @@ import ( var vmlogger = logger.NewLogger("VM") +// Global Debug flag indicating Debug VM (full logging) +var Debug bool + type Type byte const ( diff --git a/vm/vm.go b/vm/vm.go index 837be8c4d..890a7dd2c 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -30,8 +30,8 @@ type Vm struct { func New(env Environment) *Vm { lt := LogTyPretty - // lt = LogTyDiff - return &Vm{debug: true, env: env, logTy: lt, Recoverable: true} + + return &Vm{debug: Debug, env: env, logTy: lt, Recoverable: true} } func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) {