Merge pull request #848 from TheSerapher/issue-847

[FIX] Coins without nethashrate in getmininginfo
This commit is contained in:
Sebastian Grewe 2013-11-16 11:44:31 -08:00
commit e6e5e858f8

View File

@ -48,15 +48,21 @@ class BitcoinWrapper extends BitcoinClient {
if ($data = $this->memcache->get(__FUNCTION__)) return $data;
try {
$dNetworkHashrate = $this->query('getmininginfo');
if (is_array($dNetworkHashrate) && array_key_exists('networkhashps', $dNetworkHashrate)) {
$dNetworkHashrate = $dNetworkHashrate['networkhashps'];
} else if (is_array($dNetworkHashrate) && array_key_exists('hashespersec', $dNetworkHashrate)) {
$dNetworkHashrate = $dNetworkHashrate['hashespersec'];
} else if (is_array($dNetworkHashrate) && array_key_exists('netmhashps', $dNetworkHashrate)) {
$dNetworkHashrate = $dNetworkHashrate['netmhashps'] * 1000 * 1000;
if (is_array($dNetworkHashrate)) {
if (array_key_exists('networkhashps', $dNetworkHashrate)) {
$dNetworkHashrate = $dNetworkHashrate['networkhashps'];
} else if (array_key_exists('hashespersec', $dNetworkHashrate)) {
$dNetworkHashrate = $dNetworkHashrate['hashespersec'];
} else if (array_key_exists('netmhashps', $dNetworkHashrate)) {
$dNetworkHashrate = $dNetworkHashrate['netmhashps'] * 1000 * 1000;
} else {
// Unsupported implementation
$dNetworkHashrate = 0;
}
}
} catch (Exception $e) {
return false;
// getmininginfo does not exist, cache for an hour
return $this->memcache->setCache(__FUNCTION__, 0, 3600);
}
return $this->memcache->setCache(__FUNCTION__, $dNetworkHashrate, 30);
}