如何快速学习成为以太坊区块链开发程序猿?

阅读 7
收藏
2018-05-21
原文链接:www.igeekbar.com


如果各位不是来自火星的话, 绝大部分程序猿都耳熟能详以下几个这两年异常火爆的词汇: 

  • 区块链(blockchain)
  • 比特币(Bitcoin)
  • 以太坊(Ethereum)


对区块链相关技术有兴趣的各位朋友可能在各大招聘求职网站和App中也发现了很多类似的职位, 而且待遇绝对让你心动, 50w-100w的开发职位各大公司都有发布~


如果你也想借着这股东风成为一个区块链开发程序猿的话, 建议关注一下区块链应用开发平台-以太坊,或许大家并不是非常熟悉如何开始学习,或者快速找到相关的开发教程, 那么当你看到这篇文章的时候, 或许你会眼前一亮哈!


以太坊开发工程师?

以太坊开发工程师是一群使用以太坊技术从事去中心化应用(dApp)及其智能合约开发并且运行在区块链上的程序猿。

国内目前从事区块链开发的程序猿为数还不多,相信大家在程序猿待遇上发现目前区块链开发程序猿是有多少火爆,虽然使用的技术并不是新,但是熟悉区块链开发平台以太坊的程序猿还并不是很多,相信大家早进入这个领域,对于自己未来发展更好


了解DApp开发

DApp是去中心化应用(decentralized applications)的缩写,DApps存在于区块链网络中, 和传统意义上的标准程序相比,唯一群别是以太坊框架。 在DApps应用中, 后台的代码都是运行在去中心话点对点网络中,这和传统的中心化的服务器网络截然不同。 dApps应用可以使用任何编程语言来实现UI界面和前端,但是,如果要连接到以太坊区块链中, 开发人员必须使用智能合约,因此dApps应用可以被简单理解为如下公式:

dApps = 前端 + 智能合约

所有的数据都加密保存在区块链中。 去中心化的自然属性可以保证黑客获取用户信息。 这些用来开发智能合约的编程语言叫Solidity,这种语言强烈借鉴于javascript和Python语言影响,因此有些语法和编程风格类似以上两种语言


核心EVM(以太坊虚拟机)开发

使用Solidity编程使得他们兼容以太坊虚拟机(EVM)。EVM是一个以太坊智能合约的运行环境。 在整个点对点网络中被每一个参与方支持。 EVM基于如何编写的过程来组织,处理和操作智能合约。 dApp可以使用javascript,C,Go或者其它任何一种编程语言来构建,可以方便的连接到以太坊虚拟机,以此通过以太坊智能合约连接到以太坊区块链


学习以太坊编程的基础资料

学习以太坊应用开发可能比较费劲,但是回报非常高。非常你已经是一个全栈开发程序猿,学习不同的开发路径可能会让你奔溃,但是通过阅读以下内容, 相信你绝对会感谢我!

基础学习

上面也提到了, 学习以太坊编程不简单。当然需要了解一些简单基础,这里有一些免费的以太坊编程资料, 因为是英文的,所以稍微费点劲

A Programmer’s Guide to Ethereum and Serpent


Solidity学习

solidity是一个高级的编程语言,用来实现智能合约。这是唯一官方支持的语言, 类似于Javascript。你应该使用Solidity来书写应用来模拟金融场景例如彩票或者是借贷,这些可以用来测试你开发的智能合约代码

对应Python开发者来说可以使用Serpent。 这是类似solidity的编程语言,主要给Python开发人员使用, 如果你熟悉Java/C的话,使用Solidity是个不错的选择,链接如下:

solidity.readthedocs.io/en/develop/…


理解以太坊概念

以太坊是作为比特币的另外一个选择开发的。 都是基于相同的区块链技术,相对于以太坊, 比特币稍微过时了一些。但是比特币比较存粹的用来处理数字事务, 以太坊则想成为开发人员用来开发去中信化程序的平台。 一个去中心化的应用通过了区块链存在于多个节点, 而并且物理服务器。 这些节点保证了网络的永存,否则有可能被黑客攻陷。 任何分享在dApp的数据信息都是完整的安全滴。


dApps是开发人员给以太坊中可编程部分赋值而运行的智能合约构建的。如果一个指定的条件满足后,这些部分被锁定并且提供给用户数值


学习truffle框架

Truffle框架是以太坊开发最知名的框架,提供了以太坊开发很多高质量的开发体验提升, 类似wordpress对web开发人员的贡献

这里有一个truffle框架的官方教程:http://truffleframework.com/tutorials/

这个是truffle官方文档:http://truffleframework.com/docs/


开发dApp应用

学习如何开发应用是以太坊开发程序猿的核心任务。 如果你需要了解如何开发dapp,这里有些不错的资源网站:


学习以太坊编程的升级读物

互联网上的以太坊资料非常多。

这里有个reddit帖子提供了大量可以阅读的内容:www.reddit.com/r/ethereum/…

这里还有一个博客:ethereum.network/learn


免费课程

Princeton提供的免费课程:https://www.coursera.org/learn/cryptocurrency%20

Medium提供的免费资源:medium.com/quick-code/…


以上就是猎狐姥爷我精心挑选的以太坊区块链开发相关资料,如果大家对区块链开发有兴趣,请立刻开始你们的学习吧!


评论