Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么前端工程师更应该掌握区块链 DApp 开发 #79

Open
cssmagic opened this Issue Jun 14, 2018 · 2 comments

Comments

Projects
None yet
2 participants
@cssmagic
Copy link
Owner

cssmagic commented Jun 14, 2018

魔法哥最近又失踪了,干啥去了?在搞区块链呢!今天就跟大家分享这段时间的收获和心路历程。

为什么搞区块链?

说起区块链,你会想到些什么?“炒币” “浮躁”,还是 “发币” “圈钱”?这确实就是大众对区块链的普遍印象。不过对于互联网行业的技术人员来说,如果仅仅停留在这个层面的认知,就有点偷懒了。

有人说 “区块链会颠覆传统互联网”,我觉得夸张了。但如果说区块链会改变互联网、改变互联网的应用方式,我现在深信不移。

我刚开始对区块链是无感的,甚至是抵触的。前端领域的新东西都看不过来了,还看什么区块链?然而随着有意无意的一点一点了解,我逐渐转变了态度,甚至开始感兴趣。

这里暂且不多聊区块链的特殊价值在哪里(详情可参考本文末尾的精选链接);这里只说一点我自己感受。

区块链最让我心动的,当然不是炒币和圈钱,也不是它被很多人当作技术上的万能钥匙。最让我心动的,是区块链正在强烈且持续地刺激互联网从业者重新思考互联网,它已经成为当前互联网最强有力的创新引擎之一。而在这样的背景之下,你我怎能缺席?

区块链对工程师来说意味着什么?

先谈谈这个问题:“搞区块链” 到底是在搞什么?我最开始的理解是 “做链” 和 “发币”,相信大家最直接想到的也就是这两者。

做链,是指做区块链的基础设施,比如做一条新链出来,这往往需要巨大的人力物力;发币,或者说 ICO,是一种募资方式,但已被本地法规禁止。可见这两者对个人开发者来说都比较遥远,并不是很好的切入点。

不久,我又惊奇地发现,原来区块链除了存储数据,还可以跑代码!作为开发者,还可以在区块链上开发应用!

基于区块链开发的应用称作 “去中心化” 应用( Decentralized Application ),简称 DApp。去中心化的含义是指,你的应用不仅是把数据存储在区块链节点上,你的应用本身就运行在区块链节点上!(具体技术细节这里也不展开,可参考本文末尾的精选链接。)

答案很显然,对于我这样的个人开发者来说,自然选择 DApp 开发作为接触区块链的切入点。

为什么说 DApp 开发更适合前端工程师?

我作为一名前端工程师,精力所限,并不是那么精通后端。但我仍然有一颗做产品的心,一直想着某天可以独立搞一个完整的应用出来,为用户提供价值。可是光有前端,没有后端,能做的事情是比较有限的。而当我遇见 DApp 的时候,不由地眼前一亮!

做一个 DApp 并不需要后端。因为 DApp 的数据就存储在区块链上,读写数据的逻辑也跑在区块链上,我并不需要用后端语言写一套程序,也不需要搭一个后端环境,更不需要维护数据库——区块链就是我的后端!

开发 DApp 的体验让我想起 Flash 时代的个人创作者,只要掌握了 Flash,制作一部动画的所有事情,包括导演、编剧、剪辑、美工、特效,都可以全包了。

同样,在区块链上,只要我具备前端技能,就可以写一个完整的应用出来。而且前端工程师天生离用户最近,更懂交互,更容易开发出用户体验出众的产品来。

不需要过多犹豫,立即动手实践。接下来,我需要选择一条适合自己的公链,开发自己的第一款 DApp。

如何选择一条适合自己的公链?

对于 DApp 来说,选择链就相当于选择一个开发平台,就好比开发手机 App 需要确定是 iOS 还是 Android 一样。开发 DApp 有不少公链可以选择,有老牌的以太坊,也有新锐 EOS 等。这里也不兜圈子,魔法哥认为最适合自己的选择是 “星云链”。

简单解释一下为什么选它。首先我看到的是它自身的素质:

  • 星云链主网已于三月底上线,上线数月运行稳定,开发者可信赖。

  • 星云链和 EOS 一样,是区块链 3.0 的代表者之一。它将 TPS(每秒交易数)提升到了很高的水平。TPS 提高可以理解为写入数据的性能提高,从而显著提升开发体验和使用体验。

  • 星云链的创始成员来自国内,我们可以很容易地获取星云链的第一手资料,甚至与星云团队近距离交流。从网上可查的文档和视频来看,我认为星云团队是在踏踏实实做事情,而不是浮夸炒作。

  • 星云总部位于硅谷,在全球范围内拥有不俗口碑,星云币(NAS)已登陆各大交易所。

