tutus-chain/pkg/storage
Tutus Development c21789557c Add BlockStorage and StateStorage to local adapter with tests
Implement full local storage adapter with three interfaces:
- Provider: Basic object storage (Put, Get, Delete, Exists, List, Head)
- BlockStorage: Block-indexed storage (PutBlock, GetBlock, GetBlockRange)
- StateStorage: State snapshot storage (PutState, GetState, GetLatestState)

Implementation details:
- Content-addressed storage using SHA256 for object IDs
- Directory sharding for filesystem performance:
  - Objects: first 2 chars of hash (e.g., objects/91/91f0...)
  - Blocks: every 10,000 (e.g., blocks/0001/12345.block)
  - States: every 10,000 (e.g., states/0001/12345.state)
- Metadata JSON sidecar files with content type and attributes
- Thread-safe with sync.RWMutex
- Size quota enforcement across all directories

Test coverage (30 tests):
- Provider interface: Put/Get, Delete, Exists, Head, List, quota
- BlockStorage: PutGetBlock, GetBlockRange, GetLatestBlockIndex
- StateStorage: PutGetState, GetLatestState, quota enforcement
- Path helpers and interface compliance verification

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 06:58:20 -05:00
..
local Add BlockStorage and StateStorage to local adapter with tests 2025-12-21 06:58:20 -05:00
neofs Add Tutus Storage Interface for sovereign data storage 2025-12-21 06:38:32 -05:00
config.go Add Tutus Storage Interface for sovereign data storage 2025-12-21 06:38:32 -05:00
doc.go Add Tutus Storage Interface for sovereign data storage 2025-12-21 06:38:32 -05:00
errors.go Add Tutus Storage Interface for sovereign data storage 2025-12-21 06:38:32 -05:00
storage.go Add Tutus Storage Interface for sovereign data storage 2025-12-21 06:38:32 -05:00