maxconnections=8 // no more than the 8 outbound connections my node will attempt
That will work but disabling p2p listening would be better (also not allow inbound but will be more secure).
Setting a low with -maxuploadtarget won't work for me because my application will broadcast many transactions (possibly new to the network), so it's very important that these broadcasts are done properly.
Yes it would. maxuploadtarget only restricts fetching historical blocks, it won't restrict anything about you sending transactions.
@JuleAdka suggestion seems interesting. I took a look at BIP 159 (
https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki) which introduced NODE_NETWORK_LIMITED. Disabling NODE_NETWORK might be a good way to make sure nobody tries to download historical blocks from my node. Is there a way to disable this service flag? Searched through the options and didn't find a way to do it (bitcoind --help | grep "service").
Yes, enable pruning. You can set the pruning limit so high that nothing actually gets pruned, but you'll still signal yourself as pruned to the network.
What you signal is mostly moot however, if you're not even listening for connections from outside.