bitcoin/bitcoin
GitHub: bitcoin/bitcoin
比特币核心客户端,提供全节点验证、内置钱包和 P2P 网络连接功能。
Stars: 88551 | Forks: 38856
# Bitcoin Core 集成/暂存树
https://bitcoincore.org
如需获取立即可用的 Bitcoin Core 二进制版本软件,请参阅
https://bitcoincore.org/en/download/。
## 什么是 Bitcoin Core?
Bitcoin Core 连接到 Bitcoin 点对点网络以下载并完全验证区块和交易。它还包含一个钱包和图形用户界面,可以选择性地进行构建。
有关 Bitcoin Core 的更多信息,请参阅 [doc 文件夹](/doc)。
## 许可证
Bitcoin Core 根据 MIT 许可证的条款发布。有关更多信息,请参阅 [COPYING](COPYING) 或访问 https://opensource.org/license/MIT。
## 开发流程
`master` 分支会定期构建(说明见 `doc/build-*.md`)和测试,但不保证完全稳定。[标签](https://github.com/bitcoin/bitcoin/tags) 会定期从发布分支创建,以标示 Bitcoin Core 新的官方稳定发布版本。
https://github.com/bitcoin-core/gui 仓库专门用于 GUI 的开发。其 master 分支在所有单调树仓库中是相同的。该仓库不存在发布分支和标签,因此除非出于开发原因,请勿复刻该仓库。
贡献工作流程在 [CONTRIBUTING.md](CONTRIBUTING.md) 中有所描述,开发者的实用提示可以在 [doc/developer-notes.md](doc/developer-notes.md) 中找到。
## 测试
测试和代码审查是开发的瓶颈;我们收到的 Pull Request 多于我们在短时间内能够审查和测试的数量。请保持耐心,并通过测试其他人的 Pull Request 来提供帮助,并记住这是一个安全关键型项目,任何错误都可能导致人们损失大量金钱。
### 自动化测试
强烈鼓励开发者为新代码编写[单元测试](src/test/README.md),并为旧代码提交新的单元测试。单元测试可以使用 `ctest` 编译并运行(假设在生成构建系统时未禁用它们)。有关运行和扩展单元测试的更多详细信息,可以在 [/src/test/README.md](/src/test/README.md) 中找到。
还有用 Python 编写的[回归和集成测试](/test)。
这些测试可以(如果安装了[测试依赖项](/test))通过以下命令运行:`build/test/functional/test_runner.py`(假设 `build` 是您的构建目录)。
CI(持续集成)系统确保每个 Pull Request 都能在 Windows、Linux 和 macOS 上进行测试。
在合并之前,所有提交的 CI 必须通过,以避免在新的 Pull Request 上出现不相关的 CI 失败。
### 手动质量保证 (QA) 测试
更改应由编写代码的开发者以外的人员进行测试。这对于大型或高风险更改尤为重要。如果测试更改并不简单,在 Pull Request 描述中添加测试计划会很有用。
## 翻译
翻译的更改以及新的翻译可以提交到 [Bitcoin Core 的 Transifex 页面](https://explore.transifex.com/bitcoin/bitcoin/)。
翻译会定期从 Transifex 拉取并合并到 git 仓库中。有关其工作原理的详细信息,请参阅[翻译流程](doc/translation_process.md)。
**重要提示**:我们不接受作为 GitHub Pull Request 提交的翻译更改,因为下次从 Transifex 拉取时会自动再次覆盖它们。
标签:Bitcoin Core, C++, FinTech, P2P网络, 全节点, 共识算法, 分布式账本, 加密货币, 加密资产, 区块链, 去中心化, 支付系统, 数字货币, 数字钱包, 数据擦除, 比特币, 电子现金, 逆向工具, 金融科技