0

MetaMask now monitors users' IP addresses, even blocking users from US-sanctioned countries via its backbone, Infura, which is apparently an Ethereum node.

In the thread below, it was proven that web3.js coding can substitute for all MetaMask functions such as check balance, send transfer and contract interactions.

Question: If you substitute MetaMask with web3.js to carry out all the same functions for your wallet, does web3.js, or the UI clients for web3.js, also somehow use surveillance on its users?

From what I understand, you need to install node.js in order to use web3.js, which people often connect by default to the Infura node. As mentioned above, Infura node is the same node that MetaMask runs on, known to police user activity.

3 Answers 3

2

dev advocate at Chainstack here!

To answer this question:

Question: If you substitute MetaMask with web3.js to carry out all the same functions for your wallet, does web3.js, or the UI clients for web3.js, also somehow use surveillance on its users?

You could use web3.js to create your 'personal' wallet app and control the information sent to the node provider, but this would surely be highly impractical!

If you are worried about privacy, the best option would be to use an alternative to MetaMask. There are several, and I think that the frame wallet will be a great alternative for your use case.

These are some features:

  • frame allows you to add multiple RPC endpoints to your network list; you can have primary and secondary RPC endpoints.
  • It allows you to set up 'read-only' accounts to interact with any DApp without risking losing funds if you authorize a malicious smart contract.
  • You can choose to inject the frame wallet in your browser as MetaMask, so you can also interact with DApps that only support MetaMask

Note that it uses Infura by default, but there is a fix for that :)

You can use Chainstack to power your wallet and DApps. Chainstack supports multiple EVM chains and DOES NOT collect user info such as IP address, location, etc.

Also, Chainstack DOES NOT block connections based on location or the DApp you are trying to interact with. So you will not have the problem of being blocked.

Check out this article about setting up the Helios light client with Chainstack; Helios doesn't really mitigate this privacy issue, but the article explains more about how to use Chainstack and the frame wallet!

You can also use Chainstack with MetaMask if you want to keep MM!

I hope this helps you!

1
  • Can the Infura node track IP addresses that are hiding behind a VPN
    – user610620
    Commented Jan 3, 2023 at 11:41
1

I think there are a few concepts being mixed here:

  1. You can get the same functionality metamask has with web3.js, which means you can "build your own wallet". But the question is: your users might already have a metamask wallet, and connecting your UI to metamask means users can sign and send transaction from their existing wallets, which is very convenient and users trust it.

  2. If you don't want to rely on Metamask, then you can go down the route of building your own wallet inside your DApp. If that's the case, you don't actually need nodejs: most browsers can provide most functionality that the web3.js library needs (browser-crypto or something like that). The reason you need a Ethereum Node (RPC endpoint) (e.g. infura, alchemy or your own node) has nothing to do with nodeJs. A ethereum node is needed for you to get access to all the shared information on the blockchain, also when you want to broadcast transations. Without a RPC provider, you can't talk to the blockchain.

  3. Most PRC Nodes are under the same compliance rule (infura and alchemy), they would refuse to help you relay your transaction if you're from a restricted IP, or if you're trying to interact with sanctioned APP like Tornado Cash. You need to find some smaller providers if you want to bypass the blocking, you can always host your own node.

1
  • so you just said node.js doesn't need a node. but web3.js still does. and the only alternative from finding a node is to create my own node? or are there other alternatives
    – user610620
    Commented Jan 2, 2023 at 11:05
0

nd, you need to install node.js in order to use web3.js, which people often connect by default to the Infura node. As mentioned above, Infura node is the same node that MetaMask runs on, known to police user activity.

If you are worried about tracking run your own node.

MetaMask internally uses Infura because both of MetaMask and Infura are Consensys companies.

5
  • What is the sunk cost of running my own node? Any tutorial threads on this board? Once my node starts broadcasting transactions, would tracking begin? If so, who would be tracking my node? who tracks Infura's node?
    – user610620
    Commented Jan 2, 2023 at 11:06
  • Here twitter.com/moo9000/status/1370323189486784513 - you should be able to run a dedicated bare metal hardware Ethereum node under $50/month which is the same amount any commercial Ethereum node service provider charges you any case. Some people run it even on Raspberry Pi. Commented Jan 2, 2023 at 11:22
  • To make identifying your node IP address harder, you can put it behind Tor proxy or VPN. Commented Jan 2, 2023 at 11:23
  • What are some commercial Ethereum node service providers? How does activating a VPN on the "server" side compare with using a VPN on the user side?
    – user610620
    Commented Jan 2, 2023 at 16:22
  • StackExchange Q&A format is not suitable for conversation or tutoring. If you have a new question, I suggest you use Ask questions to ask more questions. Commented Jan 2, 2023 at 19:34

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.