小册上新 | 区块链开发入门:从 0 到 1 构建基于以太坊智能合约的 ICO DApp

写给前端开发者的第一本区块链开发入门指南,通过从 0 到 1 实战开发一个 ICO DApp 项目(基于 V 神的 DAICO 设计思想),深入掌握区块链及以太坊技术。


为什么要选择区块链开发?

未来已来,只是尚未流行!区块链技术的爆炸式发展引起了很多人的关注,相信看到这篇文章的你早就听说过比特币、ICO,甚至购买过区块链资产。

区块链技术集密码学、分布式网络、经济学、社会学等多种学科之大成,使用共识算法(Consensus Algorithm)、公开账本(Open Ledger)解决了一个实实在在的问题:分布式环境下节点之间的信任和双花(Double Spending)问题。

区块链是个天然和钱离得很近的领域,离钱越近就越容易赚到钱,尽早开始准备并在区块链领域站稳脚跟的人将能享受到行业崛起的巨大红利,就像四年前的微信公众号,两年前的知识付费,一年前的微信小程序。

然而,从对身边同学的观察来看,前端工程师很容易产生区块链是底层技术、离前端很远的错觉。实际上任何区块链应用落地都需要以为用户创造实实在在的价值为基础,区块链应用的用户不会仅限于少数极客,有普通用户就需要界面,有界面就需要前端工程师。

区块链可以简单理解为分布式的、公开的、不可篡改的数据库,区块链应用在项目架构、前后端交互方式等方面和传统的端应用会有比较大的差别。从技术栈的视角来看,如下图,构建在分布式网络、公开账本、共识算法等三个核心要素之上的智能合约和 DApp 才是未来百花齐放的地方,底层协议会逐渐趋于稳定。

那么,作为前端工程师,我们在区块链领域的机会到底在哪里?炒币?貌似不是长久之计。如果说做成任何事情都需要依赖技能和和运气两个要素,不同的事情只是两种要素的比重不同,那么理智的人会想尽办法让事情更依赖技能,而不是运气。


为什么要选以太坊?

以太坊(Ethereum)是目前最成熟的、最被广泛使用的、支持构建和部署基于智能合约的 DApp 的区块链应用平台,根据 State of DApps 的统计,目前运行在以太坊上的应用多达 1379 个,这些 DApp 全部由两部分组成:存储在以太坊网络上的智能合约(使用 Solidity 编写,和 JS 很类似,未来 EOS 也会支持使用 Solidity 编写智能合约),以及能和智能合约交互的用 Web 技术开发的 DApp。

围绕以太坊的 DApp 开发生态是目前相对最成熟的,比如有开发框架 Truffle,有智能合约在线集成开发环境 Remix,还有专设的 StackExchange 开发者问答频道。

为什么有这本小册?

Blockchain is hard,虽然我们不愿承认,但事实摆在面前。围绕以太坊有大量的开发工具可以使用,但是它们的演化和迭代却非常快,很多工具、框架、库的教程可能过两周就过时了,或者接口不再兼容了,这成了很多新同学入门区块链开发时最大的障碍,这也是这本小册的切入点:前端工程师写给前端工程师的以太坊智能合约和 DApp 开发入门指南

学会某个新技术的最佳路径是先掌握最小可用知识(Minimum Actionable Knowledge),然后立马动手开始做,在做的过程中不断优化和迭代自己对新技术的理解和掌握。

在这本小册里我会把最近半年摸索出来的以太坊智能合约、DApp 开发套路、最佳实践悉数分享给你,无需花费大量的时间去做诸如启动本地测试网络、编译和运行全节点之类的事情,在只依赖核心工具如 solc、Chrome 的情况下,用由浅入深的方式手把手带你熟悉 Solidity 智能合约开发、测试、部署,搭建和智能合约交互的 DApp 开发框架,为成为区块链工程师做好准备。

文不如表,表不如图,在小册中使用了大量的图片(目前完成度 35%,插图 55 幅)和类比,即使你完全没接触过区块链,也能轻松理解区块链世界里面的关键概念。

