智能合约与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合约模式开发案例
DAPP不依赖中心化机构也不受单一实体控制,因此DAPP可以减少中心化机构的意见干扰
|
API 区块链 Python
  Avalanche公链dapp项目开发特性分析
Avalanche 是一种开放的区块链协议,它旨在实现高度可扩展、高性能和去中心化的应用程序。Avalanche 具有自己的公链,也被称为 Avalanche 公链。
|
JSON 前端开发 编译器
链上DAPP系统开发|DApp智能合约开发搭建技术
合约可以调用其他合约,只需知道地址和ABI,我们就可以在合约内部调用其他合约,需要注意的是,调用合约也是事务性操作,因此,你不需要通过手动管理异步操作的方式来等待返回结果。在合约内部调用其他合约需要消耗额外的Gas费用。
链上DAPP系统开发|DApp智能合约开发搭建技术
|
人工智能 算法 区块链
DAPP智能合约去中心化开发(稳定版)丨DAPP智能合约去中心化系统开发(详情及逻辑)丨DAPP智能合约去中心源码系统
  人工智能(Artificial Intelligence,简称AI)是指计算机系统在完成类似人类智力所需的任务时所表现出来的能力。它是一种复杂的技术,通过将大量的数据输入到算法中进行学习,不断调整和改进自己的算法,从而不断优化其性能。
|
前端开发 API 区块链
BABA智能合约投票DAO模式dapp系统开发|智能合约实现技术分析
BABA智能合约投票DAO模式dapp系统开发|智能合约实现技术分析
|
区块链 数据安全/隐私保护
DAPP马蹄链智能合约开发功能丨DAPP马蹄链智能合约系统开发技术详细及分析丨DAPP马蹄链智能合约源码版
  什么是智能合约?智能合约,又称加密合约,是在一定条件下可以直接控制数字资产或资产在各方之间转移的一种计算机程序z--Guts。智能合约不仅以与传统合约相同的方式定义了协议的规则和处罚,还可以自动强制执行这些义务。它通过接受信息作为输入,通过规则为输入赋值,在合约中列出并执行这些合约条款所要求的行为。
|
程序员 区块链
智能合约DAPP项目系统开发技术逻辑(dEOM)
智能合约DAPP项目系统开发技术逻辑(dEOM)
224 0
|
区块链
DAPP智能合约系统丨DAPP智能合约系统开发成功案例分析丨DAPP智能合约源码平台
QueryContract(contractName,method string,kvs[]*common.KeyValuePair,timeout int64)(*common.TxResponse,error)