公链的爆发依赖于链上生态应用的建设与繁荣,通过链上应用将直接链接用户与区块链,最直接体现区块链公链价值。 链上应用就是我们通常所说的DAPP(Decentralize application)去中心化应用。 那什么样的应用,能被称之为DAPP呢?其实在计算机新生之后有限的几十年里,App(应用程序)本身就经历好几代演变与发展。 初代,单机应用 一个应用程序的所有元素都存放在一个独立的例程内部,在无需网络情况下也可独立执行。举个很简单的例子,小伙伴小时候玩过的插卡红白机如超级玛丽、魂斗罗就是经典的单机应用程序。 交互,网络应用 随着互联网的发展,应用程序可以通过客户端 - 服务器的模式,进行协同交互,应用体验和程序能力爆发式提高。代表应用如CS,红色警戒这类传统的网络游戏 稳定,分散应用 互联网进一步发展,网民用户也呈指数级增长,需要保证App在较高服务的同时,满足程序本身的稳定性、安全性。此时分散应用程序发展起来,应用程序的组成元素不再依赖单一节点而是分散到N个节点,这样即使在少数节点挂掉的情况下也不影响App的正常使用;如微信,淘宝等国民级应用。 共享,P2P应用 基于P2P网络构建运行的应用,App的组成分散到N个节点,节点与节点之间直接通信,数据存储、业务执行由各个节点协作执行,目前常见的有BitTorrent下载,区块链应用等模式。 应用类型的优劣特点对比: DApp的定义 透过App的发展历程,我们可以知道DApp就是P2P应用的一种,其本质就是基于区块链网络的“智能合约”,只需要在其外层包装一层接口,就可以让用户通过客户端使用。 传统App组成可以简单理解为: App= Frontend + Server,前端界面+中心化网络服务 那么DApp则可以简单理解为: DApp = Frontend + Contracts,前端界面+区块链智能合约 传统App的Server可以是单节点/分布式/云中的服务节点,它的特点是集中控制,由特定的一个或多个公司/组织/个人所有,属于集权模式,它的所有者可以控制应用的整个逻辑,所以被称为“中心化应用”。 而DApp中的Contracts(智能合约)则是部署在区块链网络中的程序逻辑,它运行在区块链网络中的所有节点内,各节点逻辑完全相同,而且节点所有者可以是任何人,一旦合约部署完成,它的行为不受任何特定的人控制,所以被称为“去中心化应用”。【想知道智能合约更多详情点击蓝字跳转】 在比特元如何实现一个DApp 设计和开发 一个典型的DApp组成如下: 前端: 用户端,可以是手机端App,也可以是网页,甚至可以是命令行,一般是直连区块链节点的RPC服务接口。 服务端(可选): 类似中心化应用的服务节点,这里主要是封装DApp自己的服务接口,下层对接区块链,上层对接用户端,为了更好的用户体验,也可能会做一些数据状态缓存。 区块链端: 常规区块链节点,对前端或服务端提供区块链的操作接口服务,如发送交易、调用合约、查询结果等动作。 而一个常规的DApp开发流程如下图所示: 流程主要包含前端和合约两部分内容的开发,合约最终是部署在区块链网络上的,DApp的执行通过链上虚拟机执行,结果链上存证,前端为用户交互界面。 不通过用户前端,使用区块链的命令行接口依然可以调用合约,实现DApp的完整逻辑。但是用户门槛太高,所以,一般正式的DApp都会提供前端供用户交互。 比特元DApp开放的扩展性 比特元DApp开发兼容多种开发语言EVM 兼容以太坊智能合约、WASM兼容EOS智能合约、JSVM兼容Javascript智能合约,其他公链DApp可无碍移植到比特元区块链网络运行。 —- 编译者/作者:比特理财 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
如何在比特元上开发一个DAPP?
2020-03-18 比特理财 来源:区块链网络
LOADING...
相关阅读:
- 币圈策略师:7.31比特币行情分析以及操作点位2020-07-31
- UNISWAP:国王已死,国王万岁2020-07-31
- 最早启动、最先回调、又再次爆发领涨的以太坊能否带起第二波行情?2020-07-31
- 58COIN改变背后:为什么是LINK、ADA、ZEC2020-07-31
- defibox你玩了吗?收益率如何?| defi到底有多不安全?| 以eos谈左、右侧2020-07-31