ipfrs-core
Core primitives and types for IPFRS (Inter-Planet File RUST System).
Overview
ipfrs-core provides the fundamental building blocks for IPFRS, including:
- CID (Content Identifier): Multihash-based content addressing
- Block: Raw data blocks with CID verification
- IPLD Codec: Serialization/deserialization for TensorLogic types
- Error Types: Unified error handling across all IPFRS crates
Key Components
CID & Multihash
- Content-addressable identifiers compatible with IPFS
- Support for multiple hash algorithms (SHA256, BLAKE3, etc.)
- Integration with
tensorlogic::ir::Termfor logic-aware addressing
Block Management
- Immutable data blocks with cryptographic verification
- Zero-copy access patterns for performance
- Memory-safe handling with Rust ownership
IPLD Integration
- Merkle DAG structures for content-addressable graphs
- Custom codec for TensorLogic IR serialization
- Support for Safetensors and Apache Arrow formats
Architecture
This crate sits at the foundation of the IPFRS stack:
ipfrs-interface (API)
↓
ipfrs-core (Types & Primitives)
↓
ipfrs-storage | ipfrs-network | ipfrs-semantic
Design Principles
- Zero-Copy: Minimize memory allocations and data copying
- Type Safety: Leverage Rust's type system for correctness
- Protocol Compatibility: Wire-compatible with IPFS where applicable
- TensorLogic Native: First-class support for neural-symbolic AI types
Dependencies
multihash- Content addressingcid- CID implementationserde- Serialization frameworkbytes- Efficient byte buffer management
References
- IPFRS v0.3.0 Whitepaper (Unified Strategy)
- IPLD Specification: https://ipld.io/
- Multiformats: https://multiformats.io/