Hyperledger Fabric CLI docker 容器
Hyperledger Fabric CLI docker container
我有几个关于 HF CLI docker 容器和一些 CLI 命令的问题。
首先,有人可以在 docker 容器的上下文中解释此容器的用途,该容器与 HF 生态系统所需的其他 docker 容器一起启动。例如,我如何查询我的业务网络组织、不同的节点以及这些节点的链码状态?
其次,当我安装发出 peer chaincode install
CLI 命令的链代码时,该代码安装到哪个节点(如果我有 5 个节点附加到 org1.example.com 组织,上面提到的节点命令将安装目标链代码)?
第三,如果我的业务网络规范中只有一个组织处理多个对等点和通道,当我尝试实例化已安装的代码并发出 peer chaincode instantiate
命令时,如何指定背书策略(http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html) -P 参数后背书表达式中只有一个组织?
感谢您的帮助!
编辑 1:
关于第三个答案的更新。如果您有一个组织在实例化链代码时维护对等节点和通道,则可以省略背书策略参数 (-p)。在这种情况下,如果任何同行背书,交易将被背书
很多很棒的问题。
"cli" 容器的目的是 运行 作为 CLI 的对等进程。同一个进程既是客户端又是服务器有点令人困惑,我们可能会改变这一点。基本上,当您 运行 peer chaincode
命令时,您正在 运行 运行 CLI。 peer node
命令是服务器命令。我们示例中的 cli 容器 运行 是一个脚本 (scripts/script.sh
),它反过来对对等节点执行一系列 CLI 命令。
如果您检查 scripts/script.sh
,您会发现 setGlobals
函数设置了一些环境变量,包括 CORE_PEER_ADDRESS
。这是安装链代码时对等节点 (CLI) 将与之通信的对等节点(服务器)。
实际上,经过进一步研究,这是不可能的,很遗憾。门语法尚未实现。您需要为此模拟多个组织。
关于这个问题的第二部分。
进入 CLI
docker exec -it cli bash
CLI 的引导对等点是 peer0。org1.example.com
检查你在哪个 PEER:
echo $CORE_PEER_ADDRESS
returns
peer0.org1.example.com:7051
更改为 peer1.org1:
export CORE_PEER_ADDRESS=peer1.org1.example.com:8051
也适用于 LOCALMSPID、MSPCONFIGPATH 等
我有几个关于 HF CLI docker 容器和一些 CLI 命令的问题。
首先,有人可以在 docker 容器的上下文中解释此容器的用途,该容器与 HF 生态系统所需的其他 docker 容器一起启动。例如,我如何查询我的业务网络组织、不同的节点以及这些节点的链码状态?
其次,当我安装发出 peer chaincode install
CLI 命令的链代码时,该代码安装到哪个节点(如果我有 5 个节点附加到 org1.example.com 组织,上面提到的节点命令将安装目标链代码)?
第三,如果我的业务网络规范中只有一个组织处理多个对等点和通道,当我尝试实例化已安装的代码并发出 peer chaincode instantiate
命令时,如何指定背书策略(http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html) -P 参数后背书表达式中只有一个组织?
感谢您的帮助!
编辑 1: 关于第三个答案的更新。如果您有一个组织在实例化链代码时维护对等节点和通道,则可以省略背书策略参数 (-p)。在这种情况下,如果任何同行背书,交易将被背书
很多很棒的问题。
"cli" 容器的目的是 运行 作为 CLI 的对等进程。同一个进程既是客户端又是服务器有点令人困惑,我们可能会改变这一点。基本上,当您 运行
peer chaincode
命令时,您正在 运行 运行 CLI。peer node
命令是服务器命令。我们示例中的 cli 容器 运行 是一个脚本 (scripts/script.sh
),它反过来对对等节点执行一系列 CLI 命令。如果您检查
scripts/script.sh
,您会发现setGlobals
函数设置了一些环境变量,包括CORE_PEER_ADDRESS
。这是安装链代码时对等节点 (CLI) 将与之通信的对等节点(服务器)。实际上,经过进一步研究,这是不可能的,很遗憾。门语法尚未实现。您需要为此模拟多个组织。
关于这个问题的第二部分。
进入 CLI
docker exec -it cli bash
CLI 的引导对等点是 peer0。org1.example.com
检查你在哪个 PEER:
echo $CORE_PEER_ADDRESS
returns
peer0.org1.example.com:7051
更改为 peer1.org1:
export CORE_PEER_ADDRESS=peer1.org1.example.com:8051
也适用于 LOCALMSPID、MSPCONFIGPATH 等