func (it *NodeIterator) Next() bool {
	if it.Error != nil {
		return false
	}
	if err := it.step(); err != nil {
		it.Error = err
		return false
	}
	return it.retrieve()
}
Next moves the iterator to the next node, returning whether there are any
further nodes. In case of an internal error this method returns false and
sets the Error field to the encountered failure.
package state
import (
	"bytes"
	"fmt"
	"github.com/dappledger/AnnChain/eth/common"
	"github.com/dappledger/AnnChain/eth/rlp"
	"github.com/dappledger/AnnChain/eth/trie"
)
type NodeIterator struct {
	state *StateDB  
	stateIt trie.NodeIterator  
	dataIt  trie.NodeIterator  
	accountHash common.Hash  
	codeHash    common.Hash  
	code        []byte       
	Hash   common.Hash  
	Parent common.Hash  
	Error error  
}
func NewNodeIterator(state *StateDB) *NodeIterator {
	return &NodeIterator{
		state: state,
	}
}