Soy nuevo en libp2p, así que disculpe si esto es algo que se ha preguntado/discutido en otro lugar. Estoy tratando de configurar un proyecto recién creado con create-react-app. La aplicación actualmente tiene un componente con lo siguiente:
import React, {Component} from 'react';importar complejo desde 'libp2p-mplex'; importar ruido desde 'libp2p-noise'; importar Libp2p desde 'libp2p';
El conector de clase extiende el componente {
constructor (props) { super(props); this.state = {}; } componentDidMount(){ node = Libp2p.create({ addresses:{ isten: [ '/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star', '/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star' ] }, modules:{ connEncryption:[Noise], streamMuxer:[mplex], transport:[WebSockets] } }) console.log(node); } render(){ return (<div>The connector component</div>); } } export default Connector;Sé que esto solo no es suficiente para conectarse a nada, pero ni siquiera compila. Recibo el siguiente mensaje de error cuando ejecuto esto:
Módulo no encontrado: no se puede resolver 'node:http' en '/Users/myuser/projects/p2p-browser/node_modules/node-fetch/src'
Investigué el código fuente del módulo de búsqueda de nodos al que se hace referencia y descubrí que, de hecho, requiere node:http. También descubrí que el prefijo node: es para que el nodo incluya siempre el módulo http nativo del nodo. Dado que esta es una aplicación de reacción, que se ejecuta en el navegador, no veo ninguna razón para usar node-fetch, lo que me lleva a pensar que libp2p no es compatible con el navegador o que de alguna manera estoy usando node.js versión de libp2p en lugar de la "versión del navegador", aunque hasta ahora no he encontrado ninguna documentación que sugiera que hay una "versión del navegador", los ejemplos que he visto usan paquete e incluyen los mismos módulos npm. Entonces, ¿me estoy perdiendo algo, o libp2p es simplemente incompatible con create-react-app y necesita compilarse para el navegador con packagejs?
Cualquier ayuda será apreciada. Gracias.