## DApp的产生
App(Application)即应用,也就是我们常说的软件,在计算机诞生之后有限的几十年里,也经历了好几代演变,可以简单概括如下:
![](https://img.kancloud.cn/b8/83/b8831d163089f33cf374db7e4d3b97c8_800x210.jpg)
* **单机App:**
组成App的所有元素均存放在一个独立的节点内,无需网络也可使用,这是App存在的最早形态,如DOS系统,单机小游戏等;
* **网络App:**
可简单理解为经典的Client/Server模式,App由这两部分构成,可以存在1个以上不同的节点之上,缺一不可;如CS、红色警戒这些传统的网络游戏;
* **分布式App:**
App的组成元素分散到N个节点,少数节点挂掉的情况下也不影响App的正常使用;如微信、淘宝等;
* **P2P App:**
基于P2P网络的应用,App的组成或内容分散到N个节点,节点之间直接通信;目前常见的有BitTorrent下载、区块链应用等模式;
**各阶段App产生的背景及其优劣势对比分析:**
![](https://img.kancloud.cn/6f/4e/6f4e4633b7c705784bcb39c65773ee93_619x422.png)
**DApp的定义:**
DApp(Decentralized Application)又称“去中心化应用”,是相对传统中心化应用的另外一种叫法。其本质就是“智能合约”,只不过在其外层包装了一层接口,使之方便终端用户使用;传统App组成可以简单理解为:
> **App = Frontend + Server**
那么DApp则可以简单理解为:
> **DApp = Frontend + Contracts**
传统App的Server可以是单节点/分布式/云中的服务节点,它的特点是集中控制,由特定的一个或多个公司/组织/个人所有,属于集权模式,它的所有者可以控制应用的整个逻辑,所以被称为“中心化应用”;
而DApp中的Contracts(智能合约)则是部署在区块链网络中的程序逻辑,它运行在区块链网络中的所有节点内,各节点逻辑完全相同,而且节点所有者可以是任何人,一旦合约部署完成,它的行为不受任何特定的人控制,所以被称为“去中心化应用”。
## 2 DApp 设计及开发
一个典型的DApp组成如下:
![](https://img.kancloud.cn/c3/3a/c33a38f7419b1f47291ac80d520e0e98_627x505.png)
* **前端:**
用户端,可以是手机端App,也可以是网页,甚至可以是命令行,一般是直连区块链节点的RPC服务接口;
* **服务端(可选):**
类似中心化应用的服务节点,这里主要是封装DApp自己的服务接口,下层对接区块链,上层对接用户端,为了更好的用户体验,也可能会做一些数据状态缓存;
* **区块链端:**
常规区块链节点,对前端或服务端提供区块链的操作接口服务,如发送交易、调用合约、查询结果等动作;
**而一个常规的DApp开发流程如下图所示:**
![](https://img.kancloud.cn/51/4d/514d2828bc87366fe929289d6a682128_1920x432.jpg)
其实主要就是包含前端和合约两部分内容的开发,合约最终是部署在区块链网络上的,为DApp的主要执行逻辑,前端为用户交互界面;
即使不用前端,使用区块链的命令行接口依然可以调用合约,实现DApp的完整逻辑,但是用户门槛太高,所以,一般正式的DApp都会提供前端。
- WorldChain介绍
- DAPP
- 官方提供的免费RPC节点服务
- 开发指南
- 创建钱包以及账户
- Console控制台
- 管理账户
- 链接到联盟链网络
- RPC接口
- admin
- clique
- debug
- wsc
- les
- personal
- txpool
- Metamask工具相关帮助
- 1.如何下载安装Metamask
- 2.如何创建钱包地址
- 3.切换到WorldChain网络(重要)
- WSCSWAP(WSC主网去中心化交易所)
- 1.如何在WSCSWAP进行交易
- 2.如何发行一个子链并上架WSCSWAP
- 3.如何增加流动性
- 4.如何删除流动性
- Remix智能合约编译工具相关帮助
- 一键发链DAPP工具的相关帮助
- 免费申领开发主网代币
- 第三方支付平台
- 说明
- 获取充币地址
- 申请提币接口
- 充币到账通知
- 提币处理通知
- 全局错误码
- demo