Skip to content

feat(cli): command to dump nc-storage#1420

Merged
jansegre merged 1 commit intomasterfrom
feat/cli/nc-dump
Sep 24, 2025
Merged

feat(cli): command to dump nc-storage#1420
jansegre merged 1 commit intomasterfrom
feat/cli/nc-dump

Conversation

@jansegre
Copy link
Member

@jansegre jansegre commented Sep 19, 2025

Motivation

Currently there's no simple way to easily view the whole nano-storage.

Acceptance Criteria

  • Add an experimental x-nc-dump command that exports all unique patricia-tries starting from the best block in a text format is simple to inspect.

Example output (this isn't a complete dump, it's just to showcase the format):

HATHOR_NCDUMP
VERSION: 0.65.2-46062536-local
NETWORK: testnet-hotel
---
HEIGHT: 5135134
BLOCK: 00000000003c3a42fa55fc5654dfc7438c6a790b6ffbffe007f6721e59c9dfde
- BLOCK STORAGE: f9373ca9cf9faf41665f9f4493eff171ee0f3171
  0249113f1a931040b090037ab1c1229e7643b4993d0586a2585f: 01
  024983972f40e715fe527ee72fd5006e65b572ddde2a96738347: 08
  0249a3d942f602ea11b74c3b58d15531a35a80cab003873d18f8: 03
  0249fb643b532879056b8e1be896b739e3ad5791bdcae9890680: 09
  0000000000a20031a05f961fa32aeba2fc5fee7e70285b2b468ffa6c78e974da94: 09da96cb8133746de2579c2abce641caa71cd1bc
  0000000d69f91f375fb76095010963579018b4a9c68549dc7466b09cf97305b490: b8dad54aeb43fb4848b10f2d6f6e72c969f21410
  0000003274b072d50f82a62d75277f8dcff83c6e35c4a8314c207f8a2cc24fa4bc: 2e287a3d11b33b89ca64263904e128900ee6eb83
  000000384092051594819c52156ffd852b697ca70af4be2c70046d2c3f84ff3821: b61e2d72dd9e32138f77d6c63dfca04f5232845f
  00000057573f4cf5e3e489f6ff3176dd58334ef77760fef3a0884cbc1c7d40038c: 09da96cb8133746de2579c2abce641caa71cd1bc
---
HEIGHT: 5135133
BLOCK: 00000000006d813a2daedc3c71556e382e85eb43d7a7e7912018ac194282fb51
- BLOCK STORAGE: bfa5b71b529e5f66f4b72dddf18c9edcf15eb1be
  0249113f1a931040b090037ab1c1229e7643b4993d0586a2585f: 01
  024983972f40e715fe527ee72fd5006e65b572ddde2a96738347: 08
  0249a3d942f602ea11b74c3b58d15531a35a80cab003873d18f8: 02
  0249fb643b532879056b8e1be896b739e3ad5791bdcae9890680: 04
  0000000000a20031a05f961fa32aeba2fc5fee7e70285b2b468ffa6c78e974da94: 09da96cb8133746de2579c2abce641caa71cd1bc
  0000000d69f91f375fb76095010963579018b4a9c68549dc7466b09cf97305b490: aaa0fd39a254d82df0a56044ba7b0910c5aa2883
  0000003274b072d50f82a62d75277f8dcff83c6e35c4a8314c207f8a2cc24fa4bc: f229aa8b2ab2071a99d578c260eff025f61d72dc
  000000384092051594819c52156ffd852b697ca70af4be2c70046d2c3f84ff3821: b61e2d72dd9e32138f77d6c63dfca04f5232845f
  00000057573f4cf5e3e489f6ff3176dd58334ef77760fef3a0884cbc1c7d40038c: 09da96cb8133746de2579c2abce641caa71cd1bc
- CONTRACT STORAGE: aaa0fd39a254d82df0a56044ba7b0910c5aa2883
  024eefae8b65b4866b9a1e5898586d954e530d3ca6: 0120000001291ad6218140ef41eef71f3c2fbeb000f6ddd592bc42c6cde9fa07a964
  0100: 01010000
  0022efc0a90965ede325d6657ccd5b0dec2cd4d6fb: 0100
  00277110078a0aa2381f08c9ed290ae2c3b8f99846: 01010331783001
  00279ec65668f76419dc0fb5b95ca2ab51611485b0: 0100
  002a5a4f73804d36dd4eee886bf40abf4079227a6a: 0101
  00310c790e2988107b968964579468b5ea85d7b95c: 0101
  0050420d41fe9222deda1473268a4e03721c1417e5: 011976a914a3d942f602ea11b74c3b58d15531a35a80cab00388ac
  0052b2d04ddac49280af1860cf342bde7a62b8c697: 0101
  005a537e209151ae5fcccd6326b34b5622bcfb0578: 0101
  00cf33fecfcb45b1fd0a9dc842acb123719bce27e8: 0168aa6526
  00e43f19e94ab78004b5c8cb2ba255ec9d04037f82: 0101
  00e83006ff418d430432623de2a90ffded1414963f: 0101
- CONTRACT STORAGE: f229aa8b2ab2071a99d578c260eff025f61d72dc
  024eefae8b65b4866b9a1e5898586d954e530d3ca6: 012000000000faf3939f9ab5aa265e317abe509972c82e0161df98436fba5d2e4d16
  0100: 0180bcc1960b0000
  01000000006c82966f45145fdc6caef7676ecbbbe7a0e7fc3025b9b69e217db7d8: 01c0f0f50b0000
  0100000000a383777c4e9838886903b6bce9d57325ea7737521b36a068bc7f61e6: 018092f4010000
  0100000089ec39fac28eaaa1c1db898a96ceed8a7b93285469f498211814a99fce: 0180ea300000
  01000004ce401adc8852572f5817d18bf24312029aae9a39c8a0dd398a560a9f33: 0180a3c3c7000000
  0000508fc2fd8a4917679a8feef995f3037510236e: 010100000000a383777c4e9838886903b6bce9d57325ea7737521b36a068bc7f61e6
  0001d60012e9d12c5ac413910d08dd8cad002c1645: 01de9f9cc506
  0003f62adb94597eca87b7d7e75fde09767e725553: 0100
  00065e235d56880e153f53eb67f01a6f948b6a6f90: 01de9f9cc506
  0008b54d6ec7ebd043f12ee50d7f3dd497bcde5375: 01014530302f303030303030383965633339666163323865616161316331646238393861393663656564386137623933323835343639663439383231313831346139396663652f35
  00090a32e7e79d3e97f1f5179f72cfac62d2ae1a32: 010a
  0009827cabd3cbfbf99c8aaaab7d06f5aa5648f932: 0100
  000c5ad90bf6cc889526bc4779c20dcbc0b8b40639: 018092f401
  000e0acd94129b87bf7c0a540212269af07f0f33da: 0100
  0012c813c4c2b122734741d44f3a2a6241194c9f42: 0104
  00155cd2ca38915c0690933d4652916c501fe866c6: 0100
  0016bf461e2a4462b8a9adc25c23f9efb064f477fe: 0105
  0017f42d564e7afd664ce99b1186036338f1bb43cd: 0101000004ce401adc8852572f5817d18bf24312029aae9a39c8a0dd398a560a9f33
  001818b7dc4b487af7bad652f8114567bfff4dd93f: 014530302f303030303030303061333833373737633465393833383838363930336236626365396435373332356561373733373532316233366130363862633766363165362f35
  001a46463c44639ce173bdb4a90a3e1954b55b6c59: 0101
  001cf3b0008b296365f20b809d0e44f0715c928eb0: 0100
  001f68c61ebb4a21aacf46132128190aeb8a054f92: 01e807
  0021825ed544c9749173788ebae0c218f630ae0f10: 0105
  0022437427ea216d29553381b9711167a156595a6a: 0103
  002586607b63fa33050eacf52fd10074c842b8a468: 0100
  00270fdc3b7c0c036e905c31ec490153cadd51a1f7: 0104
  002dcc80b0c6c0c5eb0f52b0684449af99ccd53ac1: 0100
  002e60996e30aac9be9910d9467b50c669811f8a97: 0103
  002f0063cbeba99e9036d50e145a41bbeaa3f5d178: 01014530302f303030303030303061333833373737633465393833383838363930336236626365396435373332356561373733373532316233366130363862633766363165362f35
---

Checklist

  • If you are requesting a merge into master, confirm this code is production-ready and can be included in future releases as soon as it gets merged

@jansegre jansegre self-assigned this Sep 19, 2025
@jansegre jansegre moved this from Todo to In Review (WIP) in Hathor Network Sep 19, 2025
@jansegre jansegre moved this from In Review (WIP) to In Progress (WIP) in Hathor Network Sep 19, 2025
@github-actions
Copy link

github-actions bot commented Sep 19, 2025

🐰 Bencher Report

Branchfeat/cli/nc-dump
Testbedubuntu-22.04
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
minutes (m)
(Result Δ%)
Lower Boundary
minutes (m)
(Limit %)
Upper Boundary
minutes (m)
(Limit %)
sync-v2 (up to 20000 blocks)📈 view plot
🚷 view threshold
1.98 m
(+16.69%)Baseline: 1.70 m
1.53 m
(77.13%)
2.04 m
(97.24%)
🐰 View full continuous benchmarking report in Bencher

@codecov
Copy link

codecov bot commented Sep 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.77%. Comparing base (3ef58ea) to head (4d047ca).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1420      +/-   ##
==========================================
- Coverage   85.79%   85.77%   -0.03%     
==========================================
  Files         430      430              
  Lines       33070    33070              
  Branches     5173     5173              
==========================================
- Hits        28373    28365       -8     
- Misses       3659     3666       +7     
- Partials     1038     1039       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jansegre jansegre mentioned this pull request Sep 23, 2025
2 tasks
@jansegre jansegre marked this pull request as ready for review September 23, 2025 19:11
@jansegre jansegre requested a review from msbrogli as a code owner September 23, 2025 19:11
@jansegre jansegre moved this from In Progress (WIP) to In Progress (Done) in Hathor Network Sep 23, 2025
msbrogli
msbrogli previously approved these changes Sep 23, 2025
msbrogli
msbrogli previously approved these changes Sep 23, 2025
@jansegre jansegre merged commit a243b75 into master Sep 24, 2025
7 checks passed
@jansegre jansegre deleted the feat/cli/nc-dump branch September 24, 2025 14:10
@github-project-automation github-project-automation bot moved this from In Progress (Done) to Waiting to be deployed in Hathor Network Sep 24, 2025
@jansegre jansegre mentioned this pull request Sep 24, 2025
2 tasks
@jansegre jansegre moved this from Waiting to be deployed to Done in Hathor Network Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants