Skip to content

Bitcoin Config Generator#2851

Draft
L0NEB1T wants to merge 2 commits intostackernews:masterfrom
L0NEB1T:bitcoin-config-generator
Draft

Bitcoin Config Generator#2851
L0NEB1T wants to merge 2 commits intostackernews:masterfrom
L0NEB1T:bitcoin-config-generator

Conversation

@L0NEB1T
Copy link

@L0NEB1T L0NEB1T commented Mar 11, 2026

Description

A clear and concise description of what you changed and why.
Added a new page that has a bitcoin config generator so the site has better marketing. Also added a tools section under the footer to access the bitcoin config generator.

Screenshots

screenshot-2026-03-10_11-32-38 screenshot-2026-03-10_11-33-36 screenshot-2026-03-10_11-34-00 screenshot-2026-03-10_11-34-57 screenshot-2026-03-10_11-44-10 screenshot-2026-03-10_11-45-03

Additional Context

Was anything unclear during your work on this PR? Anything we should definitely take a closer look at?
Not sure if any options are missing or if there are any deprecated options present.

Checklist

Are your changes backward compatible? Please answer below:
Yes, I only made additions, I did not get rid of any existing functionality.

For example, a change is not backward compatible if you removed a GraphQL field or dropped a database column.

On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
7. I verified all input fields create corresponding config change, verified front end was readable. Did not verify config files work on bitcoin node.

For frontend changes: Tested on mobile, light and dark mode? Please answer below:
I tested on a mobile dev view on desktop.

Did you introduce any new environment variables? If so, call them out explicitly here:
None

Did you use AI for this? If so, how much did it assist you?
I made this almost entirely using AI.

@huumn
Copy link
Member

huumn commented Mar 11, 2026

You'll want to give sndev lint a run to surface the lint errors

@L0NEB1T L0NEB1T force-pushed the bitcoin-config-generator branch from 610e72b to a699620 Compare March 11, 2026 16:13
@L0NEB1T L0NEB1T force-pushed the bitcoin-config-generator branch from a699620 to 28f0fe5 Compare March 11, 2026 16:37
@huumn
Copy link
Member

huumn commented Mar 12, 2026

Looks pretty nifty. I'll try to review in the next few days.

In the meantime, do you have any questions or concerns about it?

@L0NEB1T
Copy link
Author

L0NEB1T commented Mar 12, 2026

Looks pretty nifty. I'll try to review in the next few days.

In the meantime, do you have any questions or concerns about it?

I don't think I left any options out except for deprecated ones, but I'm not entirely sure

Copy link
Member

@huumn huumn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks fine on a fast pass and everything works well. It feels a bit unintuitive but it's hard to pinpoint why.

Some concrete changes I'd like (some are questions):

  • we should use primary colors for fewer buttons
    • probably just save and copy, and toggles
    • they can be distracting, like everything is a priority-1 button
  • I'd like to link to and give a prominent shout out to Lopp's generator as inspiration
  • how hard would it be to support more/older bitcoin versions?
  • how might we best make updates to future versions?

@huumn
Copy link
Member

huumn commented Mar 15, 2026

I have GPT 5.4 xhigh do an adversarial review against https://github.com/bitcoin/bitcoin/blob/30.x/doc/*. I haven't verified the issues but IME there's an 80% likelihood they're correct. You'll want to verify the issues yourself, fix any that are valid, and do several rounds of review yourself/with bots until you're satisfied.

Also before merge/deploying this I'd like create a way to test/validate we aren't (ever, ideally) generating invalid configurations (or ones that deviate from instruction).


  1. pages/bitcoin-config-generator/index.js and pages/bitcoin-config-generator/options-data.js use %APPDATA%\Bitcoin for the Windows defaults (bitcoin.conf, datadir, blocksdir, debuglogfile, asmap, walletdir). The official docs list the Windows data/config location as %LOCALAPPDATA%\Bitcoin\, not %APPDATA%\Bitcoin\: bitcoin-conf.md, files.md. Please update the Windows defaults to match upstream.

  2. The Testnet preset in pages/bitcoin-config-generator/index.js currently combines chain: 'testnet4' with rpcport: 18332. The official bitcoind manpage says the default RPC port for testnet4 is 48332, while 18332 is testnet3: bitcoind.1. Please verify whether this preset is meant to target testnet3 or testnet4 and make the chain/port combination consistent.

  3. pages/bitcoin-config-generator/options-data.js exposes both a chain selector and separate network toggles like testnet4 and signet. The official bitcoind docs describe -testnet4 and -signet as equivalents of -chain=testnet4 and -chain=signet: bitcoind.1. Please verify whether these should be independent UI controls at all; treating aliases as separate settings makes it easy to present contradictory state.

  4. Several options that upstream documents as repeatable are modeled here as single-value inputs, so the generator cannot represent all valid configs. At least whitebind, wallet, rpcauth, and rpcwhitelist fall into this bucket: bitcoind.1, init.md. Please verify whether these should be multi-entry controls instead of single-line text inputs.

  5. pages/bitcoin-config-generator/options-data.js hard-codes rpcport to 8332, but the official docs say the default RPC port is network-specific: 8332 (main), 18332 (testnet3), 48332 (testnet4), 38332 (signet), 18443 (regtest): bitcoind.1. Please verify whether the generator should adjust the displayed/default RPC port when the selected chain changes.

  6. onlynet is currently a single-select control, but the official Tor docs say onlynet=... can be specified multiple times to allow multiple networks: tor.md. If the single-select behavior is intentional, it would be good to call that out as a deliberate limitation; otherwise this should probably be a multi-entry control as well.

@L0NEB1T L0NEB1T marked this pull request as draft March 16, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants