ParitrDocs

Alles zur Funktionsweise des Netzwerks, zur Installation einer eigenen Node auf Linux und Windows sowie zur Verbindung mit deinem Wallet.

campaign
Version 4.0.0 ändert die Konsensregeln. Neu sind die Share-basierte Leistungsverteilung und die Tail-Emission. Blöcke älterer Versionen sind damit nicht mehr gültig: Alle Nodes müssen aktualisiert werden (manage.sh update bzw. manage.ps1 update) und ihr Datenverzeichnis einmalig neu aufbauen.

Was ist Paritr?

Paritr ist eine eigenstaendige Kryptowaehrung nach Bitcoin-Vorbild. Das Netzwerk besteht aus zwei Teilen:

  • Full Nodes – unabhaengige Server, die die gesamte Blockchain speichern, alle Regeln pruefen, Transaktionen weiterleiten und per Proof of Work neue Bloecke erzeugen. Jeder kann eine Node betreiben.
  • Web-Plattform – dein Wallet im Browser. Der private Schluessel wird lokal erzeugt und verlaesst deinen Browser nie. Die Plattform ist im Hintergrund mit einer Node verbunden, um Guthaben zu lesen und signierte Transaktionen einzureichen.
info
Zum Empfangen und Senden von PAR brauchst du keine eigene Node. Eine eigene Node ist nur noetig, wenn du selbst schuerfen und damit neue Coins verdienen moechtest.

Funktionsweise der Blockchain

Bloecke und Proof of Work

Jeder Block traegt einen 80 Byte grossen Header aus Version, Hash des Vorgaengers, Merkle-Wurzel aller Transaktionen, Zeitstempel, Schwierigkeit (nBits) und einem Zaehler (Nonce). Die Kennung eines Blocks ist SHA256(SHA256(header)). Der Arbeitsnachweis nutzt dagegen scrypt mit 2 MiB Arbeitsspeicher je Hash (N = 2048, r = 8, p = 1). Gueltig ist ein Block, wenn dieser scrypt-Hash kleiner oder gleich der Zielmarke ist. Miner variieren den Nonce so lange, bis das zutrifft.

Die Speicherbindung ist Absicht: Reines SHA256d laesst sich mit fertiger Spezialhardware (ASICs) millionenfach beschleunigen, die fuer Bitcoin ohnehin existiert. Ein Bruchteil davon wuerde die Schwierigkeit hier so weit anheben, dass normale Rechner chancenlos waeren. scrypt macht die Speicherlatenz zum Flaschenhals statt der Rechenwerke – genau der Ansatz, der ASICs jahrelang von CryptoNight ferngehalten hat.

Kontenmodell

Statt UTXO nutzt Paritr ein Konto-/Nonce-Modell: Jede Adresse hat einen Kontostand und einen fortlaufenden Zaehler. Jede Transaktion traegt die naechste Nonce des Absenders – doppelte oder uebersprungene Nonces werden abgelehnt. Das schuetzt vor Wiedereinreichung (Replay) und erlaubt sehr schlanke Wallets.

Ueber das Netzwerk treffen Transaktionen desselben Absenders aber nicht zwangslaeufig in Reihenfolge ein. Kommt Nonce n+1 vor n an, wird sie deshalb nicht verworfen, sondern kurzzeitig zwischengespeichert und automatisch nachgerueckt, sobald die Luecke geschlossen ist.

Signaturen und Adressen

Signiert wird mit ECDSA auf der Kurve secp256k1. Die Adresse ist Base58Check(0x37 ‖ RIPEMD160(SHA256(pubkey))) und beginnt daher immer mit C. Die Node prueft, dass die Absenderadresse zum mitgelieferten oeffentlichen Schluessel passt.

Konsens und Reorganisation

Nodes vergleichen nicht die Laenge einer Kette, sondern die insgesamt hineingesteckte Arbeit. Eine fremde Kette wird nur uebernommen, wenn sie mehr Arbeit enthaelt und jeder einzelne Block alle Regeln erfuellt. Bei einer Reorganisation wandern Transaktionen verwaister Bloecke zurueck in die Warteschlange (Mempool), Shares zurueck in den Share-Speicher.

