Now and Nawoo

NFTの制作記録、技術メモ → C#, Solidity, Blockchain, Bitcoin, Ethereum, NFT

OpenSeaで自作のNFTを編集できない場合

OpenSeaではNFTコレクションごとにロゴ画像や説明文が設定できますが、自分で作ったNFTの場合に編集できる場合とできない場合があるので、ちょっとハマりました。

いろいろ調べてみるとRedditに情報がありました。

Can't edit collection : opensea - Reddit

結論から言うと、コントラクトでOwnableを継承すればいいようです。何を言ってるのか わからねーと思うが、、、って気分でしたが、実際に試してみると本当でした。。。

OpenSeaで自作のNFTを確認する

まず、自分でERC721コントラクトを作成した場合、OpenSeaの検索ボックスでコントラクトアドレスを入力すると、そのNFTのコレクションのページが開きます。(最低1個はmintしておく必要があります。)

f:id:nawoo5:20211014182251p:plain:w600

このとき、コントラクトを作成したアドレスでOpenSeaに接続していれば、 通常は、右上にEditボタンが表示されるはずですが、見あたりません。

f:id:nawoo5:20211014182421p:plain:w600

Editボタンを表示させるには

Redditによると、Ownableを継承していればEditボタンが表示されるそうなので、 コントラクトを編集してOwnableを継承させてみます。 (onlyOwner modifierを使う必要はありません。)

↓元のコントラクト

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract HelloNft is ERC721 {
// 以下略

↓編集後

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract HelloNft is ERC721, Ownable {
// 以下略(編集前と全く同じ内容)

これでデプロイしてみます。

OpenSeaで確認してみると、Editボタンが出てきました。

f:id:nawoo5:20211014183131p:plain:w600

うーん、謎すぎる。

ま、とにかく編集可能になったので、あれこれ編集してみました。

f:id:nawoo5:20211014191002p:plain:w600

ちなみにRedditの質問者がOpenSeaに直接問い合わせたら編集可能にしてくれたそうです。。。