crypto.bi

Bitcoin Source Code

Welcome to our Bitcoin source code section!

Here you’ll find a selection of articles describing what really makes Bitcoin tick – the source code!

It all started with Satoshi Nakamoto publishing a MS Windows-based C++ source code base. The project took on a life of its own – and the rest is history.

In these articles, our coders comment the Bitcoin source code files in very easy and accessible language.

Learn how the world’s most popular cryptocurrency works by diving into the C++ code that makes it all happen.

“In Bitcoin, source code is the law!”

256 Bit Integer commented uint256.cpp from Bitcoin Core source code
If you've developed systems in C or C++ before then you're probably familiar with the stdint.h (cstdint for C++) typedefs. Since there'a lot of variation between platforms, stdint...
optional.h a pre-C++17 optional type in the Bitcoin source code
optional.h is a stub that'll likely get removed from Bitcoin Core at a future date when C++ 17 gets formally adopted for the entire project. By reading the Bitcoin Core sources...
Commented noui.cpp source code – Terminal interface to Bitcoin Core
We began our exploration of the Bitcoin Core source code from the Qt graphical user interface on down. We saw how the Qt signals and slots mechanism was used to handle signals ...
Commented consensus/merkle.cpp Merkle root on Bitcoin Core Source Code
In this article we take a look at one of the most important components of block validation and overall blockchain integrity: the Merkle Root derivation process. While it's one ...
Commented amount.h on Bitcoin Core Source Code
amount.h is one of simplest source files in Bitcoin Core. In fact we can paste it in it entirety and discuss it afterwards: /** Amount in satoshis (Can be negative) */ typed...
qt/bitcoin.h in Qt Bitcoin Core source code
qt/bitcoin.h pulls the config/bitcoin-config.h definitions that were generated by the configure script during the build process. This header also contains the Qt Q_OBJECT Bitco...
init.cpp Bitcoin Core startup source code
This is our first exploration of Bitcoin-specific code in this series of articles. Until now we've looked at how the Qt system was set up to run the GUI and Bitcoin services in...
Introduction to our commented Bitcoin source code section
Below you'll find the main commented Bitcoin source code sections (sorted by section name and filename). Core amount.h - Defines the CAmount typedef, implements minimum and ...
bitcoind.cpp – Commented Bitcoin source code
As mentioned in the Bitcoin-Qt commented source code post, there are several approaches one can take to step into the Bitcoin source in approximately the same order as it runs. Fo...
qt/bitcoin.cpp – Commented Bitcoin source code
qt/bitcoin.cpp is where Bitcoin Core initialization leads us next. main.cpp, the Bitcoin Qt application entry point, is basically just a stub that calls GuiMain() at qt/bitcoin...