Activity Overview
Commits and releases over time
- Commits
- Releases
- Authors
Repository Explorer
No repositories match that filter.
6 commits in all time
Aug 14, 2026 01:14 – Nov 12, 2026 01:14 UTC
Rate limit latest.json writes to one per 5 seconds
During a backfill the pointer writer wrote latest.json on every advance, tens of thousands of overwrites per hour. Writes are now spaced by seaweed.latest_interval (default 5s); kicks in between coalesce and the final value is still flushed on shutdown. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RxR4odmoXozJ4UFUsjufir
5387c076
main
6/133 ++ 49 --
Align error responses with algod's message format
Error bodies are now {"message": "...", "data": {...}} like algod's
ErrorResponse, with algod's wording: unknown rounds answer
"failed to retrieve information from the ledger" (404), deltas
"failed retrieving State Delta: round N not found" (404), malformed
round parameters "Invalid format for parameter round: ..." (400).
Storage failures answer 500 with the cause under data.error.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxR4odmoXozJ4UFUsjufir
dd33e792
main
5/107 ++ 35 --
Add SeaweedFS S3 backend, remote import and /v2/status
Storage backend is now selected with store.backend (pebble, the default,
or seaweed). The seaweed backend writes one raw BlockData object per
round through the S3 gateway, laid out for direct serving:
<prefix>blockdata/AAA/BBB/CCC/AAABBBCCCDDD.msgp (immutable cache headers)
<prefix>genesis.msgp
<prefix>latest.json ({"last-round":N,...})
Objects are stored uncompressed on purpose; BTRFS zstd on the volume
server compresses consecutive blocks better than per-object gzip.
Shared pieces moved out of the pebble package: store/rounds (last-round
tracker, long-poll bulletin, binary search) and store/blockcodec.
The Ledger interface gains Close, HasLedgerBlock and small meta values.
New importer package: import.from mirrors genesis and rounds from
another blocksrv (skipping rounds already stored, persisting progress,
optionally following the source's tail) to migrate pebble deployments
to SeaweedFS without stopping the exporter. GET /v2/status reports the
last round and genesis identity.
Behaviour changes: unknown rounds answer 404 instead of 400, storage
failures answer 500, a genesis for a different network answers 409,
the pebble DB is closed on shutdown and its last-round pointer is
heal-checked at startup.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxR4odmoXozJ4UFUsjufir
a3ee4228
main
31/3,517 ++ 359 --