public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Zaidan <ZaidanK@proton•me>
To: bitcoin-dev@lists•linuxfoundation.org
Subject: [bitcoin-dev] New User experience with the Bitcoin-Cli
Date: Wed, 17 Aug 2022 21:02:33 +0000	[thread overview]
Message-ID: <9inVCADZPkjUs5LKcfoMfrbaMNADGfTlVz1xYLi3722jNUC-vyoiEHYF21FFwut1DMiPHroGy7nQTww_hwb6OCi__IN7WL__9Bb4ZYCmUyg=@proton.me> (raw)

[-- Attachment #1: Type: text/plain, Size: 2589 bytes --]

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. ​

[-- Attachment #2: Type: text/html, Size: 9123 bytes --]

                 reply	other threads:[~2022-08-17 21:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='9inVCADZPkjUs5LKcfoMfrbaMNADGfTlVz1xYLi3722jNUC-vyoiEHYF21FFwut1DMiPHroGy7nQTww_hwb6OCi__IN7WL__9Bb4ZYCmUyg=@proton.me' \
    --to=zaidank@proton$(echo .)me \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox