无法在Windows7

时间:2017-08-22 12:34:00

标签: go blockchain hyperledger hyperledger-fabric

我正在尝试在我的本地Hyperledger Fabric v1.0环境中安装自定义链代码。

为此,我按照文档build your first network进行操作,并在github项目中使用第一个网络示例。不,它正在运行./byfn.sh -m up并执行所有脚本以进行通道创建,链代码安装和实例化,所有这些都是通过运行script.sh文件完成的。

现在我更改了以下内容以试用我的自定义链码

peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02>&log.txt

我已经改为

peer chaincode install -n mycc -v 1.0 -p github.com/myuserId/fabrcicV1_chaincodes/mychaincode >&log.txt

现在运行./byfn.sh -m up获取异常

2017-08-22 11:01:17.048 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
2017-08-22 11:01:17.048 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
2017-08-22 11:01:17.048 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
Error: Error getting chaincode code chaincode: path to chaincode does not exist: github.com/myuserId/fabrcicV1_chaincodes/mychaincode
Usage:
  peer chaincode install [flags]

Flags:
  -c, --ctor string      Constructor message for the chaincode in JSON format (default "{}")
  -l, --lang string      Language the chaincode is written in (default "golang")
  -n, --name string      Name of the chaincode
  -p, --path string      Path to chaincode
  -v, --version string   Version of the chaincode specified in install/instantiate/upgrade commands

Global Flags:
      --cafile string              Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoi
      --logging-level string       Default logging level and overrides, see core.yaml for full syntax
  -o, --orderer string             Ordering service endpoint
      --test.coverprofile string   Done (default "coverage.cov")
      --tls                        Use TLS when communicating with the orderer endpoint

!!!!!!!!!!!!!!! Chaincode installation on remote peer PEER0 has Failed !!!!!!!!!!!!!!!!
========= ERROR !!! FAILED to execute End-2-End Scenario ===========

我有github的存储库,那么为什么它没有显示不退出

我已经克隆与路径$ GOPATH / src / github.com /下的 Windows 7 机器相同,并给出了本地路径,然后我也得到了相同的错误。我通过Docker快速启动终端运行所有命令 windows 7

请说明我做错了。

同样在某些网络日志中,我找到了一个位置/opt/gopath/src/github.com/....以及它所指向的位置。在我的Windows路径中,gopath是/c/users/public/fabricv1

由于我对该工具不太熟悉,请对此进行评论。

  

从我这边做了一些分析之后,看起来像是链码   正在阅读一些预先安装的目录 sacc /,fabcar /,/ marble02   路径下的,chaincode_example_02,hyperledger /    root@7785f8b27559:/opt/gopath/src/chaincodedev/chaincode# 和   链码也在网络建立时预先加载   使用泊坞窗图片。通过添加链码似乎 没有效果   Windows文件夹 ,它来自上述虚拟机路径。

     

那么我现在可以做些什么来继续我的工作呢?有没有办法安装   我的自定义链码到本地网络。我试着用我的githhub路径   和本地路径,但没有用。请有人帮忙:(

1 个答案:

答案 0 :(得分:7)

您似乎没有$ GOPATH中的链码,您需要运行:

go get github.com/myuserId/fabrcicV1_chaincodes/mychaincode

在尝试在peer上安装链代码之前,如果您使用构建第一个网络,则需要确保fabric-samples/chaincode文件夹中的新链代码。另请注意,您需要将带有链代码的文件夹挂载到docker cli容器中,请参阅当前docker-compose-cli.yaml文件的示例:

volumes:
    - /var/run/:/host/var/run/
    - ./../chaincode/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go
    - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
    - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
    - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

特别是,你可能需要在这里替换你的链代码或确保在cli容器的$GOPATH内安装一个额外的文件夹:

- ./../chaincode/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go