Umgestellt wird dabei nur der abweichende Teil: Die Bloecke ab dem Verzweigungspunkt werden rueckabgewickelt, danach wird ausschliesslich der neue Ast geprueft und angewendet. Der Aufwand haengt so von der Tiefe der Reorganisation ab – nicht von der Laenge der gesamten Kette.

Ein zugestellter Block, der nicht direkt an die eigene Spitze passt, wird nicht verworfen, sondern als Seitenast zwischengespeichert. Sobald genug Folgebloecke eintreffen und der Ast mehr Arbeit enthaelt, wird umgeschwenkt. Ohne diesen Schritt koennte eine Node, die selbst keine ausgehenden Verbindungen aufbauen kann, dauerhaft auf ihrer eigenen Gabelung verharren – die Bloecke und Belohnungen der Gegenseite gingen dann verloren.

Wie sich Nodes finden

  1. Fest hinterlegte Seed-Nodes im Programmcode.
  2. DNS-Seeds: aufgeloeste Adressen werden als Kandidaten genutzt – aber nur fuer Hosts, die nicht ohnehin schon als Seed-URL hinterlegt sind. Sonst entstehen tote Eintraege, weil die A-Records hinter einem Reverse-Proxy oder CDN auf dessen Edge-Adressen zeigen, unter denen der RPC-Port gar nicht offen ist.
  3. Gossip: Beim Handshake tauschen Nodes ihre Peer-Listen aus.
  4. Rueckweg: Meldet eine Gegenstelle keine oeffentliche Adresse, wird ein Kandidat aus ihrer Absender-IP und dem gemeldeten RPC-Port gebildet und geprueft.
  5. Entdopplung: Ist dieselbe Node ueber mehrere Adressen bekannt (Seed-URL, Port-Variante, aufgeloeste IP), wird fuer Relay und Sync nur die beste davon verwendet und weitergegeben.
  6. Headers-First-Sync: Erst alle Header pruefen, dann die Bloecke laden.
  7. Der Genesis-Block wird auf jeder Node deterministisch identisch berechnet.

Ueber dieselben Verbindungen laufen drei Arten von Nachrichten: Bloecke, Transaktionen und Shares. Alle ausgehenden Aufrufe werden von einer festen Zahl Hintergrund-Worker abgearbeitet. Eine langsame oder boesartige Gegenstelle kann den Node dadurch weder ausbremsen noch ueber unbegrenzt viele Verbindungen ueberlasten.

Emission und Tail-Emission

Jeder neue Block erzeugt frische Coins – die Subvention. Sie startet bei 10 PAR und halbiert sich alle 1.600.000 Blöcke, also etwa alle drei Jahre.

all_inclusive
Die Belohnung faellt nie auf null. Unterhalb von 0,5 PAR je Block wird nicht weiter halbiert. Diese dauerhafte Rest-Emission ist der Grund, warum es keine starre Maximalmenge gibt.

Warum ohne Obergrenze?

Ein Netzwerk mit harter Obergrenze finanziert seine Sicherheit irgendwann ausschliesslich ueber Transaktionsgebuehren. Bleiben die aus, sinkt die Rechenleistung – und mit ihr der Schutz vor Angriffen. Die Tail-Emission loest das: Sie garantiert eine planbare Mindestbelohnung, ohne dass die Geldmenge aus dem Ruder laeuft.

Entscheidend ist naemlich nicht die absolute Menge, sondern die jaehrliche Inflationsrate. Weil die Umlaufmenge waechst, die Neuemission je Jahr aber konstant bleibt, faellt diese Rate dauerhaft gegen null – ohne sie jemals ganz zu erreichen. Den aktuellen Wert zeigt der Endpunkt /supply.

