qcc qcc - 2 months ago 7
Git Question

What's wrong with logging into peer network -hyperledger fabric (eca.user)?

can anyone help me out with this? I'm not sure what's wrong with the login of the peer network(hyperledger fabric).

I followed their steps in

http://hyperledger-fabric.readthedocs.io/en/latest/Setup/Chaincode-setup/
, under the note on security functionality. I tried as what's stated. I did vagrant ssh,
cd $GOPATH/src/github.com/hyperledger/fabric/peer
and followed by

peer network login admin


(a default file of membersrvc.yaml).

I did try out other username and password, but none of it worked as it shown error. To my understanding, when it shows errors, it would mean that the user and password are incorrect. However, i copied and pasted the user and password and it didnt work. May i know what's wrong with the user and password for logging into peer network (hyperledger fabric- using of git bash)?

The user and passwords(eca.user- showing the user and password) will be shown in the following (membersrvc.yaml) :

eca:


# This hierarchy is used to create the Pre-key tree, affiliations is the top of this hierarchy, 'banks_and_institutions' is used to create the key associated to auditors of both banks and
# institu

tions, 'banks' is used to create a key associated to auditors of banks, 'bank_a' is used to create a key associated to auditors of bank_a, etc.
affiliations:
banks_and_institutions:
banks:
- bank_a
- bank_b
- bank_c
institutions:
- institution_a
users:
#
# The fields of each user are as follows:
# <EnrollmentID>: <system_role (1:client, 2: peer, 4: validator, 8: auditor)> <EnrollmentPWD> <Affiliation> <Affiliation_Role> <JSON_Metadata>
#
# The optional JSON_Metadata field is of the following format:
# { "registrar": { "roles": <array-of-role-names>, "delegateRoles": <array-of-role-names> } }
# The 'registrar' section is used to control access to registration of new users directly via the ECAA.RegisterUser GRPC call.
# (See the 'fabric/membersrvc/protos/ca.proto' file for the definition of ECAA.RegisterUser.)
# Note that this also controls who can register users via the client SDK.
#
# Only users with a 'registrar' section may be a registrar to register other users. In particular,
# 1) the "roles" field specifies which member roles may be registered by this user, and
# 2) the "delegateRoles" field specifies which member roles may become the "roles" field of registered users.
# The valid role names are "client", "peer", "validator", and "auditor".
#
# Example1:
# The 'admin' user below can register clients, peers, validators, or auditors; furthermore, the 'admin' user can register other
# users who can then register clients only.
#
# Example2:
# The 'WebAppAdmin' user below can register clients only, but none of the users registered by this user can register other users.
#
admin: 1 Xurw3yU9zI0l institution_a '{"registrar":{"roles":["client","peer","validator","auditor"],"delegateRoles":["client"]}}'
WebAppAdmin: 1 DJY27pEnl16d institution_a '{"registrar":{"roles":["client"]}}'
lukas: 1 NPKYL39uKbkj bank_a
system_chaincode_invoker: 1 DRJ20pEql15a institution_a
diego: 1 DRJ23pEQl16a institution_a
jim: 1 6avZQLwcUe9b bank_a
binhn: 1 7avZQLwcUe9q institution_a
testing: 1 test123 institution_a

# Users for asset transfer with roles test located at
# sdk/node/test/unit/asset-mgmt-with-roles.js
alice: 1 CMS10pEQlB16 bank_a
bob: 1 NOE63pEQbL25 bank_a
assigner: 1 Tc43PeqBl11 bank_a

vp: 4 f3489fy98ghfAD

test_vp0: 4 MwYpmSRjupbT
test_vp1: 4 5wgHK9qqYaPy
test_vp2: 4 vQelbRvja7cJ
test_vp3: 4 9LKqKH5peurL
test_vp4: 4 Pqh90CEW5juZ
test_vp5: 4 FfdvDkAdY81P
test_vp6: 4 QiXJgHyV4t7A
test_vp7: 4 twoKZouEyLyB
test_vp8: 4 BxP7QNh778gI
test_vp9: 4 wu3F1EwJWHvQ

# Uncomment this section to activate devnet setup as specficied in
# devnet-setup.md
#
# vp0: 4 vp0_secret
# vp1: 4 vp1_secret

