示例#1
0
def issue():
    config = get_config()
    certificate_batch_handler, transaction_handler, connector = \
            bitcoin.instantiate_blockchain_handlers(config, False)
    certificate_batch_handler.set_certificates_in_batch(request.json)
    cert_issuer.issue_certificates.issue(config, certificate_batch_handler, transaction_handler)
    return json.dumps(certificate_batch_handler.proof)
示例#2
0
def issue():
    config = get_config()
    certificate_batch_handler, transaction_handler, connector = \
            bitcoin.instantiate_blockchain_handlers(config, False)
    certificate_batch_handler.set_certificates_in_batch(request.json)
    cert_issuer.issue_certificates.issue(config, certificate_batch_handler,
                                         transaction_handler)
    return json.dumps(certificate_batch_handler.proof)
def main(app_config):
    chain = app_config.chain
    if chain == Chain.ethereum_mainnet or chain == Chain.ethereum_ropsten:
        from cert_issuer.blockchain_handlers import ethereum
        certificate_batch_handler, transaction_handler, connector = ethereum.instantiate_blockchain_handlers(app_config)
    else:
        from cert_issuer.blockchain_handlers import bitcoin
        certificate_batch_handler, transaction_handler, connector = bitcoin.instantiate_blockchain_handlers(app_config)
    return issue(app_config, certificate_batch_handler, transaction_handler)
示例#4
0
def main(app_config):
    chain = app_config.chain
    if chain == Chain.ethereum_mainnet or chain == Chain.ethereum_ropsten or chain == Chain.ethereum_goerli:
        from cert_issuer.blockchain_handlers import ethereum
        certificate_batch_handler, transaction_handler, connector = ethereum.instantiate_blockchain_handlers(
            app_config)
    else:
        from cert_issuer.blockchain_handlers import bitcoin
        certificate_batch_handler, transaction_handler, connector = bitcoin.instantiate_blockchain_handlers(
            app_config)
    return issue(app_config, certificate_batch_handler, transaction_handler)
示例#5
0
文件: apis.py 项目: wenwkich/cert-web
    def post(self):
        json_data = request.get_json(force=True)
        # get recipient from the json_data
        fields = {}
        fields["identity"] = json_data['email']
        fields["name"] = json_data['name']
        recipient = Recipient(fields)

        # get the template from db
        template_col = DAO().get_collection('certificate_template')
        template = template_col.find_one({}, {"_id": 0})

        # get deep copy of the template as cert
        cert = deepcopy(template)

        # get the config
        config = Config().get()

        # call instantiate_assertion and instantiate_recipient
        uid = str(uuid.uuid4())
        issued_on = helpers.create_iso8601_tz()
        instantiate_assertion(cert, uid, issued_on)
        instantiate_recipient(cert, recipient,
                              config.additional_per_recipient_fields,
                              config.hash_emails)

        # get the config
        config = Config().get()

        # post it to blockchain
        # first instantiate handlers
        chain = config.chain
        if chain == Chain.ethereum_mainnet or chain == Chain.ethereum_ropsten:
            from cert_issuer.blockchain_handlers import ethereum
            certificate_batch_handler, transaction_handler, connector = ethereum.instantiate_blockchain_handlers(
                config, False)
        else:
            from cert_issuer.blockchain_handlers import bitcoin
            certificate_batch_handler, transaction_handler, connector = bitcoin.instantiate_blockchain_handlers(
                config, False)

        certificate_batch_handler.certificates_to_issue = [cert]
        issuer = Issuer(certificate_batch_handler=certificate_batch_handler,
                        transaction_handler=transaction_handler,
                        max_retry=config.max_retry)
        tx_id = issuer.issue(config.chain)

        issued_cert = certificate_batch_handler.certificates_to_issue[0]
        issued_cert_to_insert = deepcopy(issued_cert)
        cert_col = DAO().get_collection("certificates")
        cert_col.insert_one(issued_cert_to_insert)
        return issued_cert
示例#6
0
def issue():
    config = get_config()
    certificate_batch_handler, transaction_handler, connector = \
            bitcoin.instantiate_blockchain_handlers(config, False)
    /* json에는 certificates의 정보가 들어 있고, certificates의 정보를 batch로 만들어 certificate_batch_handler에 넣어주는듯 하다 */
    /* models.py에 set_certificates_in_batch가 정의되어 있다 */
    /* model.py에는 추상메소드가 정의도어있는것 같다 */
    certificate_batch_handler.set_certificates_in_batch(request.json)
    /* certificate_batch_handler에 대해 pre_batch_action을 수행 */
    /* transaction_handler에 대해 ensure_balance를 수행 */
    /* handler의 정보를 넣은 issuer를 생성하고 블록체인에 연결(issue) */
    /* post_batch_action을 수행 */
    cert_issuer.issue_certificates.issue(config, certificate_batch_handler, transaction_handler)
    return json.dumps(certificate_batch_handler.proof)
def main(app_config):
    chain = app_config.chain
    if chain == Chain.ethereum_mainnet or chain == Chain.ethereum_ropsten:
        if app_config.issuing_method == "smart_contract":
            from cert_issuer.blockchain_handlers import ethereum_sc
            certificate_batch_handler, transaction_handler, connector = ethereum_sc.instantiate_blockchain_handlers(
                app_config)
            if app_config.revoke is True:
                return revoke_certificates(app_config, transaction_handler)
        else:
            from cert_issuer.blockchain_handlers import ethereum
            certificate_batch_handler, transaction_handler, connector = ethereum.instantiate_blockchain_handlers(
                app_config)
    else:
        from cert_issuer.blockchain_handlers import bitcoin
        certificate_batch_handler, transaction_handler, connector = bitcoin.instantiate_blockchain_handlers(
            app_config)
    return issue(app_config, certificate_batch_handler, transaction_handler)