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

Reply via email to