hyperledger fabric v1.0安装测试(ubuntu)

本文档详细介绍了如何从零开始部署Hyperledger Fabric区块链网络,包括基础环境安装、镜像下载、网络配置及启动等关键步骤,并提供了测试指令帮助验证部署是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.基础环境安装

Docker - v1.12 or higher                    

sudo apt-get install docker.io

Docker Compose - v1.8 or higher    

sudo apt-get install python-pip
pip install docker-compose

Go - 1.7 or higher

在go官网   https://golang.org/dl/   下载linux最新安装包
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
gedit /etc/profile
在文件末尾添加export PATH=$PATH:/usr/local/go/bin
source /etc/profile

2.docker镜像下载

mkdir fabric-sample
cd fabri-sample
curl -sSLhttps://goo.gl/NIKLiU| bash
上一步如果出现请求网址连接不上,可依次执行
export ARCH=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')" | awk '{print tolower($0)}')
curl https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/fabric-binary/${ARCH}-1.0.0-alpha2/fabric-binary-${ARCH}-1.0.0-alpha2.tar.gz | tar xz
cd release/${ARCH}
sh download-dockerimages.sh -c $(uname -m)-1.0.0-alpha2 -f $(uname -m)-1.0.0-alpha2
执行完毕后显示结果如下:

3.网络环境配置

以下两个步骤任选其一

手工配置

在2中docker镜像下载完毕后,会在fabric-sample中出现release文件,其中会有linux-amd64
cd fabric-sample/release/linux-amd64
./bin/cryptogengenerate --config=./crypto-config.yaml
(出现警告可以不予理会)
export FABRIC_CFG_PATH=$PWD
(官方文档直接FABRIC_CFG_PATH存在问题)
./bin/configtxgen-profile TwoOrgsOrdererGenesis-outputBlock ./channel-artifacts/genesis.block
(执行结果后会在当前文件夹中产生genesis.block)
./bin/configtxgen-profile TwoOrgsChannel-outputCreateChannelTx ./channel-artifacts/channel.tx-channelID <channel-ID>
./bin/configtxgen-profile TwoOrgsChannel-outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx-channelID <channel-ID>-asOrg Org1MSP
./bin/configtxgen-profile TwoOrgsChannel-outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx-channelID <channel-ID>-asOrg Org2MSP
(需要将上述<channel-ID>修改为自己创建的名字)

自动配置

./generateArtifacts.sh<channel-ID>
(需要将上述<channel-ID>修改为自己创建的名字)

4.网络启动

在linux-amd64文件下有docker-compose-cli.yaml文件,对其中的内容修改如下:
working_dir:/opt/gopath/src/github.com/hyperledger/fabric/peer
# command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'
volumes

CHANNEL_NAME=<channel-id>TIMEOUT=<pick_a_value>docker-compose-f docker-compose-cli.yamlup -d
(将其中<channel-id>修改为3中创建的名字,可以去除掉命令中的-d便可以看见打印信息,提示有个小错误,但不影响后边的测试)

5.测试

docker exec -it clibash
(进入cli容器中)
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem
(将其中的$CHANNEL_NAME修改为3中创建的名字,运行完毕后会在当前文件下出现一个CHANNEL_NAME.block)
peer channeljoin -b CHANNEL_NAME.block
peer chaincode install -nmycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"
(修改其中的$CHANNEL_NAME)

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'

peer chaincode invoke -o orderer.example.com:7050  --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem  -C $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值