diff options
author | zelig <viktor.tron@gmail.com> | 2015-07-27 16:50:29 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2015-07-27 16:50:29 +0800 |
commit | 1356daad276b849a192c84834d78a6cf32d739eb (patch) | |
tree | ccb95f6de7633c83016a90a6e87873f00d2b5b56 | |
parent | d18d256442e2dc3413ebd9f571e1a5f6be366c09 (diff) | |
download | go-tangerine-1356daad276b849a192c84834d78a6cf32d739eb.tar.gz go-tangerine-1356daad276b849a192c84834d78a6cf32d739eb.tar.zst go-tangerine-1356daad276b849a192c84834d78a6cf32d739eb.zip |
etherbase defaults to first account even if created during the session
-rw-r--r-- | cmd/geth/js_test.go | 3 | ||||
-rw-r--r-- | eth/backend.go | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/cmd/geth/js_test.go b/cmd/geth/js_test.go index aebf2d552..67c36dfe7 100644 --- a/cmd/geth/js_test.go +++ b/cmd/geth/js_test.go @@ -159,7 +159,7 @@ func TestAccounts(t *testing.T) { defer os.RemoveAll(tmp) checkEvalJSON(t, repl, `eth.accounts`, `["`+testAddress+`"]`) - checkEvalJSON(t, repl, `eth.coinbase`, `null`) + checkEvalJSON(t, repl, `eth.coinbase`, `"`+testAddress+`"`) val, err := repl.re.Run(`personal.newAccount("password")`) if err != nil { t.Errorf("expected no error, got %v", err) @@ -170,6 +170,7 @@ func TestAccounts(t *testing.T) { } checkEvalJSON(t, repl, `eth.accounts`, `["`+testAddress+`","`+addr+`"]`) + } func TestBlockChain(t *testing.T) { diff --git a/eth/backend.go b/eth/backend.go index cba1b3939..4b8c4858f 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -489,7 +489,11 @@ func (s *Ethereum) StartMining(threads int) error { func (s *Ethereum) Etherbase() (eb common.Address, err error) { eb = s.etherbase if (eb == common.Address{}) { - err = fmt.Errorf("etherbase address must be explicitly specified") + addr, e := s.AccountManager().AddressByIndex(0) + if e != nil { + err = fmt.Errorf("etherbase address must be explicitly specified") + } + eb = common.HexToAddress(addr) } return } |