1

I compiled and am running the binaries for backend's telemetry_core (at default port 8000) and telemetry_shard (at default port 8001) as systemd units in my server, they are nicely connected to each other and they are receiving all "submits" from a polkadot node running in the same server too.

However, after launching the frontend with yarn start in the same server, and opening the remote "localhost port" in my local browser (via SSH), I get the following screen with the "Waiting for telemetry..." message, nothing else seems to happen: Waiting for Telemetry Screen

The browser's console shows the following error:

Connection.ts:108

WebSocket connection to 'ws://127.0.0.1:8000/feed' failed: 

(anonymous) @ Connection.ts:108

socket @ Connection.ts:85

trySocket @ Connection.ts:92

Please note that I am connecting to my server via SSH and I am translating the remote port 3000 into my PC's 4000, in case you wonder about the odd url in the picture :D

The terminal with the yarn start command shows:

Compiled successfully!

You can now view @dotstats/frontend in the browser.

  http://localhost:3000/
 
Note that the development build is not optimized. To create a
production build, use yarn build.

And when trying to build, I get the following dump:

yarn run v1.22.18 $ react-scripts-ts build Creating an optimized
production build... Starting type checking and linting service...
Using 1 worker with 2048MB memory limit ts-loader: Using
[email protected] and
/home/telemetry/substrate-telemetry/frontend/tsconfig.prod.json Failed
to compile.

Failed to minify the bundle. Error: static/js/main.4c691ad1.js from
UglifyJs Error: error:0308010C:digital envelope routines::unsupported
    at Array.forEach (<anonymous>)
    at /home/telemetry/substrate-telemetry/frontend/node_modules/react-scripts-ts/scripts/build.js:127:23
    at /home/telemetry/substrate-telemetry/frontend/node_modules/webpack/lib/Compiler.js:269:13
    at Compiler.emitRecords (/home/telemetry/substrate-telemetry/frontend/node_modules/webpack/lib/Compiler.js:375:38)
    at /home/telemetry/substrate-telemetry/frontend/node_modules/webpack/lib/Compiler.js:262:10
    at /home/telemetry/substrate-telemetry/frontend/node_modules/webpack/lib/Compiler.js:368:12
    at next (/home/telemetry/substrate-telemetry/frontend/node_modules/tapable/lib/Tapable.js:218:11)
    at Compiler.<anonymous> (/home/telemetry/substrate-telemetry/frontend/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
    at next (/home/telemetry/substrate-telemetry/frontend/node_modules/tapable/lib/Tapable.js:220:14)
    at /home/telemetry/substrate-telemetry/frontend/node_modules/sw-precache-webpack-plugin/lib/index.js:98:18
Read more here: http://bit.ly/2tRViJ9

error Command failed with exit code 1.

Do you have any suggestions for troubleshooting? What may be going wrong here?

3
  • what software are you using? github.com/paritytech/substrate-telemetry I assume?
    – Nuke
    Apr 7, 2022 at 0:50
  • Do you have a backend running as described here? The names are different github.com/paritytech/…
    – Nuke
    Apr 7, 2022 at 0:55
  • Dear Dan, thanks for your questions: 1) yes, I cloned github.com/paritytech/substrate-telemetry, compiled the backend and ran the frontend without changes, and 2) you are correct, my wording was wrong and I have corrected them in the original question. Any advise will be much appreciated!
    – Milos
    Apr 12, 2022 at 19:33

1 Answer 1

1

After the questions from Dan, I found the problem to be in my SSH connection to the remote server: I was tunnelling port 3000 only (frontend), but the front end needs a local connection available to the telemetry_core service (port 8000), as shown in the browser error:

WebSocket connection to 'ws://127.0.0.1:8000/feed' failed

So, tunnelling both ports 3000 & 8000 to my local host solved the problem:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.