超级账本结构对等变量
hyperledger fabric peer variables
我已经成功启动了 first-network,它由 4 个同行组成,每个组织 2 个。使用 docker exec cli
我只能向 peer0.org1.example.com
发送命令。问题是我怎样才能将呼叫发送到 peer0.or2.example.com
?在文档中说:
For the following CLI commands against peer0.org1.example.com to work, we need to preface our commands with the four environment variables given below. These variables for peer0.org1.example.com are baked into the CLI container, therefore we can operate without passing them. HOWEVER, if you want to send calls to other peers or the orderer, then you will need to provide these values accordingly. Inspect the docker-compose-base.yaml for the specific paths:
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
CORE_PEER_ADDRESS=peer0.org1.example.com:7051
CORE_PEER_LOCALMSPID="Org1MSP"
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
因此,当我更改这些变量时,例如 CORE_PEER_LOCALMSPID="Org2MSP" 等等 - 没有任何变化,因为当我做 docker exec it cli bash
然后在 docker 作为对等echo $CORE_PEER_LOCALMSPID
它仍然显示 Org1Msp
根据您的解释,您似乎在进入 cli 容器之前设置了环境变量。这不会起作用,因为当您进入 cli 容器时,它会将环境变量重置回您在撰写文件中设置的变量,我假设您已经引导到 org1 的 peer0。
您需要先进入 cli 容器并在该环境中设置变量。在那之后,如果你回应,你会看到变化。同样,如果您随后退出并再次进入,所有变量都将重置为引导变量。
另一种选择是更改撰写文件中的变量或使用另一个引导到不同 peer/org.
的 cli 容器
或者,您可以为每个对等点设置相应的 cli(虽然在 compose yaml 文件中太多)并为 运行 任何命令启动相同的命令。
我已经成功启动了 first-network,它由 4 个同行组成,每个组织 2 个。使用 docker exec cli
我只能向 peer0.org1.example.com
发送命令。问题是我怎样才能将呼叫发送到 peer0.or2.example.com
?在文档中说:
For the following CLI commands against peer0.org1.example.com to work, we need to preface our commands with the four environment variables given below. These variables for peer0.org1.example.com are baked into the CLI container, therefore we can operate without passing them. HOWEVER, if you want to send calls to other peers or the orderer, then you will need to provide these values accordingly. Inspect the docker-compose-base.yaml for the specific paths:
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
CORE_PEER_ADDRESS=peer0.org1.example.com:7051
CORE_PEER_LOCALMSPID="Org1MSP"
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
因此,当我更改这些变量时,例如 CORE_PEER_LOCALMSPID="Org2MSP" 等等 - 没有任何变化,因为当我做 docker exec it cli bash
然后在 docker 作为对等echo $CORE_PEER_LOCALMSPID
它仍然显示 Org1Msp
根据您的解释,您似乎在进入 cli 容器之前设置了环境变量。这不会起作用,因为当您进入 cli 容器时,它会将环境变量重置回您在撰写文件中设置的变量,我假设您已经引导到 org1 的 peer0。
您需要先进入 cli 容器并在该环境中设置变量。在那之后,如果你回应,你会看到变化。同样,如果您随后退出并再次进入,所有变量都将重置为引导变量。
另一种选择是更改撰写文件中的变量或使用另一个引导到不同 peer/org.
的 cli 容器或者,您可以为每个对等点设置相应的 cli(虽然在 compose yaml 文件中太多)并为 运行 任何命令启动相同的命令。