Quorum联盟链开发入门

Quorum是一个许可制的以太坊联盟区块链实现,包含了金融巨头JP摩根开发的一个GETH分支版本,能够在节点之间实现私有和快速的交易。Quorum为保证隐私对节点之间的私有交易进行了专门的设计,它使用Raft和Istanbul算法实现共识,使用Tessara和Constellation实现节点数据的加密和共享。在Quorum网络中交易不须要付费,交易的验证是由投票共识算法完成的。整体上来说Quorum相似于以太坊,只是它更关注的企业环境下的交易隐私性与可控性,所以每一个节点都须要Quorum 网管生成的密钥对。javascript

学习Quorum区块链的最好的办法,就是运行官方提供的7节点示例。虽然有多种方法来搭建7个节点,我仍是建议使用docker,由于这应该是最简单的办法。下面我使用Google云的Ubuntu 8.04。若是你在本地机器或AWS上有ubuntu,也是同样的。请先确认docker和docker-compose已经安装就绪。php

在下面的演示中,咱们要搭建7个Quorum节点,而后考察节点之间的私有交易是如何运做的。java

一、搭建节点

运行下面的命令来搭建所有7个节点:node

git clone https://github.com/jpmorganchase/quorum-examples.git
cd quorum-examples
QUORUM_CONSENSUS=raft docker-compose up -d

默认状况下,使用Tessera交易管理器和Istanbul BTF共识来搭建Quorum网络。所以为了修改成Raft共识算法,咱们设置环境变量QUORUM_CONSENSUS=raft,而后启动7个节点的后台运行。python

你能够运行docker ps来查看每一个容器的运行状态以及其ID。须要稍等一下子以便容器启动就绪。git

二、部署智能合约

若是要快速掌握以太坊区块链开发,推荐汇智网的在线互动课程:github

java以太坊开发详解 | python以太坊开发详解 | php以太坊开发详解 | C#以太坊开发详解算法

以太坊智能合约与DApp开发入门 | 以太坊电商DApp实战 | ERC721以太坊通证明战docker

要在节点上部署智能合约,咱们须要运行下面的命令进入该节点的geth控制台:ubuntu

docker exec -it quorum-examples_node1_1 geth attach /qdata/dd/geth.ipc

命令中的quorum-examples_node1_1是节点1的容器ID。上面的命令进入节点1的geth控制台,如今咱们能够在控制台中进行操做。

下面咱们要运行部署合约的javascript脚本。若是你查看示例代码目录,能够看到在quorum-examples/examples/7nodes目录下有private-contract.jssimplestorage.sol 文件。在geth控制台运行:

> loadScript('/examples/private-contract.js')

命令执行须要稍等一下子。一旦部署成功,上面的命令将返回合约地址,记得拷贝下来或者抄到纸上。上述脚本在节点1上部署了一个简单的状态值为42的存储合约,交易是节点1和节点7之间私有的,这意味着其余节点将看不到这个状态值。

要验证这一点,咱们能够开启节点2的geth终端,使用ABI和合约地址建立合约实例:

> var abi=<Paste ABI here>;
> var address="<paste Contract Address here>";
> var contract=eth.contract(abi).at(address);

>contract.get() //calling get() method
0

果真。

如今进入节点7的geth终端,一样使用ABI和合约地址建立合约实例,而后尝试读取状态值:

>contract.get()
42

和预期同样。

三、发送私有交易

如今咱们尝试在节点7和其余任选节点之间建立一个新的私有交易,调用合约的set()方法来修改状态值。这须要使用节点的公钥,能够在quorum-examples/examples/7nodes/keys/目录下找到所有7个节点的对应公钥。

contract.set(4,{from:eth.coinbase,privateFor:["<your preferred node public key>"]});

上面的脚本将设置合约状态值为4,而且仅对指定的节点保持可见。你能够打开这些指定节点 的geth终端查看合约状态值,你看到的应该是4。


原文:Quorum企业以太坊环境搭建教程 - 汇智网

相关文章
相关标签/搜索