code: func (t *Trie) Hash() common.Hash {
  	hash, cached, _ := t.hashRoot(nil, nil)
  	t.root = cached
  	return common.BytesToHash(hash.(hashNode))
  }
docs: // Hash returns the root hash of the trie. It does not write to the
  // database and can be used even if the trie doesn't have one.