Cointime

Download App
iOS & Android

3 つのリンク サービスを使用して動的な NFT を作成する方法を説明します

Validated Project

著者チェーンリンク2023 年7 月12

概要

難易度:初級・中級

完了までの推定時間: 60 分

このチュートリアルでは、Remix を使用して Polygon Mumbai テストネットにスマート コントラクトをデプロイする方法を学習します。このスマート コントラクトは、米ドル建て ETH 価格に基づいて動的に更新される NFT を作成します。

以下に、その方法を段階的に説明します。

1. MetaMaskウォレットを作成する

2. Polygon Mumbai テストネットで資金を獲得する

3. Chainlink VRF サブスクリプションを作成する

4. Remix を使用して動的 NFT (dNFT) スマート コントラクトを展開する

5. dNFT スマート コントラクトを VRF コンシューマーとして追加します

6. Chainlink Automation で NFT を自動化する

7. OpenSea で NFT を表示および操作する

ステップ 1: MetaMaskウォレットを作成する

注: すでに MetaMask ウォレット (またはその他のウォレット) をお持ちの場合は、この手順をスキップしてください。

MetaMask ウォレットを作成するには、 https://metamask.io/にアクセスし、指示に従ってウォレットを作成します。

ステップ 2: Polygon Mumbai テストネットの資金を調達する

A) https://faucets.chain.link/mumbaiにアクセスします。

B) 右上隅の「Connect Wallet」をクリックします。

C) Polygon Mumbai と初めて対話する場合は、MetaMask が「このサイトにネットワークの追加を許可しますか?」というプロンプトを表示したら、「承認」をクリックしてください。

D) 「ネットワークの切り替え」をクリックします。

E) 「私は人間です」チェックボックスをオンにして、キャプチャを完了します。

F) 「リクエストを送信」をクリックします。

G) トランザクションが完了するまで待ちます。

おめでとう!テストネット Polygon Mumbai MATIC とテストネット LINK が正常に申請され、受信されました。

おめでとう!テストネット Polygon Mumbai MATIC とテストネット LINK が正常に申請され、受信されました。

注: Chainlink フォーセットのテストネット MATIC が使い果たされた場合は、 Polygon Mumbaiフォーセットを使用してテストネット MATIC を受信して​​ください。テストネット LINK を受信するには、Chainlink フォーセットを使用する必要があります。

ステップ3 : VRFサブスクリプションを作成する

dNFT スマート コントラクトを展開する前に、まず VRF サブスクリプションを作成します。これは、コントラクトが乱数を生成するときに使用するお金のバケツと考えてください。スマート コントラクトをデプロイするにはサブスクリプション ID が必要です。

A) https://vrf.chain.link/mumbaiにアクセスします。

B) 右上隅の「Connect Wallet」をクリックします。

C) 「サブスクリプションの作成」をクリックします。

D) もう一度「サブスクリプションの作成」をクリックします。

E) MetaMask プロンプトが表示されます。 「署名」をクリックします。

F) MetaMask で「確認」をクリックし、トランザクションが確認されるまで待ちます。

G) トランザクションが確認され、サブスクリプションが作成されたら、[資金を追加] をクリックします。

H) [資金の追加 (リンク)] 入力ボックスに 2 つのリンクを追加し、[資金の追加] をクリックします。

I) MetaMask でトランザクションを確認します。

おめでとう! VRF サブスクリプションが正常に作成され、テストネット リンクで資金が投入されました。次のステップで VRF サブスクリプションについて説明します。

ステップ4 : Remix動的NFTスマート コントラクトをデプロイする

Remix は、イーサリアム ブロックチェーン上のスマート コントラクトの開発とテストに特化したオンライン統合開発環境 (IDE) です。ユーザーフレンドリーなインターフェイスと、Ethereum スマート コントラクトの作成、コンパイル、デプロイ、デバッグのための強力なツール セットを提供します。

このステップでは、新しい Remix ワークスペースを作成し、スマート コントラクトをデプロイする方法を学習します。心配しないでください。スマート コントラクトはすでに作成されているため、コピーして貼り付けるだけで済みます。

このステップでは、新しい Remix ワークスペースを作成し、スマート コントラクトをデプロイする方法を学習します。心配しないでください。スマート コントラクトはすでに作成されているため、コピーして貼り付けるだけで済みます。

A) https://remix.ethereum.org/にアクセスします。

B) 画面の左上隅にある「+」アイコンをクリックして、新しいワークスペースを作成します。