test_user0: 1 MS9qrN8hFjlE bank_a
test_user1: 1 jGlNl6ImkuDo institution_a
test_user2: 1 zMflqOKezFiA bank_c
test_user3: 1 vWdLCE00vJy0 bank_a
test_user4: 1 4nXSrfoYGFCP institution_a
test_user5: 1 yg5DVhm0er1z bank_b
test_user6: 1 b7pmSxzKNFiw bank_a
test_user7: 1 YsWZD4qQmYxo institution_a
test_user8: 1 W8G0usrU7jRk bank_a
test_user9: 1 H80SiB5ODKKQ institution_a

test_nvp0: 2 iywrPBDEPl0K bank_a
test_nvp1: 2 DcYXuRSocuqd institution_a
test_nvp2: 2 flpChShlY7xt bank_c
test_nvp3: 2 jeruawMomclo bank_a
test_nvp4: 2 RMYVxSZCk370 institution_a
test_nvp5: 2 XHYVCIJGZGK7 bank_b
test_nvp6: 2 4cIn63j8ahYp bank_a
test_nvp7: 2 E7FAJUtWVn2h institution_a
test_nvp8: 2 LJu8DkUilBEH bank_a
test_nvp9: 2 VlEsBsiyXSjw institution_a


The following codes will be what i key into git bash to log into peer network(hyperledger fabric) :

vagrant@hyperledger-devenv:v0.0.11-c6e56d6:/opt/gopath/src/github.com/hyperledger/fabric/peer$ peer network login admin

Enter password for user 'admin': Xurw3yU9zI0l


The following will be the errors after i input the password:

2016/09/14 07:05:33 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {"0.0.0.0:7051" <nil>}
2016/09/14 07:05:35 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {"0.0.0.0:7051" <nil>}
2016/09/14 07:05:35 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {"0.0.0.0:7051" <nil>}
Error: Error trying to connect to local peer: grpc: timed out when dialing
Usage:
peer network login <username> [flags]

Flags:
-p, --password string The password for user. You will be requested to enter the password if this flag is not specified.

Global Flags:
--logging-level string Default logging level and overrides, see core.yaml for full syntax
--test.coverprofile string Done (default "coverage.cov")
-v, --version Display current version of fabric peer server

vagrant@hyperledger-devenv:v0.0.11-c6e56d6:/opt/gopath/src/github.com/hyperledger/fabric/peer$


Updated:
Yes, i am able to achieve something similar like this

06:04:34.617 [crypto] RegisterClient -> INFO 017 Registering client [admin] with name [admin]...
06:04:34.737 [crypto] Info -> INFO 018 [client.admin] Register crypto engine...
06:04:34.738 [crypto] Info -> INFO 019 [client.admin] Register crypto engine... done.
06:04:34.739 [crypto] RegisterClient -> INFO 01a Registering client [admin] with name [admin]...done!


But, may i know why can I only log in for just once? For instance, if i want to log into admin again, it won't prompt for password and it will have something like this

vagrant@hyperledger-devenv:v0.0.11-087d2ea:/opt/gopath/src/github.com/hyperledger/fabric/peer$ peer network login admin
vagrant@hyperledger-devenv:v0.0.11-087d2ea:/opt/gopath/src/github.com/hyperledger/fabric/peer$

Answer

The reason for your error,

2016/09/14 07:05:33 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {"0.0.0.0:7051" <nil>}

is that there is no peer running on 0.0.0.0:7051.

here is what you should do,

from your fabric directory run membersrvc first (read this on how to setup CA), then in a separate terminal, run the following command to initiate a peer process,

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer node start --peer-chaincodedev

notice that I am running it in dev mode.

open another terminal and run the following,

peer network login lukas

enter (or paste) password when prompted.

In the second window (where you have initiated the peer), you will see the following output,

08:48:18.978 [crypto] RegisterClient -> INFO 01b Registering client [lukas] with name [lukas]...
08:48:19.179 [crypto] Info -> INFO 01c [client.lukas]  Register crypto engine...
08:48:19.181 [crypto] Info -> INFO 01d [client.lukas]  Register crypto engine...done.
08:48:19.183 [crypto] RegisterClient -> INFO 01e Registering client [lukas] with name [lukas]...done!

Let me know if it helps.

Comments