More info on active projects and modules at dat-ecosystem.org
dat-http
An HTTP transport/storage provider for Dat, allowing replication of Dats over normal HTTP connections from flat files on the server. Currently only supports read operations, write operations coming in the future (open an issue if you need this).
The entire .dat
folder must be available on the server for this to work. Point this at the root url where the .dat
folder is and you can use this to do replication.
This is implemented as a storage provider, conforming to the https://www.npmjs.com/package/abstract-random-access API. That may seem counterintuitive, as this provides a networkworking transport but implements a storage provider API. However, in Dat you can wrap a storage provider in a Hyperdrive instance to turn it into a network transport.
example
var hyperdrive = require('hyperdrive')
var Dat = require('dat-node')
var datHttp = require('dat-http')
var storage = datHttp('https://wherever-my-dat-is.com')
var httpDrive = hyperdrive(storage, {latest: true})
httpDrive.on('ready', function () {
Dat('./local-copy', {key: httpDrive.key, sparse: true}, function (err, dat) {
if (err) throw err
var localReplicate = dat.archive.replicate()
var httpReplicate = httpDrive.replicate()
localReplicate.pipe(httpReplicate).pipe(localReplicate)
})
})