Zeitraum (ca.)BlöckeBelohnung je Block
Jahr 1–31 – 1.600.00010 PAR
Jahr 4–61.600.001 – 3.200.0005 PAR
Jahr 7–93.200.001 – 4.800.0002,5 PAR
ab ca. Jahr 13dauerhaft0,5 PAR (Tail-Emission)

Shares: Bezahlung nach Leistung

Das Problem kleiner Nodes

Bei klassischem Mining bekommt nur die Node etwas, die den Block findet. Eine kleine Node mit 1 % der Rechenleistung findet im Schnitt jeden hundertsten Block – und geht dazwischen leer aus. Genau deshalb schliessen sich Miner ueberall zu zentralen Pools zusammen.

Die Loesung: Shares direkt im Protokoll

Paritr baut den Pool in die Blockchain selbst ein. Beim Schürfen entstehen neben dem seltenen Blocktreffer laufend Shares: gültige Arbeitsnachweise, die ein Hundertstel der Blockschwierigkeit erfüllen. Sie kosten keine zusätzliche Rechenzeit, denn es ist derselbe Hash-Durchlauf – nur mit einer zweiten, leichteren Zielmarke.

  1. Die Node findet einen Share und verteilt ihn per Gossip an ihre Peers.
  2. Jede Node prüft ihn sofort: Arbeitsnachweis, Elternblock, Dublette.
  3. Die nächste Node, die einen Block findet, bindet bis zu 64 gesammelte Shares in ihren Block ein.
  4. Alle Shares der letzten 120 Blöcke bilden das Messfenster, nach dem die Belohnung verteilt wird.
savings
Eine Node mit 1 % der Netzleistung erhält dadurch bei nahezu jedem Block rund 1 % der verteilten Subvention – statt alle paar Stunden einen grossen Betrag oder monatelang gar nichts.

Warum niemand fremde Shares unterschlagen kann

Ein Finder könnte versucht sein, fremde Shares einfach wegzulassen, um mehr für sich zu behalten. Das lohnt sich nicht: Liegen keine fremden Shares vor, fällt der gesamte 95 %-Pool ohnehin an den Finder – er hat also keinen Nachteil davon, sie aufzunehmen, wohl aber die garantierten 5 % Inklusions-Anreiz plus alle Gebühren sicher. Gleichzeitig ist die Verteilung für jede Node exakt nachrechenbar: Ein Block mit falscher Coinbase wird schlicht abgelehnt.

Und Shares lassen sich nicht stehlen: Die Auszahlungsadresse steckt über einen Merkle-Nachweis im gehashten Header. Wer sie austauscht, zerstört den Arbeitsnachweis. Bereits bestätigte Shares können zudem kein zweites Mal eingebunden werden.

Mining und Belohnungen

Ablauf

  1. Eingereichte Transaktionen sammeln sich im Mempool, eingehende Shares im Share-Speicher der Node.
  2. Die Node baut einen Kandidaten-Block: zuerst die zu bestätigenden Shares, daraus der Verteilschlüssel und die Coinbase-Ausgänge, danach die Transaktionen mit der höchsten Gebühr.
  3. Der Nonce wird variiert, bis der Header-Hash unter der Zielmarke liegt. Zwischentreffer unter der leichteren Share-Marke werden als Shares veröffentlicht.
  4. Der Finder hängt den Block an und verteilt ihn an alle bekannten Peers.

Liegt keine Transaktion vor, entsteht ein leerer Block mit nur den Coinbase-Ausgängen. Das Netzwerk rechnet dadurch ununterbrochen weiter.

Wer bekommt wie viel?

AnteilEmpfängerZweck
95 % der Subvention alle Miner mit Shares im Messfenster strikt anteilig: Pool × eigene Shares / alle Shares
5 % der Subvention die Node, die den Block gefunden hat Anreiz, fremde Shares aufzunehmen statt zu zensieren
100 % der Gebühren die Node, die den Block gefunden hat Anreiz, volle Blöcke zu bauen und den Mempool zu leeren

