最近有些小伙伴私信问米芽,怎么上手以太坊DApp的开发,去哪里找资料,DappReview会不会写教程诸如此类的问题。
于是有了这一篇极简的以太坊DApp开发指南。注意,是指南,而非教程。米芽回顾了一下自己从去年底开始写智能合约到现在写DApp的整个过程,资料和教程倒是看了不少,但真正有用的并不多,反而踩了不少坑。因此效率最优的学习方式并不是看尽可能多的资料教程,而在于找到正确的引导,按照正确的顺序把知识点连成线。
这篇指南的意义在于,让你在48小时内可以从头到尾了解Solidity编程、DApp的开发并能实际落地完成。
在目前以太坊的生态下,做一个简单的web端DApp所需掌握的三个技能点
前端开发 - HTML/JavaScript/JQuery/各种前端框架
智能合约 - Solidity编程
前端与智能合约交互 - web3.js / Metamask / Infura
这里面前端开发本质上与区块链没有关联性,所需要的技能跟开发一个“古典”互联网web端所需的能力无区别,我们就不做赘述了。对于另外两部分,米芽只推荐两份教程(全部免费)。
1. CryptoZombies
https://cryptozombies.io/
CryptoZombies是由Loom Network开发的一个在线互动编程教程,它通过教你编写你自己的加密收藏品游戏,来学习用 Solidity 编写智能合约和DApp开发。
这是米芽认为到目前为止,最实用最细致的Solidity和DApp开发入门课程,没有之一,完爆各类线上线下付费培训。现在课程一共出了6课,每一课分为若干个小章节。
第1课内容
Solidity基础 - 变量、数学运算、数据结构、函数及函数属性等
第2课内容
Solidity进阶 - 地址、Mapping、继承、Storage vs Memory、接口等
第3课内容
Solidity高阶 - 合约所有权、Gas花费、函数修饰符、代码优化、代码安全等
第4课内容
支付函数、提现函数、随机数、僵尸作战实例(对战、输赢)
第5课内容
ERC 20 代币、ERC 721 代币标准、加密资产交易、防止溢出等
第6课内容
前端与智能合约交互 - Web3.js、Metamask、Infura、事件监听等
教程结束后获得的僵尸大军
除了智能合约的部署之外,CryptoZombies已经将大部分内容深入浅出的全部覆盖。
据独家消息了解,CryptoZombies的学员数量目前已经突破20万,应该是受众面最广的以太坊培训类教程。
优点:内容详细,深入浅出、有互动性和趣味性。
美中不足:没有带用户在真实的开发环境中走一遍开发流程和部署上线。
而这一点不足就由下面这一套教程来补充。
2. Ethereum Development Walkthrough
该系列是由开发者dev_zl发表在Hackernoon上的一个系列文章 —— 以太坊开发攻略。是米芽读过的为数不多思路清晰、行文简洁、干货满满的博文类教程。这个系列的特点是,带着读者手把手,一步一步地走一遍开发实例,全部读完后,读者是可以独立的在本地上线一个DApp。
Part 1: Smart contracts
第一部分——智能合约
https://hackernoon.com/ethereum-development-walkthrough-part-1-smart-contracts-b3979e6e573e
Part 2: Truffle, Ganache, Geth and Mist
第二部分——各类开发工具
https://hackernoon.com/ethereum-development-walkthrough-part-2-truffle-ganache-geth-and-mist-8d6320e12269
Part 3: Security, limitations, and considerations
第三部分——安全性、限制、顾虑
https://hackernoon.com/ethereum-development-walkthrough-part-3-security-limitations-and-considerations-d482f05278b4
Part 4: Tokens and ERCs
第四部分——代币标准
https://hackernoon.com/ethereum-development-walkthrough-part-4-tokens-and-ercs-68645cf2f73e
Part 5: Making a DApp
第五部分——DApp开发
https://hackernoon.com/ethereum-development-walkthrough-part-5-making-a-dapp-4c2a3bbcd5e5
该系列文章为英文,可能需要科学上网。
注:Hackernoon这个网站是米芽每天必看的网站之一,其Slogan是how hackers start their afternoons.
以上两份教程对于有一定编程基础的小伙伴来说,两整天的时间绝对可以轻轻松松完成。只需要48小时之内,DApp新世界的大门就为你打开了。
下一步如何快速进阶?
1. 阅读已有DApp的智能合约
哪里找?DappReview(https://dapp.review)的网站上有每一个DApp的合约地址,点开直接转跳到etherscan查看合约源代码。(见下图)
注:点击“阅读原文”直接访问DappReview
2. 查阅各个开发工具的官方文档
以太坊wiki
https://github.com/ethereum/wiki/wiki
Solidity
https://solidity.readthedocs.io/
Metamask
https://github.com/MetaMask/faq/
Infura
https://infura.io/
Truffle
http://truffleframework.com/
其余工具官方文档请自行google
3. 做以下操作
有问题就Google
技术问题上Stackoverflow
多读Medium、Hackernoon
多逛逛各个开发工具的社区
关注DappReview(笑~~)
彩蛋福利
在北京时间4月20日前完成CryptoZombies教程中6节课的全部内容,将会得到Loom的以下奖励:
如果你不明白这4项奖励代表什么,请阅读Loom系列文章:
希望读完这篇文章后,你的这个周末可以从“看动漫+打游戏+睡懒觉的两天”变成48小时的DApp Hackathon。在开脑洞的过程中,如果想到有意思的DApp点子欢迎“勾搭”。
可能是最好用的DApp导航
https://dapp.review
点击“阅读原文"访问
关注米芽DappReview,你能获得什么?
各类Dapp评测
最新最快的Dapp指南,最前沿的底层生态解析
游戏Dapp开发方向和真知灼见
汇集了米芽从小到大近3000游戏涉猎的结晶
智能合约里面的坑
哪些游戏的合约有漏洞?可以作弊?
粉丝 ETH 抽奖计划
免费送钱你要不要?