Bitcoind

在 regtest 模式下使用 bitcoin-cli/bitcoind 更改難度

  • October 24, 2020

是否有 RPC 命令可以讓我在給定難度下生成塊?例如,我想做這樣的事情:

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

我知道這會導致無效的區塊鏈,因為它與比特幣協議的預期目標重新計算不匹配。除了這個“細節”,有沒有辦法使用 bitcoind/bitcoin-cli 來執行這樣的事情?

不,沒有。Regtest 並非旨在測試採礦 ASIC,鑑於 regtest 用於本地測試,這種 RPC 的動機似乎有限。

但是,如果您想在網路雜湊率有限的網路上進行挖礦實驗,您可以嘗試在 Kalle Alm 和 AJ Towns 管理的預設Signet上進行挖礦,或者您可以設置自己的自定義 Signet 網路,然後使用 Signet 挖礦實用程序在這個PR (19937) 中探勘區塊。AJ Towns 在PR 評論中列舉了一些例子。

例如

每隔 10 分鐘無限期地生成塊,向給定地址支付塊獎勵,使用 bitcoin-util 進行多執行緒工作量證明:

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

引用自:https://bitcoin.stackexchange.com/questions/98949