Skip to content

block_archive plugin: irreversible blocks in 10k range files - #170

Merged
On1x merged 6 commits into
masterfrom
block-archive
Sep 29, 2026
Merged

On1x merged 6 commits into
masterfrom
block-archive

Conversation

@On1x

@On1x On1x commented Sep 28, 2026

Copy link
Copy Markdown
Member

Non-consensus plugin. Copies every irreversible block into <data-dir>/block-archive/blocks-<first>-<last>.log (+ .log.index, dlt_block_log layout), one file per range of block-archive-range blocks (default 10000). The range in progress lives in partial/ and is moved to the top directory once its last block is irreversible, so readers only see complete, immutable files. Errors stop archiving with an elog and never affect block application.

Enable: plugin = block_archive. Options: block-archive-dir, block-archive-range.

🤖 Generated with Claude Code

… CLI (info/get/search/export)

- Restore block-log-reader/viewer (dropped with .qoder/) under programs/util/block-log as .cjs
- Fix DLT head block: the 8-byte index header was counted as a block, so no block was found
- Decode operations 64..105 from op-layouts.json, generated from viz-js-lib serializers
- block-archive.cjs reads block_archive plugin range files: info, get, search, export (JSONL)
- Docs en/ru: block archive plugin and tools
- plugins/block-archive: enabling, options, sealing, file format, start point,
  restarts, error behaviour (stops instead of writing a hole), disk usage
- storage/block-log-tools: block-archive.cjs info/get/search/export, filters,
  viewer, operation coverage and op-layouts regeneration
- sidebar entries, plugin overview row, block-log page points to both
- plugin comment: a stalled archive stays stopped after restart
Byte-for-byte concatenation with rebased offsets, refuses gaps and
existing output. Lets a node restore its block log from the archive;
state still comes from a snapshot or seeds. Docs en/ru/zh.
@On1x
On1x changed the base branch from pm to master September 29, 2026 03:57
@On1x
On1x marked this pull request as ready for review September 29, 2026 03:57
@On1x
On1x merged commit 4eb5007 into master Sep 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant