botte23
Newbie
Offline
Activity: 15
Merit: 4
|
 |
October 26, 2024, 07:16:09 PM |
|
Frage an die Lucky Miner, mein LV07 läuft gefühlt 22-25h permanent durch und fängt dann wieder von vorne an. Liegt das an meinem Internet, oder an der LM Seite?
Ich habe gelesen, dass es besser ist, wenn er permanent verbunden bleibt, ist da etwas dran?
Ansonsten ist das eine tolle Sache, macht echt Spaß. Demnächst kommt noch etwas Solar Energie ins Spiel :-)
Lieben Gruß und einen schönen Abend euch.
|
|
|
|
Real-Duke
Legendary
Online
Activity: 3850
Merit: 3104
Daily Cashbacks 🐳
|
 |
October 27, 2024, 09:44:02 AM |
|
So heute holen wir mal einen Block  wer ist dabei ? Ich ich ich! Wir teilen dann auch anschließend Brüderlich, übernimmt unser willi gerne  Frage an die Lucky Miner, mein LV07 läuft gefühlt 22-25h permanent durch und fängt dann wieder von vorne an. Liegt das an meinem Internet, oder an der LM Seite?
Ich habe keinen LV07 aber ich spekuliere jetzt einfach mal darauf, dass dein Internetprovider dir ca alle 24 Stunden mit einer Zwangstrennung eine neue externe IP Adresse zuweist? Das wäre dann die Erklärung dafür und wurde für die Bitaxe Miner schon gefixt. Ein Problem stellt das aber nicht dar. Diese Unterbrechung dauert ja nur Sekunden und Du bist dann sofort wieder verbunden.
|
|
|
|
cygan
Legendary
Offline
Activity: 3626
Merit: 10838
icarus-cards.eu
|
 |
October 27, 2024, 03:28:16 PM |
|
mal was allgemeines für alle pool teilnehmer, die vielleicht weiter ihre anzahl der miner aufstocken möchten wer interesse an einen qaxe+ oder einem nerdqaxe+ hat, der kann mich gerne über pm anschreiben ich habe/sitze an einer quelle und könnte diese dann an den mann bringen/verschicken. diese miner haben eine hashleistung von ~2.5 th/s, sind mit 4 1368 asics ausgestatten und verbrauchen ~50 watt
|
|
|
|
cygan
Legendary
Offline
Activity: 3626
Merit: 10838
icarus-cards.eu
|
 |
October 28, 2024, 06:50:18 PM |
|
bin seit gerade eben nun mit meinem dritten miner auf dem willi-pool online  diesmal ist es ein NerdQaxe+ User: bc1qeuupt2tgerfum8jclt8aklu9cdmzzkwml9lg7c.cygan_NerdQaxe+ Device type: NerdQaxe+ Normal speed: ~2.5 th/s bilder werden demnächst folgen 
|
|
|
|
botte23
Newbie
Offline
Activity: 15
Merit: 4
|
 |
October 28, 2024, 09:07:47 PM |
|
So heute holen wir mal einen Block  wer ist dabei ? Ich ich ich! Wir teilen dann auch anschließend Brüderlich, übernimmt unser willi gerne  Frage an die Lucky Miner, mein LV07 läuft gefühlt 22-25h permanent durch und fängt dann wieder von vorne an. Liegt das an meinem Internet, oder an der LM Seite?
Ich habe keinen LV07 aber ich spekuliere jetzt einfach mal darauf, dass dein Internetprovider dir ca alle 24 Stunden mit einer Zwangstrennung eine neue externe IP Adresse zuweist? Das wäre dann die Erklärung dafür und wurde für die Bitaxe Miner schon gefixt. Ein Problem stellt das aber nicht dar. Diese Unterbrechung dauert ja nur Sekunden und Du bist dann sofort wieder verbunden. Vielen Dank Real_Duke, ich habe in der Fritz Box die Option: (Zwangstrennung durch den Anbieter verschieben in die Zeit zwischen ... Uhr ) den Haken rausnehmen können. Bin gespannt, ob er sich diesmal nicht in der Nacht neu verbindet.
|
|
|
|
willi9974 (OP)
Legendary
Offline
Activity: 3906
Merit: 3509
♻️ Automatic Exchange
|
 |
