修改日期 | 修改人 | 备注 |
2022-06-09 14:13:54[当前版本] | 尹紫娟 | 更新数据 |
2021-06-11 17:30:48 | 超级系统管理员 | 内容更新 |
2021-06-11 17:29:56 | 超级系统管理员 | 内容更新 |
2021-06-11 14:24:02 | 郑小军 | 内容更新 |
您可以通过多种方式开始使用GoQuorum。使用我们的Wizard生成本地网络到配置和创建完整网络从零起点做起。
最简单方法是使用 GoQuorum Wizard 去建立和运行网络的。此命令行工具 (command-line tool) 创建了一个本地GoQuorum网络,该网络可以在几分钟之内启动并准备就绪。
Wizard 提供用于配置网络的选项,并生成所有资源以使用docker-compose 在容器中运行,或通过使用bash脚本在本地运行。
Wirzard 需要 Nodejs ,并且只能在Linux / Mac上运行。
npm install -g quorum-wizard
quorum-wizard
要探索GoQuorum的功能并部署私人合同,请遵循 Interacting with the Network 与网络交互的说明。
GoQuorum Examples 提供了一种快速创建预先配置以示例GoQuorum 网络的方法,该网络可以使用Vagrant在虚拟机环境中运行,可以在使用docker-compose 的容器中运行,也可以通过使用bash脚本在本地运行以自动创建网络。
使用 qubernetes 运行可配置的N节点GoQuorum 网络在 Kubernetes 上。
对于本地开发,请使用 kind 或 Minikube 。对于长时间运行的网络,请使用云服务(适用于ecample Google Kubernetes Engine,Azure KS,AWS EKS)或自托管的Kubernetes 群集。
Qubernetes 支持Raft 和 Istanbul 共识算法,多种版本以及具有任意数量节点的网络。 Qubernetes repository 包含 examples 可以在Kubernetes上运行。
Creating a Network From Scratch 将逐步介绍如何创建和配置适用于Raft或Istanbul共识的 GoQuorum网络。它还显示了如何启用隐私并根据需要添加/删除节点。
Quorum Cloud 提供了Quorum 网络如何在云平台上运行的示例。它使用Terraform通过AWS ECS Fargate,S3 和EC2 创建在AWS 上部署的7节点Quorum 网络。
可通过从源代码构建或通过下载预构建的发行版二进制文件来安装GoQuorum 和 Tessera 并将其用作Docker 容器。
两种安装方式:通过源代码构建、通过下载预构建的发行版二进制文件。
● Quorum
● Tessera
下载后,将二进制文件添加到PATH 中以使其易于调用
存在用于GoQuorum 和Tessera 的Docker 容器,可以在 quorumengineering Docker repository 中找到:
Docker containers exist for GoQuorum and Tessera and can be found at the:
二进制文件位于 $REPO_ROOT/build/bin 中。 将该文件夹添加到 PATH 中以使其易于调用 geth 和 bootnode ,或将这些二进制文件复制到 PATH 中已存在的文件夹中,例如 /usr/local/bin 。
补充 PATH 的一种简单方法是将 PATH=$PATH:/path/to/repository/build/bin 添加到您的 ~/.bashrc or ~/.bash_aliases 文件中。
Tessera 是Quorum隐私管理器的生产就绪型实现。 它正在积极开发中,并定期添加新功能。
请遵循Tessera项目页面上的安装说明 Tessera 项目页面 。
Qubernetes 是一个用于生成GoQuorum网络资源,Kubernetes GoQuorum资源以及管理GoQuorum Kubernetes 部署并与之交互的项目。
qctl 是golang命令行工具,用于创建和操作最小配置,并与正在运行的Kubernetes网络进行交互。
安装二进制文件
Obtain the binaries from the repository 从存储库中获取二进制文件。
获取
需要golang版本> 1.13
测试 qctl 是否已正确安装。
Docker
● Kubernetes 运行时 例如,minikube。
查看适用于您的操作系统的minikube完整安装说明 这里
启动网络
必须设置两个路径,作为环境变量或命令标志:
● QUBE_CONFIG or --config. 通往 minimal configuration .
● QUBE_K8S_DIR or --k8sdir. 包含GoQuorum和Kubernetes资源的目录的路径。
与正在运行的K8s GoQuorum网络进行交互
GoQuorum 2.6.0 将基础 geth 版本从 1.8.18 升级到 1.9.7 如果新功能作为 geth 1.9.7 的一部分添加,请参阅 Ethereum 1.9.0 以获取完整列表。
在 GoQuorum 2.6.0 上运行的节点可以共存于其他节点在较低版本的 GoQuorum 上运行的网络上,因此支持逐节点升级到 GoQuorum 2.6.0。建议的升级过程如下所述:
● 关闭需要升级到 GoQuorum 2.6.0 的节点。修改 genesis.json 文件以包含 istanbulBlock 和 petersburgBlock 。将来当整个网络升级到 GoQuorum 2.6.0 时,应将此值设置为适当的值。这很重要,因为 gas 计算逻辑在 geth 1.9.7 中发生了变化。不正确设置此值会导致 Bad block error
● GoQuorum 2.6.0 已弃用创世属性 maxCodeSize 和 maxCodeSizeChangeBlock 。为了允许跟踪多个 maxCodeSize 值的变化,一个新的属性 maxCodeSizeConfig 被添加到 genesis。如果多次更改 maxCodeSize ,可能会导致任何新节点加入网络时出现 Bad block error 。 GoQuorum 2.6.0 中的变化解决了这个问题,并允许跟踪 maxCodeSize 在 genesis 的历史变化,从而允许它在网络生活中多次更改。通过在 GoQuorum 2.6.0 中执行 init 时的这一更改,geth 将强制使用 maxCodeSizeConfig 。
● 使用修改后的 genesis.json 执行 geth --datadir path/to/datadir init genesis.json
● 在 GoQuorum 2.6.0 中启动节点