Перейти к содержимому

Рекомендуемые сообщения

(изменено)

Здравствуйте, для общего развития и для лучшего понимания решил написать свой майнер, за основу взял nheqminer(https://github.com/nicehash/nheqminer), пул выбрал Nanopool, всевозможной документации про криптовалюту и в частности zcash перечитал уйму. На данный момент программа подключается к пулу, получает от него задачу при запросе работы, вот такой пакет: "{"id":null,"params":["1506538913","04000000","385f3c27b9269a700a9aa8bfa2b69433a7fddf7709635f9dafae430500000000","e3979e47d940ef232e1138059d2f 46b0b7406a914d5285a73d9f52ae26b3612c","0000000000000000000000000000000000000000000000000000000000000000","8db2cc59","995 5101c","true"],"method":"mining.notify"}" внутренности "params" раскидал по переменным, а вот что дальше делать не пойму, в исходнике исследуемого майнера довольно запутанно все. Т.е. какие конкретно вычисления надо сделать что бы потом результат отправить обратно на сервер и получить награду?

получение транзакции.png

Изменено пользователем angelodemon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что нужно знать, чтобы написать майнер для зеткэш?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Roman Golub алгоритм монеты, Equihash? В том то и дело, что я ни где не нахожу объяснений в цифровом виде(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

@angelodemon А есть майнера с открытым кодом, разве там нельзя посмотреть.
Есть еще вот такая статья, может здесь ты сможешь найти, то что ищешь http://www.openwall.com/articles/Zcash-Equihash-Analysis
Не знаешь, что за параметры - Equihash n=200, k=9 ?
Еще такой вопрос, а возможно приблизительно посчитать, сколько нужно мощностей, чтобы в соло находить 1 блок в неделю?

Изменено пользователем Roman Golub

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Roman Golub  здесь https://github.com/zcash/zcash/issues/1422#issuecomment-248972737 указано 

def solutions(n, k):
    N = 1<<(n/(k+1)+1)
    return 2 * thingamajig(N - (1<<k), N)

ну и написано, что так вычисляется кол-во проходов за шаг, в результате 1.879.

А ссылочку твою я изучу, спасибо. Но на первый взгляд пока не очень понятно, что может понадобиться от туда.

нашел в исходнике nheqminer в файле StratumClient.cpp такую часть : 

std::stringstream stream;
    stream << "{\"id\":" << id << ",\"method\":\"mining.submit\",\"params\":[\"";
    stream << p_active->user;
    stream << "\",\"" << jobid;
    stream << "\",\"" << solution->time;
    stream << "\",\"" << strHex.substr(solution->nonce1size, 64 - solution->nonce1size);
    stream << "\",\"" << strHex.substr(64);
    stream << "\"]}\n";

в этом блоке формируется пакет на отправку результата, но сбор этих данных разбросан по всему исходнику, не могу разобраться что к чему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×