-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FAB-6568] Fabric-Samples - update fabcar
Update the fabcar sample with an easier flow Remove hardcoded fields in the invoke program Change-Id: I9a06cdd317c2afec80720ac7d728d38fc62c6f63 Signed-off-by: Bret Harrison <beharrison@nc.rr.com> Signed-off-by: Nick Gaski <ngaski@us.ibm.com>
- Loading branch information
Showing
10 changed files
with
373 additions
and
215 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
5 changes: 0 additions & 5 deletions
5
fabcar/creds/cd96d5260ad4757551ed4a5a991e62130f8008a0bf996e4e4b84cd097a747fec-priv
This file was deleted.
Oops, something went wrong.
14 changes: 0 additions & 14 deletions
14
fabcar/creds/cd96d5260ad4757551ed4a5a991e62130f8008a0bf996e4e4b84cd097a747fec-pub
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
'use strict'; | ||
/* | ||
* Copyright IBM Corp All Rights Reserved | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
/* | ||
* Enroll the admin user | ||
*/ | ||
|
||
var Fabric_Client = require('fabric-client'); | ||
var Fabric_CA_Client = require('fabric-ca-client'); | ||
|
||
var path = require('path'); | ||
var util = require('util'); | ||
var os = require('os'); | ||
|
||
// | ||
var fabric_client = new Fabric_Client(); | ||
var fabric_ca_client = null; | ||
var admin_user = null; | ||
var member_user = null; | ||
var store_path = path.join(__dirname, 'hfc-key-store'); | ||
console.log(' Store path:'+store_path); | ||
|
||
// create the key value store as defined in the fabric-client/config/default.json 'key-value-store' setting | ||
Fabric_Client.newDefaultKeyValueStore({ path: store_path | ||
}).then((state_store) => { | ||
// assign the store to the fabric client | ||
fabric_client.setStateStore(state_store); | ||
var crypto_suite = Fabric_Client.newCryptoSuite(); | ||
// use the same location for the state store (where the users' certificate are kept) | ||
// and the crypto store (where the users' keys are kept) | ||
var crypto_store = Fabric_Client.newCryptoKeyStore({path: store_path}); | ||
crypto_suite.setCryptoKeyStore(crypto_store); | ||
fabric_client.setCryptoSuite(crypto_suite); | ||
var tlsOptions = { | ||
trustedRoots: [], | ||
verify: false | ||
}; | ||
// be sure to change the http to https when the CA is running TLS enabled | ||
fabric_ca_client = new Fabric_CA_Client('http://localhost:7054', tlsOptions , 'ca.example.com', crypto_suite); | ||
|
||
// first check to see if the admin is already enrolled | ||
return fabric_client.getUserContext('admin', true); | ||
}).then((user_from_store) => { | ||
if (user_from_store && user_from_store.isEnrolled()) { | ||
console.log('Successfully loaded admin from persistence'); | ||
admin_user = user_from_store; | ||
return null; | ||
} else { | ||
// need to enroll it with CA server | ||
return fabric_ca_client.enroll({ | ||
enrollmentID: 'admin', | ||
enrollmentSecret: 'adminpw' | ||
}).then((enrollment) => { | ||
console.log('Successfully enrolled admin user "admin"'); | ||
return fabric_client.createUser( | ||
{username: 'admin', | ||
mspid: 'Org1MSP', | ||
cryptoContent: { privateKeyPEM: enrollment.key.toBytes(), signedCertPEM: enrollment.certificate } | ||
}); | ||
}).then((user) => { | ||
admin_user = user; | ||
return fabric_client.setUserContext(admin_user); | ||
}).catch((err) => { | ||
console.error('Failed to enroll and persist admin. Error: ' + err.stack ? err.stack : err); | ||
throw new Error('Failed to enroll admin'); | ||
}); | ||
} | ||
}).then(() => { | ||
console.log('Assigned the admin user to the fabric client ::' + admin_user.toString()); | ||
}).catch((err) => { | ||
console.error('Failed to enroll admin: ' + err); | ||
}); |
Oops, something went wrong.