I use websocket (ws) connection to Infura node
web3 = new Web3(new Web3.providers.WebsocketProvider ("wss://ropsten.infura.io/ws"));
Sometimes it's works fine or sometimes it give error on console:
Error: CONNECTION ERROR: Couldn't connect to node on WS.
Uncaught (in promise) Error: CONNECTION ERROR: Couldn't connect to node on WS.
I am not getting why its happening.
Best Answer
I don't want to get a "golden shovel" reward or something but that question doesn't seem to be very old. I managed to successfully implement automatic reconnect thus I wanted to share the code:
First I created a separate function
getProvider
:Then I have a function
listen
that attaches to blockchain in order to listen for events that I'm interested in:This way whenever the connection closes I make sure that I won't miss any events that were thrown in the meantime. Hope that helps anyone that will have problems with that.