Je Block gibt es höchstens 32 Empfänger; Kleinstbeträge unter 0,00001 PAR sowie Rundungsreste gehen an den Finder. Dadurch entspricht die Summe aller Ausgänge exakt Subvention plus Gebühren – jede Node rechnet das mit reiner Ganzzahlarithmetik nach. Die aggregierten Kennzahlen zeigt der Bereich Mining › Netzwerk & Emission sowie der Endpunkt /mining/distribution.

Reifezeit

Frisch geschürfte Coins sind zunächst gesperrt und erst nach 10 weiteren Blöcken ausgebbar. In der Uebersicht steht bis dahin Ausstehend, danach Verifiziert. Das schützt vor Umkehrungen, falls sich die Kette kurzfristig reorganisiert.

Konsens-Parameter

Diese Werte sind fest im Protokoll verankert und auf jeder Node identisch. Sie lassen sich weder ueber die Konfiguration noch ueber die Weboberflaeche aendern.

Netz-Kennungparitr-mainnet
Kleinste Einheit0,00000001 PAR (1 Coin = 100.000.000 Einheiten)
Start-Belohnung10 PAR je Block
Halbierungalle 1.600.000 Blöcke (ca. 3 Jahre)
Mindest-Belohnung0,5 PAR je Block (Tail-Emission)
Maximalmengekeine feste Obergrenze – siehe Emission
Soll-Blockzeit60 Sekunden
Arbeitsnachweisscrypt (N = 2048, r = 8) – 2 MiB je Hash
Schwierigkeitsanpassungalle 60 Blöcke (ca. 1 h), gedämpft auf Faktor 4
Reifezeit der Belohnung10 Blöcke
Verteilung der Belohnung95 % nach Share-Anteil, 5 % + alle Gebühren an den Finder
Messfenster der Leistung120 Blöcke (ca. 2 Stunden)
Share-Schwierigkeit1/100 der Blockschwierigkeit
Shares je Blockmax. 32
Coinbase-Empfänger je Blockmax. 32
State-Checkpointalle 720 Blöcke (ca. 12 h)
Mindestgebuehr0,001 PAR
Mindestbetrag0,00001 PAR
Blöckgroessemax. 500 Transaktionen
AdressformatBase58Check, Praefix P

Node installieren

Eine Paritr-Node laeuft ueberall dort, wo Python 3.9 oder neuer verfuegbar ist. Getestete Plattformen:

SystemArchitekturInstallation
Ubuntu 20.04+ / Debian 11+ x86_64 install.sh
Ubuntu / Debian / Raspberry Pi OS aarch64, armv7l install.sh
Windows 10 / 11 / Server 2019+ x64, ARM64 install.ps1
macOS, andere Distributionen beliebig manuell

Mindestanforderungen

  • Python 3.9 oder neuer
  • 2 GB RAM, 2 GB freier Speicher (waechst mit der Kette)
  • Dauerhafte Internetverbindung
  • Erreichbarer TCP-Port (Standard 5050) – empfohlen, aber nicht zwingend

Alle Dateien im Überblick

Die Installationsskripte laden alles Weitere selbst nach – einzeln brauchst du die Dateien nur für eine manuelle Einrichtung.

Linux: Ubuntu, Debian und ARM

Das Skript funktioniert identisch auf x86_64-Servern und auf ARM-Geraeten (Raspberry Pi 4/5, Oracle Ampere, AWS Graviton, ...). Die Architektur wird automatisch erkannt.

Installationsskript laden und starten

Ein Befehl richtet Python-Umgebung, Dienst und Firewall ein.

curl -fsSL https://paritr.highactive.de/dist/install.sh -o install.sh bash install.sh --source https://paritr.highactive.de/dist
Optionen (alle freiwillig)
bash install.sh \ --address C… # Auszahlungsadresse deines Wallets --port 5050 # RPC-Port --public-url https://node1.example.org --cores 2 # Rechenprozesse (0 = automatisch) --intensity 60 # Auslastung je Prozess in Prozent --cpu-quota 150% # harte CPU-Grenze (150 % = 1,5 Kerne)

