这段时间一直在研究区块链技术,同时也在加紧研发自己公司的区块链钱包,对区块链相关技术有一定的研究心得,希望通过博文来记录和分享自己的一些心得体会,也欢迎对文章感兴趣的朋友来跟我交流和讨论。
笔者打算从以太坊源码分析专栏写起,后面会分析Hyperledger Fabric源码,以及比特币的源码。这里要说明一下,为什么不从比特币源码分析写起:比特币作为区块链技术的鼻祖,它是每个区块链开发者永远的图腾,不到2万行代码撑起了整个区块链的宏伟蓝图。很多区块链技术都是以它为原型,中间结合和了它的很多设计思想和技术特征。但是由于它的技术架构在扩展性上存在局限,以及它的去中心化、无中心主义,导致比特币发展举步维艰,除了发币很难运用到复杂的商业应用中。以太坊的优势在功能扩展性上面以及区块链应用平台的搭建,Fabric的优势在企业级区块链的应用上面,我更看好这两个技术未来的发展。
开始正文。
笔者开发环境是MacOS,开发环境搭建比较简单
1,下载go-ethereum
git clone https://github.com/ethereum/go-ethereum
2,安装go
brew install
gmp go
3,编译 geth
cd go-ethereum
make geth
4,运行build/bin/geth --fast --cache=1024 console 启动您的以太坊客户端
5, 使用 IntelliJ IDEA作为go语音的开发IDE,安装golang插件。