C) 新しいワークスペースの名前を入力し、「OK」をクリックします。

D) 左側のサイドバーの「契約」を右クリックし、「新規ファイル」をクリックします。

E) ファイルに「demo.sol」または他の任意の名前を付けて、Enter キーを押します。

F) このコードをコピーします。

// SPDX ライセンス識別子: MIT

// これはデモのみを目的としており、運用環境では使用しないでください。

プラグマ ソリッドティ ^0.8.10;

// 他のコントラクトをインポートする

インポート "@openzeppelin/contracts/token/ERC721/ERC721.sol";

// 他のコントラクトをインポートする

インポート "@openzeppelin/contracts/token/ERC721/ERC721.sol";

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URISTorage.sol";

インポート "@openzeppelin/contracts/utils/Strings.sol";

インポート "@openzeppelin/contracts/utils/Base64.sol";

import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

import "@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol";

import "@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol";

// ERC721、ERC721URIStorage、VRFConsumerBaseV2 を継承する SuperDynamicNFT コントラクトを定義します

SuperDynamicNFT のコントラクトは ERC721、ERC721URIStorage、VRFConsumerBaseV2 {

// ETH価格と対応する絵文字を追跡するための状態変数

int256 前の EthPrice = 0;

文字列 ethIndicatorUp = unicode"

G) Remix に戻り、新しく作成した demo.sol ファイルにコードを貼り付けます。

注: 大量のコードを貼り付けているというポップアップ警告が表示される場合があります。[OK] をクリックします。

H) 左側のサイドバーにある「Solidity Compiler」アイコンをクリックします。

I) 「demo.sol をコンパイル」をクリックします。

I) 「demo.sol をコンパイル」をクリックします。

J) 左側のサイドバーにある「トランザクションのデプロイと実行」アイコンをクリックします。

K) [環境] ドロップダウン メニューをクリックし、[Remix VM (Shanghai)] から [Injected Provider - MetaMask] に変更し、MetaMask からのプロンプトに従ってウォレットに接続します。

L) スマート コントラクトを Polygon Mumbai ブロックチェーンにデプロイする前に、前の手順で作成した VRF サブスクリプションのサブスクリプション ID が必要です。 https://vrf.chain.link/mumbaiに戻り、作成したばかりの VRF サブスクリプションの ID をメモします。 ID は例のものとは異なります。まず、契約にサブスクリプションを認識させる必要があります。後のステップで、サブスクリプションに契約を認識させます。

M) Remix で、オレンジ色の [デプロイ] ボタンの横にある入力ボックスにサブスクリプション ID を入力します。

N) 「デプロイ」をクリックして、MetaMask でトランザクションを確認します。

O) 画面の下のコンソールに緑色のチェックマークが表示されたら、成功です。コントラクトを Polygon Mumbai ブロックチェーンに正常にデプロイしました。

ステップ5 : VRFサブスクリプションコンシューマを追加する

おめでとう!スマート コントラクトを Polygon Mumbai ブロックチェーンに正常にデプロイしました。スマート コントラクトが正常にデプロイされました。次に、ステップ 3 で作成した VRF サブスクリプションにスマート コントラクトをコンシューマとして追加します。

A) Remix で、契約アドレスをコピーします。

B) https://vrf.chain.link/mumbaiに移動し、右上隅にある「ウォレットを接続」をクリックしてウォレットを接続します。ウォレットがすでに接続されている場合は、この手順をスキップできます。

C) 手順 3 で作成したサブスクリプション ID をクリックします。サブスクリプションは「私のサブスクリプション」で見つけることができます。

D) 「コンシューマーの追加」をクリックします。

E) 「消費者アドレス」入力ボックスに契約アドレスを貼り付けます。これにより、展開するコントラクトについてサブスクリプションに通知されます。

F) 「Add Consumer」をクリックし、MetaMask からのプロンプトに従います。

G) トランザクションが確認されたら、「閉じる」をクリックしてページを更新します。以下の画像に示すコンシューマがサブスクリプションに追加されていることが確認できれば、このステップは正常に完了しています。

ステップ 6: Chainlink Automationを使用してNFTを自動化する

このステップでは、Chainlink Automation を使用して、NFT の背景色と表現を動的に更新する時間ベースのメンテナンスを作成します。

A) https://automation.chain.link/mumbaiに移動し、右上隅にある「ウォレットを接続」をクリックしてウォレットを接続します。ウォレットがすでに接続されている場合は、この手順をスキップできます。