Ohne Angaben fragt das Skript interaktiv nach der Wallet-Adresse und nutzt sonst sinnvolle Standardwerte.

Was das Skript tut
  • Installiert Python, venv und Build-Werkzeuge (auf ARM noetig)
  • Legt ~/paritr-node mit eigener Python-Umgebung an
  • Erzeugt config.json samt frischem Admin Secret Key
  • Richtet den systemd-Dienst paritr-node ein (Autostart, Neustart bei Fehlern, gedrosselte CPU-Prioritaet)
  • Oeffnet den Port in ufw bzw. firewalld
Admin Secret Key notieren

Am Ende der Installation wird der Admin Secret Key ausgegeben. Du brauchst ihn, um die Node im Wallet zu verbinden. Spaeter jederzeit abrufbar:

cd ~/paritr-node && ./manage.sh secret
memory
Raspberry Pi: Verwende ein 64-Bit-System (Raspberry Pi OS 64-Bit oder Ubuntu Server arm64) und eine SSD statt einer SD-Karte – die Blockchain schreibt dauerhaft. Bei aktiver Kuehlung sind alle Kerne nutzbar, sonst empfiehlt sich eine Intensitaet um 50 %.

Windows

Unter Windows uebernimmt install.ps1 die Einrichtung. Als Serverprozess kommt waitress zum Einsatz; der Autostart laeuft ueber eine geplante Aufgabe.

Python installieren

Falls noch nicht vorhanden – bei der manuellen Installation unbedingt „Add python.exe to PATH“ ankreuzen.

winget install -e --id Python.Python.3.12
PowerShell als Administrator oeffnen

Rechtsklick auf das Startmenue → Terminal (Administrator). Administratorrechte werden fuer die Firewall-Regel und den Autostart benoetigt.

Installationsskript laden und starten
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force Invoke-WebRequest 'https://paritr.highactive.de/dist/install.ps1' -OutFile install.ps1 .\install.ps1 -Source 'https://paritr.highactive.de/dist'
Optionen
.\install.ps1 ` -Address C… `# Auszahlungsadresse -Port 5050 `# RPC-Port -Cores 2 `# Rechenprozesse (0 = automatisch) -Intensity 60 `# Auslastung je Prozess in Prozent -Dir 'D:\Paritr' `# eigenes Verzeichnis -NoAutostart # ohne geplante Aufgabe

Standardverzeichnis ist %LOCALAPPDATA%\Paritr\node.

Admin Secret Key notieren

Wird am Ende ausgegeben und ist spaeter abrufbar mit:

.\manage.ps1 secret
bolt
Energieoptionen pruefen. Damit die Node dauerhaft laeuft, sollte der Ruhezustand deaktiviert sein: powercfg /change standby-timeout-ac 0

Manuelle Installation (macOS, andere Systeme)

# 1. Dateien holen mkdir paritr-node && cd paritr-node curl -fsSL https://paritr.highactive.de/dist/node.py -o node.py curl -fsSL https://paritr.highactive.de/dist/wsgi.py -o wsgi.py # 2. Python-Umgebung anlegen python3 -m venv venv ./venv/bin/pip install Flask requests ecdsa waitress # 3. Node starten (erzeugt config.json beim ersten Start) ./venv/bin/python node.py --port 5050 --address C… # 4. Admin Secret Key auslesen python3 -c "import json;print(json.load(open('config.json'))['admin_secret'])"
verified
RIPEMD-160: Auf Systemen ohne OpenSSL-Legacy-Provider (Windows, neuere Linux-Distributionen) fehlt dieser Hash in Python. node.py bringt deshalb eine eigene, gegen die offiziellen Testvektoren geprueste Implementierung mit und erzeugt ueberall identische Adressen. Es ist nichts weiter zu tun.

Hardware-Auslastung steuern

Wie viel Leistung deine Node fuers Mining einsetzt, ist frei einstellbar – bequem ueber die Regler im Bereich Mining der Web-Plattform oder direkt auf dem Server.

