Open Source Ecosystem
We have built and contributed to a variety of modules that support our work on Dat as well as the larger data and code ecosystem. Feel free to go deeper and see the implementations we are using in the Dat command-line tool and the Dat Desktop.
Dat embraces the Unix philosophy: a modular design with composable parts. All of the pieces can be replaced with alternative implementations as long as they implement the abstract API. We believe this creates better end-user software, but more importantly, will create more sustainable and impactful open source tools.
User Software
- dat - The Dat command line interface.
- Dat Desktop - Desktop application similar to a torrent client.
- Beaker - A web browser for exploring and building Dat websites.
Specifications
- How Dat Works - Visual explanation of the Dat protocol.
- Dat Enhancement Proposals - Contains all specs for the Dat protocol, including drafts.
Core Modules
These modules form the backbone of Dat software:
- hypercore - A secure, distributed append-only log.
- hyperdrive - A secure, real time distributed file system (built on hypercore).
- hyperdiscovery - Defaults for networking discovery and connection management.
- dat-sdk - High-level module for building Dat applications in Node and the browser.
View more on Github.
Related modules
These modules are community-driven and can be used to implement a variety of distributed web applications with Dat.
- kappa-db - Small core database for multiwriter kappa architectures.
- hypermerge - CRDT for merging multiple hypercore feeds.
- mirror-folder - Mirror a folder to another folder, supports hyperdrive and live file watching.