async def METHOD_NAME():
    sign_handshake(key_pair, handshake.Handshake)
    await conn.send(handshake)
    # The peer might sent us an unsolicited message before replying to
    # a successful handshake.  This is because node is multi-threaded and
    # peers are added to PeerManager before the reply is sent.  Since we
    # don’t care about those messages, ignore them and wait for some kind of
    # Handshake reply.
    return await conn.recv(lambda msg: msg.enum.startswith('Handshake'))