智能合约与DApp的关系与区别

简介: 以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App,简称DApp)。

以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App,简称DApp)。DApp的目标是(或者应该是)让智能合约有一个友好的界面,外加一些额外的东西,例如IPFS(可以存储和读取数据的去中心化网络,不是出自以太坊团队,但有类似的精神)。DApp可以在一台与以太坊节点交互的中心化服务器上运行,也可以在任意一个以太坊平等节点上运行。

提示:与一般的网站不同,DApp不能在普通的服务器上运行。它需要提交交易到区块链并且从区块链而不是中心化数据库读取重要数据。相对于典型的用户登录系统,用户有可能被表示成一个“钱包”地址而其他用户数据保存在本地。许多事情都会与目前的Web应用有着不同的架构。

DApp流程如下。

1)用Solidity(或其他语言)编写智能合约(后缀为.sol)。

2)用sole编译器将.sol合约编译成EVM字节码。

3)编译好的字节码回送给DApp前端。

4)前端将编译好的智能合约部署到区块链中。

5)区块链返回智能合约地址+ABI(合约接口的二进制表示。合约接口用JS0N表示,包括变量、事件和可以调用的方法)。

6)前端通过Address+ABI+nonce,调用智能合约。

7)智能合约开始处理。

智能合约技术的产生对互联网变革非常重要,但是不能直接用于支撑DApp应用生态环境。侧链、VM也撑不起应用生态,因为我们知道应用运行于0S之上,而不是直接运行在裸机之上。一定程度上讲,VM、侧链可以类比图灵等价的裸机。

Elastos Carrier作为去中心化的互联网支撑平台,需要Elastos Chain区块链的可信服务以及Elastos Runtime虚拟运行环境来承载DApp应用。Elastos Chain并不直接暴露给DApp开发SDK。也就是说,对于Serverless App或说Decentrallized App,除了用户ID、微网站(没有互联网固定ID地址的网站)ID、数字资产(游戏、应用、多媒体内容等)ID不能作假,点对点可以交易之外,DApp根本看不到什么是智能合约技术。

相关文章
|
存储 前端开发 算法
DAPP系统开发智能合约系统去中心化系统模式定制开发
去中心化,是互联网发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。
|
安全 前端开发 算法
DAPP智能合约链上系统开发逻辑规则定制部署
DAPP 智能合约链上系统开发是区块链技术的一个重要应用,它可以使去中心化应用程序(DApps)更加安全、高效、便捷地运行。本文将介绍 DAPP 智能合约链上系统开发的规则和详情,以及源码版的设计思路。
|
存储 监控 算法
DAPP链上质押项目系统开发|DAPP合约模式开发案例
DAPP不依赖中心化机构也不受单一实体控制,因此DAPP可以减少中心化机构的意见干扰
|
JSON 前端开发 编译器
链上DAPP系统开发|DApp智能合约开发搭建技术
合约可以调用其他合约,只需知道地址和ABI,我们就可以在合约内部调用其他合约,需要注意的是,调用合约也是事务性操作,因此,你不需要通过手动管理异步操作的方式来等待返回结果。在合约内部调用其他合约需要消耗额外的Gas费用。
链上DAPP系统开发|DApp智能合约开发搭建技术
|
人工智能 算法 区块链
DAPP智能合约去中心化开发(稳定版)丨DAPP智能合约去中心化系统开发(详情及逻辑)丨DAPP智能合约去中心源码系统
  人工智能(Artificial Intelligence,简称AI)是指计算机系统在完成类似人类智力所需的任务时所表现出来的能力。它是一种复杂的技术,通过将大量的数据输入到算法中进行学习,不断调整和改进自己的算法,从而不断优化其性能。
|
前端开发 API 区块链
BABA智能合约投票DAO模式dapp系统开发|智能合约实现技术分析
BABA智能合约投票DAO模式dapp系统开发|智能合约实现技术分析
|
程序员 区块链
智能合约DAPP项目系统开发技术逻辑(dEOM)
智能合约DAPP项目系统开发技术逻辑(dEOM)
224 0
|
区块链
DAPP智能合约系统丨DAPP智能合约系统开发成功案例分析丨DAPP智能合约源码平台
QueryContract(contractName,method string,kvs[]*common.KeyValuePair,timeout int64)(*common.TxResponse,error)
|
数据处理 网络安全 区块链
智能合约系统丨智能合约DAPP系统开发(方案及逻辑)丨智能合约开发源码案例部署
以太坊是一个区块链平台,拥有自己的加密货币,称为以太(ETH)或以太坊,以及自己的编程语言,称Solidity。
|
存储 JavaScript 前端开发
什么是DAPP智能合约系统开发?链上DAPP智能合约系统开发原理及详细
 Web 3.0的纽带作用:   与DAPP浏览器相辅相成的是其底层网络架构Web 3.0,这是和信息互联网时代传统浏览器基于的Web 2.0完全不同的体系架构。区块链技术,尤其是ETH的出现使Web 3.0成为基于区块链进行价值传递的基础网络。
什么是DAPP智能合约系统开发?链上DAPP智能合约系统开发原理及详细