Changer la difficulté en utilisant bitcoin-cli / bitcoind en mode regtest

Sep 11 2020

Existe-t-il une commande RPC qui me permettrait de générer des blocs sous une difficulté donnée? Par exemple, je voudrais faire quelque chose comme ceci:

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

Je suis conscient que cela entraînerait une blockchain invalide, car elle ne correspondrait pas au recalcul cible attendu du protocole Bitcoin. Mis à part ce "détail", existe-t-il un moyen d'utiliser bitcoind / bitcoin-cli pour effectuer quelque chose comme ça?

Réponses

1 MichaelFolkson Oct 24 2020 at 23:59

Non, il n'y en a pas. Regtest n'est pas conçu pour tester les ASIC miniers et la motivation d'un tel RPC semble limitée étant donné que le regtest est pour des tests locaux.

Cependant, si vous souhaitez expérimenter l'exploitation minière sur un réseau avec un taux de hachage réseau limité, vous pouvez soit essayer l'extraction sur le Signet par défaut administré par Kalle Alm et AJ Towns, soit configurer votre propre réseau Signet personnalisé, puis utiliser l'utilitaire de minage Signet. dans ce PR (19937) pour extraire des blocs. AJ Towns présente quelques exemples dans un commentaire PR .

par exemple

Générez des blocs indéfiniment, à des intervalles de 10 minutes, en payant une récompense de bloc à l'adresse donnée, en utilisant bitcoin-util pour faire une preuve de travail multi-thread:

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