Exemple #1
0
    def phase_1_broadcast(self, block_info, phase_type):
        """ sends phase_1 information for phase_2 execution """
        record = block_info['verification_record']
        transactions = map(convert_to_thrift_transaction,
                           record['verification_info'])
        verification_record = get_verification_record(record)

        phase_1_msg = message_types.Phase_1_msg()
        phase_1_msg.record = verification_record
        phase_1_msg.transactions = transactions

        for node in self.peer_dict[phase_type]:
            try:
                node.client.phase_1_message(phase_1_msg)
            except:
                logger().warning('failed to submit to node %s', node.node_id)
                continue
Exemple #2
0
    def phase_3_broadcast(self, block_info, phase_type):
        """ send phase_3 information for phase_4 execution """
        verification_record = block_info[VERIFICATION_RECORD]
        verification_info = verification_record[VERIFICATION_INFO]

        phase_3_msg = message_types.Phase_3_msg()
        phase_3_msg.record = get_verification_record(verification_record)
        phase_3_msg.p2_count = verification_info['p2_count']
        phase_3_msg.businesses = verification_info['businesses']
        phase_3_msg.deploy_locations = verification_info['deploy_locations']
        phase_3_msg.lower_hashes = verification_info['lower_hashes']

        for node in self.peer_dict[phase_type]:
            try:
                node.client.phase_3_message(phase_3_msg)
            except:
                logger().warning('failed to submit to node %s', node.node_id)
                continue
Exemple #3
0
    def phase_2_broadcast(self, block_info, phase_type):
        """ sends phase_2 information for phase_3 execution """
        verification_record = block_info['verification_record']
        verification_info = verification_record['verification_info']

        phase_2_msg = message_types.Phase_2_msg()
        phase_2_msg.record = get_verification_record(verification_record)
        phase_2_msg.valid_txs = map(convert_to_thrift_transaction,
                                    verification_info['valid_txs'])
        phase_2_msg.invalid_txs = map(convert_to_thrift_transaction,
                                      verification_info['invalid_txs'])
        phase_2_msg.business = verification_info['business']
        phase_2_msg.deploy_location = verification_info['deploy_location']

        for node in self.peer_dict[phase_type]:
            try:
                node.client.phase_2_message(phase_2_msg)
            except:
                logger().warning('failed to submit to node %s', node.node_id)
                continue