上QQ阅读APP看书,第一时间看更新
1.4 Web3的技术栈
本小节介绍 Web3 的开发技术栈,以及对比一下其与传统“客户端– 服务器”模式的技术栈的区别。
我们回顾一下传统的“客户端 – 服务器”这种形式的技术栈,前端是客户端的浏览器或者 App,它们使用 HTML 或者 CCS 或者 JavaScript 来实现前端的呈现形式。后端就是服务器。那么,Web3 形式的 App 或者 Dapp 的开发技术栈长什么样呢?
其实,如图 1-1 所示,Web3 的开发技术栈的前端跟传统的 Web2 的“客户端 – 服务器”形式的开发技术栈的前端是一样的,只是后端从传统的数据库变成了区块链。中间还会有一个 Web3 的供应商,提供与 Web3 相关的一些功能,比如说 Web3 的钱包与身份管理工具。这个钱包的一个例子就是以小狐狸为 logo 的 MetaMask 5。
图 1-1 Web2 与 Web3 开发技术栈对比
我们进一步分析 Web3 形式的开发技术栈。首先是前端,开发者可以开发手机端使用的 Dapp,或者开发可以与钱包进行交互的前端呈现的页面。后端如果需要与大量链下数据进行交互,这些数据就可以存储在 IPFS(一种安全的分布式存储产品)6。
如果某些 Web3 的 Dapp 业务比较复杂,可能就要借助智能合约来实现。此时需要把相关的智能合约部署在某个支持智能合约的区块链上,比如部署在国内常见的联盟区块链上。这些合约同时又要与中间的 Web3 的身份管理工具进行业务交互。
总之,如图 1-1 所示,上端是用户使用的前端,下端是后端区块链,中间是 Web3 形式的钱包管理工具或者身份管理工具。有些复杂的场景或应用可能会与多个智能合约产生交互。