One way to opt-out of this data collection is to configure MetaMask to point to your own Ethereum node rather than Infura. MetaMask has a sparse article on how to do this however it assumes you are using MetaMask on the same machine as your Ethereum node. If instead you have Geth running on some other machine on your local area network (a very common use case) the article is insufficient.
I’m assuming you’re running Geth already so I won’t go into details on how to set it up. If for some reason this is not the case I recommend following one of the excellent guides by Coincashew or Someresat. If you are running an execution client other than Geth, this guide will be a lot less useful, however with a modicum of ability to connect the dots and draw parallels, you can likely work it out an analog solution for your client of choice.
#!/bin/bash geth \ --mainnet \ --datadir "/path/to/data/dir" \ --authrpc.jwtsecret "/path/to/jwtsecret/jwt.hex" \ --authrpc.addr 0.0.0.0 \ --http \ --http.addr 0.0.0.0 \ --http.corsdomain 'chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn' \ /
This is an example of what start-up params you need to set up. The important one that most people miss is:
0.0.0.0 as the authrpc bind address, Geth will listen for RPC connections on ALL interfaces instead of just
If you want to connect to Geth from more than just MetaMask, you can set the
http.corsdomain to a wildcard instead of specifying the MetaMask extension:
Once Geth is up and running with the above settings, go into MetaMask’s Settings and create a new Network:
In the New RPC URL field, put your Ethereum node’s LAN IP (likely starts with a 192.168.*) similar to what’s shown in the above screen shot. If MetaMask is able to connect, it’ll allow you to save the network. That’s it!