0

I'm doing to a large stress test on 1000 node network where each node sends transactions to one another at a specific rate, and I need a way to create the funds for running it, enough so that each transaction is above the dust limit. I need a way to generate 9995000 spendable bitcoins to distribute to each address. At some point, 120 transactions will be sent per second on the network, which is why a lot of bitcoins are needed. Is there a way to get these many bitcoins to each node, which has its own address (~9800 BTC for each node, which each has one receiving address) without generating a lot of blocks and changing the subsidy variables in the source code? I'm unfamiliar with Core/bitcoind's codebase, and I might break something. Any simple solution would be appreciated.

1 Answer 1

3

This is not possible because the regtest network is limited to 15000 regtest BTC. Unlike mainnet and testnet, it's halving interval is 150 blocks which limits the number of regtest BTC on one chain to 15000 (actually just under that).

On regtest, you don't actually need to make outputs which reach the dust threshold. The default behavior is to allow non-standard transactions be relayed and mined on regtest and testnet. So you can just make outputs as small as you want and they should still be relayed and mineable. Furthermore, Bitcoin can actually have 0 value outputs, so you can make transactions which don't even send money, thereby removing the need to get any significant amount of regtest Bitcoin.

If for some reason regtest transactions are being rejected for being below the dust threshold, you can lower the dust threshold by using the -dustrelayfee=<amt> option. With this, you set the feerate that the dust threshold is calculated at. Since it is in BTC/kB, you can set it to be 1 satoshi per kB with -dustrelayfee=0.00000001, which is 0.0001 satoshis per byte. This should reduce the dust threshold to less than 1 satoshi allowing you to have outputs that are 1 satoshi.

3
  • I did not know about the "dustrelayfee" option, thank you!
    – Expectator
    Dec 25, 2018 at 23:50
  • why does the halving interval dictate the amount of BTC created, shouldn't the reward half for the next 150 blocks then?
    – Albert S
    Dec 6, 2021 at 22:36
  • @Alberts It is a combination of the initial block reward amount and the halving interval that determines the total amount for the chain. Since the initial block reward is the same for regtest, testnet, and mainnet, the halving interval is what ends up controlling the total supply. If the halving interval is larger, then more blocks with each reward value will be created, thus increasing the total amount. If it is smaller, then fewer blocks at each reward value will be created, thus decreasing the total amount.
    – Andrew Chow
    Dec 6, 2021 at 23:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.