Py学习  »  区块链

区块链开发入门:基于以太坊智能合约构建 ICO DApp

程序员的那些事 • 5 年前 • 458 次点击  

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



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

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


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


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


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



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


随着技术的发展,区块链开发不再局限于底层的 C++/Go 开发,在成熟的应用平台上构建 DApp(Decentralized Application,去中心化的应用)要求工程师对区块链底层技术有正确理解即可,大量的开发工作集中在业务逻辑和用户界面上,随着底层技术的成熟,对 DApp 应用研发工程师的需求也会出现井喷式的增长,而前端工程师在这方面有着天然的优势。


为什么有这本小册?

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



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


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


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


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

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

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

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

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

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


作者介绍


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


  • 6 年以上前端开发经验,4 年大型互联网公司工作经验;

  • 前端周刊主笔,掘金专栏作者:王仕军

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

  • 熟知(是的,到现在我还不敢说精通) JavascriptNode.js

  • 入坑区块链 1 年,接触区块链开发半年,对区块链技术有广泛涉猎;

  • 对开发效率和软件质量有极致追求。

目标是 Be a Power User of Everything


你会得到什么?

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

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

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

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

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

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

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

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

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


适合什么群体?

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

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

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

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

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

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



最后如果你有兴趣,可以通过长按下方的二维码,以及复制好程序员的那些事专属优惠码(code)享受5折优惠购买。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/U1QWBscpOS
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/12504
 
458 次点击