Bitcoin development

Bitcoin is free software and any developer can contribute to the project. Everything you need is in the GitHub repository. Please make sure to read and follow the development process described in the README, as well as to provide good quality code and respect all guidelines.

Development discussion takes place on GitHub and the bitcoin-dev mailing list. Less formal development discussion happens on irc.freenode.net #bitcoin-core-dev (web interface, logs).

Code Review

Bitcoin Core is security software that helps protect assets worth
billions of dollars, so every code change needs to be reviewed by
experienced developers.

It can take a long time for other developers to review your pull
requests. Remember that all reviewers are taking time away from their
own projects to review your pull requests, so be patient and respectful
of their time.

Please also consider helping to review other people’s pull requests. You
don’t need to be an expert in Bitcoin, the Bitcoin Core codebase, or C++
(although all these things help). There are almost always open pull
requests that any programmer can review.

Starter Projects

Do you want to begin coding for Bitcoin Core but don’t have a specific
improvement in mind? Here are a few ideas:

Fix existing issues: the issue tracker is the
best place to find a useful way to contribute to Bitcoin Core.
Before starting to write any patches for issues you find, you may
want to comment on the issue to make sure nobody else is already
working on it.

Write tests: Bitcoin Core is covered by many tests, but patches
that improve test coverage are always welcome and are a great way to
build familiarity with the codebase. See the documentation about
automated testing.

Documentation

If you are interested in learning more about the technical details of Bitcoin and how to use existing tools and APIs, it is recommended you start by exploring the developer documentation.

Developer communities

The following chatrooms and websites host discussions about Bitcoin development. Please be sure to read their rules of conduct before posting.