¿Intentando conectarse a una máquina geth a través de websocket? código JS.
var Web3=require('web3');
var web3 = new Web3(new
Web3.providers.WebsocketProvider('ws://10.244.5.43:8546'));
console.log(web3.isConnected());
¿No está seguro de cómo conectarse usando WebSocket?
Tuve el mismo problema con web3 v1.0.0 beta 30
. Nunca llegué al fondo, pero al saltar la construcción del proveedor pareció solucionarlo:
var Web3=require('web3');
var web3 = new Web3('ws://10.244.5.43:8546');
Supongo que está utilizando una versión de Web3.js anterior a la 1.0. Creo que WebsocketProvider
se agregó en 1.0.
Entonces, en mi caso particular, estoy usando TypeScript y parece que las escrituras fueron engañosas. El paquete web3-providers-ws
dice que la siguiente importación debe ser válida:
import { WebsocketProvider } from "web3-providers-ws"
const provider = new WebsocketProvider("<host>", { ... })
Parece que los tipos mienten un poco (o al menos, hay algo más que impide que funcione como se esperaba).
Tuve que hacer lo siguiente para solucionar el problema:
import WebsocketProvider from "web3-providers-ws"
// @ts-ignore It appears default export is required otherwise it throws 'WebsocketProvider is not a constructor error', the typings says otherwise but well ...
const provider = new WebsocketProvider("<host>", { ... })
Traté de jugar con varias tsconfig.json
opciones alrededor del módulo y las importaciones predeterminadas, pero no tuve éxito. No estoy seguro de lo que no funciona todavía, pero al menos tengo una solución.
Espero que ayude a alguien más.
Mate