diff --git a/cmd/geth/js_test.go b/cmd/geth/js_test.go index e02e8f7047..6368efbfcc 100644 --- a/cmd/geth/js_test.go +++ b/cmd/geth/js_test.go @@ -172,6 +172,8 @@ func TestBlockChain(t *testing.T) { tmpfile := filepath.Join(extmp, "export.chain") tmpfileq := strconv.Quote(tmpfile) + ethereum.ChainManager().Reset() + checkEvalJSON(t, repl, `admin.export(`+tmpfileq+`)`, `true`) if _, err := os.Stat(tmpfile); err != nil { t.Fatal(err) diff --git a/core/chain_manager.go b/core/chain_manager.go index 355e203c74..7dff7dffd5 100644 --- a/core/chain_manager.go +++ b/core/chain_manager.go @@ -348,7 +348,7 @@ func (self *ChainManager) Export(w io.Writer) error { last := self.currentBlock.NumberU64() - for nr := uint64(0); nr <= last; nr++ { + for nr := uint64(1); nr <= last; nr++ { block := self.GetBlockByNumber(nr) if block == nil { return fmt.Errorf("export failed on #%d: not found", nr) @@ -789,7 +789,7 @@ func verifyNonces(pow pow.PoW, blocks []*types.Block) error { func verifyNonce(pow pow.PoW, in <-chan *types.Block, done chan<- error) { for block := range in { if !pow.Verify(block) { - done <- ValidationError("Block's nonce is invalid (= %x)", block.Nonce) + done <- ValidationError("Block(#%v) nonce is invalid (= %x)", block.Number(), block.Nonce) } else { done <- nil }