def create_configtx_file(config, dir, configtx_filename=CNFIGTX_FN): logger.info("Create configtx.yaml...") try: orderer_default = __create_orderer(config) orderer_org = __create_orderer_org(config) peers_org = __create_peers_org(config) application_default = __create_application(config) orderer_default['Organizations'] = orderer_org application_default['Organizations'] = peers_org orderer_profil = {} sample_consortium = {} consortiums = {} channel_profil = {} profiles = {} dic = {} orderer_profil['Orderer'] = orderer_default sample_consortium['Organizations'] = peers_org consortiums['SampleConsortium'] = sample_consortium orderer_profil['Consortiums'] = consortiums channel_profil['Consortium'] = "SampleConsortium" channel_profil['Application'] = application_default profiles['OrgsChannel'] = channel_profil profiles['OrgsOrdererGenesis'] = orderer_profil dic['Profiles'] = profiles dump_yaml_file(data=dic, file_path=dir + "/" + configtx_filename) logger.debug(json.dumps(dic, indent=4)) except Exception as e: logger.error(e) raise Exception("Create crypto-config.yaml failled!")
def test_generate_api(self): data = json.dumps(self.config) response = self.app.post( '/generator/api/v1.0/generate', data=data, ) logger.debug(response) self.assertEqual(response.status_code, 201)
def config_test(tls, ip): DOMAIN_NAME = "example.com" PROVINCE = "Rhone Alpe" COUNTRY = "FR" LOCALITY = "Meylan" if tls: GRPCSURL = "grpcs://" + ip HTTPSURL = "https://" + ip tls = "true" else: GRPCSURL = "grpc://" + ip HTTPSURL = "http://" + ip tls = "false" certificate = { 'country': COUNTRY, 'province': PROVINCE, 'locality': LOCALITY } channel = {'name': 'mychannel'} peer11 = { 'address': GRPCSURL, 'request_port': DEFAULT_PEER_REQUEST_PORT, 'event_port': DEFAULT_PEER_EVENT_PORT } peer12 = {'address': GRPCSURL, 'request_port': 7056, 'event_port': 7058} peer21 = {'address': GRPCSURL, 'request_port': 8051, 'event_port': 8053} peer22 = {'address': GRPCSURL, 'request_port': 8056, 'event_port': 8088} orderer = {'address': GRPCSURL, 'port': DEFAULT_ORDERER_PORT} ca1 = {'address': HTTPSURL, 'port': DEFAULT_CA_PORT} ca2 = {'address': HTTPSURL, 'port': 8054} peerOrg1 = { 'org_name': 'Org1', 'domain': DOMAIN_NAME, 'peers': [peer11, peer12], 'ca': ca1 } peerOrg2 = { 'org_name': 'Org2', 'domain': DOMAIN_NAME, 'peers': [peer21, peer22], 'ca': ca2 } ordererOrg = { 'org_name': 'Orderer', 'domain': DOMAIN_NAME, 'orderers': [orderer] } config = { 'cert': certificate, 'channel': channel, 'orderer_org': ordererOrg, 'peer_orgs': [peerOrg1, peerOrg2] } logger.debug(json.dumps(config, indent=4)) return config
def create_crypto_config_file(config, dir, cryptog_config_filename=CRYPTOCONFIG_FN): logger.info("Create crypto-config.yaml...") try: dic = {} orderer = {} ca = {} specs = [] peers = [] orderers = [] orderer['Domain'] = config.orderer_org.domain orderer['Name'] = "orderer" #config.orderer_org.org_name ca['Country'] = config.cert.country ca['Province'] = config.cert.province ca['Locality'] = config.cert.locality for o in config.orderer_org.orderers: specs.append({'Hostname': o.name}) orderer['Specs'] = specs orderer['CA'] = ca orderers.append(orderer) for peer_org in config.peer_orgs: peer = {} users = {} template = {} users['Count'] = peer_org.nb_users template['Count'] = peer_org.nb_peers peer['Domain'] = peer_org.domain peer['Name'] = peer_org.org_name peer['CA'] = ca peer['Users'] = users peer['Template'] = template peers.append(peer) dic['OrdererOrgs'] = orderers dic['PeerOrgs'] = peers dump_yaml_file(data=dic, file_path=dir + "/" + cryptog_config_filename) logger.debug(json.dumps(dic, indent=4)) return cryptog_config_filename except Exception as e: logger.error(e) raise Exception("Create crypto-config.yaml failled!")
def create_config_file(config, filename): logger.info("Create explorer config file...") try: dic = {} dic['host'] = EXPLORER_HOST dic['port'] = EXPLORER_PORT dic['channel'] = config.channel.name dic['keyValueStore'] = EXPLORER_LOCAL + "fabric-client-kvs" dic['eventWaitTime'] = "30000" mysql = {} mysql['host'] = EXPLORER_MSQL_HOST mysql['port'] = EXPLORER_MSQL_PORT mysql['database'] = EXPLORER_MSQL_DB mysql['username'] = EXPLORER_MSQL_LOGIN mysql['password'] = EXPLORER_MSQL_PWD dic['mysql'] = mysql for o in config.peer_orgs: org = {} org['name'] = "peer" + o.org_name org['mspid'] = o.mspid org['ca'] = o.ca.url for p in o.peers: peer = {} peer['request'] = p.request_url peer['events'] = p.event_url peer['server-hostname'] = p.hostname peer[ 'tls_cacerts'] = EXPLORER_LOCAL + o.domain + "/peer/" + p.name + "/ca.crt" org[p.name] = peer admin = {} admin['key'] = EXPLORER_LOCAL + o.domain + "/admin/keystore" admin['cert'] = EXPLORER_LOCAL + o.domain + "/admin/signcerts" org['admin'] = admin dic[o.org_name] = org with open(filename, 'w') as f: json.dump(dic, f, ensure_ascii=False, indent=4) logger.debug(json.dumps(dic, indent=4)) except Exception as e: logger.error(e) raise Exception("Create explorer config file failled!")
def create_connection_file(config, filename): for peer_org in config.peer_orgs: logger.info("Create composer config file...") try: dic ={} dic['name'] = 'profil'+peer_org.org_name dic['type'] = 'hlfv1' dic['mspID'] = peer_org.mspid dic['channel'] = config.channel.name dic['timeout'] = 300 peers=[] for p in peer_org.peers: peer = {} peer['requestURL']=p.request_url peer['eventURL']=p.event_url peer['cert']=COMPOSER_LOCAL+peer_org.domain+"/peer/"+p.name+"/ca.crt" peer['hostnameOverride']=p.hostname peers.append(peer) orderers=[] dic['peers']=peers for o in config.orderer_org.orderers: orderer = {} orderer['url']=o.url orderer['cert']=COMPOSER_LOCAL+config.orderer_org.domain+"/orderer/"+o.name+"/ca.crt" orderer['hostnameOverride']=o.hostname orderers.append(orderer) dic['orderers']=orderers ca = {} ca['url']=peer_org.ca.url ca['name']="ca-"+peer_org.org_name ca['cert']=COMPOSER_LOCAL+peer_org.domain+"/ca/ca.crt" ca['hostnameOverride']="ca."+peer_org.domain dic['ca']=ca with open(filename, 'w') as f: json.dump(dic, f, ensure_ascii=False, indent=4) logger.debug(json.dumps(dic, indent=4)) except Exception as e: logger.error(e) raise Exception("Create composer config file failled!")