此外,还有两个因素让我不得不把它推荐给所有前端工程师:

  • 据我所知,星云链是第一家把 JS 作为智能合约开发语言的公链,合约代码就跑在在各节点的 V8 引擎上,这意味前端工程师在星云链上开发 DApp 没有任何语言障碍。(智能合约是 DApp 开发者部署到区块链上的一段代码,作为客户端与链之间的桥梁,实现业务逻辑和数据读写。一个完整的 DApp 通常由客户端和合约端配合实现。)

  • 星云链从五月开始推行 “开发者激励计划”,可以理解为官方举办的 DApp 征集活动。星云官方为此次活动设立了众多奖项和丰厚奖金,以此激励为社区生态作贡献的开发者。我认为这对前端同学来说是一个极佳的学习和实践机会——学技术还能拿奖金,简直不能更爽啦!

看到这里,你心里很可能泛起一丝怀疑:天下哪有这么好的事?骗人的吧?其实这个道理并不复杂:区块链和所有新生事物一样,天生面对各种怀疑,因此早期推广者不得不抛出更多的利益来吸引参与者,早期参与者也必然获得更多红利。

而且,魔法哥并不是胡乱推荐,而是亲测有效再分享给大家。魔法哥的第一款 DApp 已经上线了,并在这次星云 DApp 征集活动中成功入围,获得 “新应用奖”。入围奖金是 100 NAS(约合 ¥4000),其它奖项的奖金更高。

是的,就是这么爽。

星云获奖记录

如何快速进入角色?

此次活动会持续到七月上旬,赶快上车!如果你端午节没有出行计划,不如在家 “带薪学技术” 吧!点击 魔法哥的邀请链接,即可前往星云官网注册(通过此链接注册,入围可获额外 10 NAS 奖金,并获得魔法哥魔力加持 🚀)。

福利还没结束。你以为我拉你入坑之后就闪人吗?你错了。我们学技术最怕什么?最怕一个人闷头研究,身边没有人交流讨论,进展缓慢。所以魔法哥建了一个 DApp 开发交流群,帮助小伙伴们一起快速学习。在 “CSS魔法” 公众号内发送 “入群” 两个字,即可收到群二维码。

结束了?还早。为了方便你快速查找星云链 DApp 开发的相关资料,魔法哥建了一个公开的 Repo:Awesome-Nebulas,你需要的素材都在这里(包括上面提到的精选链接也在这里)。赶紧 Star 吧!

终于要结束了吧?别急,还有福利。魔法哥自己摸索 DApp 开发,跌跌撞撞积累了很多经验,而你没有必要重走一遍弯路。所以接下来我会编写一系列教程,在公众号内陆续发布,帮助你快速做出自己的作品。

还没结束,还有!在整个 DApp 的开发过程中,最繁琐的不是合约端,而是客户端与合约端的交互。新手往往会在这个环节花费大量的时间阅读文档、反复调试。在新人试水的阶段,这种成本同样没有必要。因此,魔法哥决定开发一套客户端 DApp 框架,把繁琐的操作封装起来;而你只需要专心做好自己的应用就好了。近期开源,敬请期待!

尾声

好,今天先聊到这里,接下来就看你的了。

不妨想像一下,在魔法哥的帮助下,经过一番捣鼓,你就可以拍着胸脯向小伙伴们展示:你不仅可以独立开发一个应用,这个应用还建立在最前沿的区块链技术上,甚至还有可能拿到一笔奖金!那画面岂不是美滋滋、爽歪歪?!


本文在 “CSS魔法” 微信公众号首发,扫码立即关注:

weixin-qrcode


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏

@GeoffZhu

This comment has been minimized.

Copy link

GeoffZhu commented Jun 17, 2018

前段时间我也搞了个星云链的DAPP,还想着拿100NAS,结果提交上去就被拒绝了。

@cssmagic

This comment has been minimized.

Copy link
Owner Author

cssmagic commented Jun 17, 2018

@GeoffZhu
我的 DApp 第一次提交也没有通过审核,优化后第二次提交就通过了。

审核不通过总是有原因的,针对性解决应该就可以了。如果认为审核有误,可以发邮件申诉。继续加油哈!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.