def test_build_header(self): timestamp = utils.current_timestamp() client = Client() client.state_store = FileKeyValueStore(self.kv_store_path) orderer_org_admin = get_orderer_org_admin(client) orderer_org_admin_tx_context = \ TXContext(orderer_org_admin, Ecies(), {}) client.tx_context = orderer_org_admin_tx_context orderer_org_admin_serialized = utils.create_serialized_identity( orderer_org_admin) serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.ParseFromString(orderer_org_admin_serialized) proto_channel_header = utils.build_channel_header( common_pb2.HeaderType.Value('CONFIG_UPDATE'), orderer_org_admin_tx_context.tx_id, self.channel_id, timestamp ) channel_header = utils.build_header( orderer_org_admin_tx_context.identity, proto_channel_header, orderer_org_admin_tx_context.nonce ) self.assertIsInstance(channel_header, common_pb2.Header)
def serialize(self): """Serialize this identity to a binary string. Returns: A binary string representation of this identity. """ serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.Mspid = self._msp.identity serialized_identity.IdBytes = self._certificate return serialized_identity.SerializeToString()
def test_create_serialized_identity(self): client = Client('test/fixtures/network.json') orderer_org_admin = get_orderer_org_user( state_store=client.state_store) orderer_org_admin_serialized = utils.create_serialized_identity( orderer_org_admin) serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.ParseFromString(orderer_org_admin_serialized) self.assertEqual(serialized_identity.mspid, self.orderer_org_mspid)
def test_create_serialized_identity(self): client = Client() client.state_store = FileKeyValueStore(self.kv_store_path) orderer_org_admin = get_orderer_org_admin(client) orderer_org_admin_serialized = utils.create_serialized_identity( orderer_org_admin) serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.ParseFromString(orderer_org_admin_serialized) self.assertEqual(serialized_identity.mspid, self.orderer_org_mspid)
def create_serialized_identity(user): """Create serialized identity from user. :param user: The user object that should be serialized. :type user: user object :return: Protobuf SerializedIdentity of the given user object. :rtype: serialized_identity """ serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.mspid = user.msp_id serialized_identity.id_bytes = user.enrollment.cert return serialized_identity.SerializeToString()
def decode_fabric_peers_info(peers_info_bytes): """Decodes Fabric Peers Information Args: peer_bytes (str): Serialized information about Peer Returns: Deserialized Peers information and certs. """ peers_info = [] for peer_info_bytes in peers_info_bytes: peer = {} # identity peer_identity = identities_pb2.SerializedIdentity() peer_identity.ParseFromString(peer_info_bytes.identity) if hasattr(peer_identity, 'mspid'): peer['mspid'] = peer_identity.mspid if hasattr(peer_identity, 'id_bytes'): peer['id_bytes'] = peer_identity.id_bytes.decode() # state info peer_state_info = message_pb2.GossipMessage() peer_state_info.ParseFromString(peer_info_bytes.state_info.payload) if peer_state_info.state_info.properties: if hasattr(peer_state_info.state_info.properties, 'ledger_height'): peer['ledger_height'] = int( peer_state_info.state_info.properties.ledger_height) if hasattr(peer_state_info.state_info.properties, 'chaincodes'): peer['chaincodes'] = [] if peer_state_info.state_info.properties.chaincodes: ccs = peer_state_info.state_info.properties.chaincodes for chaincode in ccs: cc = {} cc['name'] = chaincode.name cc['version'] = chaincode.version peer['chaincodes'].append(cc) # membership info peer_membership_info = message_pb2.GossipMessage() membership_payload = peer_info_bytes.membership_info.payload peer_membership_info.ParseFromString(membership_payload) peer['endpoint'] = peer_membership_info.alive_msg.membership.endpoint peers_info.append(peer) return sorted(peers_info, key=lambda peer: peer['endpoint'])
def create_serialized_identity(user): """Create serialized identity from user. Args: user (user object): The user object that should be serialized. Returns: serialized_identity: Protobuf SerializedIdentity of the given user object. """ serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.mspid = user.msp_id serialized_identity.id_bytes = user.enrollment.cert return serialized_identity.SerializeToString()
def decode_identity(id_bytes): """Decodes identity :param id_bytes: byte of identity :return: deserialized identity """ identity = {} try: proto_identity = identities_pb2.SerializedIdentity() proto_identity.ParseFromString(id_bytes) identity['mspid'] = proto_identity.mspid identity['id_bytes'] = proto_identity.id_bytes.decode() except Exception as e: raise ValueError("BlockDecoder :: decode_identiy failed", e) return identity
def _process_peers(self, q_peers): peers = [] for q_peer in q_peers: peer = {} # IDENTITY q_identity = identities_pb2.SerializedIdentity() q_identity.ParseFromString(q_peer.identity) peer['mspid'] = q_identity.mspid # MEMBERSHIP q_membership_msg = message_pb2.GossipMessage() q_membership_msg.ParseFromString(q_peer.membership_info.payload) peer['endpoint'] = q_membership_msg.alive_msg.membership.endpoint # STATE if hasattr(q_peer, 'state_info'): message_s = message_pb2.GossipMessage() message_s.ParseFromString(q_peer.state_info.payload) try: peer['ledger_height'] = int( message_s.state_info.properties.ledger_height) except AttributeError as e: peer['ledger_height'] = 0 _logger.debug('missing ledger_height: {}'.format(e)) peer['chaincodes'] = [] for index in message_s.state_info.properties.chaincodes: q_cc = message_s.info.properties.chaincodes[index] cc = {} cc['name'] = q_cc.name cc['version'] = q_cc.version peer['chaincodes'].append(cc) peers.append(peer) return sorted(peers, key=lambda k: k['endpoint'])
def create_serialized_identity(user): """ Create serialized identity from user""" serialized_identity = identities_pb2.SerializedIdentity() serialized_identity.mspid = user.msp_id serialized_identity.id_bytes = user.enrollment.cert return serialized_identity.SerializeToString()