base58.cpp – Commented Bitcoin Source Code
Base58 encoding is responsible for one of the most recognizable technical aspects of Bitcoin Core - the addresses!
This source file is responsible for a significant part of th...
Bitcoin Blockchain SQL Schema for MySQL
This SQL schema was created for Crypto.BI Toolbox. The same, or similar, SQL schema can be used by anyone exploring Bitcoin with the help of a MySQL RDBMS. Although we didn’t test this SQL with other RDBMS’, it should be fully compatible with MariaDB and any other MySQL-derived system. How the data is inserted/retrieved to/from […]
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 […]
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 […]
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
Bitcoin is the world's first viable decentralized cryptocurrency. It was released on January 2009 by Satoshi Nakamoto.
The fundamental data structure which powers distributed ledger technology (DLT). Bitcoin implemented the first successful cryptocurrency using a blockchain for its ledger storage system.
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.
RPC is an acronym for Remote Procedure Call, a software programming concept where programs call subroutines or services located in a remote location. In cryptocurrency context may also refer to RonPaulCoin (symbol RPC).
Base58 encoding is a user-friendly variation of the Base64 encoding, meant to avoid ambiguities between similar looking characters (e.g. 1 and l) and allow for ease of use. Base58 is the default encoding for Bitcoin addresses. Also used in several other cryptocurrencies.