0

我正在按照http://hyperledger-fabric.readthedocs.io/en/latest/Setup/Chaincode-setup/上的说明进行操作。

我在 Windows 上使用 Docker Toolbox,我可以成功启动 peer 和 CA。这是我启动 peer 和 CA 时的日志:

[33mvp0_1         |[0m [36m13:18:52.349 [peer] chatWithSomePeers -> DEBU 04c[0m Starting up the first peer of a new network
[33mvp0_1         |[0m 13:18:52.352 [nodeCmd] serve -> INFO 04d[0m Starting peer with ID=name:"vp0" , network ID=dev, address=172.17.0.3:7051, rootnodes=, validator=true
[33mvp0_1         |[0m [36m13:18:52.358 [consensus/statetransfer] verifyAndRecoverBlockchain -> DEBU 04e[0m Validating existing blockchain, highest validated block is 0, valid through 0
[33mvp0_1         |[0m 13:18:52.359 [consensus/statetransfer] blockThread -> INFO 04f[0m Validated blockchain to the genesis block
[33mvp0_1         |[0m [36m13:18:52.360 [consensus/handler] 1 -> DEBU 050[0m Starting up message thread for consenter
[33mvp0_1         |[0m [36m13:18:52.363 [peer] ensureConnected -> DEBU 051[0m Starting Peer reconnect service (touch service), with period = 6s
[33mvp0_1         |[0m 13:18:52.365 [rest] StartOpenchainRESTServer -> INFO 052[0m Initializing the REST service on 0.0.0.0:7050, TLS is disabled.

但是当我使用以下命令启动链代码时

CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02 

我得到以下错误:

19:30:34.138 [shim] INFO : error with chaincode log level: logger: invalid log level level=
19:30:34.140 [shim] DEBU : Peer address: 0.0.0.0:7052
2016/10/01 19:30:35 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7052: conne
ctex: The requested address is not valid in its context."; Reconnecting to {"0.0.0.0:7052" <nil>}
2016/10/01 19:30:36 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7052: conne
ctex: The requested address is not valid in its context."; Reconnecting to {"0.0.0.0:7052" <nil>}
19:30:37.143 [shim] ERRO : Error trying to connect to local peer: grpc: timed out when dialing
Error starting Simple chaincode: Error trying to connect to local peer: grpc: timed out when dialing2016/10/01 19:30:37 grpc: addrConn.resetTransport
failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7052: connectex: The requested address is not valid in its co
ntext."; Reconnecting to {"0.0.0.0:7052" <nil>}

为什么我会收到此错误?

4

2 回答 2

0

如果您尝试执行这些步骤: https ://hyperledger-fabric.readthedocs.io/en/latest/Setup/Chaincode-setup/#starting-and-registering-the-chaincode

您需要将 CORE_PEER_ADDRESS=0.0.0.0:7051 更改为 dockercompose_vp0_1 的内部 IP

osboxes@osboxes:~$ sudo docker exec -it dockercompose_vp0_1 ifconfig | grep "inet addr"
      inet addr:172.17.0.3  Bcast:0.0.0.0  Mask:255.255.0.0
      inet addr:127.0.0.1  Mask:255.0.0.0

取eth0的IP地址。它是 172.17.0.3

osboxes@osboxes:/usr/hyperledger/src/first_test$ CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=172.17.0.3:7051 ./chaincode_example02
08:58:16.619 [shim] INFO : error with chaincode log level: logger: invalid log level level= 
08:58:16.619 [shim] DEBU : Peer address: 172.17.0.3:7051
08:58:16.622 [shim] DEBU : os.Args returns: [./chaincode_example02]
08:58:16.623 [shim] DEBU : Registering.. sending REGISTER
08:58:16.625 [shim] DEBU : []Received message REGISTERED from shim
08:58:16.625 [shim] DEBU : []Handling ChaincodeMessage of type: REGISTERED(state:created)
08:58:16.625 [shim] DEBU : Received REGISTERED, ready for invocations
于 2016-11-04T09:06:01.370 回答
0

Docker 默认监听地址 - 192.168.99.100

因此,转到链代码文件夹,使用go build构建链代码

- 将创建一个名为 chaincode_example02 的 exe 文件。

然后运行下面的代码 -

CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=192.168.99.100:7051 ./chaincode_example02

于 2017-03-27T13:59:59.407 回答