从零开始学区块链之初识dapp开发

dapp开发的一个整体架构的梳理

背景

之前对区块链的认知一直停留在挖矿、炒币的阶段。在国内封禁了挖矿和炒币之后,还以为区块链的风口就过去了。万万没想到,大家的NTF还挺火的。于是有了更深入了解的动力。

什么是DApp

app 大家熟悉吧。就是我们常用的各种应用。那 d 是什么呢? 区块链的去中心化特性大家应该是熟悉的,那去中心化用英语怎么说?decentralization 就是了。按照惯例,取个首字母加上去,就成了DApp,即去中心化应用

DApp能干什么

你现在手机上的app能干嘛,从理论上基本都可以。但是对交易速度有要求的就不太合适了,毕竟区块链的一个特性就是速度慢

怎么开发DApp

作为一个多年的app开发人员,对DApp的开发欲望是无法控制的。那么我就聊下DApp的开发流程。

DApp的整体框架

.png

整个看来,架构有三大部分 1、区块链以及本身提供的能力 2、三方钱包等提供的能力 3、我们要写的DApp部分 前两部分,不需要我们参与开发,我们能做的,最多就是选择用哪个。 但是第三部分就不一样了,这个才是我们的主战场

DApp开发架构

从我们开发的Dapp来说,也可以分为三层 1、和EVM交互的合约层 2、和合约层、钱包交互的交互库 3、做业务的业务层,该层会和用户以及第二层交互

4d186d07d4d7b6b8bad21fa69c3bcd3a.jpeg

开发DApp的准备

技术选型

1、链用的是ETH 2、钱包使用了MetaMask,这是一个比较完善的钱包了 3、合约层用的是solidity 4、交互库 用的比较多的是web3js 5、业务层框架的话,就看自己喜欢用什么了,vue、react 都是OK的

环境搭建

为了做开发,那一定是要有一个开发环境的。 到DApp的开发中来说,4、5是前端的知识,这个部分自己去解决,默认大家都懂了; 那我们现在要解决的就是模拟链(毕竟真链上的操作都是要花钱的)、钱包和合约的问题测试环境 1、链的模拟的话,我们可以用ganache 2、钱包用MetaMask 3、solidity既然是一个编程语言,并且要跑再EVM上,那就有 编写、编译、测试和调试的地方,这里推荐使用remix

总结

大家先对DApp的开发有个整体的了解,我在后续会完善其他的后续部分

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
arige
arige

1 篇文章, 80 学分