void MiningPage::restartMining(bool fGenerate)
{
    int nThreads = ui->sliderCores->value();

    mapArgs["-genproclimit"] = QString("%1").arg(nThreads).toUtf8().data();

    // unlock wallet before mining
    if (fGenerate && !hasMiningprivkey && !unlockContext.get())
    {
        this->unlockContext.reset(new WalletModel::UnlockContext(model->requestUnlock()));
        if (!unlockContext->isValid())
        {
            unlockContext.reset(NULL);
            return;
        }
    }

    json_spirit::Array Args;
    Args.push_back(fGenerate);
    Args.push_back(nThreads);
    setgenerate(Args, false);

    // lock wallet after mining
    if (!fGenerate && !hasMiningprivkey)
        unlockContext.reset(NULL);

    updateUI();
}
Exemple #2
0
void ClientModel::setMining(MiningType type, bool mining, int percent)
{
    if (type == SoloMining && mining != miningStarted)
    {
        if (percent != -1)
            mapArgs["-usepercenthashpower"] = QString("%1").arg(percent).toUtf8().data();
        json_spirit::Array Args;
        Args.push_back(mining);
        setgenerate(Args, false);
    }
    miningType = type;
    miningStarted = mining;
    // emit miningChanged(mining, hashrate);
}
Exemple #3
0
void ClientModel::setMining(MiningType type, bool mining, int cores)
{
    if (type == SoloMining && mining != miningStarted)
    {
        if (cores != -1)
            mapArgs["-genproclimit"] = QString("%1").arg(cores).toUtf8().data();
        json_spirit::Array Args;
        Args.push_back(mining);
        Args.push_back(cores);
        setgenerate(Args, false);
    }
    miningType = type;
    miningStarted = mining;
    // emit miningChanged(mining, hashrate);
}