Bitcoin Core is a complex piece of software. Because one of the primary goals of Bitcoin is to enable users to be self sovereign and have the ability to choose what code they run, there are a plethora of configuration options available to node operators. However, over the years these options have exploded in number and I suspect that most users aren’t even aware of them all.

As I’ve written about extensively, running a full node is important because it’s the only way to maximize the security properties of your usage of Bitcoin. As such, it’s important that we can keep the cost of node operation fairly low — and there are ways to decrease the cost of running a node if you know how to configure it properly.

As such, I’m pleased to release a user friendly config file generator for node operators. This is an open source project that you can find on GitHub. The web interface allows you to easily visualize all of the available options and whenever you see an option that you want to change from the default value, the generator will add the appropriate parameter & value on the fly to the config file rendered on the right side of the page.

I think one of the most powerful features available with this config file generator is the array of “node class” predefined configurations that I’m making available at the click of a button. Based upon my experience running nodes on a variety of hardware over the years and handling requests from node operators who are in a variety of situations, I’ve devised my own recommendations for how you might want to configure your node.

I’m sure there’s room for improvement to this project; feel free to open issues or submit a pull request on the GitHub project!

Special thanks to Ethereum’s Parity team whose hard work I’ve built upon and Alex Melville for sparking the idea and reviewing my pull requests.