使用阿里云BaaS快速搭建Quorum企业以太坊网络
Quorum 简介
Quorum(企业以太坊)是由J.P.Morgan主导,在基于以太坊源码开发的一套联盟链产品。合约与应用开发模式与以太坊基本一致,以太坊的开发人员可以很容易切换到Quorum平台上面来,甚至一些以太坊上的合约、应用也可以轻松的移植过来。
Quorum也得到业界的广泛关注,J.P.Morgan与Microsoft建立了紧密的合作关系,共同推广Quorum;Quorum也登录了Azure、阿里云等云服务端的BaaS平台。
Quorum与Ethereum的主要区别在于:
- 提供了Transaction和Contract的私有化功能
- 替换的共识机制,用IBFT与Raft共识取代了以太坊的PoW共识
- 加入了网络与节点的权限管理,从以太坊的开放式变成了许可制
- 交易处理性能方面得到了很大的提升
Quorum 架构
Quorum网络由以下几大模块构成:
- Quorum Node
Quorum Node 是 以太坊geth的一个轻量级的分叉,这样可以充分利用以太坊日益增大的研发社区,同时在未来也会跟着geth的版本持续升级。 - Privacy Manager
Quorum提供了Tessera和Constellation新旧两种私有交易方案, Tessera目前已经可以用于生产环境,并且会持续改进升级,而Constellation只继续提供支持不再升级。Quorum的隐私管理由以下两个子模块组成: - Docker
可以通过以下命令行,拉取quorum、tessera、constellation容器模板docker pull quorumengineering/quorum
docker pull quorumengineering/tessera
docker pull quorumengineering/constellation - docker方式确实很方便,但是quorum文档中的介绍到此就打住了,并没有对docker配置进行详细说明,让人很难照着这个方式继续走下去…*
- 源代码
- 下载代码
git clone https://github.com/jpmorganchase/quorum.git
- 编译代码, 需要先安装go运行环境
cd quorum
make all - 运行test
make test
- 下载代码
- 我卡在了编译环节,试了很多办法也走不下去,此路也不通…*
在阿里云BaaS中部署Quorum网络
开通BaaS服务
首先当然是要开通阿里云BaaS服务,具体参考阿里云文档
创建企业以太坊网络
- 邀请其他阿里云BaaS用户加入以太坊网络
在“我的以太坊”列表中,点击“邀请”按钮,将邀请链接与邀请码发给其他阿里云BaaS用户,用户按照页面指引,一步步操作即可加入。 - 添加阿里云以外的Quorum节点到网络
参考第一步增加节点,在填写节点信息时勾上“外部节点”选项即可。然后在“我的节点”列表中,点击节点名称,打开节点配置,修改以下节点参数: - 设置节点安全配置
在“我的节点”列表中,点击节点名称,打开节点配置而。然后在“安全设置”中设置该节点的RPC 接口的用户名和密码。以后的客户端与应用程序连接都需要用到该用户名密码。 - 节点投票
如果新加入的节点要成为“验证节点”参与共识算法打包区块,则需要半数以上的用户投票通过。投票方法为,在节点列表中,点击该节点的“投票”操作即可。等收到足够的票数后,该节点将转成“验证节点”。
访问区块链网络
至此,在阿里云上已经成功搭建好Quorum网络。客户端访问需要提供节点访问地址与安全信息(用户名、密码)。访问地址可以在“我的节点”中找到,安全信息可以在节点设置中查看或设置。