13.通过客户端操作各个节点

版权声明:忠于祖国,忠于人民 https://blog.csdn.net/boss2967/article/details/84205293

陈述

主要讲了怎样通过客户端操作各个节点

通过客户端操作各节点

客户端对Peer节点的操作流程:

  • 创建通道, 通过客户端节点来完成

    # 在宿主机
    $ docker-compose ps
             Name                 Command       State                        Ports                      
    ----------------------------------------------------------------------------------------------------
    cli                       /bin/bash         Up                                                      
    orderer.ydqy.com        orderer           Up      0.0.0.0:7050->7050/tcp                          
    peer0.orgcpp.ydqy.com   peer node start   Up      0.0.0.0:9051->7051/tcp, 0.0.0.0:9053->7053/tcp  
    peer0.orggo.ydqy.com    peer node start   Up      0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp  
    peer1.orgcpp.ydqy.com   peer node start   Up      0.0.0.0:10051->7051/tcp, 0.0.0.0:10053->7053/tcp
    peer1.orggo.ydqy.com    peer node start   Up      0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp 
    # 进入到客户端对用的容器中
    $ docker exec -it cli /bin/bash
    
  • 将每个组织的每个节点都加入到通道中 -> 客户端来完成的

    • 以客户端同时只能连接以peer节点
  • 给每个peer节点安装智能合约 -> 链代码(程序: go, node.js, java)

  • 对智能合约进行初始化 , 对应智能合约中的 Init 函数

    • 只需要在任意节点初始化一次, 数据会自动同步的各个组织的各个节点
  • 对数据进行查询 -> 读

  • 对数据进行调用 -> 写

经过前面的讲解我们都知道, 一个客户端只能连接一个指定的节点, 如果想要该客户端连接其他节点, 那么就必须修改当前客户端中相关的环境变量

相关环境变量

# 第1个节点 Go组织的 peer0
export CORE_PEER_ADDRESS=peer0.orggo.ydqy.com:7051
export CORE_PEER_LOCALMSPID=OrgGoMSP
export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/users/[email protected]/msp
export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/peers/peer0.orggo.ydqy.com/tls/ca.crt
export CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/peers/peer0.orggo.ydqy.com/tls/server.crt
export CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/peers/peer0.orggo.ydqy.com/tls/server.key

# 第2个节点 Go组织的 peer1
export CORE_PEER_ADDRESS=peer1.orggo.ydqy.com:7051
export CORE_PEER_LOCALMSPID=OrgGoMSP
export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/users/[email protected]/msp
export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/peers/peer1.orggo.ydqy.com/tls/ca.crt
export CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/peers/peer1.orggo.ydqy.com/tls/server.crt
export CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.ydqy.com/peers/peer1.orggo.ydqy.com/tls/server.key

# 第3个节点 Cpp组织的 peer0
export CORE_PEER_ADDRESS=peer0.orgcpp.ydqy.com:7051
export CORE_PEER_LOCALMSPID=OrgCppMSP
export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/users/[email protected]/msp
export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/peers/peer0.orgcpp.ydqy.com/tls/ca.crt
export CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/peers/peer0.orgcpp.ydqy.com/tls/server.crt
export CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/peers/peer0.orgcpp.ydqy.com/tls/server.key

# 第4个节点 Cpp组织的 peer1
export CORE_PEER_ADDRESS=peer1.orgcpp.ydqy.com:7051
export CORE_PEER_LOCALMSPID=OrgCppMSP
export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/users/[email protected]/msp
export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/peers/peer1.orgcpp.ydqy.com/tls/ca.crt
export CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/peers/peer1.orgcpp.ydqy.com/tls/server.crt
export CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.ydqy.com/peers/peer1.orgcpp.ydqy.com/tls/server.key

创建通道的操作只要登录到客户端容器中就可以进行操作.

对peer0.OrgGo的操作

  • 要保证客户端操作的是peer0.OrgGo
    • 可以查看: echo $CORE_PEER_ADDRESS
  • 将当前节点加入到通道中
    • peer channel join -b xxx.block
  • 安装链代码
    • peer chaincode install [flags]
  • 链代码的初始化 -> 只需要做一次
    • peer chaincode instantiate [flag]
  • 查询/调用

对peer1.OrgGo的操作

  • 要保证客户端操作的是peer1.OrgGo
    • 可以查看: echo $CORE_PEER_ADDRESS
    • 不是修改环境变量
  • 将当前节点加入到通道中
    • peer channel join -b xxx.block
  • 安装链代码
    • peer chaincode install [flags]
  • 查询/调用

对peer0.OrgCpp的操作

  • 要保证客户端操作的是peer1.OrgGo
    • 可以查看: echo $CORE_PEER_ADDRESS
    • 不是修改环境变量
  • 将当前节点加入到通道中
    • peer channel join -b xxx.block
  • 安装链代码
    • peer chaincode install [flags]
  • 查询/调用

对peer1.OrgCpp的操作

  • 要保证客户端操作的是peer1.OrgGo
    • 可以查看: echo $CORE_PEER_ADDRESS
    • 不是修改环境变量
  • 将当前节点加入到通道中
    • peer channel join -b xxx.block
  • 安装链代码
    • peer chaincode install [flags]
  • 查询/调用

猜你喜欢

转载自blog.csdn.net/boss2967/article/details/84205293