Documentation resources for dat 1.0 release candidate 1 and the surrounding ecosystem.
npm install -g dat
Dat is a peer to peer file sharing tool. To share data, first cd
into a directory you want to share, and type:
$ dat link
This will create a link, that looks like dat://...
. This is a unique hash, generated by the contents of the files (including those in subdirectories) inside the current directory. Dat ignores hidden files.
Your output might look something like this:
$ dat link
Scanning folder, found 98 files in 5 directories. 47.12 MB total.
dat://a9933c3d00e1134e5814a0fe2b0f1166885f523dfe0d135a39a2ca4b43840d83
Serving data (1 connection(s))
On another computer, I can type:
dat dat://a9933c3d00e1134e5814a0fe2b0f1166885f523dfe0d135a39a2ca4b43840d83
And the files will be downloaded inside of the current directory. The process will stay open, re-hosting the data to ensure redundancy of the data.
If you change any file inside the directory, you will get a different link. Each link is unique to the file list and data contents inside each file.
Everything about the filesystem is replicated between two dat hosts, including directory structure, file modes, among other filesystem metadata. For example, changing the file mode of a single file will create an entirely different link.
Dat uses a variety of different methods to discover peers that have the data it's looking for, including DNS, Multicast DNS, UDP, and TCP. See discovery-swarm for more information.
Dat stores its data in a hidden folder that is stored by default in the user's home directory.
~/.dat
The global .dat
folder has the following contents:
$ ls ~/.dat
db
config.json