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

Add an appendix about the Hyper protocol

parent f355177c
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -175,6 +175,28 @@ SSB provides a Node.js client\footnote{\url{https://github.com/ssbc/ssb-client}} ...@@ -175,6 +175,28 @@ SSB provides a Node.js client\footnote{\url{https://github.com/ssbc/ssb-client}}
Another possible improvement for SSB is the refactoring of the AutoFollow with \emph{ssb-client} to copy the follows of its owner. Similarly a proof of concept is available at \url{https://github.com/GuilhemN/ssb-copy-follows/blob/master/index.js}. It could be integrated to a web page exposed at \verb|http://raspberrypi.local/|. Another possible improvement for SSB is the refactoring of the AutoFollow with \emph{ssb-client} to copy the follows of its owner. Similarly a proof of concept is available at \url{https://github.com/GuilhemN/ssb-copy-follows/blob/master/index.js}. It could be integrated to a web page exposed at \verb|http://raspberrypi.local/|.
\newpage
\appendix
\section{Dat vs Hypercore protocol}
The Hypercore protocol\footnote{\url{https://hypercore-protocol.org/}} was created in 2016 as a way to provide Dat more abstract foundations that could be reused among several applications. From then, the Hyper project grew and it was decided in 2020 to separate Dat from Hypercore and to provide both their own governance\footnote{An explanation video is available at \url{https://www.youtube.com/watch?v=mx52uO5SP7A}}.
The Hypercore protocol is now incompatible with the Dat protocol and provides its own CLI tools and libraries.
The main entry of the Hyperspace is the Hyperspace CLI\footnote{\url{https://github.com/hypercore-protocol/cli}}. It allows to create Hyperdrives, folders distributed on the Hyper network, and Bees, which are distributed key-value tables.
The Hypercore provides an actually decentralized implementation for remote peer-to-peer connexion based on DHT (Distributed Hash Tables), while the Dat protocol only supports a rendez-vous approach with a centralized server. \\
While we did not do anything new with Hyper compared to what we did with Dat, we wanted to explain its installation procedure on Raspberry Pis as it is quite complex, and as Hyper will likely be preferred over Dat in the future. \\
Hyper libraries require Node 14 but Node 14 is not officially supporting the Raspberry Pi Zero as it chips an ARMv6 CPU.
The NodeJs team is actually still providing unofficial (and "experimental") builds under \url{https://github.com/nodejs/unofficial-builds/} and those are usable on the Raspberry Pi. You may install them using the scripts provided by \url{https://github.com/sdesalas/node-pi-zero}. You may install the latest version of Node 14 to have a version of node compatible with Hyper. \\
You will then be able to install the Hyperspace CLI using \verb|npm install -g @hyperspace/cli|. \\
And now you should be able to interact with Hyperdrives using the \emph{hyp} command. You can check its documentation at \url{https://hypercore-protocol.org/guides/hyp/}.
\textbf{Note:} In case the \emph{hyp} command is not resolved, you may need to add to your \verb|~/.bashrc| the following line: \verb|export PATH=$PATH:$(npm bin -g)| which adds NPM libraries to your PATH.
\cleardoublepage \cleardoublepage
\phantomsection \phantomsection
......
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