#holochain #persistence #cas #holo #eav #content-addressable #index-file

holochain_persistence_file

persistence for content addressable storage and entity attribute value indexes. A file system based implementation using directory hieraarchies to navigate data.

21 releases

0.0.18 Mar 10, 2020
0.0.17 Feb 13, 2020
0.0.13 Jan 17, 2020
0.0.11 Nov 11, 2019
0.0.1-alpha4 Jun 19, 2019

#3 in #eav

Download history 78/week @ 2024-03-28 44/week @ 2024-04-04 1/week @ 2024-05-16 1/week @ 2024-05-30 3/week @ 2024-06-06

68 downloads per month
Used in 2 crates

Apache-2.0

115KB
2.5K SLoC

holochain_persistence_file

Project Chat

Twitter Follow

License: Apache-2.0

Overview

Filesystem persistence implementations for holochain. Provides content addressable storage (CAS) and entity attribute value (index) associations using hiearchical based filesystem storage.

Usage

Add holochain_persistence_file crate to your Cargo.toml. Below is a stub for creating a storage unit and adding some content.

use holochain_persistence_file::cas::file::FilesystemStorage;
use tempfile::tempdir;

pub fn init() -> FilesystemStorage {
  let dir = tempdir().expect("Could not create a tempdir for CAS.");
  let store = FilesystemStorage::new(dir.path()).unwrap();
  store.add(<some_content>).expect("added some content");
  store
}

Contribute

Holochain is an open source project. We welcome all sorts of participation and are actively working on increasing surface area to accept it. Please see our contributing guidelines for our general practices and protocols on participating in the community.

License

License: Apache-2.0

Copyright (C) 2019, Holochain Foundation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Dependencies

~13MB
~252K SLoC