ranbuta

Posted on Mar 11, 2022Read on Mirror.xyz

Manifoldを使ってNFTコントラクトを作成するチュートリアル

Manifold(manifold.xyz)ってなに

https://manifold.xyz/

  • コーディング知識なくても自分のNFTコントラクトが作成できるツール

  • データの格納はArweaveです、IPFSと違う方法で半永久に保存する分散型ストレージネットワーク

  • データサイズの上限は200MB

  • Ethereumメインネット(とテスト環境のGoerli)だけ対応

  • ERC-721(一品物に適する規格)とERC-1155(一品物も、同じものが複数あるもの(入札プレゼントとか)も作れる規格)に対応

  • コントラクトデプロイ・NFTミント・ロイヤリティ設定にガス代は必要

  • ミントしたあとも、ガス代払えばmetadataの変更は可能、例えばタイプミス修正とか、季節が変わったら背景も(※手動で)変わるなど特殊な作品も実現可能

  • ERC-721でも一応ナンバリング(Nanika #1/10, Nanika #2/10…みたいなやつ)ができる機能があります(量が多いとガス代は跳ね上がります)

  • ERC-1155で作ったものは一度に複数のアドレスにエアドロができる機能

  • ホルダーのスナップショット機能もあります

そもそも「独自コントラクト」とは何か

「独自コントラクト(略して独コン)」とは本来「自分でSolidityというプログラミング言語でコードを書いたスマートコントラクト」です、でも日本のNFTコミュニティでは多分ニュアンスが違って、「マーケットプレイス(特にOpenSea)共用コントラクト以外のコントラクト」という意味になってると私は思います

Manifold経由で作成されたコントラクトはあくまで「Manifoldが提供してるテンプレから生成されたコントラクト」です、Chocofactory経由もFoundation経由も同様です

でもManifold / Chocofactory / Foundation経由でデプロイしたコントラクトの所有者はクリエイター自身です、Web3というバズワードの哲学的にクリエイターはプラットフォームの共用コントラクトではなく、自分のコントラクトで自分の作品をミントすべきです

FoundationのCEOも言ってます

https://twitter.com/saturnial/status/1489082568330731520

事前準備

1. ガス代の準備、今30 gwei以下になることが多いので、0.02 ETHあれば大丈夫なはずです、もし120 gweiに高騰したら0.08 ETHくらいでしょうか

2. テスト環境のGoerli上のテスト用ETHが要ります、このGoerli Faucetから無料で受け取れますが、今(2022年9月)はalchemyのアカウントを作成してログインが必須です

https://goerlifaucet.com/

まずはalchemyのアカウントを作成

ログインしたあとはfaucetに戻って自分のアドレスを入れて「Send me ETH」を押して完了です

Goerli上のテスト用0.1 ETHもらってます、当然このETHは売れません

https://goerli.etherscan.io/tx/0xc9df7771c0f9589dec281418c8d267c5f1a908618a63ba4db7f7f4d83b8d7b48

3. Manifoldのアカウント

https://studio.manifold.xyz にアクセスして

https://studio.manifold.xyz/

Connectして署名して

登録して完了です

実際にやってみる(ERC-1155)

テスト用コントラクトをデプロイ

https://studio.manifold.xyz にアクセスしてNew contract

  • Contract nameはunicode対応

  • Symbolは英字大文字

  • ASCII markはこだわりがなければ適当でいいです

Deploy on Goerli (記事を書いた当時はRinkeby) 押してウォレットでトランザクション通して、3~5分くらい待てばVerifyまで進むはずです

テスト用NFTをミント

Goerli上にテスト用のNFTをミントします(一応この手順はスキップできますが、やっておきましょうね)

下の方に属性(Properties)項目があります、キャラの髪色とか、服装とか、背景のロケ地とか、いろいろ自由に設定できます

ミントするときの受取先は「Airdrop」と「自分」が選べます

ERC-1155ならAirdropの受取先は一度に複数のアドレスにミントできます、ガス代節約になります

自分のアドレスにミントする場合は、1枚も1000枚もガス代はほぼ同じです

Airdropのトランザクションを通してVerifyが完了すると大量に🔥と💎が画面に湧いてきます

本番環境(ETHメインネット)にコントラクトをデプロイ

いよいよイーサリアムのメインネットにデプロイします、一度デプロイすると、名前・シンボル・タイプ(ERC-721 / ERC-1155)・ASCIIアートは永久に変更できないので、タイプミスがないか、本当にこの名前でいいか、よくチェックしてから進んでください

DashboardのDeploy on mainnetを押して

ここはガス代が要ります、実際は0.0057 ETHを使いました

https://etherscan.io/tx/0x8e122522e64fed94a1f06f3497378d3f4e916d89aac01ac7ca24ae340d8f43c6

トランザクションが通したらVerifyまで待ちます、Rinbekyでやったことと同じです

本番環境(ETHメインネット)にNFTをミント

先にGoerliに作ったNFTをイーサリアムのメインネットにデプロイします、Mint on Mainnetを押して受取先を選びます

テスト用のものと違い、本番用はArweaveにアップロードするので時間がかかります、場合によって10分以上かかることもあります

Awaiting signatureまで進んだらミントのトランザクションです、ガス代は要ります、2つのアドレスにAirdropして0.0048 ETHを使いました

https://etherscan.io/tx/0xb5f295e00478a76d9124c91435a35e56b2b98146d2d2717b307e68ce12705b1c

🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥💎🔥

ERC-1155ならあとから追加ミントもできます

ロイヤリティ設定

別にロイヤリティ要らない人はスキップしてください

「OpenSea以外のマーケットプレイス(LooksRareやRarible)」でのロイヤリティ受取先とパーセントを設定します、OpenSea上のロイヤリティは赤いリンクから別途設定する必要があります

4.2069%やりたいですけど小数点4桁はサポートされてませんね……

当然直接にコントラクトからでも設定できます、basisPoints: 810はロイヤリティ8.1%という意味です


実際にやってみる(ERC-721)

基本的にはERC-1155と大差ないです

しかしAirdropは一度に1つのアドレスへしかミントできません

同じものをナンバリングにしてミントする機能もありますが

こっちは1つだけのガス代

こっちは#1, #2, #3を一斉にミントするガス代、高くなります


各マーケットプレイスで確認

ERC-721で作ったほうはOpenSeaでは自分でコレクションの名前を設定する必要がありました、なんで……

LooksRareやRaribleは普通にmetadataとロイヤリティ読み込めてます

ERC-1155で作った方、LooksRareでは上手くコレクションタイトルと作品タイトルが表示できません

OpenSeaとRaribleでは問題ないです


他にいろいろ

現時点のガス代教えてくれたり

ホルダースナップショット機能もあります


最後になにか

記事を書くために約0.03 ETHを使ったので、もし寄付する感じでよくわからないなにかを購入すると助かります、あえてOpenSeaではないマーケットプレイスのリンクを出します

売れる気はありません

(2022年3月14日追記)「なにか」が売れてしまいました😳😳😳 龍犬さん本当にありがとうございます🙏😭

よくわからないすごいなにか、0.039 ETH、ERC-721規格の一品物です、Raribleにどうでもいいアンロックコンテンツがあります

https://rarible.com/token/0x91476502b93e73f5458aac1c133ab4b7c299982b:1?tab=details

https://looksrare.org/collections/0x91476502b93e73F5458AAc1c133aB4B7c299982b/1

(現在は出品していません)ショボーンさんの顔面、0.0069 ETH、供給量69、ERC-1155規格のものです

https://rarible.com/token/0x6b321c1f6f94ae1641e03bdf0752061fba71924d:1

https://looksrare.org/collections/0x6B321c1f6F94AE1641E03bDf0752061FBa71924D/1#about

NFT