aboutsummaryrefslogtreecommitdiffstats
path: root/ecosystem.md
diff options
context:
space:
mode:
Diffstat (limited to 'ecosystem.md')
-rw-r--r--ecosystem.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/ecosystem.md b/ecosystem.md
new file mode 100644
index 0000000..fbd8929
--- /dev/null
+++ b/ecosystem.md
@@ -0,0 +1,14 @@
+## Implementations
+
+If you want to go deeper and see the implementations we are using in the [Dat command-line tool](https://github.com/maxogden/dat), here you go:
+
+- [dat](https://www.npmjs.com/package/dat) - the main command line tool that uses all of the below
+- [discovery-channel](https://www.npmjs.com/package/discovery-channel) - discover data sources
+- [discovery-swarm](https://www.npmjs.com/package/discovery-swarm) - discover and connect to sources
+- [hyperdrive](https://www.npmjs.com/package/hyperdrive) - The file sharing network dat uses to distribute files and data. A technical specification / discussion on how hyperdrive works is [available here](https://github.com/mafintosh/hyperdrive/blob/master/SPECIFICATION.md)
+- [hypercore](https://www.npmjs.com/package/hypercore) - exchange lwo level binary blocks with many sources
+- [bittorrent-dht](https://www.npmjs.com/package/bittorrent-dht) - use the Kademlia Mainline DHT to discover sources
+- [dns-discovery](https://www.npmjs.com/package/dns-discovery) - use DNS name servers and Multicast DNS to discover sources
+- [utp-native](https://www.npmjs.com/package/utp-native) - UTP protocol implementation
+- [rabin](https://www.npmjs.com/package/rabin) - Rabin fingerprinter stream
+- [merkle-tree-stream](https://www.npmjs.com/package/merkle-tree-stream) - Used to construct Merkle trees from chunks