A) https://automation.chain.link/mumbaiに移動し、右上隅にある「ウォレットを接続」をクリックしてウォレットを接続します。ウォレットがすでに接続されている場合は、この手順をスキップできます。

B) 「新規メンテナンス登録」をクリックします。

C) 「時間ベース」を選択します。

D) 契約アドレスを貼り付けて、「次へ」をクリックします (契約アドレスを見つけるのにサポートが必要な場合は、ステップ 5A を参照してください)。

E) 「ABI を取得できません。別のタブで、Remix に戻り、左側のサイドバーにある [Solidity コンパイラー] タブを選択します。」というプロンプトが表示されます。

F) [契約] ドロップダウン メニューで契約を選択し、[ABI をコピー] ボタンをクリックします。

F) [契約] ドロップダウン メニューで契約を選択し、[ABI をコピー] ボタンをクリックします。

G) メンテナンス登録に戻り、入力ボックスに ABI を貼り付け、[次へ] をクリックします。

H) 「目的関数」で「requestRandomWords」を選択し、「次へ」をクリックします。

I) 「スケジュールの指定」で、次のCRON式を入力して、2 分ごとに NFT の新しい背景色を生成します: */2 * * * * 。

J) 「次へ」をクリックします。

K) メンテナンスに名前を付け (例: Dynamic NFT Demo)、開始残高として 2 LINK を入力します。

L) [Register Upkeep] をクリックし、MetaMask に CRON ジョブ コントラクトを展開するトランザクションを承認します。

L) [Register Upkeep] をクリックし、MetaMask に CRON ジョブ コントラクトを展開するトランザクションを承認します。

M) トランザクションが承認されると、MetaMask は 2 番目のトランザクション「時間ベースのメンテナンス登録のリクエスト」を確認するよう求めます。

N) トランザクションが確認されるまで待ち、[メンテナンスの表示] をクリックします。

O) 新しく作成されたメンテナンス ステータスに「有効化」が表示されていれば、このステップは正常に完了しています。おめでとう!

ステップ7 : OpenSeaNFTを表示する

A) https://testnets.opensea.io/に移動し、右上隅のドロップダウン メニューから「プロファイル」を選択します。

B) 以下に示すようにウォレットを接続します。 OpenSea とのトランザクションに署名する必要がある場合があります。

C) プロフィールで、「ETH Watching SVG」というラベルの付いた NFT をクリックします。

D) 右上隅にある 3 つの点をクリックし、[メタデータの更新] を選択します。

E) 30 秒待ってからページを更新すると、新しく作成された dNFT が表示されます。

おめでとう!チュートリアルは完了しました。サブスクリプション資金がなくなるまで 2 分ごとに、NFT は ETH の価格を確認し、新しい背景色をリクエストします。次回メタデータを更新すると、何か違うものが表示されるはずです。

結論は

ここまで進んだなら、おめでとうございます!これで、Chainlink Price Feed を使用してイーサリアムの価格を追跡し、Chainlink VRF を使用してランダムな背景色を選択し、Chainlink Automation を使用して画像を 2 分ごとに更新します。

コメント

全てのコメント