EinstellungBedeutungWerte
Rechenkerne
mining_processes
Anzahl paralleler Rechenprozesse. Wird nie groesser als die Zahl der vorhandenen CPU-Kerne. 0 = automatisch
(alle Kerne minus 1)
Intensitaet
mining_intensity
Arbeitsanteil je Zeitscheibe. Bei 50 % rechnet die Node genauso lange, wie sie pausiert – das halbiert Verbrauch und Waerme. 5 – 100 (%)
CPU-Quota (nur Linux) Harte Obergrenze durch systemd, unabhaengig von der Node-Konfiguration. z. B. 150%

Ueber die Web-Plattform

Mining › Meine Mining-Node › Hardware-Auslastung: Die beiden Regler zeigen live die zu erwartende Gesamtlast an. Aenderungen greifen sofort nach „Einstellungen uebernehmen“ – ein Neustart ist nicht noetig. Voraussetzung ist ein hinterlegter Admin Secret Key.

Auf dem Server

# Linux ./manage.sh cores 2 # zwei Rechenprozesse ./manage.sh intensity 60 # 60 % Auslastung je Prozess ./manage.sh cpuquota 150% # harte systemd-Grenze # Windows .\manage.ps1 cores 2 .\manage.ps1 intensity 60 .\manage.ps1 priority BelowNormal
lightbulb
Eine gedrosselte Node ist weiterhin ein vollwertiger Teilnehmer: Sie prueft alle Bloecke, leitet Transaktionen weiter und sichert das Netzwerk. Nur die Chance, selbst einen Block zu finden, sinkt entsprechend.

Erreichbarkeit herstellen

Deine Node findet das Netzwerk auch hinter einem Router von allein. Damit andere Nodes sie erreichen und die Web-Plattform sie direkt ansprechen kann, sollte der Port erreichbar sein.

  1. Dem Server im Router eine feste lokale IP-Adresse zuweisen.
  2. Portweiterleitung einrichten: 5050/TCP auf diese IP.
  3. Bei wechselnder oeffentlicher IP einen DynDNS-Namen einrichten und ihn beim Installieren als --public-url angeben.
  4. Erreichbarkeit pruefen: curl http://DEINE-ADRESSE:5050/status
https
HTTPS-Hinweis: Wird die Web-Plattform ueber HTTPS aufgerufen, darf der Browser keine unverschluesselte http://-Node direkt ansprechen (Mixed Content). Die Plattform weicht dann automatisch auf ihren Server-Proxy aus. Damit das klappt, muss die Node aus dem Internet erreichbar sein – oder du richtest HTTPS auf der Node ein, z. B. per Reverse Proxy mit Caddy oder nginx.

Node mit dem Wallet verbinden

Erst durch das Verbinden kannst du deine Node in der Web-Plattform ueberwachen und steuern. Die Verbindung gilt nur fuer dein Konto.

Admin Secret Key bereitlegen

Er wurde am Ende der Installation angezeigt. Erneut auslesen:

./manage.sh secret # Linux .\manage.ps1 secret # Windows
In der Plattform hinzufuegen

Mining › Meine Nodes › Node verbinden – bzw. beim ersten Mal der Button Verbinden. Trage ein:

  • Bezeichnung – frei waehlbar, z. B. „Heim-Server“
  • Adresse – vollstaendig inkl. Port, z. B. http://meine-node.de:5050
  • Admin Secret KeyPflichtangabe
Verbindung testen und speichern

Der Button Testen prueft Erreichbarkeit, Blockhoehe und ob die Node zur richtigen Kette gehoert. Danach auf Verbinden tippen.

Auszahlungsadresse setzen

Im Bereich Mining die Schaltflaeche Meine Adresse nutzen und Einstellungen uebernehmen druecken. Ab jetzt fliessen alle geschuerften Coins direkt in dein Wallet.

