mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-16 17:03:46 +00:00
core/state: simplify dump
This commit is contained in:
parent
cb63bbef86
commit
0d01e0a929
1 changed files with 5 additions and 8 deletions
|
|
@ -52,20 +52,18 @@ func (self *StateDB) RawDump() Dump {
|
|||
if err := rlp.DecodeBytes(it.Value, &data); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
obj := newObject(nil, common.BytesToAddress(addr), data, nil)
|
||||
code, _ := self.db.ContractCode(common.BytesToHash(it.Key), common.BytesToHash(data.CodeHash))
|
||||
account := DumpAccount{
|
||||
Balance: data.Balance.String(),
|
||||
Nonce: data.Nonce,
|
||||
Root: common.Bytes2Hex(data.Root[:]),
|
||||
CodeHash: common.Bytes2Hex(data.CodeHash),
|
||||
Code: common.Bytes2Hex(obj.Code(self.db)),
|
||||
Code: common.Bytes2Hex(code),
|
||||
Storage: make(map[string]string),
|
||||
}
|
||||
so := self.getStateObject(common.BytesToAddress(addr))
|
||||
storageIt := trie.NewIterator(so.getTrie(self.db).NodeIterator(nil))
|
||||
for storageIt.Next() {
|
||||
account.Storage[common.Bytes2Hex(so.getTrie(self.db).GetKey(storageIt.Key))] = common.Bytes2Hex(storageIt.Value)
|
||||
storage := self.StorageTrie(common.BytesToAddress(addr))
|
||||
for it := trie.NewIterator(storage.NodeIterator(nil)); it.Next(); {
|
||||
account.Storage[common.Bytes2Hex(storage.GetKey(it.Key))] = common.Bytes2Hex(it.Value)
|
||||
}
|
||||
dump.Accounts[common.Bytes2Hex(addr)] = account
|
||||
}
|
||||
|
|
@ -77,6 +75,5 @@ func (self *StateDB) Dump() []byte {
|
|||
if err != nil {
|
||||
fmt.Println("dump err", err)
|
||||
}
|
||||
|
||||
return json
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue