当学习区块链去到DApp (Decentralized Application 去中心化应用)、Smart Contract (智能合约) 实作阶段的时候,通常会有个疑问:

到底DApp 与Smart Contract 是否一样是否写好了Smart Contract 并部署到区块链上就等同于做好了一个DApp

非也!Smart Contract 是组成中DApp 的一个部份,是连接应用前端(网页、手机APP)与区块链之间的一个桥梁。

此话何解继续往下看:

以传统网页应用App 为例,一般透过API从资料库(Database)中读取资料,使用HTML, CSS, JavaScript 用作渲染网页并将数据显示出来。它们之间关系可简单理解为:

网页前端(HTML, CSS, JavaScript) <-> API <-> 资料库

然而,DApp 与Smart Contract 之间的关系犹如网页前端与API 一样。前端所使用的技术,即HTML, CSS, JavaScript 等都与一般网页应用一样,不同的是DApp 最终访问的是区块链Blockchain,而不是传统中心化的资料库。它们之间关系亦可简单理解为:

网页前端(HTML, CSS, JavaScript) <->Smart Contract<->区块链Blockchain

当然,这只是很概括地形容两者之间的差别,更重要的是Smart Contract 扮演着一般应用中API 的角色,负责连接App 与blockchain,从而成为 Decentralized Application 去中心化应用,即DApp。