Skip to content

DougAnderson444/HydroFile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HydroFile

A small wrapper library to sail the seas of IPFS CIDs.

Dream API

    // instantiate a new HydroFile
    let hydroFile = new HydroFile()

    // or load a previously built HydroFile
    const hydro = 'badbeefbadbeefbadbeefbadbeefbadbeefbadbeefbadbeef'
    hydroFile = new HydroFile(hydro)

    // TODO: load hydroFile id from Ethereum or ENS?

    // name the upload and optionally give it some more meta data, like previous version 
    const name = "hello.txt" // name what you are saving
    const CID = await hydroFile.track(await ipfs.add("Hello world"), { name: "hello.txt" , prevCID, keywords })

    // or syncronously
    ipfs.add("Hello world").then((CID)=>{
        hydroFile.track(CID, { name: "hello.txt" , prevCID, keywords })
    })

    const helloRotCID = hydroFile.getRoot(name)
    //  expect(helloRotCID).to.equal(CID)


    // all CIDs can be rolled up into one root CID
    const rootCID = hydroFile.getRoot()

    // get last 10 rootCIDs
    const rootCIDs = hydroFile.getRoot(10)

    fileCID = hydroFile.getFile("hello.txt")
    const [searchResults] = hydroFile.find("hello") // all CID objects with meta data including "hello" keyword

Branches:

main

json-ld (saved in IPLD)

hyperbee (CIDs saved in a hypercore btree)

Before you start

First clone this repo, install dependencies in the project root and build the project.

$ git clone https://github.com/DougAnderson444/HydroFile.git
$ cd hydrofile
$ npm install
$ npm run start

Architecture


Examples

Great example usage in the tests.

To run the tests, simply run mocha in the dictory

mocha

or have npm run the test script from package.json;

npm run test

Currently working with:

  • ...

Planned support for examples using:

  • Hyperbee
  • Lowdash DB
  • JSON LD

About

A small library to sail the seas of IPFS CIDs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published