经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 区块链 » 查看文章
Hyperledger Fabric1.4 手动搭建过程
来源:cnblogs  作者:启程去流浪  时间:2019/9/27 11:39:10  对本文有异议

1、生成证书:

  1. #路径需要更改为自己的路径
  2. cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/

  3. #在这里可能会报错,通常是权限问题,可以添加sudo重新执行
    cryptogen generate --config=./crypto-config.yaml

  4. #执行完毕后,当前文件夹下会出现一个新的文件夹:crypto-config,在该文件夹下就是刚刚生成的证书.

2、生成创世区块,通道配置,锚节点配置文件

  1. #路径需要更改为自己的路径
  2. cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/
  1. 生成创世区块
    configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block

  生成通道配置信息

  1. export CHANNEL_NAME=mychannel
  1. configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME

  生成两个组织的锚节点配置文件

  1. configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
  2. configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP

    成功后在channel-artifacts有四个文件:
  1. channel.tx genesis.block Org1MSPanchors.tx Org2MSPanchors.tx

3、启动fabric网络

  1. sudo docker-compose -f docker-compose-cli.yaml up -d

4、创建通道

  1. export CHANNEL_NAME=mychannel
  2. export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
  3. peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls true --cafile $ORDERER_CA

    -o 指定Orderer节点地址
    -c 指定要创建的应用通道名称
    -f 指定创建应用通道时所使用的应用通道交易配置文件
    --tls 开启tls验证
    --cafile 指定tls_ca证书的所在路径

5、将节点加入应用通道

  1. peer channel join -b mychannel.block

6、更新锚节点

  1. Org1更新锚节点:
  2. CORE_PEER_LOCALMSPID="Org1MSP"
  3. 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
  4. CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
  5. CORE_PEER_ADDRESS=peer0.org1.example.com:7051
  6. ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
  7. peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls true --cafile $ORDERER_CA
  1. Org2更新锚节点:
  2. CORE_PEER_LOCALMSPID="Org2MSP"
  3. CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
  4. CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
  5. CORE_PEER_ADDRESS=peer0.org2.example.com:7051
  6. peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls true --cafile $ORDERER_CA

7、安装示例链码

  1. 先切换到peer0.org1这个节点
  2. CORE_PEER_LOCALMSPID="Org1MSP"
  3. 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
  4. CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
  5. CORE_PEER_ADDRESS=peer0.org1.example.com:7051
  1. 使用peer chaincode install命令可以安装指定的ChainCode并对其命名:
  2. peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go

8、实例化链码

  1. peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR('Org1MSP.member','Org2MSP.member')"

9、查询并发起交易

  1. peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
  1. 在另一个节点查询交易
  2. CORE_PEER_LOCALMSPID="Org2MSP"
  3. CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
  4. CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
  5. CORE_PEER_ADDRESS=peer0.org2.example.com:7051
  6. peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

 

10、查看日志

  1. docker logs -f peer0.org1.example.com

 

原文链接:http://www.cnblogs.com/zhanghh/p/11595923.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号