Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research bitcoin.conf configuration within GUI #92

Open
stackingsaunter opened this issue Jan 17, 2024 · 4 comments
Open

Research bitcoin.conf configuration within GUI #92

stackingsaunter opened this issue Jan 17, 2024 · 4 comments
Assignees
Labels

Comments

@stackingsaunter
Copy link
Contributor

Many bitcoin core users configure bitcoin.conf file to customise their node to their needs. However,

  • there’s no official documentation describing the file’s settings,
  • there’s no way to access nor configure the file within the GUI,
  • users use third party tools to configure that (but they also seem lacking for some and are not fully descriptive regarding the features)

Goal of the research would be to find out if it's worth implementing some part of the configuration within the GUI, and If yes, what's the useful way to do it

I came up with a research draft HERE

Related issues: #52

@GBKS
Copy link
Contributor

GBKS commented Jan 18, 2024

Part of this research might also lead to improving the documentation and/or Lopp configurator?

@stackingsaunter
Copy link
Contributor Author

@GBKS that was my reasoning too

@GBKS
Copy link
Contributor

GBKS commented Jan 25, 2024

Just poked around a bit and the Loop configurator breaks things down in these categories:

  • Bitcoin Core
  • Debugging & testing
  • Chain selection
  • Mining
  • Networking
  • Transaction relay
  • RPC API
  • Wallet
  • ZeroMQ

If I ask ChatGPT about why people might edit this file, it comes up with these categories (some of this might be hallucination):

  • RPC configuration
  • Network configuration
  • Security settings
  • Database and storage settings
  • Logging configuration
  • Mining configuration
  • Node connectivity
  • Memory usage
  • Fee and transaction settings
  • Tor integration

Just does not seem like a casual user should have to touch 99% of these and this is more into hobbyist, pro, dev land. The casuals probably need some of the wallet and fee settings, maybe RPC so they can connect other applications, and select settings related to performance and bandwidth that we can bundle and recommend (e.g. a simple low, medium, high bandwidth usage selector. I would be curious if there are some that 50% of people who edit this touch, and some that 0.001% touch, to get a feel for priority.

@GBKS GBKS moved this to Todo in Bitcoin Core App Feb 8, 2024
@GBKS GBKS moved this from Todo to In Progress in Bitcoin Core App Feb 8, 2024
@jarolrod
Copy link
Collaborator

GUI users should never really have a bitcoin.conf and pass it to the GUI. Configuration for 99% of users will be from them editing settings within the GUI, which these end up in settings.json and QSettings.

Now, it's possible to pass a bitcoin.conf, and some power users will, that's why we have to consider it. The path of evaluation is that the bitcoin.conf will take precedent over others, the following is the evaluation order in terms of importance and what overrides what: command-line parameters > bitcoin.conf > settings.json > QSettings

In terms of what's there you can look at jameson lopps config: https://jlopp.github.io/bitcoin-core-config-generator/

There is a gen-bitcoinconf script included in the codebase that will generate the conf based on whats compiled into the binary, if all features are compiled in then the conf will have all options, but jameson lopps config generator is enough to look at to see what's there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress
Development

No branches or pull requests

3 participants