Oddbean new post about | logout
 Llamada a los devs, estoy intentando hacer un cliente de nostr que arroje tu primer nota en #nostr #asknostr
Configure varios relays pero ninguno me lleva a mi primer nota. La nota mas antigua es del 2024 y tendria que ser del 2023


https://nostrcheck.me/media/20d29810d6a5f92b045ade02ebbadc9036d741cc686b00415c42b4236fe4ad2f/4fc962727637357a031a4047fa2e84e155bb026373e5a3bbf9d0ba999e5e0942.webp

DEJO UNA PARTE DEL CODIGO

const filter: Filter = {
    kinds: [1],
    authors: ["clavePublica"],
    limit: 20000,
  };

  const handleSearch = async () => {
    setIsLoading(true);
    setFirstNote(null);
    try {
      const { type, data: pubkey } = nip19.decode(npub);
      if (type !== "npub") {
        throw new Error("Invalid npub");
      }

      // Consulta sin límite
      const events = await pool.querySync(relays, {
        kinds: [1],
        authors: [pubkey],
        since: 0, // Desde el principio de los tiempos
      });

      if (events.length > 0) {
        // Ordenar los eventos por fecha de creación
        const sortedEvents = events.sort((a, b) => a.created_at - b.created_at);
        setFirstNote(sortedEvents[0]); // Mostrar la primera nota
      } else {
        setFirstNote(null);
        alert("No notes found for this npub.");
      }
    } catch (error) {
      console.error("Error searching for npub:", error);
      alert("Error searching for npub. Please try again.");
    } finally {
      setIsLoading(false);
    }
  };

  const formatDate = (timestamp: number) => {
    return new Date(timestamp * 1000).toLocaleString();
  };