OpenSeaで自作のNFTを編集できない場合
OpenSeaではNFTコレクションごとにロゴ画像や説明文が設定できますが、自分で作ったNFTの場合に編集できる場合とできない場合があるので、ちょっとハマりました。
いろいろ調べてみるとRedditに情報がありました。
Can't edit collection : opensea - Reddit
結論から言うと、コントラクトでOwnableを継承すればいいようです。何を言ってるのか わからねーと思うが、、、って気分でしたが、実際に試してみると本当でした。。。
OpenSeaで自作のNFTを確認する
まず、自分でERC721コントラクトを作成した場合、OpenSeaの検索ボックスでコントラクトアドレスを入力すると、そのNFTのコレクションのページが開きます。(最低1個はmintしておく必要があります。)
このとき、コントラクトを作成したアドレスでOpenSeaに接続していれば、 通常は、右上にEditボタンが表示されるはずですが、見あたりません。
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ボタンが出てきました。
うーん、謎すぎる。
ま、とにかく編集可能になったので、あれこれ編集してみました。
ちなみにRedditの質問者がOpenSeaに直接問い合わせたら編集可能にしてくれたそうです。。。