October 28, 2024, 10:27:37 PM |
|
Kaum mal etwas über eine Woche weg und siehe da 20 neue Miner oder mehr. Willkommen zusammen und habe euch gerade eingetragen. Wir kratzen an der 200 Miner Marke... und haben schon 250 THs die permanent laufen, cool! Hashrate all worker: 256.566G All shares (including inactive miner / BTC Diff): 1.248.184.311.427 / 95.672.703.408.224 Our luck if we find now a block (luck = (100-(shares / diff)*100)): 98,69536% Number of worker with active hashrate >= 200G in 5m: 193 Number of worker for payout with hashrate >= 200G in 5m and 7d: 191 Und hier mal eine Übersicht unserer Geräte 
|
░░░░▄▄████████████▄ ░▄████████████████▀ ▄████████████████▀▄█▄ ▄███████▀▀░░▄███▀▄████▄ ▄██████▀░░░▄███▀░▀██████▄ ██████▀░░▄████▄░░░▀██████ ██████░░▀▀▀▀░▄▄▄▄░░██████ ██████▄░░░▀████▀░░▄██████ ▀██████▄░▄███▀░░░▄██████▀ ▀████▀▄████░░▄▄███████▀ ▀█▀▄████████████████▀ ▄████████████████▀░ ▀████████████▀▀░░░░ | | CCECASH | | | | ANN THREAD TUTORIAL |
|
|
|
Krysti
Jr. Member
Offline
Activity: 56
Merit: 6
|
 |
October 29, 2024, 06:53:39 AM |
|
|
|
|
|
cygan
Legendary
Offline
Activity: 3626
Merit: 10838
icarus-cards.eu
|
 |
October 29, 2024, 09:51:48 AM |
|
apropos nächster block...! gestern wurde wieder ein BTC-block von einem solo miner gefunden, der eine hashrate von 10 th/s hatte  es war ein Futurebit Apollo II miner, der den block #867760 gemined hat! 
|
|
|
|
Real-Duke
Legendary
Online
Activity: 3850
Merit: 3104
Daily Cashbacks 🐳
|
 |
October 29, 2024, 12:58:16 PM |
|
apropos nächster block...! gestern wurde wieder ein BTC-block von einem solo miner gefunden, der eine hashrate von 10 th/s hatte  es war ein Futurebit Apollo II miner, der den block #867760 gemined hat! Deswegen predige ich euch doch immer wieder gebetsmühlenartig, dass ihr alle einfach nur daran glauben müsst das wir diesen Block finden Amen!Jeder hat die Chance und wie willi bereits erwähnt hat: Wir kratzen an der 200 Miner Marke... und haben schon 250 THs die permanent laufen, cool! So ganz klein sind wir in unserem derzeitigen Verbund auch gar nicht mehr. Vielen Dank Real_Duke, ich habe in der Fritz Box die Option: (Zwangstrennung durch den Anbieter verschieben in die Zeit zwischen ... Uhr ) den Haken rausnehmen können. Bin gespannt, ob er sich diesmal nicht in der Nacht neu verbindet.
Prüfe das und ob sich deine externe IP noch ändert: https://www.wieistmeineip.de/ (idealerweise natürlich die IPv4 Adresse) Bei uns mit dem Glasfaseranschluss hat die sich seit Jahren nicht mehr geändert.
|
|
|
|
hawer357
Full Member
 
Online
Activity: 462
Merit: 105
Coin, Coin, Bitcoin
|
 |
October 29, 2024, 03:35:31 PM |
|
apropos nächster block...! gestern wurde wieder ein BTC-block von einem solo miner gefunden, der eine hashrate von 10 th/s hatte  es war ein Futurebit Apollo II miner, der den block #867760 gemined hat! Deswegen predige ich euch doch immer wieder gebetsmühlenartig, dass ihr alle einfach nur daran glauben müsst das wir diesen Block finden Amen!Aber das tun wir doch schon!
|
|
|
|
hawer357
Full Member
 
Online
Activity: 462
Merit: 105
Coin, Coin, Bitcoin
|
 |
October 29, 2024, 03:37:18 PM |
|
So heute holen wir mal einen Block  wer ist dabei ? Ich ich ich! Wir teilen dann auch anschließend Brüderlich, übernimmt unser willi gerne  Frage an die Lucky Miner, mein LV07 läuft gefühlt 22-25h permanent durch und fängt dann wieder von vorne an. Liegt das an meinem Internet, oder an der LM Seite?
Ich habe keinen LV07 aber ich spekuliere jetzt einfach mal darauf, dass dein Internetprovider dir ca alle 24 Stunden mit einer Zwangstrennung eine neue externe IP Adresse zuweist? Das wäre dann die Erklärung dafür und wurde für die Bitaxe Miner schon gefixt. Ein Problem stellt das aber nicht dar. Diese Unterbrechung dauert ja nur Sekunden und Du bist dann sofort wieder verbunden. Vielen Dank Real_Duke, ich habe in der Fritz Box die Option: (Zwangstrennung durch den Anbieter verschieben in die Zeit zwischen ... Uhr ) den Haken rausnehmen können. Bin gespannt, ob er sich diesmal nicht in der Nacht neu verbindet. Hier wurde doch mal geschrieben, dass diese Geräte auch das AxeOS fahren können, oder? Falls ja, die haben das Verbindungsproblem nach einer Zwangstrennung lösen können.
|
|
|
|
cygan
Legendary
Offline
Activity: 3626
Merit: 10838
icarus-cards.eu
|
wie versprochen, meine neu umgebaute mining-ecke  2x avalon nano3 1x Qaxe+ 1x NerdQaxe+ 3x compac f sticks und ein Bitcoin tower (3d-druck) mit 2 angeschlossenen rpi 4 es fehlen noch 2 bitaxeGamma's sowie das geplante OctaxeGamma...  
|
|
|
|
QueenVansen
Member

