项目简介
libmybitcoin是一个用于处理比特币相关操作的开源项目。它起源于Jimmy Song的《Programming Bitcoin》一书中的示例,逐步发展成完整的比特币库。此项目使用C++语言实现,相较于Python版本,能深入到比特币的底层细节。其主要目标是实现与比特币主网完全兼容的客户端,并进行全面测试,保证每个交易在主网上的有效性。
项目的主要特性和功能
- 完全兼容比特币主网,通过持续测试确保与主网中的每个交易兼容。
- 具备全面的测试,除基础单元测试外,还使用Blockstream的API进行连续测试,确保所有交易与主网交易匹配。
- 无依赖外部库,除测试用库外,不依赖任何第三方加密库,所有必要加密算法都在项目中实现。
- 高度模块化,采用模块化设计,各部分可独立开发和测试。
- 功能丰富,实现了比特币交易解析、脚本解析和序列化、签名验证等功能。
安装使用步骤
安装依赖库
- 安装Boost:
apt install libboost-all-dev
- 安装cURL:
apt install libcurl4-gnutls-dev
- 安装spdlog:
apt install libspdlog-dev
- 安装nlohmann-json:
apt install nlohmann-json3-dev
构建项目
使用CMake构建项目:
bash
cmake .. -DBUILD_ASAN=ON -DBUILD_UBSAN=ON
make
运行测试
- 执行
make test
以运行单元测试。 - 执行
./script-test-driver.py
以运行连续测试。
使用库
在项目中使用libmybitcoin库,进行比特币交易解析、脚本解析等操作。
注意:构建和运行项目前,请确保已正确配置所有依赖库和环境变量。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】