見出し画像

《NFT-DriveEX》Symbol×Ethereum ハイブリッドフルオンチェーンNFT作成マニュアル

◆この記事でできること◆

  1. NFTDriveEXが使える

  2. NFTDriveEXまたはver.Miraiを使ってフルオンチェーンNFTが発行できる

  3. Symbol × EthereumハイブリットフルオンチェーンNFTが発行できる

  4. サムネイル付き音楽-フルオンチェーンNFTが発行できる


◆はじめに◆

こんにちは、あきまるです。
みなさんは、フルオンチェーン-NFTというものを知っていますか?
フルオンチェーン-NFTは、NFTに紐付けされた画像などのデータが全てブロックチェーンに保存されたNFTのことをいいます。
その中でも今回は、Symbolブロックチェーン上に保存したデータをEthereum上で発行したNFTに紐付けた、ハイブリッドフルオンチェーン-NFTについて紹介していきます。

ハイブリッドフルオンチェーン-NFT『Arthur』の誕生
Arthurは、猫の妖精ケットシー。ARTが好きなかわいい男の子。画家・音楽家として活躍されているMahoさんにPFPとして描いて頂いたものです。
今回は、このArthurをMahoさん自らの手によりハイブリッドフルオンチェーン-NFT化してOpenSEAへ出品し、取引を成立させるという挑戦を行いました。


最終的に出来上がったNFTはデータサイズ4.5MB、Ethereum上で発行されたハイブリッドフルオンチェーンNFTとしては最大クラスのものかと思います。
Mahoさんはアーティストですので、普段はこのような技術に触れることはありません。それにも関わらず、長時間にわたって頑張って頂き、最後には取引を成立させることができました。本当にありがとうございました。

本記事は、この挑戦をきっかけに、さらにより多くの方にこの技術に挑戦して貰いたいと思い、執筆させて頂きました。

それでは今から、Symbolブロックチェーンに保存したデータを紐付けたNFTをイーサリアムで発行したハイブリッドフルオンチェーンNFTについて、
◆一体どのようなものなのか
◆作成方法
◆注意点
を解説したいと思います。
また、この記事の作成にあたり、ボー太郎博士の記事を参考とさせて頂きました。
元記事はこちらになりますのでよろしくお願いします。
▶新NFTDrive ver.MIRAI
▶NFTDriveをOpenSeaで使う方法。
▶OpenSeaに登録したNFTDriveコレクションの追加方法
▶NFTDriveでOpenSeaに画像以外のファイルをリストする方法

◆フルオンチェーンNFTって何?◆

1 フルオンチェーンNFTという選択肢

フルオンチェーンNFTとは、画像データ等が全てブロックチェーンに保存されたNFTのことを言います。
今までのNFTは、データがサーバ上に保存されていたり、IPFS、Arweaveといった分散型ストレージに保存されています。
これらのデータ保存形式は、サーバ停止によるデータの消失やデータ維持費用の支払いなど、現時点での課題がいくつかあります。最近では、IPFS支払い料金の値上げの話題がありましたね。
今回はそんな課題の解決策の一つとして、ブロックチェーンをデータの保存先として利用したフルオンチェーンNFTを紹介します。

各保存形式のイメージ


2 フルオンチェーン-NFTってどんなしくみ?

フルオンチェーン-NFTは、ブロックチェーン上に保存したデータのアドレスをトークンに紐づけています。

ブロックチェーンのイメージ図

ブロックチェーンの情報は、ブロックチェーンを構成するすべてのノードに共有されており、ブロックチェーンに書き込まれたデータは改ざんや消去ができません。データがもし消失することがあるとすれば、そのブロックチェーンが消滅した時のみです。(※ハードフォークという手もありますがそれはまた別の話)
ですので、ブロックチェーンに保存した画像等のデータは消えることなく、遠い未来まで残すことができます。


3 フルオンチェーンデータは小さい容量しか保存できない?

ここで皆さん疑問に思われるのが、「ブロックチェーンってそんな大きな容量保存できないよね?」というところです。確かに1つのブロックには、そこまで大きなデータを格納することができません。
そこで、今回活用する技術では、データを細切れにして記録し、読み込むときはそれを繋ぎ合わせることによって、その問題点を回避しています。

大容量データのブロックへの分散化保存

4 フルオンチェーンデータは費用が高いんじゃないの?
〜ハイブリッドフルオンチェーンNFTという選択肢〜

データをチェーンに保存するには、費用がかかります。例えばEthereumのチェーンに全てデータを刻む場合、数百KBのデータを作るのにとてつもない費用がかかると言われています。今回のフルオンチェーンNFTは、データをETHチェーンに刻むのではなく、全く別のチェーンであるSymbolブロックチェーンに保存し、Ethereumで発行したトークンに紐付けることで、Ethereumネットワークで利用できる安価でデータ容量の大きなOnchain-NFTを実現させています。

Ethereum/Symbol ハイブリッドフルオンチェーン-NFTのしくみ

例えば、現在のSymbolチェーンの通貨であるXYMは6.2円。1MBの画像を制作するのにおよそ180XYM必要なため、1,200円程度でデータが作れます。


他にかかる費用としては、Ethereumネットワークで行うコレクション用スマコン登録、画像登録、mint費用がかかります。

◆フルオンチェーン-NFTを発行しよう!◆

作成方法は次の5stepです。

1 Symbolブロックチェーンにデータを保存する(フルオンチェーンデータの作成)
2 Ethereumチェーンでコレクション用スマートコントラクトを登録する
3 Ethereumチェーンにデータアドレスを登録する
4 EthereumチェーンでNFTを発行(mint)する
5 OpenSeaでスマートコントラクトを登録する

ハイブリッドフルオンチェーン-NFT作成の流れ

それでは、早速作っていきましょう。

1 Symbolブロックチェーンにデータを保存する(フルオンチェーンデータの作成)

この章では、Symbolブロックチェーンに画像等のデータを保存し、フルオンチェーンデータを作成していきます。今回は、NFT-Drive ver.Miraiでの作成と共に、NFT-DriveEXを用いたフルオンチェーンNFT作成方法をご紹介します。
準備をしてさっそく始めましょう。

2024.1.29追記:今回、NFT-DriveEXでの記事作成にあたり、Mahoさんに作成協力をしていただきました。お忙しい中ご協力ありがとうございました。

1-1 NFT-DriveEXを用いたフルオンチェーンデータの作成(2024.1.29追記)

NFTDriveEXは、NFTの交換発行が可能なブラウザ型ウォレットです。今回はこのウォレットを用いてフルオンチェーンデータを作成します。
今回、NFT-DriveEXにて作成するにあたり、Mahoさんの多大なるご協力の下、解説記事を執筆させていただきました。ありがとうございます。

NFT-DriveEXマルチチェーン化記念NFTの販売について

今回Mahoさんが記事執筆に合わせて作成したフルオンチェーンNFT、Animart Collection "夜の水族船”が、100XYM、50名様限定で販売中です。
是非この機会にNFTdriveEXを導入してみてはいかがでしょうか。

Animart 《夜の水族船》

NFTDriveEXでの購入(オファー)方法

①ポスト内に掲載されたURLをタップします。
↓Mahoさんの作品購入画面URL
https://t.co/INtWi8U4Yo

②次の画像に従って購入を進めます。
この際、必ずNFT左下にある購入ボタンを押してから、パスワード入力をして下さい。

購入オファーでの注意点

オファーの際に注意することとして、2点あります。
①20%税抜き価格表示に注意
ロイヤリティが表示価格に20%加算されるので、オファーや価格設定する際は注意して下さい。
②購入ボタンを必ず押そう
NFT画像の左下にある購入を押さないで送信するとXYMだけ送信されてしまうので、必ず購入ボタンを押しましょう。


1)【NFTdriveEX導入編】NFT-DriveEXにアクセスする

NFTDriveEXは、ブラウザウォレットです。
こちらのURLにスマートフォンまたはパソコンでアクセスしてください。

2)【NFTdriveEX導入編】アドレスを新規作成又はインポートする

NFTDriveEXにて、ウォレットを新規作成します。既にウォレットを持っている場合は、秘密鍵を入力してウォレットのインポートを行います。
ただし、NFTDriveEXで使用するウォレットは多くの取引をすることを想定して、多額のXYMを入れたウォレットを設定することは避けてください。

①設定画面の表示
NFTDriveEXにアクセスしたら、右上の設定ボタンを押して設定画面を開きます

②ウォレットの新規作成
ウォレットの新規作成を押して新規作成画面を開きます。
アドレスの名称とパスワードを入力して決定を押すとアドレスが新規作成されます。
NFTを作成するためにXYMが必要なため、新しいウォレットに送金しておきましょう。
また、新規作成したウォレットの秘密鍵はアドレスのエクスポートボタンから取得できるので、必ずオフライン保管しておきましょう。

③既存ウォレットのインポート
既存ウォレットをNFTDriveEXにインポートします。
ウォレットのインポートを押してインポート画面を開きます。
アドレスの名称と秘密鍵、パスワードを入力して決定を押すとアドレスがインポートされます。

④アドレスの切替え
NFTDriveEXのホーム画面は、初期設定アドレスの画面となっているため、アドレス選択ボタンを押してアドレスを切り替えます。

3)フルオンチェーンデータを作成(NFTも同時作成)する

EthereumのNFTに紐付けるフルオンチェーンデータを作成します。また、今回はSymbolのNFTも同時に発行していきます。

①NFT作成画面を開いてNFTにしたいデータを指定する
NFT発行ボタンを押して、NFT作成画面に移行します。
まずはじめに、NFTデータの指定が求められるので、カメラ、ビデオ撮影またはメディアの選択から、NFT化したいデータを指定します。
NFTdriveは様々な拡張子のファイルに対応しており、

②OpenSeaモードに切り替える
OpenSeaで表示するデータを入力するため、OpenSeaモードに切り替えます。
《詳細なオプションを表示》を押すと、拡張ポート等が展開されるので、OpenSeaModeをNOからYESに切り替えます。

②補足 データサイズが大きすぎる場合
NFTDriveの推奨データサイズは3MBまでです。3MBを超えた場合は次のように警告が出ます。ここで、画像の圧縮を行うことで適正な画像サイズに変換を行うことが出来ます。

③各種データを入力する
次のとおり、各項目にデータを入力していきます。

発行枚数
トークン(NFT・FT)を発行する場合入力します。
一度に100個まで発行が可能です。
Message
入力するとNFT-Driveのデータプレビュー画面で表示されます。
作者のアドレス
自動入力されます。または、NFT制作者のSymbolウォレットのアドレスを入力してください。
Transfer Permission(転送の許可)
『YES』のままにしてください。
anotherID
好きなanotherIDを入力します。
SymbolでもNFTを発行する場合は空欄
※ただし、NFTを発行する場合は、発行手数料50XYMが追加で必要となります。
OpenSEAMetaData
自動で『作成日』『データアドレス』『②別の識別子で指定したID』が入力されます。こちらは、OpenSEA内で詳細情報として表示されます。
description
NFTの説明文を入力してください。
OpenSEA内のdescriptionに表示されます。
external_url
外部URLが設定できます。ホームページやtwitterアドレス等の入力が可能です。
name
NFTの名称を入力してください。
thumbnail
音楽NFT作成などで、サムネイル画像NFTのデータをリンクしたい場合はデータアドレスを入力してください。
property(Only ERC1155:option)type,discription
ERC1155で表示するプロパティ情報を入力します。
例えば、chain:Symbol,name:Akimaru,network:Mainnetという感じです。
詳しくはボー太郎氏のnoteを御覧下さい。
EncryptionPassWord(データの暗号化:パスワード)
『空欄』のままにしてください。

④フルオンチェーンデータを発行する
発行を押して、フルオンチェーンデータを発行します。この際、NFTも同時発行可能です。
《発行する》ボタンを押して、発行を開始します。

⑤手数料を送金する
送金画面に切り替わるので、手数料を送金します。

⑥作成完了待ち
送金が終わったら作成完了待ちとなります。
24時間以内に作成が終わる見込みですが、24時間経過後も作成できていない場合はサポートまで御連絡して下さい。

1-2 NFT-Drive ver.Miraiを用いたフルオンチェーンデータの作成

1)準備

以下のものを準備してください。

<準備するもの>
◆登録したいデータ
・データ種類:画像・音声・動画等 
 ※今回は画像をアップロードします。
・推奨サイズ:3MB以下

◆Symbolウォレット
Symbolウォレットは、Symbol Community Webに導入方法が掲載されていますのでご確認ください。
https://symbol-community.com/ja/docs/1

◆XYM
・用途:登録手数料として使用。3MBで700XYM程度必要(※最後半分程度の返金あり)

◆パソコン または スマートフォン

★注意点★

ファイルサイズが大きくなればなるほど、PCスペック等により失敗する可能性があります。高容量のファイルに挑戦する際は失敗リスクも加味した上挑戦してください。
※失敗に関するNFT-Drive側の保証はありませんのでご了承ください。

2)NFT-Drive ver.Miraiに接続する

NFT-Driveシステム『Mirai』を使用してSymbolブロックチェーンにデータを保存します。まずは、NFT-Driveシステムに接続してみましょう。

①NFT-Drive ver.MIRAIにアクセスする
 URL:https://bootarou.xsrv.jp/mirai-test/

NFT-Drive Ver.MIRAI


3)データの保存(フルオンチェーンデータの作成)

それでは、ブロックチェーンにデータを保存し、フルオンチェーンデータを作成していきたいと思います。
今回は、画像データを保存する場合と、音楽データを保存する場合について説明します。

3)-1 画像・動画データの作成

こちらは通常の画像・動画のフルオンチェーンデータを作成する方法となります。手順は以下の通りです。

フルオンチェーンデータ作成手順(通常)

▶OpenSEAモードへの切り替え

OpenSEA用のフルオンチェーンデータを作成するため、NFT-DriveのモードをOpenSEAモードに切り替えます。
①画面中央にあるOpenSeaModeをNOからYESに切り替える

▶NFT情報等の入力

各項目へ必要な情報を入力してください。

Transfer Permission(転送の許可)
『はい』のままにしてください。
SymbolAddress(作者のアドレス)
NFT制作者のSymbolウォレットのアドレスを入力してください。
anotherID
好きなanotherIDを入力します。
SymbolでもNFTを発行する場合は空欄
※ただし、NFTを発行する場合は、発行手数料50XYMが追加で必要となる
Amount(発行枚数)
トークン(NFT・FT)を発行する場合入力します。
一度に100個まで発行が可能です。
Message
入力するとNFT-Driveのデータプレビュー画面で表示されます。
EncryptionPassWord(データの暗号化:パスワード)
『空欄』のままにしてください。
OpenSEAMetaData
自動で『作成日』『データアドレス』『②別の識別子で指定したID』が入力されます。こちらは、OpenSEA内で詳細情報として表示されます。
description
NFTの説明文を入力してください。
OpenSEA内のdescriptionに表示されます。
external_url
外部URLが設定できます。ホームページやtwitterアドレス等の入力が可能です。
name
NFTの名称を入力してください。

▶画像データのアップロード

保存したい画像データをアップロードします。
①入力画面中央のFileUploadボタンを押す

②画像データを選択する
作成したい画像データを選択します。

③アップロード完了
以下の画面が表示されたら、OKを押します。

▶NFT作成の実行

全ての情報を入力したら、画面最下部のMINTボタンを押します。

▶手数料の送金

送金先のウォレットアドレスが表示されるので、ウォレットにて送金を行います。
①ウォレットアドレスのコピー
画面に表示されたウォレットアドレスをコピーしてください。

②ウォレットを起動
ウォレットを立ち上げます。
今回は、例としてSymbol Wallet画面を表示しています。

Symbol Wallet Home画面

③送金画面に切り替え
送金ボタンを押して、画面を切り替えてください。

④送金先ウォレットアドレスの入力
送金先のアドレスを入力または貼付けしてください。

⑤手数料の入力
表示されている手数料の数値を入力してください。
※暗号化、決済完了画面それぞれオフのままで問題ありません。

⑥メッセージの入力
NFT-Driveで指定されたメッセージを入力して下さい。
メッセージはNFT-Driveの送金受付画面でコピーできます。

⑦送金する
送金ボタンを押してください。認証を行うと送金が行われます。

⑧着金確認
画面にて着金が確認されると、手数料の支払いを確認した旨のメッセージが表示されます。

▶フルオンチェーンデータ作成の実行

それでは、フルオンチェーンデータを作成していきましょう。
①作成開始を押す
作成開始ボタンを押すとフルオンチェーンデータの作成が開始されます。
画面がNFTDriveのトップ画面に戻り、上部に受付したNFTの作成状況が表示されます。

②作成工程について(参考)
◆トークンの作成
トークンを作成します。OpenSeaModeの場合は必須ではありません。
◆データの書き込み
Symbolチェーンにデータの書き込みを行います。
◆アカウントのロック
データを紐付けたアカウントをロックします。このアカウントのアドレスは、データアドレスとして使用されます。
◆手数料の払い戻し
不要になった手数料の払い戻しを行います。
◆秘密鍵の破棄
アカウントの秘密鍵を破棄することにより、アカウントにアクセス出来なくなるため、アカウントに紐付いた情報の改変が不可能になります。

③作成完了・データアドレスの取得
作成完了すると、入力画面で入力したウォレットにデータが送られてきます。
データアドレスも一緒に送られてきます。

<データアドレス>
データアドレスは、次の作業を行う際必須です。かならずメモ帳などに記録しておいてください。
<NFT-Drive Preview>
NFTDrivepreviewは、フルオンチェーンデータを表示するビューワーです。URLを取得しておくと、画像データを確認することが可能なので、保存しておいてください。


3)-2 サムネイル付き音楽データの作成

サムネイル付き音楽データを作成する場合は、2つのステップがあります。
①サムネイルフルオンチェーンデータの作成
②サムネイルを紐付けた音楽フルオンチェーンデータの作成

サムネイル付きフルオンチェーン音楽データ作成フロー

それでは行っていきましょう。

①サムネイルonchainデータの作成
やり方は、(3)-1と同じです。サムネイルとして使用したい画像をフルオンチェーンデータ化します。
②でデータアドレスが必要となります。

②サムネイルを紐付けた音楽フルオンチェーンデータの作成
手順は(3)-1と変わりないですが、<NFT情報等の入力>時に、追加でサムネイルの項目に①で作成したサムネイルのデータアドレスを入力をしてください。
フルオンチェーンデータの作成が完了したら、アドレスを保存しておきましょう。後ほど必要となります。

⑪サムネイル
サムネイル用に①で作成したデータのアドレスを入力してください。
⑫ファイル拡張子
自動入力されるため空欄



2 Ethereumチェーンでコレクション用スマートコントラクトを登録する

次は、Ethereumブロックチェーンネットワーク上で、スマートコントラクトの登録を行います。大まかなやり方は次の図のとおり。

スマコン登録手順

1)準備

▶メタマスクの準備

メタマスクを準備します。
<メタマスクがない場合>
メタマスクがない場合は、下記URLからダウンロードを行ってください。
URL:https://metamask.zendesk.com/hc/ja/articles/360015489531-MetaMask%E3%82%92%E5%A7%8B%E3%82%81%E3%82%8B

メタマスクの設定についてはこちらをご参照ください。
URL:https://coincheck.com/ja/article/472
メタマスクダウンロード後、取引所にてETHを購入し、メタマスクで生成したウォレットアドレスに送金してください。

<参考>
bitbankから仮想通貨を送金する方法
イーサリアムの出金方法を教えてください(Zaif)

また、Ethereumメインネット以外のネットワークを使用する場合は、以下のページを参考としてください。
URL:https://smart-investlife.com/202106/howto-setup-new-chain/

▶Remix IDEへの接続

下記URLに接続してください。
URL:http://remix.ethereum.org/

Remix IDE初期画面


2)スマートコントラクトの登録

▶スマートコントラクトの作成

スマートコントラクトを作成していきます。
①solファイルの新規作成
Remix IDE画面内のFILE EXPLORERにて、Creat a new fileのアイコンを押します。

ファイル新規作成

②ファイル名の入力
自分が識別できるファイル名を入力してください。ファイル名を入力してエンターを押すと、拡張子(.sol)が付与され、右側の画面にエディタが表示されます。

ファイル新規作成

③スマートコントラクトコードの貼付
以下のコードをコピーし、エディタ内に貼り付けてください。

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/utils/Context.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";

contract NFT is Context, ERC721Enumerable,Ownable {

    string public domain="nftdrive-explorer.info";
    string[] public dataAddress;
  
    constructor() ERC721("NFTDriveTypeC", "NFTD") {}


    function changeDecoderDomain(string memory _data) public onlyOwner {

        domain=_data;
    }


    function pushDataAddress(string memory _add) public onlyOwner {

        dataAddress.push(_add);
    }


    function safeMint(address to) public virtual {
        _safeMint(to, totalSupply());
    }

    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {

          return string(abi.encodePacked("https://",domain,"/download_opensea.php?address=",dataAddress[tokenId],"&c=.json"));
    }




}

<貼付イメージ>


貼付イメージ

④スマートコントラクトの編集
コレクション名やティッカー名などの編集を行います。
名称は必ずダブルクオーテーション ” ” で囲みます。

スマートコントラクト編集箇所

デコーダードメイン
基本的に変更不要。
※自分のサーバーにdownload.phpを落として使う場合は適時変更。
※オーナー権限で後ほど変更可能。
コレクション名
古いコレクション名を削除し、コレクション名を入力してください。
OpenSea等やメタマスクで表示されます。
ティッカー
ETHSCANで表示されます。識別用の単語を入れましょう。

▶スマートコントラクトのコンパイル

スマートコントラクトをコンパイルして、Ethereum環境でプログラムを実行できる形に変換します。

*****コンパイルについて*****

特定のプログラミング言語を用いて書かれたプログラムを機械が読み込んで実行可能な形に翻訳することです。
今回は、SolidityというJavaScriptに似たプログラミング言語で書かれています。

*******************

①Solidity compilerタブに切り替える
一番左の行の下から2番目のアイコン(Solidity compiler)を押します。

compilerタブに切り替え

②COMPILERを[0.8.8+commit.dddeac2f]に切り替える
COMPILERのすぐ下の枠を押すとリストが表示されるので、0.8.8+commit.dddeac2fを押します。

compilerのバージョン切り替え

③[Compile *****.sol]を押してコンパイルを実行する
[Compile *****.sol]という緑色のボタンを押すと、コンパイルが開始されます。
完了すると、Solidity compilerのアイコンに緑色のチェックマークがつきます。

コンパイルの実行


▶スマートコントラクトの登録

それでは、出来上がったスマートコントラクトをEthereumブロックチェーンに登録しましょう。
この登録作業を行うことにより、Ethereum環境でスマートコントラクトプログラムが実行できるようになります。

①Deploy & run transactionsタブに切り替える
一番左の行の最下部のアイコン(Deploy & run transactions)を押して、画面をDeploy画面に切り替えます。

画面の切り替え

②ENVIRONMENTを[Injected Provider]に切り替える
ENVIRONMENT欄を押すとリストが表示されるので、[Injected Provider]を押します。

メタマスクの接続①

③メタマスクの接続
メタマスクが起動するので、接続ボタンを押してRemix IDEに接続します。
※複数アカウントがある場合は、接続したいアカウントを選択後、接続してください。
※選択するアカウントアドレスはコレクションを追加したいアカウントを選択してください。
※今回使用するスマートコントラクトは、スマートコントラクト登録時に接続したウォレットでないとmintなどが動作しません。

接続ボタン

④ネットワークの選択
基本はEthereumネットワークですが、polygonなど他のネットワークを選択することもできます。

ネットワークの切り替えがしたい場合

こちらの記事に詳しく書かれているので参考としてください。
URL:https://smart-investlife.com/202106/howto-setup-new-chain/
他のネットワークを使用した際は、それに対応する仮想通貨が必要となりますので、取引所で購入するなどの対応を行ってください。

⑤CONTRACTを作成したファイルに切り替える
CONTRACTを先ほど作成したNFT- *****.solに切り替えを行ってください。

⑥[Deploy]ボタンを押す
スマートコントラクト登録を実行します。
Deployボタンを押すとConfirm transaction(トランザクション内容と手数料の確認)画面が開きますので、Confirmを押してください。メタマスクが起動します。

Deployの実行

手数料はgweiの値に左右され、安い時間帯と高い時間帯があります。
私はよく夕方を狙って操作しています。
gweiの確認はこちら⇒https://etherscan.io/gastracker

Ethereum Gas Tracker

ガス代の豆知識はこちら⇒https://dapps.gamewith.jp/?p=90

⑦メタマスクで[確認]ボタンを押す
確認ボタンを押してEthereumにスマートコントラクトが登録されるのを待ちます。

メタマスク 承認画面

トランザクションが承認されスマートコントラクトの登録が成功すると、ソースコード表示画面の下に緑のチェックマークが表示されます。

成功画面

⑧スマートコントラクトアドレスの保存
スマートコントラクトアドレスを保存しましょう。
⑦のEtherscanのリンクからスマートコントラクトのページに飛べるので、コントラクトアドレスをコピーし、メモ帳等に保存しておきましょう。

Transaction Details画面

注意点:緑のチェックマークが中々表示されない時は?

緑のチェックマークが中々表示されない時は、Transactionが中々承認されない処理詰まりの状態となっています。
対処方法としては次の通り
①しばらく放置して承認を待つ
②スピードアップ(手数料上乗せ)を行う
③処理を中止して再度Transactボタンを押す

②を行っても上手く登録出来ずに真っ白のNFTが登録されてしまったことがあるので、gweiがあまり大きく上昇していない状況であれば、①で良いと思います。
どうしても承認されない場合は、③を行う選択肢もあります。

3 フルオンチェーンデータアドレスをEthereumチェーンに登録する

ここでは、今登録したスマートコントラクトを使い、フルオンチェーンデータアドレスをEthereumネットワークに登録します。

onchanデータアドレス登録の流れ

1)フルオンチェーンデータの登録

①contractメニューを開く
Deployed Contractsの下に表示されている[NFT AT …]の頭にある>ボタンを押す。

contractメニューを開く

ボタンを押すと、contractメニューが展開されます。

contractメニュー画面

②pushDataAddressの右側の▽ボタンを押す
オレンジ色の上から3番目にあるpushDataAddressの右側に▽ボタンがあるので押します。

メニューの展開

入力欄と、transactボタンが表示されます。

pushDataAddressメニューの展開

③pushDataAddressの入力欄にフルオンチェーンデータアドレスを入力する
入力欄に、NFT-Driveで作成したフルオンチェーンデータアドレスを入力します。

データアドレスの貼付

④transactボタンを押す(登録の実行)
transactボタンを押して、データアドレスの登録を実行します。

フルオンチェーンデータ登録の実行①

手数料確認画面が開きますので、confirmを押してください。メタマスクが起動します。
手数料はgweiの値に左右され、安い時間帯と高い時間帯があります。

⑤メタマスクで[確認]ボタンを押す
確認ボタンを押してEthereumにデータアドレスが登録されるのを待ちます。

onchainデータ登録の実行②

成功すると、操作ログに、緑のチェックマークが表示されます。

フルオンチェーンデータ登録の実行③

このままNFT発行に進みます。

4 EthereumチェーンでNFTを発行(mint)する

EthereumチェーンでNFTを発行します。

NFT発行手順

1)NFTの発行

①safeMintメニューの展開
オレンジ色の上から5番目にあるSafeMintの右側に▽ボタンがあるので押します。

safeMintメニューの展開②

入力欄と、transactボタンが表示されます。

safeMintメニューの展開②

②safeMintの入力欄にウォレットアドレスを入力する
入力欄に、メタマスクのウォレットアドレスを入力します。
このウォレットアドレスは、スマートコントラクトを登録する際に使用したアカウントアドレスを入力してください。

ウォレットアドレスの入力

③transactボタンを押す(登録の実行)
transactボタンを押して、NFTを発行します。
手数料確認画面が開きますので、confirmを押してください。メタマスクが起動します。

NFTの発行①

手数料はgweiの値に左右され、安い時間帯と高い時間帯があります。

④メタマスクで[確認]ボタンを押す
確認ボタンを押してEthereumにNFT発行が完了するのを待ちます。

手数料の確認画面

成功すると、ソースコード表示画面の下に、緑のチェックマークが表示されます。

NFTの発行②

5 OpenSeaにコレクション用スマートコントラクトを登録する

OpenSeaにて、スマートコントラクトを登録します。既にOpenSeaにはコレクションとNFTは表示されていますが、取引するETHの種類が未指定のため、正しく表示されません。何故か赤ETHでの取引になりました。
この登録を行うことで、正しいETHの種類で取引することが出来ます。

①OpenSeaを開く
OpenSeaを開きます。
URL:https://opensea.io/

OpenSEAへ接続

②メタマスクを接続する
画面右上の財布アイコンを押すと接続メニューが表示されるので、MetaMaskを選択します。
MetaMaskが立ち上がるので、MetaMask画面上に表示される接続ボタンを押すと、OpenSEAに接続ができます。

OpenSEAへの接続

もし接続がうまくいかない場合は、下図のとおり一度メタマスクの接続を解除し、もう一度接続してください。

接続解除方法

③My Collectionsを開く
ウォレットを接続すると、ウォレットアイコンの左側に〇型のアイコンが表示されます。
このアイコンを押すと、メニューの中にMy Collectionがあるので開きます。

My Collectionsを開く

④Get Listed on OpenSeaページを開く
Creat a Collectionの横にある三点リーダーを押し、メニューを開きます。
メニューの中の[Import on exisiting smart contract]を押します。

⑤ネットワークを選択する
今回は、メインネットで行っているため、Live on mainnetを押します。

Mainnetを選択

テストネットで行っている場合は、Live on testnetを押してください。

⑥ネットワークの選択とコントラクトアドレスの登録
ネットワークを選択してください。今回は、Ethereum Mainnetで行っています。
また、先ほど保存したコントラクトアドレスを入力欄に貼り付け、Submitを押します。

スマートコントラクトを登録

⑦登録完了
OpenSeaにスマートコントラクトが登録されました。
以上でハイブリッドonchain-NFTは完成です♪

◆コレクションスマートコントラクトにNFTを追加登録する◆

1 フルオンチェーンデータの作成

Onchain-NFTを発行しよう!>1 Symbolブロックチェーンにデータを保存するを参照してください。

2 スマートコントラクトの読込み

1)スマートコントラクトのコンパイル

①スマートコントラクトファイルの選択
Remix IDEに再接続すると、スマートコントラクトファイルが作成されていますので、内容は変更せずにコンパイルしてください。

ファイルを指定しSolidity Compilerアイコンを押す

②COMPILERのバージョンを変更

COMPILERのバージョン変更

③コンパイルの実行

compileを実行する

2)スマートコントラクトの読込

①Deploy & run transactions画面に切替える

Deploy & run transactions画面への切替え

②ウォレットの接続

Metamaskの接続

③Solファイルの選択

Solファイルの選択

④スマートコントラクトの読込み
AtAddress横の入力欄に前回作ったスマートコントラクトアドレスを入力し、AtAddressを押します。

スマートコントラクトのメニューを表示させる

⑤Contractメニューが表示される

スマートコントラクトメニュー画面

3)画像データの登録、NFT発行等

これ以降の作業は◆Onchain-NFTを発行しよう!◆の作業と同じ工程となります。以下のリンクの通り進めてください。

▶3 onchainデータアドレスをEthereumチェーンに登録する
▶4 EthereumチェーンでNFTを発行(mint)する

※今回使用したスマートコントラクトは既にOpenSEAに登録しているので再度登録する作業は不要です。

実は世界初の取組!?
データストレージがSymbolチェーン、NFTはEthereumのHybrid onchain-NFTをPFPに設定するのも実は世界初です。ですので、表示されるか心配していましたが、ちゃんと表示されることが確認でき本当によかったです。


◆終わりに◆

長くなってしまいましたが、最後までお付き合い頂きありがとうございました。
onchain-NFTは、一度刻まれたらブロックチェーンが消滅するまで消えることはありません。つまり、アーティストの魂を込めて作り上げた作品を消えることなく後世まで残すことができます。

生きた証が刻まれることは、本当に素敵だなと私は思っています。この技術が多くの方に利用され、広まっていくと嬉しいですね。

皆様も是非是非挑戦してみてください。
それでは、あきまるでしたー。
ばいばい!


いいなと思ったら応援しよう!