关于java的教程有点少,记录一下自己的安装过程,大多数都是官方文档上的

  • 网址如下:
    https://hyperledger-fabric.readthedocs.io/zh_CN/release-2.2/deploy_chaincode.html

前提:

  • 需要根据官网教程安装好环境,下载fabric-samples系列文件
  • 网络为官方实例的test-network网络

1、开启网络:

cd fabric-samples/test-network

2、关闭网络 (这条命令最后使用,只是写在前面)

docker stop logspout
docker rm logspout
./network.sh down

3、启动网络:creates a channel named mychannel

./network.sh up createChannel

最后输出如下 网络就成功了
========= Channel successfully joined===========

监听: 这个是用来查看安装智能合约中的一些日记记录的(应该是)

1、cd fabric-samples/test-network

2、启动监听:

 cp ../commercial-paper/organization/digibank/configuration/cli/monitordocker.sh .
 ./monitordocker.sh net_test

开始部署链码

1、定位到java链码所在的文件夹

cd fabric-samples/chaincode/fabcar/java

2、安装 smart contract dependencies

./gradlew installDist

3、使用peer CLI创建一个chaincode包

cd ../../../test-network
export PATH=${PWD}/../bin:$PATH        

(导入peer binaries,将这些二进制文件添加到CLI路径中)

export FABRIC_CFG_PATH=$PWD/../config/

4、创建chaincode包

peer lifecycle chaincode package fabcar.tar.gz --path ../chaincode/fabcar/java/build/install/fabcar --lang java --label fabcar_1

5、安装链码

1)peer0.org1.example.com
1、导入环境变量

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

2、安装链码install

peer lifecycle chaincode install fabcar.tar.gz

3、查询已安装的链码

 peer lifecycle chaincode queryinstalled

4、导入链码id环境变量

  export CC_PACKAGE_ID=fabcar1:69de748301770f6ef64b42aa6bb6cb291df20aa39542c3ef94008615704007f3

5、批准链码

peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name fabcar --version 1.0 --package-id $CC_PACKAGE_ID --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

2)peer0.org2.example.com
1、环境变量

export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051

2、安装链码install

peer lifecycle chaincode install fabcar.tar.gz

3、查询已安装

peer lifecycle chaincode queryinstalled

4、导入环境变量

export CC_PACKAGE_ID=fabcar1:69de748301770f6ef64b42aa6bb6cb291df20aa39542c3ef94008615704007f3

5、批准链码

peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name fabcar --version 1.0 --package-id $CC_PACKAGE_ID --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

3)提交链码
1、检查两个组织是否都approved

peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name fabcar --version 1.0 --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --output json

2、提交链码:需要是组织管理员提交admin org1

peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name fabcar --version 1.0 --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

3、查询已提交链码

peer lifecycle chaincode querycommitted --channelID mychannel --name fabcar --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

4、看有没有启动链码容器

 docker ps

6、调用链码

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n fabcar --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"initLedger","Args":[]}'

7、查询链码

peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'

不报错就成功了~

Logo

为所有Web3兴趣爱好者提供学习成长、分享交流、生态实践、资源工具等服务,作为Anome Land原住民可不断优先享受各种福利,共同打造全球最大的Web3 UGC游戏平台。

更多推荐