2021-06-11 17:27:42 版本 : GoQuorum Wizard 工具
作者: 姜天雨 于 2021年06月11日 发布在分类 / 区块链基础知识 / 底层框架资料 / GoQuorum 下,并于 2021年06月11日 编辑
 历史版本

修改日期 修改人 备注
2021-07-14 14:53:34[当前版本] 姜天雨 修改内容
2021-06-11 17:27:42 郑小军 内容更新
2021-06-11 17:26:47 郑小军 内容更新
2021-06-11 17:13:24 姜天雨 格式调整

GoQuorum Wizard 工具

When using the Simple and Custom Ne twork options in the wizard, you can deploy some tools alongside your network:

wizard 中使用简单和自定义网络选项时,您可以在网络旁边部署一些工具:



Cakeshop



Cakeshop Cakeshop GoQuorum 的官方区块浏览器和节点监控工具。 您可以使用它来检查区块、部署合约、管理 对等点等

一旦你选择了这个工具并启动了网络,就可以通过 http://localhost:8999 访问

 

报告工具



Reporting Tool ( 报告工具 ) 提供了方便的 API ,用于生成有关部署到您的网络的合同的报告。 合同注册后,很容易检查与 该合同相关 的交易,并查看合同状态随时间的变化情况。

选择此工具并启动网络后,即可通过 http://localhost:3000 . 访问报告 UI RPC API 本身运行于 http://localhost:4000 .

 

Splunk



Splunk 是与 GoQuorum 配合使用的第三方监控解决方案。 如果您将 Splunk 添加到您的网络( 仅限 do cker-compose ),所有日志将被定向到本地 Splunk 容器。 从那里,您可以搜索日志、查看网络指标并使用您感兴趣的数据创建自定义仪表板。

选择此工具并启动网络后,即可通过 http://localhost:8000 访问 Splunk UI

 

 

Prometheus



Prometheus 是与 GoQuorum 配合使用的第三方指标和监控解决方案。 如果您将 Prometheus 添加到您 的网络(仅限 kubernetes ),您将能够根据网络数据生成图表。 您还可以将自己的 Grafan a 实例指向 Prometheus ,以获取包含每秒块 / 事务、 CPU 和内存使用情况、网络信息等的快速仪表板。

选择此工具并启动网络后,运行 getEndpoints.sh 脚本以获取 Prometheus UI 的端点。

 

Configure

配置 Raft 共识

要启用 Raft 共识,请在启动 GoQuorum 时指定 --raft command line 选项。

 

Raft 要求集群中的所有初始节点都配置为静态节点 static peers static-nodes.json 文件中 enode IDs 的顺序在所有对等方中必须相同。

 

enode ID 必须包含一个 raftport 查询字符串参数,用于指定每个对等方的 Raft 端口。

 


要使 Raft 网络正常工作,必须有 51% 的对等点启动并运行。 我们建议在网络中至少有 3 个奇数对等点。

 

添加 Raft 成员

要将验证节点添加到集群,请附加到 JS console 并发出 raft.addPeer(enodeId)

 

要将学习者节点添加到集群,请附加到 JS console 并发出 raft.addLearner(enodeId)

 

要将学习者提升为集群中的验证者,请附加到领导者或验证者节点的 JS console 并发出 raft.promoteToPeer(raftId) .

 

enode ID 必须包含一个 raftport 查询字符串参数,如 enode IDs static-nodes.json 文件。

 

  addPeer addLearner 调用分配并返回一个尚未使用的 Raft ID 。 在 addPeer addLearner 之后,使用   --raftjoinexisting --raft 作为 command line 选项来启动新的 GoQuorum 节点。 使用 addPeer addLearner 返回 Raft ID 作为   --raftjoinexisting 的参数。

 

移除 Raft 成员

要从集群中删除节点,请附加到 JS console 并发出 raft.removePeer(raftId) raftId 是要删除的节点的编号。 对于集群中的初始节点, raftId 编号是静态对等列表中节点的 enode ID 1 索引位置。 从集群中删除节点后,它是永久性的。 Raft ID 以后无法重新连接到集群。 如果重新加入,节点必须指定 addPeer addLearner 返回的新 Raft ID

 

铸币频率

默认情况下,块的铸造频率不会超过每 50 毫秒。 当交易到达时:

 

如果距离上一个区块至少 50 毫秒,则立即铸造一个新区块。

如果小于 50 毫秒,则在前一个区块被铸造后 50 毫秒铸造一个新区块。 等待可以防止 Raft 被块淹没。

速率限制实现了事务吞吐量和延迟之间的平衡。

 

启动 GoQuorum 时,使用 --raftblocktime command line 选项配置铸造频率。

 

Raft 传输层

块通过内置于 etcd Raft . 中的 HTTP 传输层进行通信。

 

默认情况下, GoQuorum 在端口 50400 上侦听 Raft 传输。 使用 --raftport command line 选项更改端口。

 

默认情况下,对等点数为 25 。使用 --maxpeers N command line 选项配置最大对等点数,其中 N 是集群的预期大小。

   

Genesis file

GoQu orum Genesis 选项

可配置的交易规模

GoQuorum 允许区块链运营商通过创世区块增加已接受交易的最大交易规模。 GoQuorum 的默认交易大小目前从以 太坊的默认 32kb 交易大小增加到   64kb 。 通过将 txnSizeLimit 添加到 genesis 文件的配置部分,可以将其配置为最多 128kb

 


合约代码大小

GoQuorum 允许区块链运营商通过 genesis 区块增加已接受智能合约的最大合约代码大小。 GoQuorum 默认从以太坊的默认 24kb 合约代码大小增加到 32kb 。 通过将 maxCodeSize 添加到 genesis 文件的配置部分,可以将其配置为最多 128kb



High availability 

GoQuorum 高可用性

您可以配置 GoQuorum 以实现端到端高可用性 (HA) 。 本节介绍 GoQuorum Tessera HA 配置要求。

 


GoQuorum HA 配置要求

     两个或多个 GoQuorum 节点作为一个客户端 ,通过 Load Balancer ( 负载均衡 ) 处理传入请求。

     GoQuorum 节点必须共享相同的私有交易管理器公钥以进行交易签名,并且必须具有对密钥存储目录或密钥保管库的共享访问权限。

     GoQuorum 节点必须共享相同的私有状态。 它们可以通过负载均衡器连接到本地 Tessera 节点或高度可用的 Tessera 节点。

     GoQuorum 节点必须具有不同的节点键。

 

Tessera H A 配置要求

     两个或多个 Tessera 节点充当 GoQuorum 节点的隐私管理器。

     Tessera 节点在受密码保护的文件中共享相同的公钥和私钥,或外部保险库。

     Quorum-to-Tessera (Q2T) server configuration 使用 HTTP HTTPS

     Tessera 节点共享相同的数据库。



Permissions

Configure plugins

geth 可以从以下位置加载插件:

      通过 --plugins 选项传递的 JSON 文件

      通过 --config 选项传递的 Ethereum TOML 配置文件

插件中心配置



Plugin Integrity Verification 默认使用 GoQuorum 插件中央服务器。 修改此部分为插件完整性验证配置到自己的本地插件中心:

插件定义 定义插件及其配置




 

 

 

 


 附件

附件类型

PNGPNG

历史版本-目录  [回到顶端]
    区块链服务网络发展联盟