DApp是什么,想深入了解Dapp系统开发的欢迎打扰系
DApp(Decentralized Application)即分布式应用或去中心化应用。DApp就是智能合约+App。
一个真正的DApp应用,需要同时满足以下几个条件:
1.应用必须完全开源、自治,且没有一个实体控制该应用超过51%的-Token。该应用必须能够根据用户的反馈及技术要求
进行升级,且应用升级必须由大部分用户达成共识之后方可进行;
2.应用的数据必须加密后存储在公开的区块链上;
3.应用必须拥有Token机制,矿工或应用维护节点需得到代币奖励;
4.应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
如何分辨DApp与App
APP(Application)是日常手机中所下载的应用程序,例如Facebook、Line等等,DApp从字面上翻译则是去中心化的APP,
就像是去中心化的Facebook和Line,在网路上常看到因为政治或敏感发言而被Facebook惩处,在DApp中则不会有中心化的判
断或被处置状况出现。
如果工程师想开发一个App,传统的App必须要选择iOS或Android系统,DApp则必须开发在区块链的公链系统上,所以两
者之间的差异在于系统不同,以及整体是否是中心化管理,在App中所有的使用者资料都会被开发者所掌控,并储存在开发方
的资料平台上,使用者则难以追溯App的开发方式及细节,但在DApp中,资料加密后储存在区块链上,使用者可从区块链上了
解所有的开发资料,拥有自己在DApp中所拥有的任何虚拟资产的掌控权。
编程语言
编写一个DApp可以说是包括两部分,合约部分和业务逻辑部分。
智能合约
Solidity,类J*ascript,这是以太坊推荐的语言,也是z流行的智能合约语言,本文所有合约都使用该语言编写,另
外测试、调试Solidity有一个非常好的在线IDE–Remix,由以太坊团队推出的。由于考虑在线网络比较慢,可以使用本地
IDE,使用教程点这里。
DApp的三大特点
只要区块链上开发的APP都是DApp吗?答案是否定的,DApp必须符合开源、利用代币以及具有不变的算法支持,才算是一
个DApp。
开源(Open Source)
DApp必须是完全开源,让任何人都可以分享及运作,应用程序可自主运行,没有任何实体机构可控制代币,而且所有的
数据都必须以加密方式,分散式储存在公共去中心化区块链上。
算法(Algorithm)
DApp透过算法生成代币,代币必须与应用程序所提供的服务相关,如果有任何贡献或奖励机制必须透过此算法进行,算
法将公开于区块链上且不能被修改。例如***根据算法生成,而矿工则是为了奖励对***区块链的贡献,而获得***
奖励。
体制是否健全、是否有大量玩家愿意投入共同成就游戏元宇宙,以及重点交易所是否有支持游戏发行的***,才能真正
体现边玩边赚的价值。
另一方面,GameFi往往需要长期投入资金,市场上也没有相关的监管制度,在市场上也有曾开有开发商卷款潜逃的骗ju
产生,所以在决定投资前要注意项目方的背景,透过社群媒体确认项目方是否真的活跃,以及平台的真实性,以防受骗。
DApp与去中心化GameFi游戏的关系
在传统游戏中,玩家热衷于点数与宝物取得,但常常花时间获得的宝物,难以在现实世界中交易,交易也必须利用第三
方平台,很容易蒙受被诈骗的风险。区块链(GameFi)利用DApp的应用程序,结合了DeFi(去中心化金融)的金流性质、NFT
(非同质化代币)与游戏性,让使用者在享受游戏乐趣的同时,能结合金流流通,补足传统游戏中交易机能的不足,进一步
获取收益,达到「边玩边赚」(Play to Earn)目标。
区块链(GameFi)是DApp这两年窜升z快的应用领域,追踪网站DAppRadar统计,截至2022年3月,GameFi类型应用数量
超过1,450个,对比2021年的544个,短短时间内开发的DApp数量已经大增。
如果我想开发DApp,可以怎么做?
开发过程大致可以分为三个步骤:
1.根据应用需求来撰写智慧合约程序代码,完成部署于区块链上。
2.编写DApp的使用者介面,使用web3js撰写前端,经过http rpc协议访问智慧合约。
3.DApp所传送的每一笔交易将自动永久记录到区块链上。