core, trie: decode the value for storage dump (#19943)

* core, trie: decode the value for storage dump

* core/state: address comment
This commit is contained in:
gary rong
2019-08-12 22:14:40 +08:00
committed by Péter Szilágyi
parent 8657a0d6b5
commit df6c08a485
2 changed files with 9 additions and 2 deletions

View File

@ -118,7 +118,12 @@ func (self *StateDB) dump(c collector, excludeCode, excludeStorage, excludeMissi
account.Storage = make(map[common.Hash]string)
storageIt := trie.NewIterator(obj.getTrie(self.db).NodeIterator(nil))
for storageIt.Next() {
account.Storage[common.BytesToHash(self.trie.GetKey(storageIt.Key))] = common.Bytes2Hex(storageIt.Value)
_, content, _, err := rlp.Split(storageIt.Value)
if err != nil {
log.Error("Failed to decode the value returned by iterator", "error", err)
continue
}
account.Storage[common.BytesToHash(self.trie.GetKey(storageIt.Key))] = common.Bytes2Hex(content)
}
}
c.onAccount(addr, account)