def make_company_import_transaction(transaction_signer, batch_signer,
                                    timestamp, id, name, date, address):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.CompanyImport(id=id,
                                       name=name,
                                       date=date,
                                       address=address)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.COMPANY_IMPORT,
        company_import=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
Exemple #2
0
 async def get_data(self, request):
     transaction_id = request.match_info.get('transaction_id', '')
     url = "http://rest-api:8008/transactions/" + str(transaction_id)
     LOGGER.info(url)
     # url+=str(transaction_id)
     response = requests.get(url)
     if response.status_code == 200:
         try:
             transaction_dict = json.loads(response.content)
             payload_string = transaction_dict['data']['payload']
             public_key = transaction_dict["data"]['header'][
                 'signer_public_key']
             data_model = payload_pb2.SimpleSupplyPayload()
             data_model.ParseFromString(base64.b64decode(payload_string))
             json_data = json.loads(
                 MessageToJson(data_model,
                               preserving_proto_field_name=True))
             return json_response({
                 "public_key":
                 public_key,
                 "data":
                 json_data['synchronize_data']['data']
             })
         except Exception as e:
             return json_response({'data': str(e)})
     return json_response({'data': ""})
def make_employee_import_transaction(transaction_signer, batch_signer,
                                     timestamp, id, name, age, address, email,
                                     company_id):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.EmployeeImport(id=id,
                                        name=name,
                                        age=age,
                                        address=address,
                                        email=email,
                                        company_id=company_id)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.EMPLOYEE_IMPORT,
        employee_import=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_update_emp_transaction(transaction_signer, batch_signer, emp_id, age,
                                address, email, com_id, timestamp):
    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    emp_address = addresser.get_employee_address(emp_id)

    inputs = [user_address, emp_address]
    outputs = [emp_address]

    action = payload_pb2.UpdateEmp(id=emp_id,
                                   age=age,
                                   address=address,
                                   email=email,
                                   com_id=com_id)
    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.UPDATE_EMP,
        update_emp=action,
        timestamp=timestamp)
    LOGGER.info(payload)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
Exemple #5
0
def make_synchronize_data_transaction(transaction_signer, batch_signer, data):
    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    inputs = [user_address]
    outputs = [user_address]

    action = payload_pb2.SynchronizeData(data=data)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.SYNCHRONIZE_DATA,
        synchronize_data=action,
    )
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_create_user_transaction(transaction_signer, batch_signer, username,
                                 role, timestamp):
    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    inputs = [user_address]
    outputs = [user_address]

    action = payload_pb2.CreateUser(username=username, role=role)
    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.CREATE_USER,
        create_user=action,
        timestamp=timestamp)
    LOGGER.info(payload)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_get_transaction(transaction_signer, batch_signer, timestamp, id):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.GetDrug(id=id)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.make_get_transaction,
        get_transaction=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
Exemple #8
0
def make_createLc_transaction(transaction_signer, batch_signer, timestamp,
                              content, publicKeyUser):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address()
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.Createlc(content=content, publicKeyUser=publicKeyUser)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.CREATELC,
        createLc=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_update_status_transaction(transaction_signer, batch_signer, timestamp,
                                   id, quantity, price):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.UpdateStatus(id=id, quantity=quantity, price=price)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.UPDATE_STATUS,
        update_status=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_create_com_transaction(transaction_signer, batch_signer, com_id, name,
                                timestamp):
    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    com_address = addresser.get_company_address(com_id)

    inputs = [user_address, com_address]
    outputs = [com_address]

    action = payload_pb2.CreateCom(id=com_id, name=name)
    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.CREATE_COM,
        create_com=action,
        timestamp=timestamp)
    LOGGER.info(payload)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
    async def get_transaction(self, request):
        transaction_id = request.match_info.get('transaction_id', '')
        url = "http://172.17.0.1:8008/transactions/" + str(transaction_id)
        LOGGER.info(url)
        # url+=str(transaction_id)
        response = requests.get(url)
        if response.status_code == 200:
            try:
                transaction_dict = json.loads(response.content)

                payload_string = transaction_dict['data']['payload']
                data_model = payload_pb2.SimpleSupplyPayload()

                data_model.ParseFromString(base64.b64decode(payload_string))
                json_data = json.loads(
                    MessageToJson(data_model,
                                  preserving_proto_field_name=True))
                LOGGER.info(data_model)
                return json_response({"data": json_data})
            except Exception as e:
                LOGGER.info(str(e))
                return json_response({'data': ""})
        return json_response({'data': "not"})
def make_update_location_transaction(transaction_signer, batch_signer,
                                     timestamp, id, longitude, latitude):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.UpdateLocation(id=id,
                                        longitude=longitude,
                                        latitude=latitude)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.UPDATE_LOCATION,
        update_location=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_update_employee_transaction(transaction_signer, batch_signer,
                                     timestamp, id, position, salary):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.UpdateEmployee(id=id,
                                        position=position,
                                        salary=salary)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.UPDATE_EMPLOYEE,
        update_employee=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
def make_update_company_transaction(transaction_signer, batch_signer,
                                    timestamp, id, address, price_IPO):

    user_address = addresser.get_user_address(
        transaction_signer.get_public_key().as_hex())
    product_address = addresser.get_product_address(id)
    inputs = [user_address, product_address]
    outputs = [product_address]

    action = payload_pb2.UpdateCompany(id=id,
                                       address=address,
                                       price_IPO=price_IPO)

    payload = payload_pb2.SimpleSupplyPayload(
        action=payload_pb2.SimpleSupplyPayload.UPDATE_COMPANY,
        update_company=action,
        timestamp=timestamp)
    payload_bytes = payload.SerializeToString()

    return _make_batch(payload_bytes=payload_bytes,
                       inputs=inputs,
                       outputs=outputs,
                       transaction_signer=transaction_signer,
                       batch_signer=batch_signer)
Exemple #15
0
 def __init__(self, payload):
     self._transaction = payload_pb2.SimpleSupplyPayload()
     self._transaction.ParseFromString(payload)