写在前面
本篇文章将带领你从零学会一个Dapp开发,笔者从最初的不了解区块链概念到如今精通Dapp、智能合约开发,中间踩过无数的坑,经历过无数困难!
去中心化应用(decentralized application),或简称DApp,通常与区块链平台例如以太坊相联系,是一个在分布式点对点网络上运行的应用程序,而不是在一台中央计算机上。这样做的主要好处是,网络的用户不依赖于中央计算机来发送和接收信息。
为了充分理解去中心化应用程序与中心化应用程序之间的区别,我们可以看一下中心化应用程序的一些例子,如Facebook、微博和YouTube。这些都是中心化式应用程序的示例,因为为了使用它们,用户依赖于由中央实体拥有和操作的服务器和网络。这与去中心化应用相反,在去中心化应用中,用户不依赖于中央实体来发送和接收信息。
即使DApp不一定需要区块链,大多数DApps都利用区块链技术的强大功能,例如智能合同。智能合同是旨在执行协议条款的自动执行合同。例如,如果您想购买房子,此过程将涉及多个第三方,如房地产代理和律师,他们将为您解决购买问题。然而,在使用智能合同的情况下,这一过程只需要买方和卖方参与。一旦满足所有条件,智能合同将独立于任何第三方执行。
DApps依赖智能合同来访问区块链并运行,这与中心化应用程序依赖中心化服务器运行的方式非常相似。如果你不完全确定什么是区块链,那么看看后面的解释。
以下是应用程序在真正被视为去中心化之前的一些常见要求:
去中心化应用对比中心化应用区别:
项目 | 中心化应用 | 去中心化应用 |
代码开源 | 闭源 | 完全开源 |
数据存放 | 中心化存储 | 存放在智能合约,公平公开化 |
公平性 | 不透明化,暗箱操作 | 公平公正 |
运行效率 | 取决于服务器配置,效率较高 | 运行效率取决于公链节点,不可控 |
手续费 | 用户无需手续费,体验好 | 需要手续费,手续费多少取决于代码量 |
1. 需要知道自己用什么公链?
这一步需要准备:
公链的节点rpc接口(公用节点或者自建节点)
公链钱包
公链gas对应的代币
2. 需要学习熟悉公链接口访问形式
例如,使用js Java 等语言时候需要学习对应的工具包(web3.js web3j)
3. 需要准备好dapp浏览器,或者钱包插件
这个可以使用开源APP或者开源钱包插件安装在浏览器
1. 第一步开发智能合约
一般选择以太坊合约、bsc合约、tron合约 建议采用solidity语言
2. 第二步部署智能合约
可以先在测试网部署智能合约,需要到测试网对应的水龙头申请测试币
部署一般使用remix工具部署
3. 第三步开发dapp前端
一般采用vue框架开发前端。前端涉及钱包连接,合约调用,数据查询,一般dapp需要有后端支撑
4. 第四步后端开发
一般dapp需要后端作为辅助,为了提高用户体验。也可以不开发后端,纯前端与合约交互
1. web3(web3j web3.js等)
2. vue 前端框架
3. metamask插件
本人已开放区块链专栏,欢迎大家订阅,有任何问题欢迎咨询!
【区块链 | DAPP】Dapp应该怎么开发?分享一篇Dapp开发的逻辑(分享) 更新中~