上云无忧 > 文档中心 > 百度智能云超级链BaaS Fabric-Dapp开发指南 - Dapp架构及概要设计
超级链BaaS平台
百度智能云超级链BaaS Fabric-Dapp开发指南 - Dapp架构及概要设计

文档简介:
什么是Dapp: 如果我们熟悉web应用开发,一个经典的web应用架构是B/S结构的。 一般来说,我们开发完web应用后会把web服务部署到公网上,现在比较流行的方式是部署到云端VPS。无论在服务端我们用了什么负载均衡、容器化等技术,又无论客户端用户用的是浏览器还是一个API构造器。 【百度智能云】可信计算平台
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

什么是Dapp

如果我们熟悉web应用开发,一个经典的web应用架构是B/S结构的

一般来说,我们开发完web应用后会把web服务部署到公网上,现在比较流行的方式是部署到云端VPS。无论在服务端我们用了什么负载均衡、容器化等技术,又无论客户端用户用的是浏览器还是一个API构造器。实质上所有的客户都将通过请求我们部署的服务器暴露的HTTP接口来访问应用。在服务器上,我们写的web应用程序会再做一些数据操作,比如对数据库或缓存做CRUD操作,最终将结果反馈给客户端。

这个B/S架构如此流行,是因为它适用于绝大多数应用场景。但是也有例外,当用户或者服务提供者认为数据比应用更有价值,又或者服务提供者想提供的是数据服务,并想有效控制用户对数据写的权利。此时基于B/S结构的应用会显得力不从心。 和中心化的web应用不同,区块链使用一套开源的网络规范,提供了数据P2P实时共享同步的特性。终端客户可以随时将一个客户端设备接入区块链P2P网络,基于标准的协议,区块链终端将实时同步到最新的数据。在这个数据服务中,不再有中心化的服务端存在,这就是所谓的“对等无中心”特性。

Dapp是基于区块链构建的web应用,区别于B/S结构的传统web服务,Dapp充分吸取了区块链“对等无中心”的特点,采用了Browser/Blockchain的结构。对于服务商而言,只需将数据同步到区块链上,并定义一套详细的数据写规则。而数据的调用读取展示逻辑完全由数据的用户定义。这样既通过区块链保证了数据的可信,同时不同的数据用户也可以按需实现不同的Dapp来挖掘数据的价值。和中心化的web应用不同,区块链使用一套开源的网络规范,提供了数据P2P实时共享同步的特性。终端客户可以随时将一个客户端设备接入区块链P2P网络,基于标准的协议,区块链终端将实时同步到最新的数据。

下图是一个典型的Dapp架构。

我们要实现什么Dapp

我们要实现的是一个基于区块链的便签板应用。页面效果图如下

用户可以在便签板上添加新的便签或者修改已有的便签,所有在浏览器上打开了这个Dapp的用户都可以同步看到便签的更新,便签被更新的通知。 这是一个实现起来相对简单的Dapp,本文档会详细介绍它的实现过程。

便签板Dapp简介

这个Dapp主要由两部分组成,包括部署在Fabric网络中的智能合约以及依赖智能合约负责业务功能交互的web应用。Fabric中的智能合约被称作链码,本Dapp中链码采用golang开发,而web应用使用react框架+JavaScript+Node.js实现。 Dapp组件间的调用关系如图。

我们所要开发便签板应用较为简单,核心功能是将用户创建的文本便签存储到区块链上。需要实现的关键用例只有三个

  1. 用户新建便签 用户点击新增,在编辑窗口中写入便签题目和便签内容,点击“上链”。应用将便签(便签题目、便签内容)存入,再将编辑窗口关闭。
  2. 用户更新便签 用户点击需要更新的便签,在编辑窗口中修改便签题目或便签内容,点击“上链”。应用将便签(便签题目、便签正文)更新,再将编辑窗口关闭。
  3. 用户查看所有便签 用户打开应用即可看到所有链上的便签,即便签板。便签分为便签题目和便签内容,在便签板上由于空间有限,每个便签题目和正文只能显示最多20个字符。用户可以点击某一个便签打开编辑更新面板,即可查看全部内容。
相似文档
  • IDE环境准备: 本文采用Go语言开发Fabric链码,Golang IDE请读者自行准备。 链码实现: 编写链码的Golang基础语法请读者自行阅读或参考完整源码,这里主要介绍便签板合约的主要实现。 【百度智能云】可信计算平台
  • Dapp应用层要做什么: Dapp应用层最主要的是实现用户侧的交互逻辑,包括web页面和页面事件响应。同时不同的操作会带来不同的事件,我们还需要针对页面事件去调用后端链码方法,存入便签、更新便签、读取便签等。 【百度智能云】可信计算平台
  • Dapp部署是指将我们开发完成的Dapp应用层进行部署。因为Dapp应用层只是一个前端React App,理论上我们只是寻找一个Dapp js的托管服务器。当用户访问Dapp的线上地址时,浏览器获得HTML+CSS+JS,之后所有的交互响应都不再与托管服务器有关。 【百度智能云】可信计算平台
  • Quorum联盟链操作演示: 介绍百度智能云Quorum联盟链和使用联盟链配置便签的演示操作。 【百度智能云】可信计算平台
  • XUPERBAAS常见问题: 1. XUPERBAAS 如何处理欠费网络? XUPERBAAS 会保留欠费网络七天,七天后会自动删除网络。欠费期间网络不可用,充值后网络才可恢复使用。 【百度智能云】可信计算平台
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部