Open1

ERC721のスマートコントラクトをOpenSeaに統合する

YuheiNakasakaYuheiNakasaka

ERC721のスマートコントラクトをOpenSeaに統合する

リソース

やること

  • ERC721のスマートコントラクトとOpenseaの統合に関するTutorialをやる
  • どうしてERC721に沿ったトークンをコントラクトでデプロイするとOpenSeaで販売できるのか?を知る

メモ

  • proxy userとは
    • Opensea内での取引を行う内部アカウント
  • creature(NFT)はhttps://opensea-creatures-api.herokuapp.com/api/creature/{token_id}の形式で用意されている
    • スマートコントラクト内のNFTのtoken_idとAPIが1対1で対応するようにする
  • off-chainとは
    • on-chain(Blockchain)の外の世界。つまり外部API。off-chainのデータを提供してるものをOracleという。ChainLinkなんかが有名。
  • OpenSeaでは自分のスマートコントラクトのトークンを個別で見るにはhttps://[testnets].opensea.io/assets/<asset_contract_address>/<token_id>で確認できる
    • キャッシュされるのでキャッシュを更新したい場合はhttps://[testnets-]api.opensea.io/api/v1/asset/<your_contract_address>/<token_id>/?force_update=trueを叩けば良い
  • 売るにはOpenSeaの自分のアイテムでSellをポチッとやれば終わり。オークションもOpenSeaからポチッとやるだけ。
  • Get Listed | OpenSeaにスマートコントラクトのアドレスを入力するとListされる
    • スマートコントラクトのOwnerとしてMetamaskでログインすれば編集などそのCollectiveのページのカスタマイズができる
      • なのでNFTのスマートコントラクトをデプロイするときはOwenableの実装が必須。これがないとコントラクトの所有権が誰かわからず編集できない。
    • 「どうしてERC721に沿ったトークンをコントラクトでデプロイするとOpenSeaで販売できるのか?」の答え
      • デプロイしたスマートコントラクトをデプロイしたOwnerがOpenSeaに登録するから
      • networkにデプロイすると自動でOpenSeaが検知してマーケットに並べるのかと思ってたが違うっぽい