Fabric中fabcar项目直接运行以及与SDK的交互测试
前言
之前的Fabric智能合约编写,部署,调用文章已经详细讲了如何创建、部署、运行fabcar的go智能合约,但是如何使用sdk与智能合约交互却没有说,本节将详细介绍这部分内容。
fabcar项目启动
- 进入fabcar目录:
cd /root/go/src/github.com/hyperledger/fabric-samples/fabcar
- 查看是否有docker容器在运行
docker ps -l
- 如果有容器,则删除所有
docker rm -f $(docker ps -aq)
- 启动测试网络和fabcar项目
./startFabric.sh
- 启动成功;如果启动失败则删除所有docker镜像并重启系统
SDK与fabcar链上数据交互
java
- 进入fabcar下的java目录
cd java
- 运行maven项目
mvn test
- 使用sdk查询结果和直接在命令行查询的结果相同:
peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'
javascript
参考
https://codeantenna.com/a/TJPiTzNCVs
常见问题
1. Command 'peer' not found
cd /root/go/src/github.com/hyperledger/fabric-samples/test-network
export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
2. Cannot run peer because cannot init crypto, specified path “xxx/fabric-samples/config/msp“
错误原因:直接在命令行使用peer命令查询fabcar出现错误:peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'
错误详情:InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, specified path "/root/go/src/github.com/hyperledger/fabric-samples/config/msp" does not exist or cannot be accessed: stat /root/go/src/github.com/hyperledger/fabric-samples/config/msp: no such file or directory
解决方案:原因是没有配置环境变量,以网络中的某个组织的某个节点进行交互。比如配置环境变量成为Org1 Peer0的角色
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
再次执行账本交互指令
peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'
Either Excellent or Rusty
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2021-02-14 剑指 Offer 65. 不用加减乘除做加法 + 位运算
2021-02-14 剑指 Offer 64. 求1+2+…+n + 递归
2021-02-14 剑指 Offer 63. 股票的最大利润 + 动态规划