Skip to content

MetaMask/ens-resolver-snap

ENS resolver Snap

This Snap demonstrates forward and reverse name resolution based on the Ethereum Name Service protocol (ENS).

Development

You have to specify an INFURA_PROJECT_ID environment variable to build or test the project. It might work without one, but it will be severely slow. Use the .env.example file in the snap/ folder to set up your project ID. This will change once there is a way for snaps to request a multi-network provider, since ENS resolution starts by querying Ethereum mainnet.

After installing the snap in MetaMask Flask, use any address input field to type in an ENS name.

yarn install && yarn build

Testing and Linting

Run yarn test to run the jest tests once.

Run yarn lint to run the linter, or run yarn lint:fix to run the linter and fix any automatically fixable issues.

This can also be manually tested, by using the build/preinstalled-snap.json file in your local Metamask extension build

CI

There are some automatic checks that run on Github workflows. Be mindful of using secrets in reusable workflows when setting up your INFURA_PROJECT_ID.