Os desenvolvedores de software de mineração podem ler os nossos códigos-fonte de mineração em https://github.com/nicehash e incluir patches para extranonce.subscription no seu software de mineração.
Após a subscrição bem sucedida com o stratum através do metodo "mining.subscribe", o cliente deverá enviar o método "mining.extranonce.subscribe".
{"id": X, "method": "mining.extranonce.subscribe", "params": []}\n
Isto informa o servidor (pool) que o client (mineiro) suporta a alteração extranonce1 imediata, sem a necessidade de restabelecer a conexão. Os servidores que suportam este método responderão:
{"id": X, "result": true, "error": null}\n
Se o servidor não suportar o método, a resposta será:
{"id": X, "result": false, "error": [20, "Not supported.", null]}\n
O servidor também pode simplesmente ignorar esta subscrição e não retornar nenhuma resposta ou retornar um método inválido. Alguns pools podem retornar uma mensagem de erro formada incorretamente. Outros pools podem interromper a conexão (nesses casos, é melhor oferecer ao utilizador uma maneira de desativar subscrições de extranonce para determinados pools - via config, por exemplo). Em todos os casos, o cliente não executa nenhuma lógica ao receber estas respostas. Com a subscrição mining.extranonce.subscribe, o cliente deve manipular as alterações extranonce1 corretamente. O servidor enviaria:
{"id": null, "method": "mining.set_extranonce", "params": ["08000002", 4]}\n
O primeiro parâmetro é o valor extranonce1 da cadeia de caracteres e o segundo parâmetro é um valor inteiro do tamanho extranonce2. O mineiro começará a usar uma nova extranonce1 quando um novo trabalho for fornecido com o mining.notify. O trabalho precisa de ser alternado, mesmo se um novo trabalho tiver o mesmo ID (porque extranonce1 é diferente). Não fazer isto causará "shares above traget" até que um novo trabalho, com um ID diferente, seja fornecido.