Cambia la difficoltà usando bitcoin-cli / bitcoind in modalità regtest
Esiste un comando RPC che mi consentirebbe di generare blocchi con una determinata difficoltà? Ad esempio, vorrei fare qualcosa del genere:
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
Sono consapevole che risulterebbe in una blockchain non valida, poiché non corrisponderebbe al ricalcolo target previsto del protocollo Bitcoin. A parte questo "dettaglio", c'è un modo per usare bitcoind / bitcoin-cli per eseguire qualcosa del genere?
Risposte
No non c'è. Regtest non è progettato per testare ASIC di mining e la motivazione per un tale RPC sembra limitata, dato che regtest è per i test locali.
Tuttavia, se si desidera sperimentare il mining su una rete con un tasso di hash di rete limitato, è possibile provare a eseguire il mining sul Signet predefinito amministrato da Kalle Alm e AJ Towns oppure configurare la propria rete Signet personalizzata e quindi utilizzare l'utility di mining Signet in questo PR (19937) per estrarre blocchi. AJ Towns espone alcuni esempi in un commento di PR .
per esempio
Genera blocchi a tempo indeterminato, a intervalli di 10 minuti, pagando la ricompensa del blocco all'indirizzo specificato, utilizzando bitcoin-util per eseguire prove di lavoro multi-thread:
./contrib/signet/generate.py --cli='./bitcoin-cli' generate 10 --block-time=600 --address="tb1..." --grind-cmd='./bitcoin-util grind'