Как извлечь метку майнера из coinbase-нагрузки Kaspa

Майнинг-пул может добавить идентификационные байты в данные coinbase. Их смещение зависит от длины платёжного скрипта.

Прочитайте объявленную длину скрипта

Декодируйте шестнадцатеричные данные в байты. Для чтения фиксированной части требуется минимум 19 байтов. Если байт с индексом 18 равен 34, дополнительные данные начинаются с индекса 53. Отклоните буфер короче этой границы и сохраните исходный хвост, даже если его невозможно показать как текст.

offset 0..8   blue score (little endian)
offset 8..16  subsidy (little endian)
offset 16..18 script version
byte 18       script length n
byte 19+n     start of extra data

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

Узнаваемое название пула — последовательность байтов, которую выбирает сам майнер. При группировке наблюдений сохраняйте хеш блока и платёжный скрипт, а неизвестные данные учитывайте отдельно. Скопированная метка не удостоверяет оператора, создавшего блок.

Источники