背景

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

什么是DApp

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

DApp能干什么

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

怎么开发DApp

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

DApp的整体框架


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

DApp开发架构

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

开发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的开发有个整体的了解,我在后续会完善其他的后续部分

从零开始学区块链之初识dapp开发相关推荐

  1. 从零开始学区块链之dapp开发(2)测试环境搭建

    在前面的文章中已经从整体给大家介绍了dapp的架构,这一篇主要写一下DApp开发中的测试环境的搭建. 一.主要目标 这次主要完成2个目标 ganache 的安装和介绍 MetaMask的安装和介绍 二 ...

  2. 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token | 宠物领养

    初学记录 · 欢迎交流 区块链DApp从零开始学 (一) | DApp抓包 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token |宠物领养 区块链知识 (一) | 实例 ...

  3. 从零开始学前端:初识JavaScript --- 今天你学习了吗?(JS:Day01)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(JS) 复习:从零开始学前端:jQuery官网 - 今天你学习了吗?(CSS:Day26) 文章目录 从零开始学前端:程序猿小白也可以完全 ...

  4. 听TED唐.泰普史考特讲区块链(从零开始学区块链 199)

    今天看到这个带字幕的TED视频还是有点小激动的,立刻找到最近的带座位的地方写了这篇文章 这个视频真的很难得,虽然短,但里面说清楚了大量关于区块了的本质,也解决了我的很多困扰,远远超过这几天炒的很热的什 ...

  5. 从零开始学前端:初识函数,合法属性与自定义属性 --- 今天你学习了吗?(JS:Day2)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(JS) 复习:从零开始学前端:初识JavaScript - 今天你学习了吗?(JS:Day1) 文章目录 从零开始学前端:程序猿小白也可以 ...

  6. 简单介绍一下“前向安全”的知识(从零开始学区块链 137)

    这几天在研究如何保障数据可溯源,想从前向安全的方法中得到点启发,顺便把前向安全的知识发出来供大家参考 1997年,Anderson提出了前向安全数字签名的概念.前向安全的签名把公钥的生存期划分为很多时 ...

  7. 区块链与DApp开发(学习总结)

    0 区块链认知 开发区块链与Dapp所需知识 GO 语言: 联盟链.私有链的搭建,设立接口.监听 Solidity语言: 智能合约开发,区块链上的逻辑实现 Node.js : 监听.通信.RPC Ja ...

  8. 从零开始学区块链dapp开发之remix安装

    remix作为智能合约开发的知名工具,我会花一整章的时间来写下,这个会是我们后续开发智能合约的重要合作伙伴. 一.安装 为了方便起见,我们使用在线地址 remix 大致看起来是这样的. 二.链接本地文 ...

  9. python 区块链 开源_017孤荷凌寒从零开始学区块链第17天基本完成Python写的区块链...

    孤荷凌寒自学python第103天认识区块链017 [主要内容] 今天继续分析从github上获取的开源代码怎么实现简单区块链的入门知识,共用时间25分钟. (此外整理作笔记花费了约34分钟) 详细学 ...

最新文章

  1. 【每日一算法】填充同一层的兄弟节点
  2. netstat 命令(Linux)
  3. 在VMware Workstation中安装Ubuntu设置网络连接
  4. 面试题: mysql数据库 已看1 简单的sql练习
  5. 南京农业大学计算机保研率,2016中国大学保研率排名出炉 江苏11所高校入百强...
  6. maven私服nexus搭建(windows)
  7. 中间件及tomcat的内存溢出调优
  8. 进入“0”和“1”的世界
  9. Gartner最新发布:影响2022年基础设施和运营重大趋势
  10. qq数据泄露_有哪些良好的上网习惯,可以避免隐私泄露?
  11. java判断一个数值是否在数学区间范围内
  12. SQL FILESTREAM数据库中的事务日志备份
  13. 2017级C语言大作业 - 奇怪的大冒险
  14. ArcGIS空间统计-局部空间自相关
  15. Java接口配置框架magic-api
  16. RGB, YUV及相关标准
  17. winfrom给word加水印
  18. 使用Matlab将抖音视频转换成gif图片
  19. 计算机组成原理之计算机最基本的工作原理
  20. Windows 上安装 Bugzilla 详解

热门文章

  1. 【学生管理系统】权限管理之角色管理
  2. 通过路由器中继连接台式电脑和笔记本电脑网络
  3. 学习Python数据可视化遇到的异常错误(ax.get_xlabel(“值“,fontsize=14)15发生异常TypeError×AxesBase.get_xlabel()got an unex)
  4. 业务用例-财务公司吸收成员单位的存款,并根据吸收的存款开展贷款业务
  5. 更改桌面存储路径还原时出现“D:\system volume information”的解决办法
  6. 电子工程可以报考二建_【电子信息工程专业能考二级建造师吗_2020年二级建造师】- 环球网校...
  7. oppo 手机计算机历史记录,我想找到OPPOa57计算机的全部历史记录可以吗
  8. 2021年施工员-装饰方向-通用基础(施工员)考试报名及施工员-装饰方向-通用基础(施工员)模拟考试题库
  9. Altium designer -- 基本规则设置-- 覆铜设计Polygon
  10. selenium驱动IE常见问题解决