gooブログはじめました!

自作画像の「オリジナルNFT」、ノーコードでつくってみよう。

〇 次世代Web技術である「Web3」の要素の1つ、「NFT(非代替性トークン)」。

 

気になっている人は少なくないだろう。ブロックチェーンを利用してデジタルアイテムの一意性(オリジナルであること)を保証するものだ。NFTはブロックチェーン基盤の1つ「イーサリアム」の「ERC-721」という規格で規定されている。

デジタルアイテムはコピーが容易なため、常に海賊版の問題が付きまとう。NFTであれば作品の一意性を保証できるため、デジタルアイテムの流通を根底から変えると期待されている。NFTの一時的なブームは去りつつあるが、重要であることに変わりはない。

もっとも、実際にNFTを体験しようとするとかなりハードルが高い。既存のNFTを購入するだけでも越えなければならない壁がいくつもある。さらに「自分だけのオリジナルNFTをつくる」となると、「本当にそんなことができるのか」と思う人もいるだろう。

実はNFTの作成自体はそれほど難しくない。手順は少し煩雑だが、手順通りに作業すれば誰でもオリジナルNFTをつくれる。NFTとは何かを理解するうえでも、作成手順を知っておくことは重要だと感じている。

アステリアのエバンジェリストでブロックチェーン推進協会(BCCC)の技術応用部会長を務める森一弥氏は、2022年夏にNFTの作成を体験できるハンズオンを実施した。このハンズオンの内容を基に、最新状況を盛り込んで解説していこう。

MetaMaskをインストールする。

まず、NFTにする画像を用意する。自分で描いたイラストや自分で撮った写真ならOKだ。他人の著作権を侵害するような画像は使ってはならない。ここでは下のようなうさぎのイラストを用意した。

次に用意するのは「ウォレット」というソフトウエアだ。Web3のためのいわば「デジタルの財布」である。「MetaMask」というウォレットがよく使われているので、ここではこれを利用する。

MetaMaskはWebブラウザー向けの拡張機能が用意されている。ここでは、Webブラウザー「Chrome」にMetaMaskの拡張機能を組み込んでみよう。

Chromeで「https://metamask.io/」にアクセスして「Download for(Chromeのアイコン)」というボタンを押すと、ChromeウェブストアのMetaMaskのページが開く。右上の「Chromeに追加」というボタンをクリックすると、ダイアログボックスが表示されるので「拡張機能を追加」を押す。

「MetaMaskにようこそ」という画面で「開始」を押し、「MetaMaskの品質向上へのご協力のお願い」という画面で「同意する」のボタンを押す。「MetaMaskを初めてご利用の場合」という画面が表示されるので、「ウォレットを作成」を選択する。次の画面ではパスワードを設定する。パスワードはくれぐれも忘れないようにしておく。

次に「シークレットリカバリーフレーズ」を設定する。アカウントのバックアップと復元を行うためのものだ。他人に漏れると大変な情報なので、パスワードと同様に扱う。

設定の最初の「ウォレットの保護」という画面に動画が表示される。再生しなくて構わないが、気になる人は見ておこう。「シークレットリカバリーフレーズ」の画面で「秘密の言葉を表示するには、ここをクリックします」をクリックすると、具体的なフレーズが表示される。

シークレットリカバリーフレーズが表示される画面
画2、シークレットリカバリーフレーズが表示される画面。

次の画面で、フレーズの順番通りに単語を選択していく。作業が終わると「おめでとうございます」という画面が表示されるので「すべて完了」ボタンを押す。これでMetaMaskが使えるようになった。

MetaMaskの画面を開くと「0ETH」と表示されている。ETHはイーサリアムで利用する暗号通貨の「イーサ」を意味する。つまりまだ財布は空っぽだ。

右上には「イーサリアムメインネット」と表示されている。これはイーサリアムの本番環境のブロックチェーンを意味する。この上でNFTをつくろうとすると、手数料として本物のETHが必要になり、暗号資産取引所でETHを購入しなければならなくなる。

そこで、メインネットではなくテストに使う「テストネットワーク」を利用することにしよう。テストネットワーク用のETHは無料で配布されている。こうしたETHに金銭的な価値はないためだ。

「イーサリアムメインネット」をクリックし、「表示・非表示テストネットワーク」の「表示・非表示」をクリックする。表示された画面の「テストネットワークを表示」のスイッチを「オン」にすることで、テストネットワークが表示されるようになる。

幾つかの種類のテストネットワークが表示されるので、その中から1つを選択する。ここでは「Goerliテストネットワーク」を選んだ。以前は「Rinkeby」というテストネットワークがよく使われていたが、廃止されたようだ。

次にテストネットワーク用ETHを入手する。例えば「Goerli faucet」で検索すると、Goerliテストネットワーク用のETH配布サービスが見つかる。faucetは蛇口という意味だ。アカウント登録が必要なものや採掘によりETHを得られるものなどいろんなサービスがある。それぞれの指示に従ってテストネットワーク用ETHを入手しよう。

MetaMaskでネットワークをテストネットワークに変更し、テストネットワーク用ETHを入手する
画3、MetaMaskでネットワークをテストネットワークに変更し、テストネットワーク用ETHを入手する。

なお、MetaMaskの拡張機能をピン止めしておくと、Chromeに常にMetaMaskのアイコンが表示されて便利だ。Chromeの右上にある「拡張機能」のアイコンをクリックし、MetaMaskのピンのアイコンを押すと、アイコンが青くなってMetaMaskがピン止めされる。

画像をIPFSに登録する。

次に、NFTにする画像をネットに公開しよう。NFTでは「IPFS(InterPlanetary File System)」という分散ファイルシステムがよく使われる。IPFSにファイルを登録するには「Pinata」というサービスが便利だ。

まず「https://www.pinata.cloud/」にアクセスして「Sign up」というボタンを押し、メールアドレスを登録する。次の画面で名前やパスワードを入力する。確認コードがメールで送られてくるので、それを入力すると登録完了だ。

登録が終わったら「Files」という画面になっているはずである。「Upload+」というボタンを押し、画像ファイルを指定すると、画像ファイルがIPFSに登録される。

Pinataで画像ファイルをIPFSに登録したところ
画4、Pinataで画像ファイルをIPFSに登録したところ。

「CID」がそのファイル固有のIDだ。CIDの右にあるファイルのアイコンを押すとCIDをクリップボードにコピーできる。ファイルには「https://ipfs.io/ipfs/<そのファイルのCID>」というURLでアクセスできる。

次に、NFTのための設定ファイルを用意しよう。次のようなJSON(JavaScript Object Notation)形式のファイルになる。

ここでは画像の表示名は「usagi」、画像の説明は「Rabbit Icon」にした。

この内容を「.json」という拡張子を持つファイル(名前は何でもよい)として保存し、PinataでIPFSにアップロードする。このJSONファイルのCIDを後で使うので、テキストファイルなどにコピーしてとっておこう。

NFTを発行するスマートコントラクトを用意する。

これで準備は整った。いよいよNFTの発行作業に取りかかる。

自分でNFTを発行するには「スマートコントラクト」というプログラムを書く必要がある。「え、プログラミングが必要なの?」と思ったかもしれないが、心配は無用だ。NFT用のスマートコントラクトを自動生成してくれる「Open Zeppelin」の「Contracts Wizard」というサービスを利用すれば、プログラミングの知識は一切必要ない。

まず「https://docs.openzeppelin.com/contracts/4.x/wizard」にアクセスする。表示された画面で「ERC721」を選択。「Name」にコントラクト名を入れる。これがNFTのコレクション名になる。「Symbol」にはコントラクト名を表す3文字の英数字を入れる。ここではNameを「Usagi」、Symbolを「USG」にした。

チェックボックスについては「Mintable」「Auto I

 
 
 
 
 
 

ランキングに参加中。クリックして応援お願いします!

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「〝 たぬき の 「 スマホ & パソコン 」 ワールド 〟」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事