第35讲 | 搭建你的迷你区块链(设计篇 )
陈浩

程序员的天赋技能就是通过代码实践自己的想法,完成一个作品会有相当的成就感。
今天我们终于也来到了实践环节。我将以 C++14 的代码为例,和你分享设计并实现一个迷你区块链的例子。
目标和范围
首先我们要知道达成的目标,根据目标划定工作范围。
考虑到我们无法搭建一个类似比特币的庞大 P2P 网络,也没有太多精力实现一个真正意义上的完整功能的全节点钱包,而且完整的全节点过于复杂,会让学习者迷失在细节中。
所以我们的目标是:构建一个包含仅有基础功能的全节点客户端,它可能没有太炫酷的 UI 页面,也没有复杂的命令,它们可以提供下面的功能。
提供 P2P 节点发现和同步区块的功能;
提供创建公私钥对的功能;
提供发送交易的功能;
提供交易查询的功能;
提供余额查询的功能;
提供挖矿的功能,在任意地址上都可以发起单机挖矿;
提供基础日志,方便跟踪监视。
以上 7 个功能基本涵盖了一个区块链全节点的主要功能,但是,由于我的时间有限,代码不能全部实现,主要是讲解设计和实现思路。后续我会逐渐完善代码,你也可以一起参与。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出区块链》,新⼈⾸单¥59
《深入浅出区块链》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(14)
- 最新
- 精选
- Nebula老师可以推荐一下java的迷你区块链吗,最好是开源
作者回复: 可以啊,2019年上半年太忙了,cpp版还没空更新。实际上python版本的是最好理解的,我考虑后续会逐渐上设计图纸和模块说明,希望做成社区的形式,大家一起参与维护tinychain的各个版本,也可以加深理解。
39 - Eric陈老师,什么时候把剩余的功能都实现了?
作者回复: 牛市来的时候我就有时间了。 其实一直想着来着,还有python各种版本的,如果是社区一起开发相信会好很多。
3 - 钰湚—付晓岩陈老师,如果想在自己的笔记本上搭建一个区块链模拟网络,需要什么配置?🙂
作者回复: 正常配置即可,有docker就行
3 - Eric陈老师,比特币网络是由无数个全节点钱包组成的.这种说法对么?
作者回复: 基本上对 实际上钱包也出现了各种版本,原则上只要符合比特币目前的协议即可。 这套协议网络就是比特币网络。
2 - 沃野阡陌老师,请问什麽是共享CDN挖矿?
作者回复: 你好,这个是营销概念,没有共通性。
2 - 行者老师,讲下默克尔根哈希吧,对这个挺困惑的
作者回复: 好的,我会在个人私有专栏里写
- 麋鹿在泛舟终于等到了
作者回复: 感谢支持,嘻嘻
- leoxie读的人几个技术的英文单词估计搞不懂3
- Dustin Volz看见c++就很慌
- 栐哥请问开发区块链的APP是用node. js的什么IDE呢?
收起评论