int getBlockHashrate(int height) { int lookup = height; double timeDiff = getBlockTime(height) - getBlockTime(1); double timePerBlock = timeDiff / lookup; return (boost::uint64_t)(((qlonglong)getBlockHardness(height) * pow(2.0, 32)) / timePerBlock); }
void BlockBrowser::updateExplorer(bool block) { if(block) { ui->heightLabel->show(); ui->heightLabel_2->show(); ui->hashLabel->show(); ui->hashBox->show(); ui->merkleLabel->show(); ui->merkleBox->show(); ui->nonceLabel->show(); ui->nonceBox->show(); ui->bitsLabel->show(); ui->bitsBox->show(); ui->timeLabel->show(); ui->timeBox->show(); ui->hardLabel->show(); ui->hardBox->show();; ui->pawLabel->show(); ui->pawBox->show(); int height = ui->heightBox->value(); if (height > pindexBest->nHeight) { ui->heightBox->setValue(pindexBest->nHeight); height = pindexBest->nHeight; } int Pawrate = getBlockHashrate(height); double Pawrate2 = 0.000; Pawrate2 = ((double)Pawrate / 1000); std::string hash = getBlockHash(height); std::string merkle = getBlockMerkle(height); int nBits = getBlocknBits(height); int nNonce = getBlockNonce(height); int atime = getBlockTime(height); double hardness = getBlockHardness(height); QString QHeight = QString::number(height); QString QHash = QString::fromUtf8(hash.c_str()); QString QMerkle = QString::fromUtf8(merkle.c_str()); QString QBits = QString::number(nBits); QString QNonce = QString::number(nNonce); QString QTime = QString::number(atime); QString QHardness = QString::number(hardness, 'f', 6); QString QPawrate = QString::number(Pawrate2, 'f', 3); ui->heightLabel->setText(QHeight); ui->hashBox->setText(QHash); ui->merkleBox->setText(QMerkle); ui->bitsBox->setText(QBits); ui->nonceBox->setText(QNonce); ui->timeBox->setText(QTime); ui->hardBox->setText(QHardness); ui->pawBox->setText(QPawrate + " KH/s"); } if(block == false) { ui->txID->show(); ui->txLabel->show(); ui->valueLabel->show(); ui->valueBox->show(); ui->inputLabel->show(); ui->inputBox->show(); ui->outputLabel->show(); ui->outputBox->show(); ui->feesLabel->show(); ui->feesBox->show(); std::string txid = ui->txBox->text().toUtf8().constData(); double value = getTxTotalValue(txid); double fees = getTxFees(txid); std::string outputs = getOutputs(txid); std::string inputs = getInputs(txid); QString QValue = QString::number(value, 'f', 6); QString QID = QString::fromUtf8(txid.c_str()); QString QOutputs = QString::fromUtf8(outputs.c_str()); QString QInputs = QString::fromUtf8(inputs.c_str()); QString QFees = QString::number(fees, 'f', 6); ui->valueBox->setText(QValue + " FNX"); ui->txID->setText(QID); ui->outputBox->setText(QOutputs); ui->inputBox->setText(QInputs); ui->feesBox->setText(QFees + " FNX"); } }