Описание тега vim-plugin
В протокол JSON-RPC-это очень просто. Вы размещаете в пул (или bitcoind клиента):
{"метод": "getwork", "аргументы": [], "идентификатор": "что-нибудь"}
и вернуться:
{"результат": {"данные": "шестнадцатеричный байт....", "мишень": "шестнадцатиричные байты...", ...}, ... }
Вам нужны только первые 80 байт от результата.данные
- изменить последние 4 байта (окказиональной) и вычислить хэши. Затем, когда вы найти хеш, который является меньше, чем "цель" (обычно хеш высокого порядка 32 бит равен нулю), вы призываете опять getwork представить свой хэш (и получите акцию в пуле):
{"метод": "getwork", "параметров": ["шестигранный-заголовок"], "идентификатор": "что-нибудь"}
Есть куча на шаткий порядка байтов кодировки в стандартную getwork звонок. Вы вообще захотите поменять байт каждое длинное целое (4 байта) до хэширования, и сделать то же самое, прежде чем сообщить свой найденный блок обратно в бассейн. Увидеть образец pyminer для простой эталонной реализацией Шахтера (в Python). Внутрь минер.работы()
функция, где происходит волшебство. Работа функция принимает два параметра: datastr
, это значение, хранящееся внутри результата.данные
и targetstr
это значение, хранящееся внутри результата.цель
.
Еще одна вещь - большинство бассейнов требуют использования обычной проверки подлинности, когда вы постите, так что вам нужно будет указать свой логин и пароль в заголовке запроса.