Fynn
8450e40798
cmd/geth: add inspect trie tool to analysis trie storage ( #28892 )
...
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Keeper Build (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
This pr adds a tool names `inpsect-trie`, aimed to analyze the mpt and
its node storage more efficiently.
## Example
./geth db inspect-trie --datadir server/data-seed/ latest 4000
## Result
- MPT shape
- Account Trie
- Top N Storage Trie
```
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 0 | 16 | 0 |
| - | 2 | 76 | 32 | 74 |
| - | 3 | 66 | 1 | 66 |
| - | 4 | 2 | 0 | 2 |
| Total | 144 | 50 | 142 |
+-------+-------+--------------+-------------+--------------+
AccountTrie
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 0 | 16 | 0 |
| - | 2 | 108 | 84 | 104 |
| - | 3 | 195 | 5 | 195 |
| - | 4 | 10 | 0 | 10 |
| Total | 313 | 106 | 309 |
+-------+-------+--------------+-------------+--------------+
ContractTrie-0xc874e65ccffb133d9db4ff637e62532ef6ecef3223845d02f522c55786782911
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 0 | 16 | 0 |
| - | 2 | 57 | 14 | 56 |
| - | 3 | 33 | 0 | 33 |
| Total | 90 | 31 | 89 |
+-------+-------+--------------+-------------+--------------+
ContractTrie-0x1d7dcb6a0ce5227c5379fc5b0e004561d7833b063355f69bfea3178f08fbaab4
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 5 | 8 | 5 |
| - | 2 | 16 | 1 | 16 |
| - | 3 | 2 | 0 | 2 |
| Total | 23 | 10 | 23 |
+-------+-------+--------------+-------------+--------------+
ContractTrie-0xaa8a4783ebbb3bec45d3e804b3c59bfd486edfa39cbeda1d42bf86c08a0ebc0f
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 9 | 3 | 9 |
| - | 2 | 7 | 1 | 7 |
| - | 3 | 2 | 0 | 2 |
| Total | 18 | 5 | 18 |
+-------+-------+--------------+-------------+--------------+
ContractTrie-0x9d2804d0562391d7cfcfaf0013f0352e176a94403a58577ebf82168a21514441
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 6 | 4 | 6 |
| - | 2 | 8 | 0 | 8 |
| Total | 14 | 5 | 14 |
+-------+-------+--------------+-------------+--------------+
ContractTrie-0x17e3eb95d0e6e92b42c0b3e95c6e75080c9fcd83e706344712e9587375de96e1
+-------+-------+--------------+-------------+--------------+
| - | LEVEL | SHORTNODECNT | FULLNODECNT | VALUENODECNT |
+-------+-------+--------------+-------------+--------------+
| - | 0 | 0 | 1 | 0 |
| - | 1 | 5 | 3 | 5 |
| - | 2 | 7 | 0 | 7 |
| Total | 12 | 4 | 12 |
+-------+-------+--------------+-------------+--------------+
ContractTrie-0xc017ca90c8aa37693c38f80436bb15bde46d7b30a503aa808cb7814127468a44
Contract Trie, total trie num: 142, ShortNodeCnt: 620, FullNodeCnt: 204, ValueNodeCnt: 615
```
---------
Co-authored-by: lightclient <lightclient@protonmail.com>
Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de>
2026-02-24 10:56:00 -07:00
Cedrick AH
495a1d2b1a
core, cmd: removed tablewriter from the dependencies ( #33218 )
...
Fix #33212 .
This PR remove `github.com/olekukonko/tablewriter` from dependencies and
use a naive stub implementation.
`github.com/olekukonko/tablewriter` is used to format database inspection
output neatly. However, it requires custom adjustments for TinyGo and is
incompatible with the latest version.
---------
Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de>
2025-11-24 21:50:48 +08:00