序
这是一本关于比特币源代码的分析文章, 谨以此献给热爱比特币的程序员们!
比特币网络始于2009年,基于中本聪发布的参考实施指南,之后由许多其他程序员进行修订。为比特币提供安全 性和弹性的工作量证明算法(挖掘)的实施以指数级增长,现在超过了世界顶级超级计算机的组合处理能力。中本聪于2011年4月退出公众视线,将代码和网络的责任放在一个蓬勃发展的志愿者小组身上。中本聪和任何人都没有对比特币系统进行个人控制,这个系统基于完全透明的数学原理,开放源代码和参与者之间的共识持续运行。
作为一个程序员,你是不是对这一切感到好奇呢,从本章开始,我会通过解读源代码来带领你一起领略这一系统的魅力。下面简要介绍本系列教程的大纲:
系统启动
本部分主要讲述比特币系统的启动过程。包括命令参数的解析、RPC 命令的注册、钱包的验证、网络初始化、区块链数据的加载与对等节点的启动等。
网络处理
本部分讲述比特币底层 P2P 网络建立的过程。包括:套接字的处理、DNS种子节点的查找、如何连接到别的对等节点、消息处理的框架等。
消息处理
本部分讲述比特币协义的处理,任何想要与比特币通信的应用都要满足这些协义。包括了:对等节点的握手、保持节点连接的处理、获取地址的处理、设置费率与紧凑格式的请求、获取区块的处理等。
交易处理
本部分讲述的地址、钱包、交易、挖矿和脚本等相关内容。
基于比特币构建应用程序
本部分会仔细系统提供的 RPC 接口,以及对这些接口进行梳理,探讨可以构建一些应用。
Last updated
Was this helpful?