[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5552":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":18,"lastSyncTime":36,"discoverSource":37},5552,"datahaven","datahaven-xyz\u002Fdatahaven","datahaven-xyz","An EVM compatible Substrate chain, powered by StorageHub and secured by EigenLayer","https:\u002F\u002Fdatahaven.xyz\u002F",null,"Rust",7949,143,27,4,0,1,2,37.48,"GNU General Public License v3.0",false,"main",true,[25,26,27,28,29,30,31,32],"ai-agents","blockchain","decentralized","eigenlayer","eigenlayer-avs","ethereum","privacy","storage","2026-06-12 02:01:11","# DataHaven 🫎\n\nAI-First Decentralized Storage secured by EigenLayer — a verifiable storage network for AI training data, machine learning models, and Web3 applications.\n\n## Overview\n\nDataHaven is a decentralized storage and retrieval network designed for applications that need verifiable, production-scale data storage. Built on [StorageHub](https:\u002F\u002Fgithub.com\u002FMoonsong-Labs\u002Fstorage-hub) and secured by EigenLayer's restaking protocol, DataHaven separates storage from verification: providers store data off-chain while cryptographic commitments are anchored on-chain for tamper-evident verification.\n\n**Core Capabilities:**\n\n- **Verifiable Storage**: Files are chunked, hashed into Merkle trees, and committed on-chain — enabling cryptographic proof that data hasn't been tampered with\n- **Provider Network**: Main Storage Providers (MSPs) serve data with competitive offerings, while Backup Storage Providers (BSPs) ensure redundancy through decentralized replication with on-chain slashing for failed proof challenges\n- **EigenLayer Security**: Validator set secured by Ethereum restaking — DataHaven validators register as EigenLayer operators with slashing for misbehavior\n- **EVM Compatibility**: Full Ethereum support via Frontier pallets for smart contracts and familiar Web3 tooling\n- **Cross-chain Bridge**: Native, trustless bridging with Ethereum via Snowbridge for tokens and messages\n\n## Architecture\n\nDataHaven combines EigenLayer's shared security with StorageHub's decentralized storage infrastructure:\n\n```\n┌─────────────────────────────────────────────────────────────────────────────┐\n│                              Ethereum (L1)                                  │\n│  ┌───────────────────────────────────────────────────────────────────────┐  │\n│  │  EigenLayer AVS Contracts                                             │  │\n│  │  • DataHavenServiceManager (validator lifecycle & slashing)           │  │\n│  │  • RewardsRegistry (validator performance & rewards)                  │  │\n│  └───────────────────────────────────────────────────────────────────────┘  │\n│                                    ↕                                        │\n│                          Snowbridge Protocol                                │\n│                    (trustless cross-chain messaging)                        │\n└─────────────────────────────────────────────────────────────────────────────┘\n                                     ↕\n┌─────────────────────────────────────────────────────────────────────────────┐\n│                          DataHaven (Substrate)                              │\n│  ┌───────────────────────────────────────────────────────────────────────┐  │\n│  │  StorageHub Pallets                     DataHaven Pallets             │  │\n│  │  • file-system (file operations)        • External Validators         │  │\n│  │  • providers (MSP\u002FBSP registry)         • Native Transfer             │  │\n│  │  • proofs-dealer (challenge\u002Fverify)     • Rewards                     │  │\n│  │  • payment-streams (storage payments)   • Frontier (EVM)              │  │\n│  │  • bucket-nfts (bucket ownership)                                     │  │\n│  └───────────────────────────────────────────────────────────────────────┘  │\n└─────────────────────────────────────────────────────────────────────────────┘\n                                     ↕\n┌─────────────────────────────────────────────────────────────────────────────┐\n│                        Storage Provider Network                             │\n│  ┌─────────────────────────────┐    ┌─────────────────────────────┐        │\n│  │  Main Storage Providers     │    │  Backup Storage Providers   │        │\n│  │  (MSP)                      │    │  (BSP)                      │        │\n│  │  • User-selected            │    │  • Network-assigned         │        │\n│  │  • Serve read requests      │    │  • Replicate data           │        │\n│  │  • Anchor bucket roots      │    │  • Proof challenges         │        │\n│  │  • MSP Backend service      │    │  • On-chain slashing        │        │\n│  └─────────────────────────────┘    └─────────────────────────────┘        │\n│  ┌─────────────────────────────┐    ┌─────────────────────────────┐        │\n│  │  Indexer                    │    │  Fisherman                  │        │\n│  │  • Index on-chain events    │    │  • Audit storage proofs     │        │\n│  │  • Query storage metadata   │    │  • Trigger challenges       │        │\n│  │  • PostgreSQL backend       │    │  • Detect misbehavior       │        │\n│  └─────────────────────────────┘    └─────────────────────────────┘        │\n└─────────────────────────────────────────────────────────────────────────────┘\n```\n\n### How Storage Works\n\n1. **Upload**: User selects an MSP, creates a bucket, and uploads files. Files are chunked (8KB default), hashed into Merkle trees, and the root is anchored on-chain.\n2. **Replication**: The MSP coordinates with BSPs to replicate data across the network based on the bucket's replication policy.\n3. **Retrieval**: MSP returns files with Merkle proofs that users verify against on-chain commitments.\n4. **Verification**: BSPs face periodic proof challenges — failure to prove data custody results in on-chain slashing via StorageHub pallets.\n\n## Repository Structure\n\n```\ndatahaven\u002F\n├── contracts\u002F      # EigenLayer AVS smart contracts\n│   ├── src\u002F       # Service Manager, Rewards Registry, Slasher\n│   ├── script\u002F    # Deployment scripts\n│   └── test\u002F      # Foundry test suites\n├── operator\u002F       # Substrate-based DataHaven node\n│   ├── node\u002F      # Node implementation & chain spec\n│   ├── pallets\u002F   # Custom pallets (validators, rewards, transfers)\n│   └── runtime\u002F   # Runtime configurations (mainnet\u002Fstagenet\u002Ftestnet)\n├── test\u002F           # E2E testing framework\n│   ├── suites\u002F    # Integration test scenarios\n│   ├── framework\u002F # Test utilities and helpers\n│   └── launcher\u002F  # Network deployment automation\n├── deploy\u002F         # Kubernetes deployment charts\n│   ├── charts\u002F    # Helm charts for nodes and relayers\n│   └── environments\u002F # Environment-specific configurations\n├── tools\u002F          # GitHub automation and release scripts\n└── .github\u002F        # CI\u002FCD workflows\n```\n\nEach directory contains its own README with detailed information. See:\n- [contracts\u002FREADME.md](contracts\u002FREADME.md) - Smart contract development\n- [operator\u002FREADME.md](operator\u002FREADME.md) - Node building and runtime development\n- [test\u002FREADME.md](test\u002FREADME.md) - E2E testing and network deployment\n- [deploy\u002FREADME.md](deploy\u002FREADME.md) - Kubernetes deployment\n- [tools\u002FREADME.md](tools\u002FREADME.md) - Development tools\n\n## Quick Start\n\n### Prerequisites\n\n- [Kurtosis](https:\u002F\u002Fdocs.kurtosis.com\u002Finstall) - Network orchestration\n- [Bun](https:\u002F\u002Fbun.sh\u002F) v1.3.2+ - TypeScript runtime\n- [Docker](https:\u002F\u002Fwww.docker.com\u002F) - Container management\n- [Foundry](https:\u002F\u002Fgetfoundry.sh\u002F) - Solidity toolkit\n- [Rust](https:\u002F\u002Fwww.rust-lang.org\u002Ftools\u002Finstall) - For building the operator\n- [Helm](https:\u002F\u002Fhelm.sh\u002F) - Kubernetes deployments (optional)\n- [Zig](https:\u002F\u002Fziglang.org\u002F) - For macOS cross-compilation (macOS only)\n\n### Launch Local Network\n\nThe fastest way to get started is with the interactive CLI:\n\n```bash\ncd test\nbun i                    # Install dependencies\nbun cli launch           # Interactive launcher with prompts\n```\n\nThis deploys a complete environment including:\n- **Ethereum network**: 2x EL clients (reth), 2x CL clients (lodestar)\n- **Block explorers**: Blockscout (optional), Dora consensus explorer\n- **DataHaven node**: Single validator with fast block times\n- **Storage providers**: MSP and BSP nodes for decentralized storage\n- **AVS contracts**: Deployed and configured on Ethereum\n- **Snowbridge relayers**: Bidirectional message passing\n\nFor more options and detailed instructions, see the [test README](.\u002Ftest\u002FREADME.md).\n\n### Run Tests\n\n```bash\ncd test\nbun test:e2e              # Run all integration tests\nbun test:e2e:parallel     # Run with limited concurrency\n```\n\nNOTES: Adding the environment variable `INJECT_CONTRACTS=true` will inject the contracts when starting the tests to speed up setup.\n\n### Development Workflows\n\n**Smart Contract Development**:\n```bash\ncd contracts\nforge build               # Compile contracts\nforge test                # Run contract tests\n```\n\n**Node Development**:\n```bash\ncd operator\ncargo build --release --features fast-runtime\ncargo test\n.\u002Fscripts\u002Frun-benchmarks.sh\n```\n\n**After Making Changes**:\n```bash\ncd test\nbun generate:wagmi        # Regenerate contract bindings\nbun generate:types        # Regenerate runtime types\n```\n\n## Key Features\n\n### Verifiable Decentralized Storage\nProduction-scale storage with cryptographic guarantees:\n- **Buckets**: User-created containers managed by an MSP, summarized by a Merkle-Patricia trie root on-chain\n- **Files**: Deterministically chunked, hashed into Merkle trees, with roots serving as immutable fingerprints\n- **Proofs**: Merkle proofs enable verification of data integrity without trusting intermediaries\n- **Audits**: BSPs prove ongoing data custody via randomized proof challenges\n\n### Storage Provider Network\nTwo-tier provider model balancing performance and reliability:\n- **MSPs**: User-selected providers offering data retrieval with competitive service offerings\n- **BSPs**: Network-assigned backup providers ensuring data redundancy and availability, with on-chain slashing for failed proof challenges\n- **Fisherman**: Auditing service that monitors proofs and triggers challenges for misbehavior\n- **Indexer**: Indexes on-chain storage events for efficient querying\n\n### EigenLayer Security\nDataHaven validators secured through Ethereum restaking:\n- Validators register as operators via `DataHavenServiceManager` contract\n- Economic security through ETH restaking\n- Slashing for validator misbehavior (separate from BSP slashing which is on-chain)\n- Performance-based validator rewards through `RewardsRegistry`\n\n### EVM Compatibility\nFull Ethereum Virtual Machine support via Frontier pallets:\n- Deploy Solidity smart contracts\n- Use existing Ethereum tooling (MetaMask, Hardhat, etc.)\n- Compatible with ERC-20, ERC-721, and other standards\n\n### Cross-chain Communication\nTrustless bridging via Snowbridge:\n- Native token transfers between Ethereum ↔ DataHaven\n- Cross-chain message passing\n- Finality proofs via BEEFY consensus\n- Three specialized relayers (beacon, BEEFY, execution)\n\n## Use Cases\n\nDataHaven is designed for applications requiring verifiable, tamper-proof data storage:\n\n- **AI & Machine Learning**: Store training datasets, model weights, and agent configurations with cryptographic proofs of integrity — enabling federated learning and verifiable AI pipelines\n- **DePIN (Decentralized Physical Infrastructure)**: Persistent storage for IoT sensor data, device configurations, and operational logs with provable data lineage\n- **Real World Assets (RWAs)**: Immutable storage for asset documentation, ownership records, and compliance data with on-chain verification\n\n## Docker Images\n\nProduction images published to [DockerHub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fdatahavenxyz\u002Fdatahaven).\n\n**Build optimizations**:\n- [sccache](https:\u002F\u002Fgithub.com\u002Fmozilla\u002Fsccache) - Rust compilation caching\n- [cargo-chef](https:\u002F\u002Flpalmieri.com\u002Fposts\u002Ffast-rust-docker-builds\u002F) - Dependency layer caching\n- [BuildKit cache mounts](https:\u002F\u002Fdocs.docker.com\u002Fbuild\u002Fcache\u002Foptimize\u002F#use-cache-mounts) - External cache restoration\n\n**Build locally**:\n```bash\ncd test\nbun build:docker:operator    # Creates datahavenxyz\u002Fdatahaven:local\n```\n\n## Development Environment\n\n### VS Code Configuration\n\nIDE configurations are excluded from version control for personalization, but these settings are recommended for optimal developer experience. Add to your `.vscode\u002Fsettings.json`:\n\n**Rust Analyzer**:\n```json\n{\n  \"rust-analyzer.linkedProjects\": [\".\u002Foperator\u002FCargo.toml\"],\n  \"rust-analyzer.cargo.allTargets\": true,\n  \"rust-analyzer.procMacro.enable\": false,\n  \"rust-analyzer.server.extraEnv\": {\n    \"CARGO_TARGET_DIR\": \"target\u002F.rust-analyzer\",\n    \"SKIP_WASM_BUILD\": 1\n  },\n  \"rust-analyzer.diagnostics.disabled\": [\"unresolved-macro-call\"],\n  \"rust-analyzer.cargo.buildScripts.enable\": false\n}\n```\n\nOptimizations:\n- Links `operator\u002F` directory as the primary Rust project\n- Disables proc macros and build scripts for faster analysis (Substrate macros are slow)\n- Uses dedicated target directory to avoid conflicts\n- Skips WASM builds during development\n\n**Solidity** ([Juan Blanco's extension](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=JuanBlanco.solidity)):\n```json\n{\n  \"solidity.formatter\": \"forge\",\n  \"solidity.compileUsingRemoteVersion\": \"v0.8.28+commit.7893614a\",\n  \"[solidity]\": {\n    \"editor.defaultFormatter\": \"JuanBlanco.solidity\"\n  }\n}\n```\n\nNote: Solidity version must match [foundry.toml](.\u002Fcontracts\u002Ffoundry.toml)\n\n**TypeScript** ([Biome](https:\u002F\u002Fgithub.com\u002Fbiomejs\u002Fbiome)):\n```json\n{\n  \"biome.lsp.bin\": \"test\u002Fnode_modules\u002F.bin\u002Fbiome\",\n  \"[typescript]\": {\n    \"editor.defaultFormatter\": \"biomejs.biome\",\n    \"editor.codeActionsOnSave\": {\n      \"source.organizeImports.biome\": \"always\"\n    }\n  }\n}\n```\n\n## CI\u002FCD\n\n### Local CI Testing\n\nRun GitHub Actions workflows locally using [act](https:\u002F\u002Fgithub.com\u002Fnektos\u002Fact):\n\n```bash\n# Run E2E workflow\nact -W .github\u002Fworkflows\u002Fe2e.yml -s GITHUB_TOKEN=\"$(gh auth token)\"\n\n# Run specific job\nact -W .github\u002Fworkflows\u002Fe2e.yml -j test-job-name\n```\n\n### Automated Workflows\n\nThe repository includes GitHub Actions for:\n- **E2E Testing**: Full integration tests on PR and main branch\n- **Contract Testing**: Foundry test suites for smart contracts\n- **Rust Testing**: Unit and integration tests for operator\n- **Docker Builds**: Multi-platform image builds with caching\n- **Release Automation**: Version tagging and changelog generation\n\nSee `.github\u002Fworkflows\u002F` for workflow definitions.\n\n## Contributing\n\n### Development Cycle\n\n1. **Make Changes**: Edit contracts, runtime, or tests\n2. **Run Tests**: Component-specific tests (`forge test`, `cargo test`)\n3. **Regenerate Types**: Update bindings if contracts\u002Fruntime changed\n4. **Integration Test**: Run E2E tests to verify cross-component behavior\n5. **Code Quality**: Format and lint (`cargo fmt`, `forge fmt`, `bun fmt:fix`)\n\n### Common Pitfalls\n\n- **Type mismatches**: Regenerate with `bun generate:types` after runtime changes\n- **Contract changes not reflected**: Run `bun generate:wagmi` after modifications\n- **Kurtosis issues**: Ensure Docker is running and Kurtosis engine is started\n- **Slow development**: Use `--features fast-runtime` for shorter epochs\u002Feras (block time stays 6s)\n- **Network launch hangs**: Check Blockscout - forge output can appear frozen\n\nSee [CLAUDE.md](.\u002FCLAUDE.md) for detailed development guidance.\n\n## License\n\nGPL-3.0 - See LICENSE file for details\n\n## Links\n\n- [DataHaven Website](https:\u002F\u002Fdatahaven.xyz\u002F)\n- [DataHaven Documentation](https:\u002F\u002Fdocs.datahaven.xyz\u002F)\n- [StorageHub Repository](https:\u002F\u002Fgithub.com\u002FMoonsong-Labs\u002Fstorage-hub)\n- [EigenLayer Documentation](https:\u002F\u002Fdocs.eigenlayer.xyz\u002F)\n- [Substrate Documentation](https:\u002F\u002Fdocs.substrate.io\u002F)\n- [Snowbridge Documentation](https:\u002F\u002Fdocs.snowbridge.network\u002F)\n- [Foundry Book](https:\u002F\u002Fbook.getfoundry.sh\u002F)\n- [Polkadot-API Documentation](https:\u002F\u002Fpapi.how\u002F)\n","DataHaven 是一个基于 Substrate 的 EVM 兼容链，由 StorageHub 提供支持并由 EigenLayer 保障安全，旨在为AI训练数据、机器学习模型和Web3应用提供可验证的去中心化存储。其核心功能包括通过将文件分块并构建Merkle树来实现可验证存储，确保数据不被篡改；主存储提供商与备份存储提供商共同保证数据冗余和安全性；以及利用EigenLayer的重质押机制保护验证者集合免受不当行为的影响。此外，DataHaven还提供了完整的EVM兼容性和跨链桥接能力，便于与以太坊进行无缝交互。该项目适用于需要高可靠性和透明度的数据存储场景，如AI研发、区块链DApp开发等。","2026-06-11 03:03:56","top_language"]