本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
1.在 chainmaker 中启用 Liquid
Liquid 的参数配置在 chainmaker.yml 配置文件中 net 标签下,具体参数如下:
net:
# 底层网络类型,必选项,支持liquid
provider: liquid
# 本地网路监听地址及端口,必选项
listen_addr: /ip4/0.0.0.0/tcp/11301
# 每个节点连接stream池大小上限,可选项,不配默认为100
peer_stream_pool_size: 100
# 允许与本节点建立链接的节点总数量,可选项,不配默认为20
max_peer_count_allow: 10
# 节点链接淘汰策略,可选项,1 Random, 2 FIFO, 3 LIFO。不配默认为3
peer_elimination_strategy: 3
# 节点最大连接数
max_conn_count_each_peer: 5
# 大消息体拆包/组包
pkt_enabled: true
# 消息发送优先级控制
priority_control: true
# 种子节点地址列表,用于节点发现,可选项
# 建议将所有已知共识节点网络地址都配置为种子节点
# seeds ip格式为: "/ip4/127.0.0.1/tcp/11301/p2p/"+nodeid
# seeds dns格式为:"/dns/cm-node1.org/tcp/11301/p2p/"+nodeid
seeds:
- "/ip4/127.0.0.1/tcp/11301/p2p/QmQZn3pZCcuEf34FSvucqkvVJEvfzpNjQTk17HS6CYMR35"
# TLS认证相关配置
tls:
# TLS认证开关,必选项,当前必须为true
enabled: true
# TLS证书配置,必选项
priv_key_file: ./crypto-config/wx-org1.chainmaker.org/node/consensus1/consensus1.tls.key
cert_file: ./crypto-config/wx-org1.chainmaker.org/node/consensus1/consensus1.tls.crt
# 组网黑名单配置,可选项,不配默认不开启黑名单
blacklist:
# 黑名单地址,可选项,[ip]:[port]或者[ip]两者均可
addresses:
- "127.0.0.1:11305"
- "192.168.1.8"
# 黑名单节点ID,可选项
node_ids:
- "QmeyNRs2DwWjcHTpcVHoUSaDAAif4VQZ2wQDQAUNDP33gH"
- "QmVSCXfPweL1GRSNt8gjcw1YQ2VcCirAtTdLKGkgGKsHqi"
复制代码
2.Liquid 与 Libp2p 传输协议不兼容,所以使用 Liquid 的节点与使用 Libp2p 的节点无法建立连接。
Liquid 支持 TCP、QUIC 两种底层传输协议,具体使用哪种协议会根据本地监听地址自动识别。
3. Liquid 在 chainmaker 中的扩展特性支持
Liquid 支持多连接复用并行发送,假设我们允许与每个其他节点最多创建5
个连接,可通过如下配置开启:
net:
max_conn_count_each_peer: 5
复制代码
LiquidNet 支持将大消息体拆分为最多 256 个小包并行发送和将接收的若干小包组装为一个大消息体的功能。目的是提升大消息体的发送效率。可通过如下配置开启:
LiquidNet 支持消息发送优先级控制,可通过如下配置开启:
net:
priority_control: true
复制代码
优先级总共划分为[0,9]总共 10 级,值越高,优先级越高。
默认优先级:
优先级 9:共识引擎消息
优先级 8:区块消息
优先级 7:交易消息
优先级 5:同步引擎消息
评论