baseTokenURI Help

I was able to deploy a contract using this sample of an experimental POC of EIP2309. I modified the contract to include the following baseTokenURI, and contractURI. The rest of the code is the same on github

pragma solidity >=0.6.2 <0.8.0;

import "./ERC2309.sol";

contract BatchedNiceToken is ERC2309 {
    constructor () ERC2309("Goose", "goo") public {
        _init(msg.sender, 20);
    }
    function baseTokenURI() public pure returns (string memory) {
        return "https://gateway.pinata.cloud/ipfs/QmeYDRBFGSvFXugjiRkANjFH7f7sNndwvPLboVrp3UuSRT/json_rinkeby/";
    }

    function contractURI() public pure returns (string memory) {
        return "https://gateway.pinata.cloud/ipfs/QmeYDRBFGSvFXugjiRkANjFH7f7sNndwvPLboVrp3UuSRT/json_rinkeby/banner";
    }
}

When viewing the NFT’s on opensea, the images are not coming up, or other metadata.

I’m a bit over my head, here. Was there a mistake on the above functions, or is this possibly due to the implementation of EIP2309?

Thanks for any help!

4 Likes

Hi @0xn00b,

Welcome to the community :wave:

OpenSea doesn’t validate your metadata.
https://rinkeby-api.opensea.io/asset/0xf3d9daa40a2590558f01f280b9e669d6cec4ef4c/1/validate

You may want to check with OpenSea what the issue is here. I am not sure if they support ERC2309.

As an aside, you are currently using a gateway, which makes your metadata centralized. OpenSea supports using ipfs://[HASH]

2 Likes

Thanks @abcoathup You kept coming up in all my google searches so I decided to post. I’ll spend some time on that side. Appreciate the reply

2 Likes

Have you found the solution? Does OpenSea support ERC2390?