目录
一、简介
区块链技术现在已经进入一个高速发展时期,作为企业来说一般有两个选择:做底层链技术,或者做区块链应用。
对绝大多数企业或个人来说,无论是技术还是资金都无法负担底层链开发工作,开发区块链应用的成本和门槛要低很多。
在掌握的区块链原理和发展情况后,作为技术人员,也要关注区块链技术的选型,比如我们要做一款应用时应作出什么样的选择。
二、知识点
DAPP
公链
联盟链
区块链开发涉及的角色
Solidity
三、技术选型
1、DApp 架构分析
区块链应用也叫去中心化分布式应用 Decentralized Application,简称 DAPP。
(1)纯粹的 DAPP架构
纯粹的 DApp 是不受公司运营与否的限制,不依赖于某个独立的服务器,即使公司关闭依然可以运行。它的架构很简单,只需要前端加一条链就可以了。
(2) 混合 DAPP 架构
现阶段因为区块链的存储消耗太大,不可能将所有数据都存储在区块链中,因此大多数是去中心化与中心化相结合的一种架构。
(3) 开发需要的角色
从技术角度分析, DAPP 开发需要不同开发者角色,主要有以下几种:
- 前端工程师:需要掌握区块链原理及相关 SDK
- 后端工程师:需要掌握区块链原理及相关 SDK
- 智能合约工程师:主要设计智能合约,开发智能合约
- 产品经理:需要掌握区块链原理及区块链应用设计思想与通证设计思想
2、公链与联盟链
区块链发展导向在主要分为两大方向:公链和联盟链。比特币,以太坊,EOS这些都属于公链, Hyperledger Fabric,Quorum ,各Baas 平台这些都属于联盟链。
公链需要对矿工节点进行激励,一般都会设有 coin,类似 BTC, ETH 这种,联盟链则是一个团体组织建立的私有网络,不需要在区块链系统上体现激励。
公链的节点多,不限制节点加入,而联盟链的节点比较少,会有明确的准入机制。
对于开发者来说,选哪个平台结合自身技术特点。由于 DAPP 需要智能合约及 SDK 调用,所以主要是看智能合约如何开发。
以太坊第一个提出了智能合约的概念,并推出 solidity 语言,因此 solidity 也是目前大多数平台的开发语言。
对于大多数开发者而言,选择 solidity 都比较合适,熟悉一个平台 SDK 后,相似的其他平台也可以快速上手。