区块链开发以太坊智能合约的 ICO DApp(区块链智能合约开发实战)

书籍介绍

下面文字想表达的都在这张图里了,如果你赞同我的观点,还犹豫什么?赶紧动手吧!

区块链开发以太坊智能合约的 ICO DApp(区块链智能合约开发实战)

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

未来已来,只是尚未流行!区块链技术集密码学、分布式网络、经济学、社会学等多种学科之大成解决了分布式环境下的节点信任、共识问题,近年来的爆炸式发展引起了很多人的注意,相信看到这篇小册的你早就听说过比特币、ICO,甚至购买过区块链资产。

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

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

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

区块链开发以太坊智能合约的 ICO DApp(区块链智能合约开发实战)

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

本书目录

  1. 开篇:读完这篇小册能学到什么?
  2. 入门篇 1:区块链简明发展史:BTC 大饼?Ethereum 姨太?EOS 柚子?
  3. 入门篇 2:区块链核心概念和原理:账户?交易?区块?区块链?
  4. 入门篇 3:以太坊核心概念和原理:智能合约?以太坊网络?交互方式?
  5. 入门篇 4:使用 Metamask 创建自己的第一个以太坊 HD 钱包
  6. 入门篇 5:完成第一笔以太坊交易:给自己的钱包充值 18.75 ETH
  7. 入门篇 6:深入理解以太坊中的交易(Transaction)
  8. 入门篇 7:智能合约编程语言 Solidity 介绍及开发入门
  9. 入门篇 8:使用 Solidity 开发实现第一个简单的智能合约
  10. 入门篇 9:基于 Solidity 开发环境 Remix 的智能合约工作流详解
  11. 入门篇 10:部署智能合约时到底发生了什么?
  12. 入门篇 11:调用合约函数时到底发生了什么?
  13. 进阶篇 1:自建智能合约工作流的动机和目标
  14. 进阶篇 2:编写智能合约编译脚本:compile
  15. 进阶篇 3:编写智能合约部署脚本:deploy
  16. 进阶篇 4:使用 etherscan 和 remix 查看和测试合约实例
  17. 进阶篇 5:使用 mocha + web3.js + ganache 编写合约测试
  18. 实战篇 1:ICO 智能合约 DApp 项目要解决什么问题?
  19. 实战篇 2:ICO 智能合约的数据结构和接口设计
  20. 实战篇 3:ICO 智能合约开发和 Remix 测试:高阶 Solidity 数据结构
  21. 实战篇 4:ICO 智能合约重构:安全、性能、费用等最佳实践
  22. 实战篇 5:ICO 智能合约的编译、部署和自动化测试
  23. 实战篇 6:ICO DApp 的功能设计和原型图
  24. 实战篇 7:ICO DApp 的技术选型、路由规划、框架搭建
  25. 实战篇 8:ICO DApp 基本页面布局实现
  26. 实战篇 9:构建前后端通用的 Web3 实例
  27. 实战篇 10:在 ICO DApp 中渲染智能合约数据:项目列表页
  28. 实战篇 11:从 ICO DApp 向智能合约提交数据:项目创建页
  29. 实战篇 12:在 ICO DApp 中同时展示和提交合约数据:项目详情页
  30. 实战篇 13:ICO DApp 的项目资金管理功能
  31. 实战篇 14:众筹 DApp 的部署
  32. 回顾和总结

为什么有这本小册?

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

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

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

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

小册的内容划分为 5 大部分:

  • 入门篇(上):理解区块链原理与以太坊的运行机制,熟悉以太坊开发的基本概念,如账户、交易等;
  • 入门篇(下):Solidity 开发入门,基于 Remix 的智能合约工作流;
  • 进阶篇:基于现代前端环境的智能合约开发、构建、部署、测试工作流;
  • 实战篇(上):设计、开发、部署、测试 ICO 智能合约;
  • 实战篇(下):使用 web3、next.js 开发能和智能合约交互的ICO DApp,并能够部署上线;

你会得到什么?

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

  • 理解在以太坊上构建 DApp 需要掌握的关键概念,比如 Gas、Transaction;
  • 熟悉以太坊不同测试网络,以及测试网络提供工具的使用方法;
  • 熟悉 Solidity 语言,并用其开发真实的智能合约;
  • 熟悉以太坊智能合约调试工具 Remix 的基本用法;
  • 掌握设计、开发、测试、部署智能合约的工作流和最佳实践;
  • 熟悉以太坊智能合约工具库 web3 最新版的基本使用方法;
  • 熟悉 web3 和 next.js 结合使用的方方面面;
  • 构建并掌握完整的、能被重用的智能合约、DApp 应用架构和构建工具链条;

特别说明,为了方便不同前端技术背景的同学上手,小册中的众筹 DApp 使用了两种比较流行的前端技术栈来实现,代码仓库都附在了小册中,不管是你擅长、倾向于哪个框架,都可以基于以太坊智能合约开发 DApp

  • React.js + Next.js + Material UI;
  • Vue.js + Nuxt.js + ElementUI。

适合什么群体?

  • 具备基本的 JavaScript 知识,最好是写过 Web 应用,熟悉 npm 使用的同学;
  • 对区块链、以太坊、智能合约技术感兴趣,想做深入了解的前端同学;
  • 期望使用区块链技术开发能实际落地的应用的前端同学;
  • 期望储备区块链开发技能,为跨界区块链做好准备的前端同学;
  • 期望从事区块链行业的计算机相关专业学生;
  • 想抓取区块链行业红利,靠技能赚更多钱的同学;

你要准备什么?

  • Chrome 浏览器,部分开发和调试功能是在浏览器中进行的;
  • Node.js 运行环境,最好是 v8.x 以上版本,建议使用 nvm 来安装;
  • 可以用来输入和执行命令的终端程序,比如 Mac 下的 iTerm,或者 Windows 下的 cmder;
  • 你自己用起来舒服的编辑器,比如 VSCode,我写过两篇 VSCode 编辑器配置的文章,参见上和中;
  • 2 小时的闲暇时间,读完这本小册,再来 6 个小时上手实践,看看你的大脑会发生什么变化;

作者介绍

王仕军,爱折腾、爱分享的前端老司机,有以下作品:

  • 掘金专栏作者:王仕军,11250 人关注;
  • 掘金小册作者:《使用 npm script 构建超溜的前端工作流》,超过 1000 人购买;
  • 微信公众号前端周刊创办和维护者,2600 订阅;
  • 高质量技术视频教程作者:async/await、styled-components,网盘下载量近 3000 次。
(0)
上一篇 2020年4月22日 下午10:09
下一篇 2020年4月22日 下午11:01

相关推荐

发表回复

登录后才能评论