【Web担当者オススメ】NFTプログラミングのステップ紹介

近年注目されているNFTプログラミング。今回の記事では、NFTの基本的なプログラミングのステップをご紹介していきます。
はじめに
近年注目されているNFTプログラミング。今回の記事では、NFTの基本的なプログラミングのステップをご紹介していきます。
NFTとは
NFTは、Non-Fungible Tokenの略であり、直訳すると非代替性トークンです。NFTは、交換されることのないデータの単位であり、これまでコピーされやすく希少性を保てなかったデジタルデータに価値を与える画期的なシステムとして注目されています。
NFTプログラミングのステップ
NFTプログラミングの基本的な手順は次のとおりです。
①NFTの作成
②メタデータを追加し、メタデータのホストを検索
③マーケットプレイスにNFTを掲載
1つずつご紹介していきます。
「スマートコントラクト」とは、ブロックチェーン技術を用いて自動的に契約を実行してくれる仕組みのことです。Ethereumをはじめ、多くの暗号資産で実装されている機能であり、汎用性の高さに注目が集まっています。
契約内容とその契約を履行するための条件をあらかじめプログラムとして組んでおくことで、仲介者を必要とせず契約が自動的に実行されるのが特徴です。
スマートコントラクトを作成するには、Remix(remix.ethereum.org)にアクセスします。Remixとは、Ethereumのスマートコントラクトを書く言語であり、 Solidity 用のIDE(統合開発環境)です。
Solidityソースコードのエディット、コンパイル、デプロイ、デバッグをこれ1つで行うことができます。Remixを使用すると、スマートコントラクトを簡単に構築できます。
Remixワークスペースに新しいファイルを作成します。
「pragmasolidity^0.8.0」とコマンドを実行します。
元のコントラクトをRemixで新しく作成されたスマートコントラクトにインポートします。
コントラクトに固有のアイテムを指定します。たとえば、NFTプロジェクトに名前を付けて、ミントする(新しくNFTを作成するという意味)トークンの数を指定できます。
ミンティング機能を所有者専用にするには、OpenZeppelinで利用できる、所有可能なスマートコントラクトを使用する必要があります。OpenZeppelinは、分散型アプリケーションの作成、展開、管理に使用できるツールがあるプラットフォームです。
トークンは、ブロックチェーン技術を使用して発行した「暗号資産」の総称のことです。自分のNFTを焼き付ける機能が必要な場合もあります。これには書き込み機能とパラメータを追加することが必要です。
コントラクトを仮想マシンにデプロイする準備が整いました。スマートコントラクトをテストするには、Remixの左側のメニューにあるEthereumアイコンをクリックします。NFTコントラクトを選択して「デプロイ」をクリックします。
Remixエディターで新しいフォルダーを開きます。Moralisと互換性を持たせるには、「index.html」ファイルである必要があります。
この場合、NFT IDは単に「0」であるため、63個の0を追加して64にすることができます。
ファイルがすでにWebサイトでホストされているので、スマートコントラクトの展開に進むことができます。
取得したURLをコピーして、ERC-1155コントラクトのコンストラクターの下に貼り付けます。実際のNFT JSONファイルに移動するには、「/{ID}.json」を追加します。
OpenSeaなどのマーケットプレイスは、ホストされているNFTメタデータと効率的にやり取りします。OpenSeaとは世界最大規模のNFTマーケットプレイスです。2017年12月にサービスが始まりました。
アメリカのニューヨークを拠点としたNFTマーケットプレイスで、2021年7月時点で月間取引数が約250億円ほどあります。
①NFTの作成
②メタデータを追加し、メタデータのホストを検索
③マーケットプレイスにNFTを掲載
1つずつご紹介していきます。
①NFTの作成
スマートコントラクトの構築
「スマートコントラクト」とは、ブロックチェーン技術を用いて自動的に契約を実行してくれる仕組みのことです。Ethereumをはじめ、多くの暗号資産で実装されている機能であり、汎用性の高さに注目が集まっています。
契約内容とその契約を履行するための条件をあらかじめプログラムとして組んでおくことで、仲介者を必要とせず契約が自動的に実行されるのが特徴です。
スマートコントラクトを作成するには、Remix(remix.ethereum.org)にアクセスします。Remixとは、Ethereumのスマートコントラクトを書く言語であり、 Solidity 用のIDE(統合開発環境)です。
Solidityソースコードのエディット、コンパイル、デプロイ、デバッグをこれ1つで行うことができます。Remixを使用すると、スマートコントラクトを簡単に構築できます。
新しいファイルを作成する
Remixワークスペースに新しいファイルを作成します。
「pragmasolidity^0.8.0」とコマンドを実行します。
スマートコントラクトからNFTを作成する
元のコントラクトをRemixで新しく作成されたスマートコントラクトにインポートします。
独自のNFTを実装する
コントラクトに固有のアイテムを指定します。たとえば、NFTプロジェクトに名前を付けて、ミントする(新しくNFTを作成するという意味)トークンの数を指定できます。
制限の追加
ミンティング機能を所有者専用にするには、OpenZeppelinで利用できる、所有可能なスマートコントラクトを使用する必要があります。OpenZeppelinは、分散型アプリケーションの作成、展開、管理に使用できるツールがあるプラットフォームです。
トークンの書き込み
トークンは、ブロックチェーン技術を使用して発行した「暗号資産」の総称のことです。自分のNFTを焼き付ける機能が必要な場合もあります。これには書き込み機能とパラメータを追加することが必要です。
仮想マシンにデプロイする
コントラクトを仮想マシンにデプロイする準備が整いました。スマートコントラクトをテストするには、Remixの左側のメニューにあるEthereumアイコンをクリックします。NFTコントラクトを選択して「デプロイ」をクリックします。
②メタデータの追加とホストの検索
JSONファイルを作成する
Remixエディターで新しいフォルダーを開きます。Moralisと互換性を持たせるには、「index.html」ファイルである必要があります。
ファイル名を変更する
この場合、NFT IDは単に「0」であるため、63個の0を追加して64にすることができます。
スマートコントラクトを展開する
ファイルがすでにWebサイトでホストされているので、スマートコントラクトの展開に進むことができます。
ベースURLを取得する
取得したURLをコピーして、ERC-1155コントラクトのコンストラクターの下に貼り付けます。実際のNFT JSONファイルに移動するには、「/{ID}.json」を追加します。
③NFTメタデータとマーケットプレイス
OpenSeaなどのマーケットプレイスは、ホストされているNFTメタデータと効率的にやり取りします。OpenSeaとは世界最大規模のNFTマーケットプレイスです。2017年12月にサービスが始まりました。
アメリカのニューヨークを拠点としたNFTマーケットプレイスで、2021年7月時点で月間取引数が約250億円ほどあります。
まとめ
今回の記事では、NFTプログラミングの基礎的な流れについてご紹介してきました。いくつかのプラットフォームやサービスが提供されているので、それらを組み合わせてのプログラミングが可能であることが分かると思います。NFTはwebシステムにおいても決済システムとして導入されることも多くなることが予想されるので、チェックしておきましょう。