Metamask: Contract URI not fetched – shows “Untitled Collection” in metamask

Metamask: Contract URI not fetched – shows “Untitled Collection” in metamask

Metamask Configuration Issue with ERC1155 Contract URI

I have encountered an issue with fetching a specific Metamask configuration using the contractURI field in my ERC1155 smart contract. Specifically, when I attempt to deploy and interact with an NFT on the Testnet, I see that the contractURI is not being fetched correctly, resulting in displaying “Untitled Collection” instead of the expected URI.

Understanding Metamask Configuration

Before diving into the issue, let’s quickly review how Metamask configuration works. A contract’s configuration can be stored in a JSON file or as environment variables. The contractURI field is commonly used to specify the location of an ERC1155 contract ABI and address. When you deploy your smart contract on Testnet, Metamask fetches this information automatically.

Troubleshooting Steps

Here are some steps I took to troubleshoot the issue:

  • Check Contract URI in MetaMask: First, ensure that you have correctly set up your smart contract’s contractURI field. You can verify this by checking the MetaMask configuration page for your contract.

  • Verify ERC1155 ABI and Address

    : Double-check that you have copied the correct ERC1155 ABI and address for your contract. Make sure it matches what’s stored in the contract file or as an environment variable.

  • Testnet Configuration File: Ensure that the contractURI field is correctly set up in your Testnet configuration file (e.g., .env.testnet, testnet.json, etc.). This file contains the necessary information for Metamask to fetch and display the contract’s URI.

Example of Correct Configurations

For example, if you have a JSON file named contract_config.json containing:

{

"contractBY": {

"name": "YourContractName",

"address": "0xYourContractAddress"

},

"contractURI": "

}

You can store this in your .env.testnet file like so:

CONTRACT_ABI="{

name: YourContractName,

address: 0xYourContractAddress

}"

CONTRACT_URI="

Conclusion

In conclusion, the issue of contractURI not being fetched correctly in Metamask when deploying an ERC1155 smart contract on Testnet can be attributed to incorrect configuration. Make sure to verify your contract’s contractURI field and ensure that it matches what’s stored as an environment variable or in a JSON file specific to your testnet setup.

By following these steps, you should be able to resolve this issue and display the expected contract URI when interacting with your smart contract on Testnet.

Share:

Leave comment

Marrakech 40000

160, Angle Avenue Mohamed V, Rue de la Liberté.

05 24 43 74 54

Appelez-nous aujourd'hui!

Heures d'ouverture

Lun - Ven : 8h30 - 12h30 / 15h00 - 19h00 Samedi : 8h30 - 13h00

Prenez rendez-vous

contact@drbichra.com