区块链开发技术选型
DApp架构
DApp
,即Decentralized Application
,去中心化应用。
我们知道,一般的,一个完整的项目包括:展示操作层、逻辑层、存储层。区块链是可以作为逻辑层(通过智能合约
实现逻辑处理)、存储层(通过区块链结构
存储数据)的实现的。简单的,我们可以这么说:如果应用中使用到了区块链
等去中心化技术,那么我们就可以认为这个应用是DApp
应用,不同的只是说这个去中心化技术在应用中的应用占比不同而已。
-
纯粹的
DApp
应用,逻辑层、存储层都是采用去中心化技术实现的,架构如图:
-
考虑到区块链存储成本太大,在实际项目中,我们只把关键的、需要去中心化的数据存储到区块链上,大部分不必要去中心化的数据还是按照传统的方式存入数据库中的,架构如图:
公链与联盟链
区块链发展到现在,主要分为两个方向:公链
和联盟链
。公链和联盟链都是区块链,都具备区块链的基础特征,他们的不同之处在于:
- 公链
- 开放式的,不限制节点的加入。
- 公链需要有对应的激励机制,对矿工节点进行激励,以确保区块链被持续维护。
- 公链的节点往往比较多。
- 联盟链
- 非开放式的,属于团体组件的网络;对于新节点的加入有准入机制。
- 不需要激励机制,由组建联盟链的团体进行维护。
- 联盟链的节点往往没有公链的节点多。
截至目前(2021-08-11),常见的公链技术(应用)有:比特币、以太坊
、EOS
等;常见的联盟链技术(应用)有:Hyperledger Fabric
、Quorum
、各BaaS(Blockchain as a Service)平台
等。
^_^ 整理自《Go语言区块链应用开发从入门到精通》高野 编著
^_^ 本文已经被收录进《程序员成长笔记》 ,笔者JustryDeng