Recommended for you

  • ヴィタリク氏:仮想通貨ユーティリティの最低点は過ぎた

    ヴィタリック・ブテリン氏は、仮想通貨ユーティリティの最低点は過ぎたとツイートした。テクノロジーの観点から見ると、過去 5 年間の最大の発展は主に、ブロックチェーンのスケーラビリティ問題が差し迫った解決を迎えたことです。 Vitalik氏は特に予測市場Polymarketに言及し、今春のインタビュー後、同社がイーサリアム上に存在することに非常に満足していると述べた。

  • FBI:仮想通貨取引所の従業員になりすまして資金を違法に盗む詐欺師に注意してください

    FBIは8月1日、詐欺師が仮想通貨取引所の従業員になりすまして、一方的なメッセージや電話を通じて資金を盗んでいると警告を発し、アカウントに問題があると主張して被害者にログインメッセージを提供させた。リンクをクリックするか、識別情報を共有します。

  • 7月の安定通貨発行額は1,443億米ドルに増加し、USDTの市場シェアは78.9%に達した

    TheBlockProのデータによると、7月のチェーン上のステーブルコインの調整後の取引量は18.8%増加して9,974億米ドルに達し、ステーブルコインの供給量は1.2%増加して1,443億米ドルに達し、そのうちUSDTとUSDCが市場シェアを占めていた。それぞれ78.9%と17.1%。さらに、ビットコインとイーサリアムの調整後のオンチェーン取引量は全体で31.8%増加し、4,450億米ドルに達しました。このうち、ビットコインの調整後のオンチェーン取引量は34.7%増加し、イーサリアムの調整後オンチェーン取引量は4,450億米ドルに増加しました。 27.7%。

  • アラブ首長国連邦のドバイ商業銀行が仮想資産サービスプロバイダーの専用口座を開設

    アラブ首長国連邦(UAE)のドバイ商業銀行(CBD)は、顧客の資金を管理し、規制上の健全性要件を満たすために、仮想資産サービスプロバイダー(VASP)の専用口座を開始しました。CBDは中央銀行に準拠するための専用口座を開始しました。 UAE およびドバイ仮想資産規制庁 (VARA) の規制。 CEOのベルント・ファン・リンダー氏は、この動きはドバイ商業銀行の中核的な銀行サービスと一致しており、デジタル経済の発展を促進する同銀行の計画を支援すると述べた。

  • ブロックチェーン融資プロトコルMorphoがRibbit Capital主導で5,000万米ドルの資金調達を完了

    DeFi企業モルフォは、CEOのポール・フランボットがまだ大学3年生だったときに1,800万ドルの資金を調達した。今回、モルフォはプライベートトークンセールを通じて5000万ドルを調達したが、評価額は明らかにしなかった。この戦略的資金調達ラウンドは、Robinhood、Revolut、Coinbaseなどの金融テクノロジー企業への初期投資家であるRibbit Capitalが主導しました。

  • 北京:預金保管と家賃監督におけるデジタル人民元の使用を奨励

    「北京市住宅賃貸保証金保管及び家賃監督暫定措置」が発布された。本措置は、本市内で他人の住宅を借りて転貸事業を行う住宅賃貸事業者が賃借人から徴収する敷金及び家賃の保管、監督、管理にも適用されるとしている。この市は、預金の保管と家賃の監督にデジタル人民元の使用を奨励しています。

  • アクティブな融資額は2022年初頭以来の最高水準に戻り、これはDeFiが再び回復していることを示している可能性がある

    ゴールデン・ファイナンスは、仮想通貨市場分析プラットフォームのトークンターミナルが7月31日の記事で「DeFiは再び回復しつつある」と述べたと報じた。データによると、アクティブ融資量やTVLなどの主要指標は最近の最低水準である2023年から上昇しており、その中にはアクティブ融資額も含まれている。融資額は約133億ドルと2022年初め以来の高水準に戻っており、これは「強気市場の先行指標」であるレバレッジが上昇していることを意味する可能性がある。

  • 7月末のグレースケール位置データ更新:GBTCは約241,000BTCに下落、ETHEは約207万ETHを保有

    Grayscale は、7 月 31 日の時点でビットコインとイーサリアムのファンド データを次のように公式に更新しました。

  • 7月のビットコインチェーンのNFT売上高は約7,730万ドルで、2023年11月以来の最低記録となった

    Cryptoslamのデータによると、7月のビットコインチェーンにおけるNFT売上高は77,311,729.1ドルで、2023年11月以来の最低記録を樹立した。さらに、7月のビットコインチェーン上のNFT取引数は12万件未満で、これも2023年11月以来の最低水準となった。その中には、約35,477人の独立した売り手と約49,348人の独立した買い手がいた。

  • Upbit、Bithumb、Coinoneが規制手数料の支払いを開始、総額3億ウォンに上る見込み

    仮想資産ユーザー保護法の施行に伴い、Upbit、Bithumb、Coinone などの仮想資産サービスプロバイダーも規制手数料の支払いを開始します。規制手数料は営業利益に応じて徴収され、総額は3億ウォン(22万ドル)になる見通しだ。 暗号資産サービスプロバイダーの規制上の負担額は、前営業年度の営業利益と負担率に基づいて計算されます。 2024年の株価に基づくと、Upbitの手数料は約2億7,200万ウォン(19万9,000ドル)、Bithumbの手数料は約3,650万ウォンとなる。 CoinoneとGopaxはそれぞれ603万ウォンと83万ウォンである。昨年の営業収益が約17億ウォンだったコルビットは、規制負担金の支払い対象外となっている。規制上の拠出金の実際の徴収は来年開始される。 「監督手数料」とは、金融監督局の検査を受ける金融会社などの金融機関が、監督やサービスの対価として金融監督局に支払う準税金だという。この税は営業利益が30億ウォン(220万ドル)以上の規制対象企業に課される。