key
Warum ist der Secret Key Pflicht? Er ist der Nachweis, dass die Node wirklich dir gehoert, und schaltet gleichzeitig alle Steuerfunktionen frei (Auszahlungsadresse, Mining an/aus, Hardware-Budget). Der Schluessel wird ausschliesslich serverseitig deinem Konto zugeordnet und niemals an andere Nutzer ausgeliefert. Bei Verdacht auf Kompromittierung: in config.json ersetzen, Dienst neu starten und den neuen Schluessel in der Plattform hinterlegen.

Betrieb und Wartung

Linux

./manage.sh status # Dienststatus und Blockhoehe ./manage.sh logs # Live-Protokoll ./manage.sh restart # Dienst neu starten ./manage.sh secret # Admin Secret Key anzeigen ./manage.sh address C… # Auszahlungsadresse setzen ./manage.sh mining on|off # Mining schalten ./manage.sh cores 2 # Rechenprozesse begrenzen ./manage.sh intensity 60 # Auslastung begrenzen ./manage.sh peers # bekannte Nodes ./manage.sh addpeer http://… # Peer manuell ergaenzen ./manage.sh update https://paritr.highactive.de/dist # Software aktualisieren

Windows

.\manage.ps1 status .\manage.ps1 restart .\manage.ps1 secret .\manage.ps1 address C… .\manage.ps1 mining on .\manage.ps1 cores 2 .\manage.ps1 intensity 60 .\manage.ps1 peers .\manage.ps1 update https://paritr.highactive.de/dist

Konfigurationsdatei

{ "rpc_host": "0.0.0.0", "rpc_port": 5050, "public_url": "https://node1.example.org", "admin_secret": "…", "miner_address": "C…", "mining_enabled": true, "mining_processes": 0, "mining_intensity": 100, "seed_nodes": ["https://node0.oe-net.de"], "data_dir": "data", "rpc_cors_origins": "*" }

Nach Handaenderungen an config.json den Dienst neu starten. Aenderungen ueber die Web-Plattform oder manage greifen dagegen sofort.

Datensicherung

Sichern musst du nur config.json (enthaelt den Admin Secret Key). Die Blockchain selbst laedt eine neue Node automatisch aus dem Netzwerk. Dein Guthaben liegt in der Blockchain – nicht auf der Node.

Sicherheit

  • Privater Schluessel: Wird im Browser erzeugt und nur mit deinem Passwort verschluesselt (AES-256-GCM) gespeichert. Ohne Schluessel und Passwort gibt es keinen Zugriff auf dein Guthaben – und keine Wiederherstellung durch Dritte. Sichere ihn unter Konto › Schluessel sichern.
  • Admin Secret Key: Gehoert zur Node, nicht zum Wallet. Er erlaubt keine Ueberweisungen, sondern nur das Steuern der Node.
  • Node-Rechte: Der systemd-Dienst laeuft ohne erweiterte Rechte und darf nur in sein eigenes Verzeichnis schreiben.
  • CORS: Ueber rpc_cors_origins laesst sich der Zugriff auf die eigene Plattform begrenzen, statt * zu erlauben.
  • Server-Proxy: Die Plattform ruft nur freigegebene Endpunkte auf und verweigert Anfragen in private Netze (SSRF-Schutz).

Haeufige Probleme

