本身动手实现区块链

200行代码实现一个最小化可工做区块链,1500行代码实现一个加密货币网络系统。若是此次你还不能理解区块链是怎么回事的话,你打我!若是理解了,你打赏我,github项目右上方给我打个星,Star一下以示鼓励!git

本教程将带领你们从零开始开发一套可行的加密货币系统。开发的基本原则就是尽可能的简单易懂。github

咱们打造的这个项目的名称叫作Naivecoin。 用的开发语言是Typescript。总共分为六个章节。你们能够选择相应的分支进去查看相应的代码。浏览器

若是你只是对区块链的实现原理感兴趣,那么你只须要看第一章就足够了,代码至关的简单,只用200行的代码就能让你一窥区块链的全貌。网络

第一章:最小可行区块链

这一章节中,咱们会用200行左右的代码实现一个简单但五脏俱全的区块链,并引领你们理解区块链的基本原理。区块链

第二章 工做量证实和挖矿

本章节咱们将会在咱们的玩具版区块链的基础上加入工做量证实(POW)的支持。在第一章节的版本中, 任何人都均可以在没有任何工做量证实的状况下添加一个区块到区块链中。 当咱们引入工做量证实机制以后,一个节点必需要解开一个有至关计算量的拼图(POW Puzzle)以后,才能往区块链上添加一个新的区块。而去解开该拼图,一般就被称为挖矿。加密

第三章 交易

本章咱们将引入加密货币中的交易机制。有了交易这个机制以后,咱们的区块链将会从一个只有基本功能的区块链华丽转身成一个加密货币系统。 最终咱们就能经过指定目标用户的地址,和对应的用户进行加密货币交易。教程

第四章 钱包

本章节咱们将实现一个未加密的钱包功能以进行简单的交易。ip

第五章 交易中继

上一章节中,咱们要给一笔交易记帐的话,必须本身手动进行一次挖矿,才会把交易记录加到一个区块里面去。 这一章节中,咱们将会引入未决交易中继的机制。有了这个机制以后,咱们要进行一笔交易的时候,就不须要本身动手挖矿,而是将本身的交易发送到咱们的区块链网络中去(即中继传递的概念),由其余节点在挖矿以后,将咱们的交易记录加到他们挖出的新的区块中去。其中这些交易就被称之为「未决交易」。一个典型的例子就是,当一个用户想要发起一笔交易(把必定数量的币发送到指定的地址),他会把这笔交易广播到整个网络,并但愿其余矿工把该笔交易放到区块中去。开发

第六章 钱包管理界面和区块链浏览器

本章节咱们将为咱们的区块链实现一个钱包管理界面和一个区块链浏览器。get

本文由天地会珠海分舵编写,转载需受权,喜欢点个赞,吐槽请评论,如能给Github上的项目给个星,将不胜感激.

相关文章
相关标签/搜索