🧱 Skelett eines langlebigen ARC-Miners (XBTGPUARC)
Baumstruktur – von innen nach außen
[1] main.cpp – Der Dirigent
Einstiegspunkt.
Liest Config / Argumente.
Initialisiert alles: Device, Netzwerk, Loop.
Kümmert sich nicht wie etwas getan wird – nur dass.
[2] /config/ – Verhalten & Profile
profiles.json: verschiedene ARC-Konfigurationen vordefiniert
btg_settings.json: Pool-URL, Stratum-Protokoll, Target, usw.
Kann manuell erweitert werden, ohne Codeänderung
[3] /core/ – Pure Hash- und Ablauf-Logik (plattformunabhängig)
equihash_solver.hpp/cpp
Enthält nur die Berechnung.
Übergibt: (nonce, header) → hash_output
Keine Ahnung von GPU oder OpenCL – kann auch CPU sein
job_manager.hpp/cpp
Nimmt neue Jobs vom Pool an
Verarbeitet sie und füttert sie an die Geräte
Gleicht Zeit & Zielhashes ab
[4] /gpu/ – Gerätezugriffsschicht (nur OpenCL-Zeug)
opencl_manager.hpp/cpp
Lädt Plattform, Devices, erstellt Kontext
Kompiliert Kernel (z. B. equihash.cl)
Führt Berechnungen aus
arc_adapter.hpp/cpp
Spezielle Logik für ARC-GPUs
z. B. Cache-Parameter, Workgroup-Tuning
Zukünftig erweiterbar für andere Chips
[5] /net/ – Pool-Kommunikation (Stratum)
stratum_client.hpp/cpp
Baut Verbindung zum Pool auf
Spricht Stratum-Protokoll (z. B. BTG-Variante)
Reicht Jobs an Job-Manager weiter
Reicht Shares zurück
[6] /util/ – Werkzeuge, die überall helfen
logger.hpp: Klare Logs mit Level (INFO, WARN, DEBUG, etc.)
timer.hpp: Zeitmessung, Hashrate
json_loader.hpp: Profile und Konfigs einlesen
cli_parser.hpp: Argumente verarbeiten (--profile arc_btg)
[7] /kernels/ – GPU-Kernel-Dateien
equihash.cl: OpenCL-Kernel für BTG
Kommt aus Config → bleibt austauschbar
🎯 Wichtigste Designideen
Prinzip Bedeutung
🔌 Core ≠ Device Die Hashlogik weiß nicht, ob sie auf ARC läuft oder CPU oder Kartoffel
🧠 main.cpp denkt nicht Nur orchestration – keine Algorithmen
⚙️ Alles konfigurierbar Profile und Verhalten austauschbar, z. B. --coin zhash, --profile arc_tuned
🔍 Logs statt Guessing Alles Wichtige steht in Logs – warum was passierte, und was nicht
🔄 Keine Magie, nur Module Jeder Teil ist ersetzbar – einzeln testbar, einzeln verstehbar
Der Bauplan ist für mein Verständnis geschrieben worden und soll die Grundstruktur des Programms aufzeigen, sowie mir die Einblicke über die Zusammenhänge der Funktionen verbessern. Ich lerne mit diesem "Kleinprojekt" Schneller Programmieren.
Die Verbesserungen ziehlen auf eine möglichst lange Nutzbarkeit und Offenheit im System ab. Die vorherige Version war zu Pflegeintensiv gedacht.
Dieser Inhalt ist Frei für alle.
Jeder darf diese Baupläne und Veröffentlichungen nutzen. Eine Zustimmung meinerseits ist nicht Erforderlich. Die geteilten Inhalte wurden von der ChatGPT KI und meinen Ideen ausgearbeitet und werden stetig verbessert. Ich gebe keine Garantie auf Funktionalitä, Richtigkeit oder Unterstützung. Eine Haftung und Garantie sind hiermit ausdrücklich ausgeschlossen.
Salve
Alucian
Haftungsausschluss:
Bei den hier veröffentlichten Inhalten handelt es sich ausdrücklich nicht um eine Finanz- oder Anlageberatung. Es werden keinerlei Empfehlungen zum Kauf, Verkauf oder Halten von finanziellen Produkten ausgesprochen. Alle Aussagen stellen ausschließlich meine persönliche Meinung dar und dienen der allgemeinen Information und Weiterbildung.
Ich bin kein lizenzierter Finanzberater und erbringe keine Leistungen im Sinne des Kreditwesengesetzes oder anderer aufsichtsrechtlicher Regelungen. Die Inhalte richten sich nicht an bestimmte Personen oder Institutionen und beinhalten keine individuelle Beratung.
Bitte führen Sie stets Ihre eigene Recherche (Do Your Own Research – DYOR) durch, bevor Sie Investitionsentscheidungen treffen. Beachten Sie, dass Investitionen in Kryptowährungen und Blockchain-Projekte mit hohen Risiken verbunden sind und zu erheblichen Verlusten führen können.
Ich bin möglicherweise selbst an den genannten Projekten beteiligt oder investiert, was zu Interessenkonflikten führen kann.
Für etwaige Verluste oder Schäden, die durch die Nutzung der hier bereitgestellten Informationen entstehen, übernehme ich keinerlei Haftung.
Mit freundlichen Grüßen
Sascha Pürner