VanSinn IT-Schulung

Schulungs-Portal für Datenbank- und Skript-Challenges

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.

Wie baut sich eine Blockchain auf?

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.

Kette ist gültig.
Mining sucht eine Nonce, bis der Hash mit 000 beginnt. Wird ein alter Block manipuliert, ändert sich sein Hash und alle folgenden Prev-Hash-Verweise passen nicht mehr.
Datenbank-Vergleich
SQL

SQLite Web

Browser-Oberfläche für die lokale SQLite-Datenbank dieser Maschine.

SQLite öffnen
MDB

Mongo Express

Browser-Oberfläche für die lokale MongoDB-Instanz dieser Maschine.

Mongo öffnen
Interaktive Anwendungen
BLK

Blocklabor

Schüler minen einen Block mit eigener Nutzlast, manipulieren Daten und sehen, warum Hash-Verkettung und Konsens Manipulationen sichtbar machen.

RAD

Datenstrom-Radar

Schüler setzen eigene Schwellwerte für Temperatur, Vibration und Ausschuss und erleben, wie aus Roh-Events verwertbare Anomalien werden.

SC

Smart-Contract-Escrow

Eine Lieferanten-Zahlung wird gesperrt und nur ausgezahlt, wenn Lieferung und Qualitäts-Oracle passen. So wird Wenn-Dann-Logik ohne Mittelsmann greifbar.

Cluster-Übersicht
YRN

YARN

Ressourcenmanager und Job-Ansicht des Hadoop-Clusters. Dort lassen sich laufende und abgeschlossene Anwendungen kontrollieren.

Sourcecode: Blocklabor/home/trainee/blockchain_labor.sh
#!/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.
Sourcecode: Datenstrom-Radar/usr/local/bin/tt-web-json-filter.sh
#!/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.
Sourcecode: Smart-Contract-Escrow/usr/local/bin/tt-web-smart-contract.sh
#!/usr/bin/env bash
STATE="CREATED"
# Regeln: Einzahlung sperren, Lieferung melden,
# Oracle entscheidet OK => Auszahlung, FAIL => Rueckerstattung.
Beispieldaten: Smart-Factory-Events/var/log/vansinn/hubspot_incoming.json
[
  {"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}}
]