Skip to content
Snippets Groups Projects
Commit fe5e8558 authored by Guilhem Niot's avatar Guilhem Niot
Browse files

Add reference to hyperdrive-publisher and replace mention to Dat

parent ec506122
No related branches found
No related tags found
1 merge request!1Adapt to comments made by Mauve Signweaver
No preview for this file type
...@@ -31,13 +31,11 @@ ...@@ -31,13 +31,11 @@
\AtBeginDocument{\def\subsectionautorefname{Subsection}}% \AtBeginDocument{\def\subsectionautorefname{Subsection}}%
% %
\title{Smallworld: Adding Dat support} \title{Smallworld: Adding Hypercore support}
\author{Paulette Vazquez and Guilhem Niot} \author{Paulette Vazquez and Guilhem Niot}
\supervisor{Dr. Erick Lavoie} \supervisor{Dr. Erick Lavoie}
\adviser{Professor Anne-Marie Kermarrec} \adviser{Professor Anne-Marie Kermarrec}
\newcommand{\sysname}{FooSystem\xspace}
\begin{document} \begin{document}
\maketitle \maketitle
...@@ -54,7 +52,7 @@ The Hypercore protocol\footnote{\url{https://hypercore-protocol.org/}} was creat ...@@ -54,7 +52,7 @@ The Hypercore protocol\footnote{\url{https://hypercore-protocol.org/}} was creat
The hypercore protocol extensively supports both local and remote peer-to-peer connexions using a DHT (Distributed Hash Tables), while the Dat protocol only supports a rendez-vous approach with a centralized server. The hypercore protocol extensively supports both local and remote peer-to-peer connexions using a DHT (Distributed Hash Tables), while the Dat protocol only supports a rendez-vous approach with a centralized server.
The Hypercore protocol is now incompatible with the Dat protocol and provides its own CLI tools and libraries. The Hypercore protocol is now incompatible with the Dat protocol and provides its own CLI tools and libraries.
This report aims at showing that Hypercore can be used with a Smallworld setup, to easily share files that could be often updated among peers, similarly to a Dropbox instance. We will explain how to configure Dat to replicate files, and we will cover a scenario where we replicate files between two clients A and B with the Raspberry Pi acting as an intermediary when only one of the clients is online at a given time. This report aims at showing that Hypercore can be used with a Smallworld setup, to easily share files that could be often updated among peers, similarly to a Dropbox instance. We will explain how to configure Dat-store to replicate files, and we will cover a scenario where we replicate files between two clients A and B with the Raspberry Pi acting as an intermediary when only one of the clients is online at a given time.
\subsection{Real time synchronization with dat-store} \subsection{Real time synchronization with dat-store}
...@@ -172,11 +170,11 @@ On top of that, we were unable to install Pushpin on the Raspberry Pi to have a ...@@ -172,11 +170,11 @@ On top of that, we were unable to install Pushpin on the Raspberry Pi to have a
In the previous sections, we have shown how to use dat store to replicate files between devices and a simple usage scenario. Many extensions are possible. In the previous sections, we have shown how to use dat store to replicate files between devices and a simple usage scenario. Many extensions are possible.
First, while implementing this use case, we have noticed a major need shared between SSB and Hypercore, that is to provide a way to determine when two devices ended their synchronization. First, while implementing this use case, we have noticed a major need shared between SSB and Hypercore, that is to provide a way to determine when two devices ended their synchronization.
One possible implementation for SSB could be to use the Node.js client\footnote{\url{https://github.com/ssbc/ssb-client}} as it can be used to determine when new posts are received. A proof of concept is showcased at \url{https://github.com/GuilhemN/ssb-copy-follows/tree/POSTS}. This script could be adapted to make a LED blink for instance to notify the user that the devices have synchronized. One possible implementation for SSB could be to use the Node.js client\footnote{\url{https://github.com/ssbc/ssb-client}} to determine when new posts are received. A proof of concept is showcased at \url{https://github.com/GuilhemN/ssb-copy-follows/tree/POSTS}. This script could be adapted to make a LED blink for instance to notify the user that the devices have synchronized. The user could also be notified directly on their device using \url{https://github.com/RangerMauve/hyperdrive-publisher}.
Second, Hypercore libraries offer the support of Bees, which are distributed key-value tables, but they are not supported by dat store. In the next section, we detail how to install Hypercore CLI, a CLI tool supporting Bees, on the Raspberry Pi so that future students could extend our work using these libraries instead. Second, Hypercore libraries offer the support of Bees, which are distributed key-value tables, but they are not supported by dat store. In the next section, we detail how to install Hypercore CLI, a CLI tool supporting Bees, on the Raspberry Pi so that future students could extend our work using these libraries instead.
\subsection{Hyper libraries} \subsection{Hypercore CLI tool}
The Hyper community provides its own CLI tool in addition to the dat store CLI\footnote{\url{https://github.com/hypercore-protocol/cli}}. It enables the creation of Hyperdrives, i.e.\ folders distributed on the Hyper network, and Bees, which are distributed key-value tables. The Hyper community provides its own CLI tool in addition to the dat store CLI\footnote{\url{https://github.com/hypercore-protocol/cli}}. It enables the creation of Hyperdrives, i.e.\ folders distributed on the Hyper network, and Bees, which are distributed key-value tables.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment