Blocklabor
Schüler minen einen Block mit eigener Nutzlast, manipulieren Daten und sehen, warum Hash-Verkettung und Konsens Manipulationen sichtbar machen.
Starte die interaktiven Werkzeuge direkt im Browser und prüfe darunter den verwendeten Sourcecode. Das Mining-Terminal nutzt eine persistente Sitzung, damit ein Browser-Reconnect nicht wieder bei Nonce 0 beginnt.
Jeder Block enthält Nutzdaten, eine Nonce und den Hash des vorherigen Blocks. Wird ein alter Block verändert, passt sein Hash nicht mehr und alle folgenden Blöcke werden ungültig.
Browser-Oberfläche für die lokale SQLite-Datenbank dieser Maschine.
Browser-Oberfläche für die lokale MongoDB-Instanz dieser Maschine.
Schüler minen einen Block mit eigener Nutzlast, manipulieren Daten und sehen, warum Hash-Verkettung und Konsens Manipulationen sichtbar machen.
Schüler setzen eigene Schwellwerte für Temperatur, Vibration und Ausschuss und erleben, wie aus Roh-Events verwertbare Anomalien werden.
Eine Lieferanten-Zahlung wird gesperrt und nur ausgezahlt, wenn Lieferung und Qualitäts-Oracle passen. So wird Wenn-Dann-Logik ohne Mittelsmann greifbar.
Monitoring-Dashboard für Node-Exporter und Hadoop-JMX. Hier sieht man Cluster-Zustand, Host-Metriken und Service-Verfügbarkeit.
Ressourcenmanager und Job-Ansicht des Hadoop-Clusters. Dort lassen sich laufende und abgeschlossene Anwendungen kontrollieren.
#!/usr/bin/env bash
# Menue: Block minen, Manipulation zeigen, Fork/Konsens vergleichen.
hash_payload() { printf '%s' "$1" | sha256sum | awk '{print $1}'; }
# Ein valider Block entsteht erst, wenn Hash(Blockdaten|Nonce)
# mit dem gewaehlten Null-Prefix beginnt.
#!/usr/bin/env bash
LOG_FILE="/var/log/vansinn/hubspot_incoming.json"
# Schwellwerte fuer Temperatur, Vibration und Ausschuss werden
# interaktiv abgefragt und dann mit jq auf den Eventstrom angewendet.
#!/usr/bin/env bash
STATE="CREATED"
# Regeln: Einzahlung sperren, Lieferung melden,
# Oracle entscheidet OK => Auszahlung, FAIL => Rueckerstattung.
[
{"line":"cutting","station":"laser-1","payload":{"temperature":61,"vibration":0.12,"reject_rate":0.01}},
{"line":"coating","station":"coat-2","payload":{"temperature":93,"vibration":0.58,"reject_rate":0.14}},
{"line":"packing","station":"pack-4","payload":{"temperature":50,"vibration":0.18,"reject_rate":0.19}}
]