diff --git a/cmd/evm/main.go b/cmd/evm/main.go index db6b671557..48a1b92cbb 100644 --- a/cmd/evm/main.go +++ b/cmd/evm/main.go @@ -98,6 +98,10 @@ var ( Name: "json", Usage: "output trace logs in machine readable format (json)", } + SenderFlag = cli.StringFlag{ + Name: "sender", + Usage: "The transaction origin", + } ) func init() { @@ -118,6 +122,7 @@ func init() { StatDumpFlag, GenesisFlag, MachineFlag, + SenderFlag, } app.Commands = []cli.Command{ compileCommand, diff --git a/cmd/evm/runner.go b/cmd/evm/runner.go index c1e731e23d..90ed42897d 100644 --- a/cmd/evm/runner.go +++ b/cmd/evm/runner.go @@ -97,6 +97,9 @@ func runCmd(ctx *cli.Context) error { var db, _ = ethdb.NewMemDatabase() statedb, _ = state.New(common.Hash{}, db) } + if ctx.GlobalString(SenderFlag.Name) != "" { + sender = common.HexToAddress(ctx.GlobalString(SenderFlag.Name)) + } statedb.CreateAccount(sender)