Offline
Activity: 216
Merit: 27
|
 |
October 29, 2024, 07:40:19 PM |
|
Hallo Zusammen, wäre es eigentlich möglich bei dieser Seite : https://solorun.lima.zone/ eine neue Spalte hinter Device Type einzufügen ? In dieser Spalte sieht dann der jeweilige Worker name (user) bei einem Block-Win was sein miner aktuell "erwirtschaftet" hat  Der Wert könnte in BTC und evtl. noch Dollar / Euro sein. Ich würde es total cool finden 
|
|
|
|
botte23
Newbie
Offline
Activity: 15
Merit: 4
|
 |
October 29, 2024, 08:12:16 PM |
|
Also wenn ihr der Meinung seid, dass das nicht so schlimm ist, wenn er sich kurz neu verbindet, darf das erstmal so bleiben. Die Nerdaxe Oberfläche kann ich mir immer noch anschauen. Danke dennoch für die Info.
Lieber Willi, ich bin jetzt auch mit einem Avalon Nano 3 mit im Pool.
Username: botte23_2 Device type: Avalon Nano 3 Normal speed: ~ 2-4Th/s (demnächst- abhängig von der Sonne :-)
|
|
|
|
Bitcoin-Pool
|
 |
October 29, 2024, 08:46:26 PM |
|
Hallo Zusammen, wäre es eigentlich möglich bei dieser Seite : https://solorun.lima.zone/ eine neue Spalte hinter Device Type einzufügen ? In dieser Spalte sieht dann der jeweilige Worker name (user) bei einem Block-Win was sein miner aktuell "erwirtschaftet" hat  Der Wert könnte in BTC und evtl. noch Dollar / Euro sein. Ich würde es total cool finden  ist doch untendrunter vermerkt Possible coinbase reward without fees as bonus for block finder (10% from 3,125 BTC): 0,3125 BTC / 21.093 Euro / 22.796 Dollar Possible coinbase reward without fees (3,125 BTC - 10% for block finder) / number payout worker: 0,0141 BTC / 954 Euro / 1.031 Dollar
|
|
|
|
willi9974 (OP)
Legendary
Offline
Activity: 3906
Merit: 3509
♻️ Automatic Exchange
|
 |
