区块链 链上脚本、智能合约和Dapp的关系区别
1. 链上脚本(script)
实现某个功能的一段计算机指令
2. 智能合约(smart contract)
相当于一个类,里面有很多函数,每个函数实现不同的功能。
相当于脚本代码的升级版
3. 去中心化的APP(Dapp)
没有中心服务器,运行在去中心化、分布式节点上的APP。
Dapp = 前端(web、app)+ 后端(智能合约)
以太坊社区把基于智能合约的应用称为去中心化的应用程序(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、侧链可以类比图灵等价的裸机。
https://www.jinse.com/news/blockchain/774147.html
https://blog.csdn.net/wlhdo71920145/article/details/80476257
区块链 链上脚本、智能合约和Dapp的关系区别相关推荐
- 在百度超级链Xuper上部署智能合约并实现存证功能
现实生活中的使用场景 几个摄影师朋友找到你, 他们的摄影作品上传到自己的blog后总是被其他人盗用, 使用水印之类的方法也无法避免像截取部分这种情况, 他们需要一个能证明摄影作品最早是由 自己上传.而 ...
- 区块链研习 | 区块链里所说的“智能合约”是什么? 本文作者:敖萌 编辑:温晓桦 2017-10-11 20:31 导语:谈到区块链,必然离不开“智能合约”这个词。我们在本系列的第一篇文章中提到“智能
区块链研习 | 区块链里所说的"智能合约"是什么? 本文作者:敖萌 编辑:温晓桦 2017-10-11 20:31 导语:谈到区块链,必然离不开"智能合约"这个 ...
- 行走在区块链上的智能合约
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 我和你打一个赌,我赌明天是雨天,你赌是晴天,赌注100大洋.假设明天是晴天,然后你跑过来管我要100大洋的赌金,我装疯卖 ...
- 以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约
以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约 在上一篇文章中,我们使用Truffle自带的客户端Truffle Develop,在私有链上搭建并运行了官方提供的WebPack智能合 ...
- Truffle 4.0、Geth 1.7.2、TestRPC在私有链上搭建智能合约
1.什么是 Truffle? Truffle 是最流行的开发框架,能够在本地编译.部署智能合约,使命是让开发更容易. Truffle 需要以太坊客户端支持,需要支持标准的JSON RPC API. 2 ...
- 区块链兼容以太坊智能合约
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 引言 随着区块链技术以及应用的普及,越来越多的区块链出现在大众视野中.由于区块链技术的开源特性,任何公司和个人都可以方便 ...
- 石墨烯区块链(5)智能合约
1. 定义 没有通常意义上的智能合约.所有业务逻辑都嵌入在网络中.换句话说,为了创建智能合约,需要修改石墨烯源代码.石墨烯区块链实现使我们能够轻松地向网络添加自定义操作. 2. Graphene 中的 ...
- 区块链安全-以太坊智能合约静态分析
概述 目前,以太坊智能合约的安全事件频发,从The DAO事件到最近的Fomo3D奖池被盗,每次安全问题的破坏力都是巨大的,如何正确防范智能合约的安全漏洞成了当务之急.本文主要讲解了如何通过对智能合约 ...
- 区块链学习5:智能合约Smart contract原理及发展历程科普知识
☞ ░ 前往老猿Python博文目录 ░ 一.智能合约的定义 通俗来说,智能合约就是一种在计算机系统上,当一定条件满足的情况下可被自动执行的合约,智能合约体现为一段代码及其运行环境.例如银行信用卡的自 ...
- 尚硅谷以太坊区块链学习之NFT智能合约(6)
尚硅谷以太坊区块链学习之NFT智能合约(6) 前言 一.NFT智能合约 1.智能合约代码 2.智能合约推送 3.具体调用 二.具体使用 三.NFT商家智能合约 前言 提示:服务外包区块链学习 5被ba ...
最新文章
- 以太网帧最小字节数以及以太网碰撞
- 博士真正搞科研的姿势,是这样的
- springboot profiles
- hive 强转为string_Hive(二)【数据类型、类型转换】
- 10 Redis 主从复制
- 视频 + PPT 下载 | 《财富管理数字化转型现状与趋势洞察报告》解读第一讲
- jQuery工作原理解析以及源代码示例
- 编写彩色空间转换程序:YUVtoRGB
- 编码服务正在步入云端
- 【EXLIBRIS】纸版书目整理 -- 大书架 上 【292 种】【327册】
- linux串口写入命令失败,linux – 从串口读取失败
- 陈新宇:CKafka在人脸识别PAAS中的应用
- Kaldi AMI数据集脚本学习1----cmd.sh和path.sh
- 【Matlab学习笔记】【函数学习】nargin 参数
- 史上最全App瘦身实践
- python中sqrt函数用法_Python : sqrt() 函数
- 用python制作电子时钟包装_使用电子水墨屏和树莓派制作的时钟,Epaper_clock
- Nginx 部署、反向代理配置、负载均衡
- 侯捷C++八部曲笔记(四、C++2.0新特性)
- 《反恐特警组》(S.W.A.T.)影片介绍