1

I'm using wallet connect, but when I try to do the connect it gives me this error:

Module not found: Error: Can't resolve 'crypto'

And then it gives me this suggestions:

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:

  • add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'
  • install 'crypto-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "crypto": false }

I tryed but didn't work, somebody can help me? The code of the connection is the same as how the website explain. (I'm using React)

here more: https://docs.walletconnect.com/quick-start/dapps/node

1 Answers1

1

I have encountered this issue multiple times. This is because of webpack version 5 which introduces breaking changes. There are 2 solutions to this:-

  1. Either follow what is written in this article (make sure to install and add a fallback for crypto in the same manner as mentioned for others in this article).
  2. Downgrade react-scripts from 5 to 4.0.3 and use with an LTS version of NodeJS.

Option 2 is easier and I would prefer it. In case you do too, follow these steps:

  1. Run npm uninstall react-scripts.
  2. Run npm install react-scripts@4.0.3.

Run npm run start to check if this works. If there is any error, delete the node_modules and then reinstall using npm install that should sort things out.

Abhik Banerjee
  • 357
  • 1
  • 6
  • 9