小册的内容划分为 5 大部分(目录如下图):

  • 入门篇(上):理解区块链原理与以太坊的运行机制,熟悉以太坊开发的基本概念,如账户、交易等;

  • 入门篇(下):Solidity 开发入门,基于 Remix 的智能合约工作流;

  • 进阶篇:基于现代前端环境的智能合约开发、构建、部署、测试工作流;

  • 实战篇(上):设计、开发、部署、测试 ICO 智能合约;

  • 实战篇(下):使用 web3、next.js 开发能和智能合约交互的ICO DApp;

作者介绍

王仕军,爱折腾、爱分享的前端老司机:

  • 掘金专栏作者:王仕军;

  • 掘金小册作者:《使用 npm script 构建超溜的前端工作流》;

  • 微信公众号「前端周刊」创办和维护者;

  • 高质量技术视频教程作者:async/await、styled-components。

名人推荐

你会得到什么?

在小册中,你将学会在自己熟悉的前端开发环境中组合使用 Ethereum、Solidity、JavaScript 编写、调试、测试、部署和管理自己的 DApp 的基本方法。具体包括:

  • 理解在以太坊上构建 DApp 需要掌握的关键概念,比如 Gas、Transaction;

  • 熟悉以太坊不同测试网络,以及测试网络提供工具的使用方法;

  • 熟悉 Solidity 语言,并用其开发真实的智能合约;

  • 熟悉以太坊智能合约调试工具 Remix 的基本用法;

  • 掌握设计、开发、测试、部署智能合约的工作流和最佳实践;

  • 熟悉以太坊智能合约工具库 web3 最新版的基本使用方法;

  • 熟悉 web3 和 next.js 结合使用的方方面面;

  • 构建并掌握完整的、能被重用的智能合约、DApp 应用架构和构建工具链条;

适合什么群体?

  • 具备基本的 JavaScript 知识,最好是写过 Web 应用,熟悉 npm 使用的同学;

  • 对区块链、以太坊、智能合约技术感兴趣,想做深入了解的前端同学;

  • 期望使用区块链技术开发能实际落地的应用的前端同学;

  • 期望储备区块链开发技能,为跨界区块链做好准备的前端同学;

  • 期望从事区块链行业的计算机相关专业学生;

  • 想抓取区块链行业红利,靠技能赚更多钱的同学;

你要准备什么?

  • Chrome 浏览器,部分开发和调试功能是在浏览器中进行的;

  • Node.js 运行环境,最好是 v8.x 以上版本,建议使用 nvm 来安装;

  • 可以用来输入和执行命令的终端程序,比如 Mac 下的 iTerm,或者 Windows 下的 cmder;

  • 你自己用起来舒服的编辑器,比如 VSCode,我写过两篇 VSCode 编辑器配置的文章,参见上和中;

  • 2 小时的闲暇时间,读完这本小册,并能自己上手实践,因为纸上得来终觉浅;

诚意满满的读者福利

  • 福利一:限时优惠,小册上新期间,掘金用户可以享受 7 折优惠(6月7日恢复原价),现在即可点击左下角“阅读原文”购买;

  • 福利二:抽奖活动,读者群内 5 月 31 日前每天会有抽奖,奖品为有真实价值的区块链代币(抽奖使用微信小程序,发奖过程公开透明):

    • 05月18日 ~ 05月22日,每天的奖品是价值 1 枚 EOS or 等值的 ETH ,据说握住会价值不菲;

    • 05月23日 ~ 05月31日,每天的奖品是 1000 枚 * (2 份)Candy,李笑来操刀运作的糖果代币,拿三年试试?

  • 福利三:专属折扣券,凡在限时优惠期间购买本小册的读者,都会获赠专属 5 折折扣券,可用于购买廖雪峰老师的《数字货币与区块链原理》小册,更系统全面的理解和掌握区块链开发必备知识;


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值