4

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

 2 years ago
source link: https://learnblockchain.cn/article/3383
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

从零开始学区块链之初识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的开发有个整体的了解,我在后续会完善其他的后续部分

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

  • 发表于 4天前
  • 阅读 ( 183 )
  • 学分 ( 21 )
  • 分类:DApp

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK