Bitcoin是一个开源项目,源代码使用开放(MIT)授权,可免费下载使用。 开源不仅意味着可自由使用,还意味着比特币是由一个开源社区志愿者开发的。 最初这个社区只有中本聪,到2016年,比特币的源代码贡献者超过400个,大约十几位开发人员几乎全职工作,还有几十名兼职开发人员。 任何人都可以为代码做出贡献 - 包括你!
当初中本聪是先开发了比特币软件,之后才完成了大名鼎鼎的[satoshi_whitepaper]白皮书。 中本聪考虑是发布白皮书之前先确保系统能够正常工作。 比特币的第一个软件,就叫做“比特币(Bitcoin)”或者“Satoshi客户端”,到现在已经进行了大量的修改和改进了。为了与其他软件区别,这个软件后来演变成所谓的Bitcoin Core(比特币核心)。 Bitcoin Core是比特币系统的参考实现,这意味着它是所有技术实现的权威参考。 Bitcoin Core实现了比特币的所有方面,包括钱包,交易和区块验证引擎,以及P2P网络中的全节点。
警示 即使Bitcoin Core包含钱包的参考实现,但并不建议作为用户或应用程序的生产钱包。 建议应用程序开发人员使用现代标准(如BIP-39和BIP-32)开发钱包(请参阅助记词]和[hd钱包]章节)。 BIP就是比特币改进提案(Bitcoin Improvement Proposal)。
下图为Bitcoin Core的架构。
图3-1比特币核心架构(来源Eric Lombrozo)
- 3.1 比特币开发环境
- 3.2 从源码编译比特币核心
- 3.3 运行Bitcoin Core节点
- 3.4 通过命令行使用Bitcoin Core的JSON-RPC API接口
- 3.5 其他可选的客户端、库、工具包