Quantcast
Channel: 看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
Viewing all articles
Browse latest Browse all 20537

用golang实现的blockchain的源代码

$
0
0
最近区块链又火了,这对于我们做技术的是好事情,我看拉勾上区块链的工程师开到了40K+。
区块链的概念来自于比特币bitcoin,但是比特币不是区块链,比特币是区块链技术的一个产物。相对来说,比特币的区块链技术属于区块链1.0时代,也是比较简单的,如果我们学习研究,那么区块链1.0(比特币)也更容易理解。
区块链本质上是存储+网络,存储就是基于块的链表存储,也是后向性链表,网络就是P2P网络,分布式,没有中心服务器,这些个特性就意味着区块链很难被篡改。
对于存储+网络,golang具备天然的优势,而且区块链2.0的以太坊,区块链3.0的超级账本都是使用go语言实现的,所以圈里golang的朋友,可以高兴一下了。不过是学习区块链,还是从事这门行业,会golang的都具备天然的优势。
为了便于学习Golang区块链,从零入门,我分享几个Go语言实现的区块链项目,可以参考学习,理解区块、区块链、POW、钱包、交易、记账等这些术语。

naivechain:

https://github.com/kofj/naivechain
比较简单的,建议先看这个,提供了区块、区块链,P2P节点链接,模拟挖矿等能力,300行代码,很容易看。

gochain:

https://github.com/crisadamo/gochain
稍微复杂一些的,基本的概念实现都有,多了POW(工作量证明),交易添加等。

blockchain:

https://github.com/izqui/blockchain
防的比较全的,连编码都是base58的,还实现了hash tree,也就是 MerkelRoot 。

blockchain_go:

https://github.com/Jeiwan/blockchain_go
研究性质的简单实现,主要基于作者的几篇研究文章:
  1. Basic Prototype
  2. Proof-of-Work
  3. Persistence and CLI
  4. Transactions 1
  5. Addresses
  6. Transactions 2
  7. Network
以上都是英文的,不过有人翻译,可以参考这个链接查看,这是一步步很不错的入门学习项目了。
  1. https://ethfans.org/posts/building-blockchain-in-go-part-1
  2. https://ethfans.org/posts/building-blockchain-in-go-part-2
  3. https://ethfans.org/posts/building-blockchain-in-go-part-3
  4. https://ethfans.org/ajian1984/articles/building-blockchain-in-go-part-4
  5. https://ethfans.org/ajian1984/articles/building-blockchain-in-go-part-5
  6. https://ethfans.org/ajian1984/articles/building-blockchain-in-go-part-6
  7. https://ethfans.org/ajian1984/articles/building-blockchain-in-go-part-7

gocoin:

https://github.com/piotrnar/gocoin
看这个项目的介绍:
Full bitcoin solution written in Go (golang)
比特币的都有了,钱包,交易,客户端,可以部署运行。
区块链技术肯定是个好技术,而且我们又具备Golang的优势,所以可以好好的看下,了解下。

Viewing all articles
Browse latest Browse all 20537

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>