区块链(以太坊)

        区块链提炼自比特币的底层技术架构,是一个分布式的共享账本和数据库,具有去中心化、不可篡改、可追溯、公开透明等特点。比特币被认为是区块链技术 1.0 版的应用,主要实现的是电子现金的分布式记账转账功能。

        以太坊(Ethereum)为代表的第二代区块链公链项目,就是其中的佼佼者。与比特币不同,以太坊的定位是一个“世界计算机”,以区块链作为底层存储技术,我们不仅可以记账转账,而且可以构建“智能合约”(smart contract)定义程序化的处理流程,进而实现区块链上运行的“去中心化应用”(DApp)。

        以太坊项目自提出后就受到了广泛关注,社区得到了快速的发展和壮大,目前已成为仅次于比特币的第二大区块链项目;而且由于其“分布式应用平台”而非“分布式账本”的定位,越来越多的开发人员开始以以太坊为基础设施,开始在上面开发 DApp。随着更多开发人员的参与和项目的逐步落地,以太坊已成为从事区块链学习和开发不可或缺的一个环节; 既了解区块链底层原理、又熟悉以太坊架构、还能基于以太坊开发 DApp的专业人才,也成为了各大公司发力区块链技术储备的重点对象。

主要参考资料 • 《精通以太坊》( Mastering Ethereum ) https://github.com/ethereumbook/ethereumbook • 《以太坊白皮书》 ( A Next-Generation Smart Contract and Decentralized Application Platform ) https://github.com/ethereum/wiki/wiki/White-Paper • 《以太坊黄皮书》(《以太坊:一种安全去中心化的通用交易账本 拜占庭 版本》) • 以太坊官方文档 ( Ethereum Homestead Documentation ) http://www.ethdocs.org/en/latest/index.html • Solidity官方文档 https://solidity.readthedocs.io/en/latest/ 

工具:
• MetaMask - 浏览器插件钱包

• Remix - 基于浏览器的 Solidity 在线编辑器

• Geth -以太坊客户端(go语言)

• web3.js – 以太坊 javascipt API库

• Ganache – 以太坊客户端(测试环境私链)

• Truffle – 以太坊开发框架

环境:

• Chrome浏览器(最新版本 70.0.3538.67)

• Linux 系统或虚拟机(ubuntu 16.04.3)

需要安装:go(1.9), git(2.7.4), node(9.0.0), npm(5.7.1)

• 文本编辑器(VisualCode)

1_以太坊综述.pdf