2018 年 IT 圈最火的话题非区块链莫属,自 2017 年末比特币价格突破两万美元大关,再到后来的三点钟无眠区块链微信群引燃社交网络,我们可以看到:有越来越多的名人跨界参与到这一热潮中来。与此同时,区块链开发者也越来越受到职场和婚恋场的青睐。就在今年的 5 月 10 日,阿里巴巴在西溪园区举行了第 13 届阿里日集体婚礼,由马云亲自证婚。马云在证婚词中调侃:“我听说蚂蚁金服有一个工程师,他写了一个求婚简历,里面的工作写了一个‘码农’,结果很久没有人点开来看,后来他把自己的工作经历改为‘区块链’,一下子收到了 381 封求爱信。”
在国内某著名招聘网站上搜索区块链工程师职位
另外,现在在国内各大求职网站上搜索区块链相关的技术性职位,我们会发现其月薪普遍都在 15,000 元以上,甚至有些职位月薪可以达到 50,000 元。但即便是这样,区块链开发岗仍然处于供不应求的状况,究其原因,主要有以下两点:1.区块链作为新兴技术,学术方面的研究仍然不够透彻,只有极少数高校设立了相关专业,培养出来的毕业生对这一技术掌握不深。2. 人们对新技术有畏惧心理,认为其风险较大,因而在求职时有所顾虑。
有句电影台词说得很好 — “我们一路奋战,不是为了改变世界,而是不让世界改变我们”。如果我们安于现状,那么被时代所淘汰将是大概率事件;与其固守所成,不如拥抱变化。行文至此,您是否对转行做区块链开发跃跃欲试了呢?当然,万事开头难,对于咱们这些新手来说,最头疼的问题莫过于缺乏领路人的指引,但是没关系,接下来笔者将为您介绍一些值得动手写代码的区块链项目,这些项目都有大神手把手教导您。在花一些时间认真研究之后,相信你在区块链方面的技术经验已经足够谋得一份薪水还不错的工作了。Let’s Go!
区块浏览器
区块浏览器是一个可以在线查看区块链运行状态的网站,使用起来就和我们用 Chrome 访问某个普通网址一样直观。它可以显示某个特定区块的内容、交易历史记录、某一地址上币的余额等信息。
通过 Block Explorer 查询某个币的全网算力变化情况
每个对象(即交易ID、地址、区块编号等)都以网页的形式呈现出来,可读性很强,并具有独一无二的 URL。通过使用超链接,用户只需点击一下,就可以从某一对象的数据页面切换到其他相关对象的数据页面。如果您点击对象的哈希值,那么就会跳转到哈希数据详情页。这样一来,您就能从某一个交易页面,跳转到为该交易提供输入的先前交易页面。所有的区块数据都是公开的,要么人眼可读,要么可以被机器识别。我们甚至可以通过区块浏览器查看到一些不包含在区块内的信息。
区块浏览器主要针对的是中高级用户,他们已经了解了区块链的基本知识,并知道每个区块中都包含哪几种信息,不过即使您不知道也没有关系,因为区块浏览器通常都会提供小贴士,对每个功能进行详细介绍。
LiveEdu 上美国大牛手把手指点如何用 JS 创建区块浏览器
咱们推荐的第一个练手项目就是 — 区块浏览器。听上去很难吧?但只要具备一些基础的 Javascript 和数据库相关知识,您就能实现它。诚意推荐来自美国 tvle83 大牛的视频教程 — 如何用 Javascript 创建一个区块浏览器? 他具有 10 年的前端开发经验,并在区块链技术方面有自己的独到见解,因此聆听他的讲课会让您有醍醐灌顶的感觉。试试吧!真的没有想象中那么难。
炒币机器人
炒币机器人其实并不算一个新鲜的概念,它脱胎于之前传统证券市场的股票交易机器人,其特点是根据预先设定的交易规则,自动读取历史的时间、价格、成交量、持仓量等数据,从而判断是否进行交易。它还会自动统计每一笔投资的成交时间、成交金额、盈亏次数和交易成功率等重要信息并绘制出图形。但与股票交易机器人相比,创建一个炒币机器人更具挑战性,因为币市的波动性大于传统金融市场,而且没有涨跌停限制,允许 24 小时交易,这就对我们如何设置交易规则并合理部署提出了一个难题。
LiveEdu 上程序员小哥指导如何开发高级炒币机器人
听到这儿,您可能会觉得:我勒个去,既然炒币机器人这么高大上,是不是只有专业的金融科技公司才能开发呢?但答案显然不是。在 LiveEdu 上有一个很火的视频教程 — 如何用 Node.js 开发一个高级炒币机器人。当然,在观看教程前,你需要对 Javascript 和 Node.js 等技术有一些最基本的了解。教授这个的项目的主播 Elliotminns 除了在软件开发方面具有丰富经验之外,对于区块链技术也研究颇深,此外他还十分具有亲和力,喜欢与观众进行互动。所以,不妨试试吧!
Solidity 智能合约
智能合约(Smart Contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆。该概念早在 1994 年就由 Nick Szabo 提出来了,但直到以太坊(Ethereum)的诞生,才让这项技术部署到区块链上,从而真正实现落地。
基于区块链的智能合约与传统的书面合同相比,拥有几大好处:
1、合约内容记录在链上,得到多个节点公认,篡改、删除内容几乎不可能;
2、由于采用了计算机代码,一旦现实中的情况触发了合约里的某个条件,那么相关条款将自动执行,从而避免了传统书面合同执行难的问题;
3、传统的书面合同容易因条款文字有歧义而产生争执,使用代码的智能合约可以消除文字上的歧义,双方在签订时心中有数。
作为以太坊技术开发的底层语言,Solidity 最近一段时间成为了编程界炙手可热的新宠。它是一种静态类型编程语言,用于开发在 EVM 上运行的智能合约。借助 Solidity,开发者能够编写应用,实现智能合约中自我执行的业务逻辑,从而留下不可篡改和权威的交易记录。对于那些熟练掌握编程技能的人来说,用 Solidity 这样的专用语言编写智能合约并不是一件难事。
现阶段关于 Solidity 智能合约开发的中文资料较少,如果您对自己的英文有信心,笔者推荐您直接阅读原版开发文档;如果您的英文还不够好,没关系,目前该开发文档的中文版正在翻译中,请耐心等待哟。
Hyperledger 超级账本
超级账本(Hyperledger)是 Linux 基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业的各种用户场景,并简化业务流程。由于点对点网络的特性,分布式账本技术是完全共享、透明和去中心化的,故非常适合用于金融行业,也适用于制造、银行、保险、物联网等行业。
由于该项目的开源特性,我们可以利用它的源代码来开发属于自己的区块链。此外,我们还可以在 Github 上查看热心网友为其提交的代码,从中加深自己对区块链技术的理解。一个多月前,Hyperledger Fabric 发布了 1.1 版本,其中有一些有意思的新特性,感兴趣的朋友可以了解一下。
总结
区块链开发是今后几年 IT 行业的重头戏,为了做好拿高薪的准备,我们必须认真武装自己。如果大家能够将笔者推荐的这几个项目认真码一遍,想必会在职场上颇具竞争力。另外,我们也欢迎对于区块链开发有一定经验的人将自己的项目通过直播的方式分享给大家,共同交流、学习、进步。