diff --git "a/task_list/task_20180726/\344\270\272\344\273\200\344\271\210\345\274\200\345\217\221\350\200\205\350\246\201\345\255\246\344\271\240\345\214\272\345\235\227\351\223\276.md" "b/task_list/task_20180726/\344\270\272\344\273\200\344\271\210\345\274\200\345\217\221\350\200\205\350\246\201\345\255\246\344\271\240\345\214\272\345\235\227\351\223\276.md" new file mode 100644 index 0000000..33985b3 --- /dev/null +++ "b/task_list/task_20180726/\344\270\272\344\273\200\344\271\210\345\274\200\345\217\221\350\200\205\350\246\201\345\255\246\344\271\240\345\214\272\345\235\227\351\223\276.md" @@ -0,0 +1,12 @@ +为什么开发者要学习区块链? + +说起区块链,大家总会想起btc,炒币等相关话题,不过这的确就是大众对区块链的普遍印象。不过对于互联网行业的技术人员来说,我命应该抓住时代的机遇,就如有人说 “区块链会颠覆传统互联网”。但如果说区块链会改变互联网、改变互联网的应用方式,我现在深信不疑。 + +区块链对工程师来说意味着什么? + +先谈谈这个问题:“搞区块链” 到底是在搞什么?我最开始的理解是 “做链” 和 “发币”,相信大家最直接想到的也就是这两者。做链,是指做区块链的基础设施,比如做一条新链出来,这往往需要巨大的人力物力;发币,或者说 ICO,是一种募资方式,但已被本地法规禁止。可见这两者对个人开发者来说都比较遥远,并不是很好的切入点。不久,我又惊奇地发现,原来区块链除了存储数据,还可以跑代码!作为开发者,还可以在区块链上开发应用!基于区块链开发的应用称作 “去中心化” 应用( Decentralized Application ),简称 DApp。去中心化的含义是指,你的应用不仅是把数据存储在区块链节点上,你的应用本身就运行在区块链节点上!并且dapp的数据是透明的,并且不可修改,。简单的说就是dapp使得app更加透明安全,能在大众监督下运行,这在许多需要信任的领域都是十分重要的。 + +对于我这样的个人开发者来说,自然选择 DApp 开发作为接触区块链的切入点。!做一个 DApp 并不需要后端。因为 DApp 的数据就存储在区块链上,读写数据的逻辑也跑在区块链上,我并不需要用后端语言写一套程序,也不需要搭一个后端环境,更不需要维护数据库——区块链就是我的后端!并且区块链自成生态,内置支付系统,数据库系统等等。这些往往要一个平台级公司才具有的,比如支付宝,微信。所以区块链,dapp是开发者的福音。 + + +如何选择一条适合自己的公链?对于 DApp 来说,选择链就相当于选择一个开发平台,就好比开发手机 App 需要确定是 iOS 还是 Android 一样。开发 DApp 有不少公链可以选择,有老牌的以太坊,也有新锐 EOS ,turechain。