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...
Bitcoin Blockchain MySQL Database Inserter Configuration
Toolbox tries to read configuration from $HOME/.cyptobi/cryptobi.conf If a config file is unavailable, then defaults will be applied. The order of precendence from highest to lowest is: Command line options override all others. Config file options override defaults. Program defaults. Environment Set CRYPTOBI_HOME environment variable to the directory where you cloned the Crypto.BI Toolbox from […]
C++ Bitcoin Blockchain to MySQL Database Interface
Crypto.BI Toolbox abstracts database access through a thin database access layer. Every database operation required to run the system has been made into a separate function in db/dao/CBDAODriver.h This traditional approach, used in many system architectures, allows us to switch storage solutions by creating new subclasses of CBDAODriver. For instance, if a graph database was […]
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 […]
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.
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.
Bitcoin is the world's first viable decentralized cryptocurrency. It was released on January 2009 by Satoshi Nakamoto.
Go Programming Language
The Go Programming Language, or Golang, was developed at Google and first released to the public in 2007. Many respected names were behind the language, such as Ken Thompson and Rob Pike, both of whom were involved in the early development of C and UNIX at Bell Labs.
Haskell is a purely functional programming language which generates very secure and elegant programs. Haskell is used in the implementation of the Cardano ADA cryptocurrency.
Java is an object-oriented programming language introduced in the mid 1990's. Borrowing its syntax from C and C++, its main objective was to simplify memory management and make C++ programming faster, more fun and secure. Today it's one of the most widely adopted programming languages.
One of our favorite topics! Programming Languages enable us to transform ideas into computer logic, creating neat solutions for customers.