aboutsummaryrefslogtreecommitdiffstats
path: root/docs/diy-dat.md
diff options
context:
space:
mode:
authorKarissa McKelvey <karissa@users.noreply.github.com>2016-08-29 21:14:32 +0200
committerJoe Hand <joe@joeahand.com>2016-08-29 12:14:32 -0700
commit17926b349a0ab5a761b0a97dde27f71a1e1f332e (patch)
treeada2db81418b04e606fec42f909774ca4347e04b /docs/diy-dat.md
parenta253694c308b7b337c7d781c4bbfddefe4bfe53e (diff)
downloaddat-docs-17926b349a0ab5a761b0a97dde27f71a1e1f332e.tar.gz
dat-docs-17926b349a0ab5a761b0a97dde27f71a1e1f332e.zip
Simplify tree (#19)
* simplify the doc tree * add faq and cookbook * add cookbook files * update build script * fix contents.json file * more examples, fix startBytes * add FAQ * Examples-> cookbook * update diy dat with more details and examples * fix package.json update * cleanup Dat capitalization + typos, fix #17 * format ecosystem page * add example dat links and typo fixes
Diffstat (limited to 'docs/diy-dat.md')
-rw-r--r--docs/diy-dat.md41
1 files changed, 0 insertions, 41 deletions
diff --git a/docs/diy-dat.md b/docs/diy-dat.md
deleted file mode 100644
index fb16fc1..0000000
--- a/docs/diy-dat.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# DIY Dat
-
-This document shows how to write your own compatible `dat` client using node modules.
-
-The three essential node modules are called [hyperdrive](https://npmjs.org/hyperdrive), [hyperdrive-archive-swarm](https://npmjs.org/hyperdrive-archive-swarm) and [level](https://npmjs.org/level). Hyperdrive does file synchronization and versioning, hyperdrive-archive-swarm does peer discovery over local networks and the Internet, and level provides a local LevelDB for storing metadata. More details are available in [How Dat Works](how-dat-works.md). The [dat](https://npmjs.org/dat) module itself is just some code that combines these modules and wraps them in a command-line API.
-
-Here's the minimal code needed to download data from a dat:
-
-```js
-// run this like: node thisfile.js 4c325f7874b4070blahblahetc
-// the dat link someone sent us, we want to download the data from it
-var link = new Buffer(process.argv[2], 'hex')
-
-var Hyperdrive = require('hyperdrive')
-var Swarm = require('hyperdrive-archive-swarm')
-var level = require('level')
-var raf = require('random-access-file')
-var each = require('stream-each')
-
-var db = level('./dat.db')
-var drive = Hyperdrive(db)
-var archive = drive.createArchive(link, {
- file: function (name) {
- return raf(path.join(self.dir, name))
- }
-})
-var swarm = Swarm(archive)
-
-archive.open(function (err) {
- if (err) return console.error(err)
- each(archive.list({live: archive.live}), function (data, next) {
- var startBytes = self.stats.bytesDown
- archive.download(data, function (err) {
- if (err) return console.error(err)
- console.log('file downloaded', data.relname)
- next()
- })
- }, done)
-})
-
-```