SymptomUrsache und Loesung
Node in der Plattform „nicht erreichbar“ Portweiterleitung und Firewall pruefen. Bei HTTPS-Seite und http-Node greift der Server-Proxy – die Node muss dafuer aus dem Internet erreichbar sein.
„Admin Secret Key ungueltig“ (403) Schluessel erneut mit manage.sh secret auslesen und in Meine Nodes › Bearbeiten neu eintragen.
Badge „Adresse fehlt“ Es ist keine Auszahlungsadresse gesetzt. Ohne sie schuerft die Node nicht.
Hashrate bleibt bei 0 Mining ist deaktiviert, es fehlt die Auszahlungsadresse, oder die Intensitaet steht sehr niedrig.
Blockhoehe bleibt bei 0 Keine Verbindung zu Seed-Nodes. Ausgehende Verbindungen und DNS pruefen, danach ./manage.sh addpeer https://node0.oe-net.de.
unsupported hash type ripemd160 Alte Node-Version. Mit manage.sh update aktualisieren – die aktuelle Fassung bringt eine eigene Implementierung mit.
Server wird sehr warm / laut Kerne oder Intensitaet unter Hardware-Auslastung reduzieren.
Mining-Belohnung nicht ausgebbar Coinbase-Reifezeit: 10 Bloecke. Bis dahin steht dort Ausstehend.
Node schürft, findet aber nie einen Block Das ist bei kleinen Nodes normal und kein Fehler mehr: Entscheidend sind die Shares. Prüfe unter Mining › Netzwerk & Emission, ob Meine Shares steigt – dann fließen die Auszahlungen.
Eigene Shares bleiben bei 0 Die Node ist zu jung (das Messfenster umfasst 120 Blöcke), hat keine Peers, denen sie Shares melden kann, oder läuft noch auf einer Version vor 4.0.0.
Node findet Bloecke, erhaelt aber kaum Auszahlungen Ihre Bloecke werden von der Gegenseite nicht uebernommen. Alle Nodes auf Version 4.0.0 oder neuer bringen, die Systemzeit per NTP synchronisieren (zu alte Zeitstempel verletzen die Median-Time-Past-Regel) und pruefen, ob public_url gesetzt und erreichbar ist.
Peer meldet „Coinbase entspricht nicht dem Share-Verteilschluessel“ Die beteiligten Nodes laufen auf unterschiedlichen Konsens-Versionen. Alle Nodes mit manage.sh update bzw. manage.ps1 update auf 4.0.0 heben.
Peer-Liste enthaelt fremde IP-Adressen Das sind die A-Records des DNS-Seeds – bei einer Node hinter einem CDN die Edge-Adressen des Anbieters, unter denen der RPC-Port nicht offen ist. Ab Version 3.1.0 werden sie nicht mehr aufgenommen; bestehende Eintraege loescht ./manage.sh rmpeer <url> oder das Entfernen von data/peers.json.
Haupt-Node zeigt 0 Peers Normal, solange die Gegenstellen keine erreichbare public_url melden: Sie waehlen die Haupt-Node an, nicht umgekehrt. Die Zahl der Gegenstellen steht in network_nodes bzw. inbound_count.

Schnittstellenreferenz

Jede Node bietet eine offene JSON/REST-Schnittstelle. Admin-Endpunkte erwarten den Header X-Admin-Secret.

EndpunktBeschreibung
GET /statusVollstaendiger Netz- und Node-Status
GET /healthKurzer Erreichbarkeitscheck
GET /chain/paramsKonsens-Parameter inkl. Share- und Emissionsregeln
GET /supplyUmlaufmenge, Emission und Inflationsrate
GET /address/<adresse>Guthaben und naechste Nonce
GET /address/<adresse>/transactionsBuchungen einer Adresse
POST /transactionSignierte Transaktion einreichen
GET /transaction/<txid>Einzelne Transaktion
GET /block/<hoehe|hash>Block abrufen
GET /fee/estimateGebuehrenempfehlung
GET /mining/infoMining-Zustand, Share-Schwierigkeit, Hardware-Budget
GET /mining/rewards/<adresse>Eigene Gutschriften
GET /mining/distributionAggregierte Pool-Kennzahlen (optional ?address=)
POST /p2p/shareShare einreichen und weiterverteilen
POST /admin/miningAdresse, Mining, Kerne und Intensitaet setzen
GET /admin/peersPeer-Liste mit Zustand
POST /admin/syncKettenabgleich anstossen

Beispiel

curl -s http://127.0.0.1:5050/mining/info | python3 -m json.tool curl -s -X POST http://127.0.0.1:5050/admin/mining \ -H "Content-Type: application/json" \ -H "X-Admin-Secret: DEIN-SECRET" \ -d '{"mining_processes": 2, "mining_intensity": 60}'

ParitrDocs · Netz paritr-mainnet · Wallet · Home · Imprint