DAPP系统开发技术原理丨DAPP现成源码规则解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: DAPP系统开发技术原理丨DAPP现成源码规则解析

DAPP是Decentralized Application的缩写,中文叫分布式应用/去中心化应用,通常来说,不同的DAPP会采用不同的底层区块链开发平台和共识机制,或者自行发布代币(也可以使用基于相同区块链平台的通用代币)。

  一、DAPP究竟是什么?

  App我们都知道是客户端应用,是application的简称。DApp就是D+App,D是英文单词decentralization的首字母,单词翻译中文是去中心化,即DApp为去中心化应用。这是从字面上去理解这个概念,要在脑中形成清晰、准确、必要的概念,还需要深度去理解DApp。

  前面从字面上说是去中心化应用,App为什么需要去中心化呢?在回答这个问题前,得先知道另一个概念——智能合约。合约我们都知道,类似于合同、协议、契约等共同遵守的条例,而智能合约是电子版合同、数字化合约、智能化合约,是将合同合约用代码写成一段程序,这段代码一旦写好就公之于众,且无法修改无法篡改,当外界条件发生变化如违约或合同到期,智能合约会自动触发。

  举个例子:有一位作者想出书但没有钱,想通过众筹方式筹钱,于是TA和读者粉丝们约定好:出版后依据书的销量进行分成,并将约定好的内容写进智能合约。这样一来,如果书大卖后作者觉得不应该分这么多想单方面毁约或者修改内容,都无法成功,即使作者再强势读者再弱势,也没法改合约。因为合约已经在区块链上了,不再是一式两份,而是所有参与者都存储一份,所以作者不得不遵守合约规定。(不过如果发生法律纠纷,目前智能合约不纳入法律判断依据。)

区块链交易所技术开发公司 数字货币交易所开发 app交易所开发 去中心化交易所开发 区块链技术开发公司为您解读

  DApp就是智能合约+App。站在开发角度来看,DApp是前端界面+智能合约,前端就是和用户交互的,你可以选择各种命令,智能合约自然就是和区块链(分布式数据库)交互了。这里用一句非常直白的话来解释DAPP,那就是:把我们目前依靠IOS和Android系统开发的APP抓出来,扔在区块链系统上,结合智能合约,它就成了DAPP。

  二、DAPP(分布式应用)的特点

  1)运行在分布式网络上,完全开源、自治,且没有一个实体控制着该应用超51%Token。

  2)必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户达成共识之后方可进行。

  3)应用的数据加密后存储在公开的区块链上。

  4)应用必须拥有Token机制(可用基于相同底层区块链平台的通用代币或自行发行新币),矿工或应用维护节点需要得到代币奖励;

  5)应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。

  三、DAPP与APP有什么区别?

  需要特别强调一点,DApp与App之间并不是谁要淘汰谁的关系,二者是并存的。从字面上的含义来看,DApp与App之间的差别就是是否去中心化。实际上App是基于iOS和Android系统的应用,而DApp是基于区块链底层链(比如最流行开发平台:以太坊)建立的。我们都知道任何App都是运行在操作系统上的,而无法直接运行在裸机上。iOS和Android系统就是支撑App的操作系统,而区块链就是支撑DApp的操作系统。DApp和App最明显的区别就是操作系统不同,DApp和区块链有关系。

  四、DAPP的开发平台?

  当前,DAPP的最流行的开发平台是Ethereum(以太坊)。Ethereum(以太坊)是一个图灵完备的区块链一站式开发平台,采用多种编程语言实现协议,采用Go语言写的客户端作为默认客户端。它允许任何人在平台中建立和使用通过区块链技术运行的分布式应用。我们可以把它理解为区块链领域的Android,它是一个开发平台,用户可以像基于Android Framework一样基于区块链技术开发应用。

  五、DAPP的应用市场

  1)DApp之钱包

  钱包应用每条公链上都必须有,比特币有自己的钱包,以太坊也有自己的钱包,其他公链如国内的neo、qtum都有自己的钱包。

  2)DApp之内容

  区块链与内容垂直领域耦合性非常好,利用区块链的特性和技术,做内容的平台越来越多,在这赛道上竞争无比激烈,据我了解的有很多,如国外的steemit,国内的币乎、币问、Primas、

  3)DApp之物联网、人工智能

相关文章
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
76 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
79 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
65 0
|
2月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
69 0
|
2月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
91 0
|
2天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
2天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
2天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是"将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为5种:单例模式、工厂方法模式抽象工厂式、原型模式、建造者模式。
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
25天前
|
缓存 监控 Java
Java线程池提交任务流程底层源码与源码解析
【11月更文挑战第30天】嘿,各位技术爱好者们,今天咱们来聊聊Java线程池提交任务的底层源码与源码解析。作为一个资深的Java开发者,我相信你一定对线程池并不陌生。线程池作为并发编程中的一大利器,其重要性不言而喻。今天,我将以对话的方式,带你一步步深入线程池的奥秘,从概述到功能点,再到背景和业务点,最后到底层原理和示例,让你对线程池有一个全新的认识。
53 12
|
21天前
|
PyTorch Shell API
Ascend Extension for PyTorch的源码解析
本文介绍了Ascend对PyTorch代码的适配过程,包括源码下载、编译步骤及常见问题,详细解析了torch-npu编译后的文件结构和三种实现昇腾NPU算子调用的方式:通过torch的register方式、定义算子方式和API重定向映射方式。这对于开发者理解和使用Ascend平台上的PyTorch具有重要指导意义。

推荐镜像

更多