I recently started running a node and learning how to be effective with it from
The Blockchain Commons project here.
https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line
Granted, I am new at this, I may have tied my shoe laces together and wanted to
get feedback on what I experienced and perhaps suggest some fixes.
With chain=<chain> set in the bitcoin.conf and then mistakenly combined with a
network argument such as -testnet it provides the error message "
EXCEPTION: St13runtime_error
Invalid combination of -regtest, -signet, -testnet and -chain. Can use at most
one."
As a novice, I didn't quite understand where this collision was coming from or
why as I copied the conf file from an old setup. I got some help from the
bitcoin-dev irc and worked it out. I was told there is currently no way of
notifying where the arguments are coming from a config file or client
arguments. Would an new argument options category being applied to arguments
being set when the .conf file is being ingested by ArgsManager.ReadConfigFiles
help? I see an enum class called Source which is used with MergeSettings.
Perhaps that could be of help for generating a more descriptive warning in
ArgsManager::GetChainName?
My second novice mistake was the mix naming of test and testnet. The command
'bitcoin-cli -chain=testnet' was failing me. having 'bitcoin-cli -testnet' be
the equivalent of 'bitcoin-cli -chain=test' caused confusion leading to my
opinion that it would be beneficial for the names to match CBaseChainParams
network names.
argsman.AddArg("-chain=<chain>", "Use the chain <chain> (default: main).
Allowed values: main, test, signet, regtest", ArgsManager::ALLOW_ANY,
OptionsCategory::CHAINPARAMS);
argsman.AddArg("-testnet", "Use the test chain. Equivalent to -chain=test.",
ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
Would SetupChainParamsBaseOptions benefit from changing the added argument
-testnet to -test to match the CBaseChainParams or add the argument of -test to
maintain backwards capability.
Last, this is the first time I'm dipping my toe into contributing to this
software. I've read a fair amount of guides before I got started online and
through Chaincode's educational endeavors. I hope this doesn't seem like
bike-shedding, but a novices attempt to contribute in good faith.
Any feedback of how this issue is presented will be warmly welcomed. I am
looking forward to improving my effectiveness at engaging with this community.
Thank you for your time,
Zaidan
Sent with [Proton Mail](https://proton.me/) secure email.
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev