Skip to content

G-ojies/cpp-bitcoin-encoding-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bitcoin Base58 Encoding Utilities (C++)

This repository contains a systems-level implementation of the Base58 encoding algorithm, which is a fundamental component of the Bitcoin protocol used for creating human-readable addresses (e.g., P2PKH and P2SH).

πŸš€ Why Base58?

Unlike standard Base64, Bitcoin's Base58 alphabet excludes visually ambiguous characters to prevent errors in manual transcription:

  • No 0 (zero) or O (capital o)
  • No I (capital i) or l (lower-case L)
  • No + (plus) or / (slash) symbols

πŸ›  Features

  • Zero-Byte Preservation: Correct handles leading zeros (encoded as '1' in Bitcoin).
  • Modern C++: Implemented using std::vector and std::string for memory safety.
  • Lightweight: Zero external dependencies (Standard Library only).

πŸ“¦ Getting Started

Prerequisites

  • A C++ compiler (e.g., g++)
  • make utility

Installation & Build

  1. Clone the repository:
    git clone [https://github.com/G-ojies/cpp-bitcoin-encoding-utils.git](https://github.com/G-ojies/cpp-bitcoin-encoding-utils.git)
    cd cpp-bitcoin-encoding-utils

About

A high-performance C++ implementation of Bitcoin's Base58 encoding and decoding algorithms, designed for systems-level blockchain data formatting.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors