Altere a dificuldade usando bitcoin-cli / bitcoind no modo regtest

Sep 11 2020

Existe um comando RPC que me permite gerar blocos em uma determinada dificuldade? Por exemplo, eu gostaria de fazer algo assim:

bitcoind -daemon -regtest
bitcoin-cli -regtest setdifficulty 100
bitcoin-cli -regtest generatetoaddress 101 bcrt1qlckxrvk56kezy35xuw3tk5w5gkvnmjl0cahw3u
bitcoin-cli -regtest setdifficulty 1
bitcoin-cli -regtest generatetoaddress 101 bcrt1qlckxrvk56kezy35xuw3tk5w5gkvnmjl0cahw3u

Estou ciente de que isso resultaria em um blockchain inválido, uma vez que não corresponderia ao recálculo de destino esperado do protocolo Bitcoin. Esse "detalhe" à parte, há alguma maneira de usar bitcoind / bitcoin-cli para executar algo assim?

Respostas

1 MichaelFolkson Oct 24 2020 at 23:59

Não, não há. O Regtest não foi projetado para testar ASICs de mineração e a motivação para tal RPC parece limitada, dado que o regtest é para testes locais.

No entanto, se você quiser experimentar a mineração em uma rede com taxa de hash de rede limitada, você pode tentar minerar no Signet padrão administrado por Kalle Alm e AJ Towns ou pode configurar sua própria rede Signet personalizada e, em seguida, usar o utilitário de mineração Signet neste PR (19937) para minar blocos. AJ Towns apresenta alguns exemplos em um comentário de relações públicas .

por exemplo

Gere blocos indefinidamente, em intervalos de 10 minutos, pagando a recompensa do bloco para o endereço fornecido, usando bitcoin-util para fazer prova de trabalho multithread:

./contrib/signet/generate.py --cli='./bitcoin-cli' generate 10 --block-time=600 --address="tb1..." --grind-cmd='./bitcoin-util grind'