It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
Solorun Statistik
echo '' ;
// 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';
}
// 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';
$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*([KMGTE])?$/', $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, ',', '.');
}
$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'];
});
echo '';
';
echo ''; Platz Worker Name Hashrate (5m) Hashrate (7d) Shares Best Share
$counter = 1; // Initialisierung der laufenden Nummer
$totalShares = 0;
$totalRedShares = 0;
$totalHashrate = 0;
foreach ($highHashrateWorkers as $worker) {
$explodedName = explode(".", $worker['workername']);
$splittedName = isset($explodedName[1]) ? $explodedName[1] : '';
echo ''; ';
echo '' . $counter++ . ' ';
echo '' . htmlspecialchars($splittedName) . ' ';
$hashrate5m = convertToGiga($worker['hashrate5m']);
$hashrate7d = convertToGiga($worker['hashrate7d']);
// Überprüfung, ob die Hashrate (5m) unter 200 liegt, und entsprechende Formatierung
echo '. ($hashrate5m < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate5m, 0) . 'G ';
// Überprüfung, ob die Hashrate (7d) unter 200 liegt, und entsprechende Formatierung
echo '. ($hashrate7d < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate7d, 0) . 'G ';
echo '' . formatNumber($worker['shares'],0 ) . ' ';
echo '' . formatNumber($worker['bestshare'], 0) . ' ';
echo '
$totalShares += $worker['shares'];
$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 ''; ';
echo '' . $counter++ . ' ';
echo '' . htmlspecialchars($splittedName) . ' ';
$hashrate5m = convertToGiga($worker['hashrate5m']);
$hashrate7d = convertToGiga($worker['hashrate7d']);
// Überprüfung, ob die Hashrate (5m) unter 200 liegt, und entsprechende Formatierung
echo '. ($hashrate5m < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate5m, 0) . 'G ';
// Überprüfung, ob die Hashrate (7d) unter 200 liegt, und entsprechende Formatierung
echo '. ($hashrate7d < 200 ? 'color: red;' : '') . '">' . formatNumber($hashrate7d, 0) . 'G ';
echo '' . formatNumber($worker['shares'], 0) . ' ';
echo '' . formatNumber($worker['bestshare'], 0) . ' ';
echo '
$totalShares += $worker['shares'];
$totalHashrate += $hashrate5m;
}
$percentageResult = 100 - ($totalShares / $bitcoinDifficulty) * 100; // Berechnung in Prozent
echo '
//echo 'Summe aller Shares (ohne rote): ' . formatNumber($totalShares) . '
';
//echo 'Summe der roten Shares: ' . formatNumber($totalRedShares) . '
';
echo 'Gesamt-Hashrate aller Worker: '
. formatNumber($totalHashrate, 0) . 'G';
echo 'Summe aller Shares (aktiver Miner / aktuelle BTC Diff): '
. formatNumber($totalShares, 0) . ' / ' . formatNumber($bitcoinDifficulty, 0) . '';
echo 'Unser Glück wenn wir jetzt einen Block finden würden (luck = 100 - shares / diff): '
. formatNumber($percentageResult, 3) . '%';
echo 'Anzahl der Worker mit Hashrate >= 200G: '
. count($highHashrateWorkers) . '';
//echo 'Aktuelle Bitcoin-Schwierigkeit: ' . formatNumber($bitcoinDifficulty) . '
';
} else {
echo 'Fehler beim Parsen der JSON-Daten.';
}
} else {
echo 'Fehler beim Abrufen der Webseite.';
}
echo "
";
echo "Willipool Status:"; echo " .$url."\">$url";
echo "Bitcointalk Forum DE:"; echo " .$forumDEurl."\">$forumDEurl";
echo "Bitcointalk Forum EN:"; echo " .$forumENurl."\">$forumENurl";
$aktuellesDatumUndUhrzeit = date('d.m.Y H:i:s');
echo "Aktuelles Datum und Uhrzeit:
$aktuellesDatumUndUhrzeit";
echo '';
?>
Place | | | User | | | Device Type | | | Speed 5 Min. | | | Number Shares | | | Best Share | | | Solo Pool Status |
----- | | | ---------------------- | | | -------------------- | | | ---------------- | | | -------------- | | | ------------------- | | | ------------------------- |
#1 | | | brun0 | | | Bitaxe ULTRA 202 | | | 517 GH/s
Frohes Neues, allen 'verrückten' Mini-Miners.[/b] Guten Morgen und ein frohes Neues an alle Mini-Miner auch von mir Bin mit 4 Geräten am Start. Mehr folgen später. Herzlich willkommen in unserer kleinen Runde @lutz_k. Mit 4 Minern bist Du ja im Gegensatz zu den meisten von uns bereits sehr professionell aufgestellt. Meinen Bitaxe werde ich heute nochmal in den kühleren Keller umsiedeln, habe bisher immer noch nicht den idealen Aufstellplatz gefunden.
Gesundes neues Jahr euch allen erstmal.
Bin mit 4 Geräten am Start. Mehr folgen später. Username: lutz_k Device type: 1 , 2 , 3 = BitAxe Ultra 202 4 = Bitaxe BM1397 Normal speed: 500 gh/s. 315gh/s Frohes Neues, allen 'verrückten' Mini-Miners. Willipool BestShare >= Network.diff für 2024... Cheers, Ray
Ja es ist wieder mehr Schwung hier in unserer Runde und um 5:16 Uhr hat brun0 zugeschlagen mit einem neuen Bestshare.
Die Info wie hoch und von wem muss noch mit in die Benachrichtigung. Allen neuen Minern ein herzliches Willkommen und einen guten Rutsch ins neue Jahr. ✂️ wow, a big new best share und hat damit cyg ..und da sage noch einer die Kleinen sind für nix zu gebrauchen und man beachte auch, die anzahl der gelieferten shares - respekt. somit sieht man auch, dass die ganze lotterie unberechenbar ist und man nie genau wissen kann (egal mit welcher hashrate), wer und wann das nächste bestshare bzw gar ein blockfund folgt das alles macht das ganze so 'aufregend' Ja, da hast Du Recht, muss meine Meinung korigieren, hab immer gesagt: das ist Spielerei... Jetzt bin ich wieder aufgeregter Brun0 ist Schuld am neuen Bestshare Einer muss ja immer aus der Reihe tanzen wow, a big new best share und hat damit cygon vom Platz 1 verdrängt und beachtlich vorgelegt ..und da sage noch einer die Kleinen sind für nix zu gebrauchen Elef_90_Axe1 tanzt auch gut mit, respekt! Einen guten Rutsch an alle!
Wow, endlich kann ich mit meinen schlechten Augen einen meiner Meiner in der Liste finden
Das ist der mit dem einfachen Lüfter auf default Einstellung Quote Einer muss ja immer aus der Reihe tanzen Echt! Und nächstes mal holt noch wer den Block, völlig unerwartet und frech Jump to:
|