Как найти восемь зарезервированных байтов в шаблоне блока пула Monero
Пул может зарезервировать в кандидате блока место для данных воркера. Постоянное смещение для разных шаблонов способно повредить соседние поля.
Запросите шаблон с явным резервом
Замените адрес на адрес вознаграждения нужной сети. Декодируйте blocktemplate_blob из hex в байты и возьмите reserved_offset из того же ответа. Сохраните хеш родителя вместе с идентификатором шаблона. Передайте пример в monerod запросом POST на /json_rpc.
{
"jsonrpc": "2.0",
"id": "guide",
"method": "get_block_template",
"params": {
"wallet_address": "<mining reward address>",
"reserve_size": 8
}
}
Пересчитайте смещение для hex
При смещении 130 байт резерв из восьми байт занимает позиции hex-строки с 260 по 275 включительно. Меняйте только этот участок и после изменения транзакции заново сформируйте правильные данные для хеширования. blockhashing_blob и полный шаблон выполняют разные задачи. После смены родителя проверьте актуальность шаблона.