Bitcoin Toolbox Home
Crypto.BI Toolbox is a set of tools for local blockchain exploration. It uses data from the raw Bitcoin block data files and does not require a network connection, API's and other...
Python Bitcoin blockchain analysis tools
Under the python/ subdirectory at the root of the Toolbox distribution you'll find the ... you guessed it ... Python implementation of blockchain tools.
So, how do you know whi...
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 maximum valid amount range check. base58.cpp – The encoding function used for Bitcoin addresses. Base58 removes some potentially ambiguous characters from Base64 so Bitcoin addresses can be written down […]
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 you can see that lots of sections could use C++ 17 idioms. Let’s keep in mind though that Bitcoin Core is high security software […]
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. For instance, tests are a great source of tiny example programs. Then there’s the ubiquitous Bitcoin-Qt client and, of course, bitcoind. All are good options […]
Bitcoin Blockchain to MySQL ETL Tool
Crypto.BI Toolbox comes with an ETL tool that allows you to extract data from the block DAT files and import the blockchain into MySQL. If you got the blocks directory configuration set up correctly, then you can run the ETL tool. Go to the Crypto.BI Toolbox installation directory and run: $ ./toolbox/db/blocks_to_sql > <output_file.sql> This […]
Concepts In This Page
Articles related to Bitcoin programming, payment systems, APIs and related topics.
Articles related to the analysis of blockchain records. Transactions, blocks, addresses among other data objects are of interest in this type of analysis.
C++ programming language - used to implement Bitcoin Core, as well as most first generation cryptocurrencies, high performance Bitcoin miners and other critical software.
Explore software programming topics. Cryptocurrencies, programming languages, tutorials and software development in general.
Source code is the machine logic implemented in a programming language. Fortunately, the most popular cryptocurrencies are open source, allowing us to study their source code.
MySQL is one of the most popular open source relational database management systems available.
Python is a popular scripting language that we use for several blockchain analysis tasks, especially in our Bitcoin Toolbox