ParitrDocs
Alles zur Funktionsweise des Netzwerks, zur Installation einer eigenen Node auf Linux und Windows sowie zur Verbindung mit deinem Wallet.
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.
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
- Fest hinterlegte Seed-Nodes im Programmcode.
- 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.
- Gossip: Beim Handshake tauschen Nodes ihre Peer-Listen aus.
- Rueckweg: Meldet eine Gegenstelle keine oeffentliche Adresse, wird ein Kandidat aus ihrer Absender-IP und dem gemeldeten RPC-Port gebildet und geprueft.
- 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.
- Headers-First-Sync: Erst alle Header pruefen, dann die Bloecke laden.
- 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.
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öcke | Belohnung je Block |
|---|---|---|
| Jahr 1–3 | 1 – 1.600.000 | 10 PAR |
| Jahr 4–6 | 1.600.001 – 3.200.000 | 5 PAR |
| Jahr 7–9 | 3.200.001 – 4.800.000 | 2,5 PAR |
| … | … | … |
| ab ca. Jahr 13 | dauerhaft | 0,5 PAR (Tail-Emission) |
Mining und Belohnungen
Ablauf
- Eingereichte Transaktionen sammeln sich im Mempool, eingehende Shares im Share-Speicher der Node.
- 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.
- Der Nonce wird variiert, bis der Header-Hash unter der Zielmarke liegt. Zwischentreffer unter der leichteren Share-Marke werden als Shares veröffentlicht.
- 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?
| Anteil | Empfänger | Zweck |
|---|---|---|
| 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-Kennung | paritr-mainnet |
| Kleinste Einheit | 0,00000001 PAR (1 Coin = 100.000.000 Einheiten) |
| Start-Belohnung | 10 PAR je Block |
| Halbierung | alle 1.600.000 Blöcke (ca. 3 Jahre) |
| Mindest-Belohnung | 0,5 PAR je Block (Tail-Emission) |
| Maximalmenge | keine feste Obergrenze – siehe Emission |
| Soll-Blockzeit | 60 Sekunden |
| Arbeitsnachweis | scrypt (N = 2048, r = 8) – 2 MiB je Hash |
| Schwierigkeitsanpassung | alle 60 Blöcke (ca. 1 h), gedämpft auf Faktor 4 |
| Reifezeit der Belohnung | 10 Blöcke |
| Verteilung der Belohnung | 95 % nach Share-Anteil, 5 % + alle Gebühren an den Finder |
| Messfenster der Leistung | 120 Blöcke (ca. 2 Stunden) |
| Share-Schwierigkeit | 1/100 der Blockschwierigkeit |
| Shares je Block | max. 32 |
| Coinbase-Empfänger je Block | max. 32 |
| State-Checkpoint | alle 720 Blöcke (ca. 12 h) |
| Mindestgebuehr | 0,001 PAR |
| Mindestbetrag | 0,00001 PAR |
| Blöckgroesse | max. 500 Transaktionen |
| Adressformat | Base58Check, Praefix P |
Node installieren
Eine Paritr-Node laeuft ueberall dort, wo Python 3.9 oder neuer verfuegbar ist. Getestete Plattformen:
| System | Architektur | Installation |
|---|---|---|
| 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.
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
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.
- 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
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
Windows
Unter Windows uebernimmt install.ps1 die Einrichtung. Als Serverprozess kommt waitress zum Einsatz; der Autostart laeuft ueber eine geplante Aufgabe.
Falls noch nicht vorhanden – bei der manuellen Installation unbedingt „Add python.exe to PATH“ ankreuzen.
winget install -e --id Python.Python.3.12
Rechtsklick auf das Startmenue → Terminal (Administrator). Administratorrechte werden fuer die Firewall-Regel und den Autostart benoetigt.
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'
.\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.
Wird am Ende ausgegeben und ist spaeter abrufbar mit:
.\manage.ps1 secret
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'])"
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.
| Einstellung | Bedeutung | Werte |
|---|---|---|
| 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
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.
- Dem Server im Router eine feste lokale IP-Adresse zuweisen.
- Portweiterleitung einrichten: 5050/TCP auf diese IP.
- Bei wechselnder oeffentlicher IP einen DynDNS-Namen einrichten und ihn beim Installieren als --public-url angeben.
- Erreichbarkeit pruefen: curl http://DEINE-ADRESSE:5050/status
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.
Er wurde am Ende der Installation angezeigt. Erneut auslesen:
./manage.sh secret # Linux
.\manage.ps1 secret # Windows
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 Key – Pflichtangabe
Der Button Testen prueft Erreichbarkeit, Blockhoehe und ob die Node zur richtigen Kette gehoert. Danach auf Verbinden tippen.
Im Bereich Mining die Schaltflaeche Meine Adresse nutzen und Einstellungen uebernehmen druecken. Ab jetzt fliessen alle geschuerften Coins direkt in dein Wallet.
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
| Symptom | Ursache 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.
| Endpunkt | Beschreibung |
|---|---|
| GET /status | Vollstaendiger Netz- und Node-Status |
| GET /health | Kurzer Erreichbarkeitscheck |
| GET /chain/params | Konsens-Parameter inkl. Share- und Emissionsregeln |
| GET /supply | Umlaufmenge, Emission und Inflationsrate |
| GET /address/<adresse> | Guthaben und naechste Nonce |
| GET /address/<adresse>/transactions | Buchungen einer Adresse |
| POST /transaction | Signierte Transaktion einreichen |
| GET /transaction/<txid> | Einzelne Transaktion |
| GET /block/<hoehe|hash> | Block abrufen |
| GET /fee/estimate | Gebuehrenempfehlung |
| GET /mining/info | Mining-Zustand, Share-Schwierigkeit, Hardware-Budget |
| GET /mining/rewards/<adresse> | Eigene Gutschriften |
| GET /mining/distribution | Aggregierte Pool-Kennzahlen (optional ?address=) |
| POST /p2p/share | Share einreichen und weiterverteilen |
| POST /admin/mining | Adresse, Mining, Kerne und Intensitaet setzen |
| GET /admin/peers | Peer-Liste mit Zustand |
| POST /admin/sync | Kettenabgleich 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}'