dat-storage

    1.1.1 • Public • Published

    dat-storage

    Dat specific storage provider for Hyperdrive

    npm install dat-storage
    

    Usage

    var storage = require('dat-storage')
     
    // files are stored in ./my-dataset
    // metadata (hashes and stuff) are stored in ./my-dataset/.dat
    // secret keys are stored in ~/.dat/secret_keys/<discovery-key>
    var archive = hyperdrive(storage('my-dataset'))

    Custom storage provider

    You can require this module in your own storage provider in order to override certain behaviors for some files while still using the default dat storage methods for other files. Here's an example of overriding only the secret key storage and nothing else:

    const defaultStorage = require('dat-storage')
    const alternativeSecretStorage = require('your-own-custom-random-access-file-module')
     
    module.exports = function keychainStorage() {
      const storage = defaultStorage(...arguments)
      return {
        metadata: function(file, opts) {
          if (file === 'secret_key') alternativeSecretStorage(file)
          return storage.metadata(...arguments)
        },
        content: function(file, opts) {
          return storage.content(...arguments)
        }
      }
    }

    Options

    • secretDir - folder to store secret keys in (default is users home dir)
    • prefix - subfolder to put dat SLEEP files in (default is .dat/)

    Secret Keys

    By default secret keys are stored in the users home directory via dat-secret-storage. To change the directory, pass it as an option:

    var storage = require('dat-storage')
     
    var archive = hyperdrive(storage('my-dataset', {secretDir: '/secret_keys'})

    License

    MIT

    Keywords

    none

    Install

    npm i dat-storage

    DownloadsWeekly Downloads

    122

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    8.1 kB

    Total Files

    5

    Last publish

    Collaborators

    • juliangruber
    • jhand
    • zootella
    • serapath
    • rangermauve
    • ninabreznik
    • cblgh
    • frando
    • pfrazee
    • the-real-dk
    • leichtgewicht
    • mafintosh