October 29, 2024, 10:36:46 PM |
|
Also wenn ihr der Meinung seid, dass das nicht so schlimm ist, wenn er sich kurz neu verbindet, darf das erstmal so bleiben. Die Nerdaxe Oberfläche kann ich mir immer noch anschauen. Danke dennoch für die Info.
Lieber Willi, ich bin jetzt auch mit einem Avalon Nano 3 mit im Pool.
Username: botte23_2 Device type: Avalon Nano 3 Normal speed: ~ 2-4Th/s (demnächst- abhängig von der Sonne :-)
willkommen mit deinem neuen Miner, trage ich gleich ein wie versprochen, meine neu umgebaute mining-ecke  2x avalon nano3 1x Qaxe+ 1x NerdQaxe+ 3x compac f sticks und ein Bitcoin tower (3d-druck) mit 2 angeschlossenen rpi 4 es fehlen noch 2 bitaxeGamma's sowie das geplante OctaxeGamma...   sehr cool, bei mir gammelt alles nicht vorzeigbar im Keller wo es kühl ist. Jetzt werden die 2 Nano 3 aber in mein Homeoffice gestellt um das Heizen im Winter zu vermeiden  Ich pack dein Bild mal auf die erste Seite
|
░░░░▄▄████████████▄ ░▄████████████████▀ ▄████████████████▀▄█▄ ▄███████▀▀░░▄███▀▄████▄ ▄██████▀░░░▄███▀░▀██████▄ ██████▀░░▄████▄░░░▀██████ ██████░░▀▀▀▀░▄▄▄▄░░██████ ██████▄░░░▀████▀░░▄██████ ▀██████▄░▄███▀░░░▄██████▀ ▀████▀▄████░░▄▄███████▀ ▀█▀▄████████████████▀ ▄████████████████▀░ ▀████████████▀▀░░░░ | | CCECASH | | | | ANN THREAD TUTORIAL |
|
|
|
willi9974 (OP)
Legendary
Offline
Activity: 3906
Merit: 3509
♻️ Automatic Exchange
|
Ich wurde gefragt ob ich die Statistikseite den Code teilen kann. Sehr gerne, hier die drei Dateien index.php <?php
echo '<center>';
// Funktion zum Abrufen der aktuellen Bitcoin-Schwierigkeit function getBitcoinDifficulty() { $url = 'https://api.blockchair.com/bitcoin/stats'; $jsonData = file_get_contents($url);
if ($jsonData !== false) { $data = json_decode($jsonData, true);
if ($data !== null && isset($data['data']['difficulty'])) { return $data['data']['difficulty']; } }
return 'N/A'; }
// CSV Datei einlesen und Daten in ein Array speichern function readMinerCSV($filePath) { $csvData = []; if (($handle = fopen($filePath, 'r')) !== false) { // Überspringe die Kopfzeile fgetcsv($handle, 1000, ';'); while (($data = fgetcsv($handle, 1000, ';')) !== false) { if (count($data) >= 2) { $csvData[strtolower(trim($data[0]))] = trim($data[1]); // Arbeitername als Schlüssel, Gerätetyp als Wert } } fclose($handle); } return $csvData; }
// CSV-Daten einlesen $minerData = readMinerCSV('miner.csv'); // Aktuelle Bitcoin-Schwierigkeit abrufen $bitcoinDifficulty = getBitcoinDifficulty();
$url = 'https://solo.ckpool.org/users/bc1qeuupt2tgerfum8jclt8aklu9cdmzzkwml9lg7c'; $forumDEurl = 'https://bitcointalk.org/index.php?topic=5477020.0'; $forumENurl = 'https://bitcointalk.org/index.php?topic=5478927.0'; $solopoolurl = 'https://solo.ckpool.org/pool/';
$options = [ 'http' => [ 'method' => 'GET', 'header' => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0', ], ];
$context = stream_context_create($options);
$jsonData = file_get_contents($url, false, $context);
if ($jsonData !== false) { $data = json_decode($jsonData, true);
if ($data !== null) { function convertToGiga($hashrate) { $multiplier = [ 'K' => 1 / 1e6, 'M' => 1 / 1e3, 'G' => 1, 'T' => 1e3, 'P' => 1e6, 'E' => 1e9, ];
preg_match('/^(\d*\.?\d*)\s*([KMGTEP])?$/', $hashrate, $matches); $value = (float)$matches[1]; $unit = isset($matches[2]) ? $matches[2] : 'G';
return $value * $multiplier[$unit]; }
function formatNumber($number, $decimals = 2) { return number_format($number, $decimals, ',', '.'); }
// Extrahiere den Wert für "Shares" $totalShares = isset($data['shares']) ? $data['shares'] : 0;
$highHashrateWorkers = array_filter($data['worker'], function ($worker) { return convertToGiga($worker['hashrate5m']) >= 200; });
$lowHashrateWorkers = array_filter($data['worker'], function ($worker) { return convertToGiga($worker['hashrate5m']) < 200; });
usort($highHashrateWorkers, function ($a, $b) { //return $b['bestever'] <=> $a['bestever']; return $b['bestshare'] <=> $a['bestshare']; });
// Anzahl worker for payouts $bothHashrateWorkers = array_filter($data['worker'], function ($worker) { return convertToGiga($worker['hashrate5m']) >= 200 && convertToGiga($worker['hashrate7d']) >= 200; });
// Filterformular hinzufügen echo '<label for="workerFilter">Filter by Worker Name: </label>'; echo '<input type="text" id="workerFilter" onkeyup="filterTable()" placeholder="Search for names.."><br><br>';
// Ausgabe des Wertes für "Shares" am Anfang der Tabelle //echo '<p>Gesamtanzahl Shares: <b>' . formatNumber($totalShares, 0) . '</b></p>';
// XXX tabelle XXX
echo '<table id="worker-table" border="1">'; echo 'Click on "Hashrate (xx)", "Shares", "Best Share" or "Best Share Ever" for <b>sorting</b> (reset sorting please reload the page)<br><br>'; echo '<tr> <th onclick="sortTable(0)">Place</th> <th onclick="sortTable(1)">Worker Name</th> <th onclick="sortTable(2)" style="text-align:right;">Hashrate (5m)</th> <th onclick="sortTable(3)" style="text-align:right;">Hashrate (7d)</th> <th onclick="sortTable(4)" style="text-align:right;">Shares</th> <th onclick="sortTable(5)" style="text-align:right;">Best Share</th> <th onclick="sortTable(6)" style="text-align:right;">Best Share Ever</th> <th onclick="sortTable(7)" style="text-align:right;">Luck</th> <th onclick="sortTable(8)">Device Type</th> </tr>';
$counter = 1; // Initialisierung der laufenden Nummer $totalRedShares = 0; $totalHashrate = 0;
foreach ($highHashrateWorkers as $worker) { $explodedName = explode(".", $worker['workername']); $splittedName = isset($explodedName[1]) ? $explodedName[1] : '';
echo '<tr>'; echo '<td style="text-align:center;">' . $counter++ . '</td>'; echo '<td>' . htmlspecialchars($splittedName) . '</td>';
$hashrate5m = convertToGiga($worker['hashrate5m']); $hashrate7d = convertToGiga($worker['hashrate7d']);
// Überprüfung, ob die Hashrate (5m) unter 200 liegt, und entsprechende Formatierung echo '<td style="text-align:right;' . ($hashrate5m < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate5m, 0) . 'G</td>';
// Überprüfung, ob die Hashrate (7d) unter 200 liegt, und entsprechende Formatierung echo '<td style="text-align:right;' . ($hashrate7d < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate7d, 0) . 'G</td>';
echo '<td style="text-align:right;">' . formatNumber($worker['shares'], 0) . '</td>'; echo '<td style="text-align:right;">' . formatNumber($worker['bestshare'], 0) . '</td>'; echo '<td style="text-align:right;">' . formatNumber($worker['bestever'], 0) . '</td>'; //$minerluck = ($worker['shares'] / $worker['bestever']) * 100; $minerluck = ($worker['bestever'] / $worker['shares']) * 100; echo '<td style="text-align:right;">' . formatNumber($minerluck, 0) . '</td>'; $workerName = strtolower(isset($explodedName[1]) ? $explodedName[1] : $worker['workername']); $deviceType = isset($minerData[$workerName]) ? $minerData[$workerName] : 'N/A'; echo '<td>' . htmlspecialchars($deviceType) . '</td>'; echo '</tr>';
$totalHashrate += $hashrate5m; }
// Der gleiche Ansatz für die niedrige Hashrate foreach ($lowHashrateWorkers as $worker) { $explodedName = explode(".", $worker['workername']); $splittedName = isset($explodedName[1]) ? $explodedName[1] : '';
echo '<tr style="color: red;">'; echo '<td style="text-align:center;">' . $counter++ . '</td>'; echo '<td>' . htmlspecialchars($splittedName) . '</td>';
$hashrate5m = convertToGiga($worker['hashrate5m']); $hashrate7d = convertToGiga($worker['hashrate7d']);
// Überprüfung, ob die Hashrate (5m) unter 200 liegt, und entsprechende Formatierung echo '<td style="text-align:right;' . ($hashrate5m < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate5m, 0) . 'G</td>';
// Überprüfung, ob die Hashrate (7d) unter 200 liegt, und entsprechende Formatierung echo '<td style="text-align:right;' . ($hashrate7d < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate7d, 0) . 'G</td>';
echo '<td style="text-align:right;">' . formatNumber($worker['shares'], 0) . '</td>'; echo '<td style="text-align:right;">' . formatNumber($worker['bestshare'], 0) . '</td>'; echo '<td style="text-align:right;">' . formatNumber($worker['bestever'], 0) . '</td>'; //$minerluck = ($worker['shares'] / $worker['bestever']) * 100; $minerluck = ($worker['bestever'] / $worker['shares']) * 100; echo '<td style="text-align:right;">' . formatNumber($minerluck, 0) . '</td>'; $workerName = strtolower(isset($explodedName[1]) ? $explodedName[1] : $worker['workername']); $deviceType = isset($minerData[$workerName]) ? $minerData[$workerName] : 'N/A'; echo '<td>' . htmlspecialchars($deviceType) . '</td>'; echo '</tr>';
$totalHashrate += $hashrate5m; }
$percentageResult = 100 - ($totalShares / $bitcoinDifficulty) * 100; // Berechnung in Prozent echo '</table>';
echo '<br>Hashrate all worker: <b>' . formatNumber($totalHashrate, 0) . 'G</b><br>'; echo 'All shares (including inactive miner / BTC Diff): <b>' . formatNumber($totalShares, 0) . ' / ' . formatNumber($bitcoinDifficulty, 0) . '</b><br>'; echo 'Our luck if we find now a block (luck = (100-(shares / diff)*100)): <b>' . formatNumber($percentageResult, 5) . '%</b><br>'; echo 'Number of worker with active hashrate >= 200G in 5m: <b>' . count($highHashrateWorkers) . '</b><br>'; echo 'Number of worker for payout with hashrate >= 200G in 5m and 7d: <b>' . count($bothHashrateWorkers) . '</b><br>'; } else { echo 'Fehler beim Parsen der JSON-Daten.'; } } else { echo 'Fehler beim Abrufen der Webseite.'; } // einbau der zusätzlichen Abfrage
// Function to fetch BTC price from an API function fetchBTCPrice($currency) { $urlcoingecko = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=$currency"; $response = file_get_contents($urlcoingecko); if ($response !== false) { $data = json_decode($response, true); if ($data !== null && isset($data['bitcoin'][$currency])) { return $data['bitcoin'][$currency]; } } return "N/A"; }
// Abrufen der Blockzeit daten $urlblockchain = 'https://blockchain.info/latestblock'; $response = file_get_contents($urlblockchain);
if ($response !== false) { $data = json_decode($response, true); if ($data !== null && isset($data['hash'], $data['height'], $data['time'])) { $blockHeight = $data['height']; $blockTime = date("Y-m-d H:i:s", $data['time']); // Next halving block height (approximate) $nextHalvingBlockHeight = 1050000; // Calculate days remaining until next halving $blocksRemaining = $nextHalvingBlockHeight - $blockHeight; $blocksPerDay = 144; $daysRemaining = ceil($blocksRemaining / $blocksPerDay);
// Fetch BTC price in Euro and Dollar $btcPriceEuro = fetchBTCPrice('eur'); $btcPriceDollar = fetchBTCPrice('usd');
echo "<br>Current BTC block: <b>$blockHeight</b> <br>"; echo "Blocktime: <b>$blockTime</b> <br>"; echo "Days until the next halving: <b>$daysRemaining</b> <br>"; echo "BTC price in Euro: <b>€ $btcPriceEuro</b> <br>"; echo "BTC price in Dollar: <b>$ $btcPriceDollar</b> <br><br>"; } else { echo "Fehler beim Verarbeiten der API-Antwort.\n"; } } else { echo "Fehler beim Abrufen der Daten vom Server.\n"; }
// Anzeige möglicher reward
$coinbaserewardbonus = (3.125 * 0.1) ; // Berechnung in reward ohne fee bonus $coinbaserewardbonuseuro = ($coinbaserewardbonus * $btcPriceEuro) ; // Berechnung bonus in reward ohne fee bonus in euro $coinbaserewardbonususd = ($coinbaserewardbonus * $btcPriceDollar) ; // Berechnung bonus in reward ohne fee bonus in dollar $coinbasereward = (3.125 * 0.9) / count($bothHashrateWorkers); // Berechnung in reward ohne fee bonus $coinbaserewardeuro = $coinbasereward * $btcPriceEuro ; // Berechnung in reward ohne fee bonus in euro $coinbaserewardusd = $coinbasereward * $btcPriceDollar ; // Berechnung in reward ohne fee bonus in dollar
echo 'Possible coinbase reward without fees as bonus for block finder (10% from 3,125 BTC): <b>' . formatNumber($coinbaserewardbonus, 4) . ' BTC / ' . formatNumber($coinbaserewardbonuseuro, 0) . ' Euro / ' . formatNumber($coinbaserewardbonususd, 0) . ' Dollar</b><br>'; echo 'Possible coinbase reward without fees (3,125 BTC - 10% for block finder) / number payout worker: <b>' . formatNumber($coinbasereward, 4) . ' BTC / ' . formatNumber($coinbaserewardeuro, 0) . ' Euro / ' . formatNumber($coinbaserewardusd, 0) . ' Dollar</b><br>';
// Donation Text
echo "<br><br><br>Beer - Donation<br>"; echo "=================<br>"; echo "If you think the solo mining project and the status page is good, then I would be happy about a small beer donation in crypto, for all my effort here.<br><br>"; echo "BTC: bc1qqcnca2pyn9texum7dst3jhusfwg7xva5ndnj5d<br>"; echo "ETH: 0x5d598ba7b9b9ce1B8695A5f7e62C8b45D35200B7<br>"; echo "ETC: 0x7Dfd7A13F52B34F02a33124731c20D0d9Fd082DB<br>"; echo "SOL: D1mci1WFTaJZghQehco6imFPdTYJEvBb26X8KmEAKsvg<br>"; echo "DGB: DKKyYXLt5kMLUd1R9t8dZtztw3PpYuzxQM<br>"; echo "USD over ether network: 0x5d598ba7b9b9ce1B8695A5f7e62C8b45D35200B7<br>"; echo "USD over solana network: D1mci1WFTaJZghQehco6imFPdTYJEvBb26X8KmEAKsvg<br>"; echo "DOGE: DBqwSkVTZQcfzMLpFP2Y5TiZj3qJiqj96Z<br><br><br>";
echo "<br>Help<br>"; echo "=================<br>"; echo "Help text for the table <br><br>"; echo "Place: Running number<br>"; echo "Worker Name: Worker name of each worker<br>"; echo "Hashrate 5m and 7d: Hashrate reportet from the solo pool for the last 5 minutes and 7 days<br>"; echo "Shares: Amount of shares<br>"; echo "BestShare: Bestshare since the last block was found on https://solo.ckpool.org/<br>"; echo "BestShareEver: Best share ever from the miner (no reset after a blockfound)<br>"; echo "Luck: Minerluck = (worker bestever / worker shares) * 100 --> mean, as higher the value is, so more luck has the miner<br>"; echo "DeviceType: Miner type that are reported in our forum under that worker. Need a change, no problem, please report it in the forum<br>";
echo "<br><br>"; echo "Summary of device types:"; echo " <a href=\"devices.php\">DeviceType Overview</a><br>"; echo "Willipool Status:"; echo " <a href=\"".$url."\">$url</a><br>"; echo "Bitcointalk Forum DE:"; echo " <a href=\"".$forumDEurl."\">$forumDEurl</a><br>"; echo "Bitcointalk Forum EN:"; echo " <a href=\"".$forumENurl."\">$forumENurl</a><br>"; echo "Main Solo Pool Status:"; echo " <a href=\"".$solopoolurl."\">$solopoolurl</a><br><br><br>";
// URL der Datenquelle $urlpoolstatus = 'https://solo.ckpool.org/pool/pool.status';
// Daten von der URL abrufen $data = file_get_contents($urlpoolstatus);
// Überprüfen, ob der Abruf erfolgreich war if ($data === FALSE) { die('Fehler beim Abrufen der Daten'); }
// Die Rohdaten ausgeben echo 'Poolstatus solo.ckpool.org: <pre>' . htmlspecialchars($data) . '</pre>';
$aktuellesDatumUndUhrzeit = date('d.m.Y H:i:s'); echo "<br><br>Current date and time: $aktuellesDatumUndUhrzeit<br>"; echo '</center>';
?>
<script> function filterTable() { var input, filter, table, tr, td, i, txtValue; input = document.getElementById("workerFilter"); filter = input.value.toUpperCase(); table = document.getElementById("worker-table"); tr = table.getElementsByTagName("tr");
for (i = 1; i < tr.length; i++) { td = tr[i].getElementsByTagName("td")[1]; if (td) { txtValue = td.textContent || td.innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { tr[i].style.display = ""; } else { tr[i].style.display = "none"; } } } } function sortTable(col) { var table, rows, switching, i, x, y, shouldSwitch; table = document.getElementById("worker-table"); switching = true; while (switching) { switching = false; rows = table.rows; for (i = 1; i < (rows.length - 1); i++) { shouldSwitch = false; x = rows[i].getElementsByTagName("TD")[col]; y = rows[i + 1].getElementsByTagName("TD")[col]; var xValue = parseFloat(x.innerHTML.replace(/\./g, '').replace(',', '.')); var yValue = parseFloat(y.innerHTML.replace(/\./g, '').replace(',', '.')); if (xValue < yValue) { // Vergleich umgekehrt shouldSwitch = true; break; } } if (shouldSwitch) { rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; } } } </script>
devices.php <?php
echo '<center>';
// CSV Datei einlesen und Daten in ein Array speichern function readMinerCSV($filePath) { $csvData = []; if (($handle = fopen($filePath, 'r')) !== false) { // Überspringe die Kopfzeile fgetcsv($handle, 1000, ';'); while (($data = fgetcsv($handle, 1000, ';')) !== false) { if (count($data) >= 2) { $csvData[strtolower(trim($data[0]))] = trim($data[1]); // Arbeitername als Schlüssel, Gerätetyp als Wert } } fclose($handle); } return $csvData; }
// CSV-Daten einlesen $minerData = readMinerCSV('miner.csv'); // Aktuelle Bitcoin-Schwierigkeit abrufen
$url = 'https://solo.ckpool.org/users/bc1qeuupt2tgerfum8jclt8aklu9cdmzzkwml9lg7c'; $solopoolurl = 'https://solo.ckpool.org/pool/';
$options = [ 'http' => [ 'method' => 'GET', 'header' => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0', ], ];
$context = stream_context_create($options);
$jsonData = file_get_contents($url, false, $context);
if ($jsonData !== false) { $data = json_decode($jsonData, true);
if ($data !== null) { function convertToGiga($hashrate) { $multiplier = [ 'K' => 1 / 1e6, 'M' => 1 / 1e3, 'G' => 1, 'T' => 1e3, 'P' => 1e6, 'E' => 1e9, ];
preg_match('/^(\d*\.?\d*)\s*([KMGTEP])?$/', $hashrate, $matches); $value = (float)$matches[1]; $unit = isset($matches[2]) ? $matches[2] : 'G';
return $value * $multiplier[$unit]; }
function formatNumber($number, $decimals = 2) { return number_format($number, $decimals, ',', '.'); }
// Extrahiere den Wert für "Shares" $totalShares = isset($data['shares']) ? $data['shares'] : 0;
$highHashrateWorkers = array_filter($data['worker'], function ($worker) { return convertToGiga($worker['hashrate5m']) >= 200; });
$lowHashrateWorkers = array_filter($data['worker'], function ($worker) { return convertToGiga($worker['hashrate5m']) < 200; });
usort($highHashrateWorkers, function ($a, $b) { return $b['bestshare'] <=> $a['bestshare']; });
// Anzahl worker for payouts $bothHashrateWorkers = array_filter($data['worker'], function ($worker) { return convertToGiga($worker['hashrate5m']) >= 200 && convertToGiga($worker['hashrate7d']) >= 200; });
// Worker nach Device Type gruppieren $deviceTypeSummary = []; foreach ($data['worker'] as $worker) { $explodedName = explode(".", $worker['workername']); $workerName = strtolower(isset($explodedName[1]) ? $explodedName[1] : $worker['workername']); $deviceType = isset($minerData[$workerName]) ? $minerData[$workerName] : 'N/A'; $hashrate5m = convertToGiga($worker['hashrate5m']); $hashrate7d = convertToGiga($worker['hashrate7d']);
if (!isset($deviceTypeSummary[$deviceType])) { $deviceTypeSummary[$deviceType] = [ 'deviceType' => $deviceType, 'count' => 0, 'hashrate5m' => 0, 'hashrate7d' => 0, ]; }
$deviceTypeSummary[$deviceType]['count']++; $deviceTypeSummary[$deviceType]['hashrate5m'] += $hashrate5m; $deviceTypeSummary[$deviceType]['hashrate7d'] += $hashrate7d; }
// Sortiere die Zusammenfassung nach Worker Count absteigend usort($deviceTypeSummary, function ($a, $b) { return $b['count'] - $a['count']; });
// Neue Tabelle mit den zusammengefassten Informationen nach Device Type echo '<h2>Worker Summary by Device Type</h2>'; echo '<table border="1">'; echo '<tr> <th>Device Type</th> <th>Worker Count</th> <th>Hashrate (5m) Sum</th> <th>Hashrate (7d) Sum</th> </tr>';
foreach ($deviceTypeSummary as $summary) { echo '<tr>'; echo '<td>' . htmlspecialchars($summary['deviceType']) . '</td>'; echo '<td>' . $summary['count'] . '</td>'; echo '<td>' . formatNumber($summary['hashrate5m'], 0) . 'G</td>'; echo '<td>' . formatNumber($summary['hashrate7d'], 0) . 'G</td>'; echo '</tr>'; }
echo '</table><br>';
} else { echo 'Fehler beim Dekodieren der JSON-Daten'; } } else { echo 'Fehler beim Abrufen der JSON-Daten'; }
echo '</center>';
?>
miner.csv workername;devicetype; Miner_1;Bitaxe ULTRA BM1366; Miner_2;Bitaxe ULTRA BM1366; usw...
|
░░░░▄▄████████████▄ ░▄████████████████▀ ▄████████████████▀▄█▄ ▄███████▀▀░░▄███▀▄████▄ ▄██████▀░░░▄███▀░▀██████▄ ██████▀░░▄████▄░░░▀██████ ██████░░▀▀▀▀░▄▄▄▄░░██████ ██████▄░░░▀████▀░░▄██████ ▀██████▄░▄███▀░░░▄██████▀ ▀████▀▄████░░▄▄███████▀ ▀█▀▄████████████████▀ ▄████████████████▀░ ▀████████████▀▀░░░░ | | CCECASH | | | | ANN THREAD TUTORIAL |
|
|
|
RealMalatesta
Legendary
Offline
Activity: 2492
Merit: 1179
|
 |
October 30, 2024, 04:24:42 PM |
|
Ich wurde gefragt ob ich die Statistikseite den Code teilen kann. Sehr gerne, hier die drei Dateien
Vielen Dank für all die Arbeit! Hab dir eben noch einen kleinen Kasten Bier spendiert 
|
|
|
|
cygan
Legendary
Offline
Activity: 3626
Merit: 10838
icarus-cards.eu
|
 |
October 30, 2024, 06:58:54 PM |
|
✂️ Vielen Dank für all die Arbeit! Hab dir eben noch einen kleinen Kasten Bier spendiert  ohhh, dich gibts auch noch...?  wir alle hatten schon die vermutung, dass all die mühe, um deinen account wieder zu erlangen, vergebens war. warst dann irgendwie nicht so wirklich aktiv... bist du auch mit mindestens einem miner mit im willis-pool vertreten? 
|
|
|
|
RealMalatesta
Legendary
Offline
Activity: 2492
Merit: 1179
|
 |
October 30, 2024, 07:34:28 PM |
|
✂️ Vielen Dank für all die Arbeit! Hab dir eben noch einen kleinen Kasten Bier spendiert  ohhh, dich gibts auch noch...?  wir alle hatten schon die vermutung, dass all die mühe, um deinen account wieder zu erlangen, vergebens war. warst dann irgendwie nicht so wirklich aktiv... bist du auch mit mindestens einem miner mit im willis-pool vertreten?  Ja, mich gibt's noch  Aber hatte leider mit ein paar gesundheitlichen Problemen zu kämpfen...Da musste ich Prioritäten setzen. Yep, bei Willi bin ich mit einem Miner drin. Im Januar sollte bei meinem Haus auch die Stromversorgung einigermassen stabil sein, dann kommen mehr 
|
|
|
|
|