experimente.md 3.02 KB
Newer Older
Axel Dürkop's avatar
Axel Dürkop committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
---
LastModifierDisplayName: Axel Dürkop
post: ""
draft: false
type: book
toc: true
weight: 200
date: 2021-11-03T08:50:13.000Z
title: Experimente mit Hypercore
summary: Um das Hypercore-Protokoll sind einige Tools und Module entstanden, die in dieser Einheit genauer untersucht werden.
---

## Hyperspace-Service auf Raspberry PI hosten

### Notizen zur Installation und Konfiguration

Hierbei war das Tutorial [Install Node.js and Npm latest Version on Raspberry Pi 4?](https://officialrajdeepsingh.dev/install-node-js-and-npm-latest-version-on-raspberry-pi-4/) hilfreich.

Aktualisieren der NodeJS-Version

    # Tool, um die nächste Datei zu entpacken
    $ sudo apt-get install xz-utils

    # Ermitteln der Rechnerarchitektur auf dem RPI
    $ uname -m

Kopieren des zugehörigen Links auf https://nodejs.org/en/download/, z. B. von ARMv7 (Rechtsklick, Linkadresse kopieren)

    # Download der Datei auf dem RPI
    $ wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-armv7l.tar.xz

    # Entpacken der Datei
    $ unxz node-v16.13.0-linux-armv7l.tar.xz

    # Nochmaliges Entpacken
    $ tar xf node-v16.13.0-linux-armv7l.tar

    # Wechsel in das Verzeichnis, um es zu kopieren
    $ cd node-v16.13.0-linux-armv7l
    # Node läuft anschließend unter root-Rechten. Installationen müssen mit sudo gestartet werden.
    $ sudo cp -R * /usr/local/

Ausloggen/einloggen scheint notwendig zu sein. Anschließend:

    # Prüfen der Version, sollte 16+ und 8+ sein.
    $ node -v
    $ npm -v


Installation von [Hyperspace](https://github.com/hypercore-protocol/hyperspace) und [Hyperdrive](https://github.com/hyperspace-org/hyperdrive-service), um Hyperdrives auch ohne Beaker Browser verwalten zu können. Außerdem steht dann ein Service zur Verfügung, der permanent online ist und Hyperdrives hosten kann.

    $ sudo npm i hyperspace -g

    $ sudo npm i @hyperspace/hyperdrive -g

Optional: einmaliges Setup des Dateisystems FUSE mit 

    $ hyperdrive fuse-setup 

Starten des Hyperspace- und Hyperdrive-Service:

    $ hyperspace start --no-migrate
    # Mit dem & wird der Prozess in den Hintergrund geschoben
    # `fg` holt ihn wieder hervor

    $ hyperdrive start &

Einen ersten Hyperdrive anlegen:

    $ cd ~/Hyperdrive
    $ hyperdrive create P2P-Test

### Fremde Hyperdrives mounten

Nachdem alles läuft, können jetzt fremde Hyperdrives in den Raspberry gemountet werden. Wir mounten diese Website mit den Materialien zur Veranstaltung, das natürlich eine Präsenz im Hyperspace hat :-).

```bash
# ch 
$ cd ~/Hyperdrive
$ hyperdrive mount Informatik d0dc160b4153b17fdcf9d4c5b238733f7f486b152a0492a5ada0ef26a7c26d6e
Remote client opened
✔ Mounted a drive with the following info:

  Path: /home/pi/Hyperdrive/Informatik 
  Key:  d0dc160b4153b17fdcf9d4c5b238733f7f486b152a0492a5ada0ef26a7c26d6e 
  Seeding: false

This drive is private by default. To publish it, run `hyperdrive seed /home/pi/Hyperdrive/Informatik`.

$ hyperdrive seed /home/pi/Hyperdrive/Informatik
Remote client opened
✔ Seeding the drive mounted at /home/pi/Hyperdrive/Informatik
```