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

  • Binance Alpha がプロジェクトの最初のバッチを発表: KOMA、Cheems、APX、ai16z、AIXBT

    公式ニュースによると、Binance Alphaはプロジェクトの最初のバッチ、つまりKOMA、Cheems、APX、ai16z、AIXBTを発表しました。

  • Binance Alpha がプロジェクトの最初のバッチを発表: KOMA、Cheems、APX、ai16z、AIXBT

    公式ニュースによると、Binance Alphaはプロジェクトの最初のバッチ、つまりKOMA、Cheems、APX、ai16z、AIXBTを発表しました。

  • Kinto:公式を装ったフィッシングメールにご注意ください

    Kintoは、最近ユーザーがKintoを装ったフィッシングメールを受信して​​いることをXプラットフォーム上で通知した。 Kinto は、これらのメールが Kinto から送信されたものではなく、メールに含まれるリンクをクリックすべきではないことを確認します。さらに、Kinto は、ユーザーのメールボックスは漏洩しておらず、電子メールを受信したメールボックスの一部は Kinto アカウントに関連付けられていなかったと述べました。

  • 香港金融サービス長官兼財務省のホイ・チンユー氏がステーブルコイン法案の第2読会を進めた

    香港政府のプレスリリースによると、香港金融サービス兼財務長官のホイ・チンユー氏は本日の立法会会議で「安定通貨法案」の第二読会を行い、早期可決を望んでいるという。できるだけ。規制制度の要点は以下の 3 点である。 (1) ライセンシーは、ステーブルコインの準備資産が高品質かつ流動性の高い資産で構成され、総額が少なくとも常に流通している法定通貨と等しい ステーブルコインの額面は、適切に分離され、保管; (2) 安定通貨保有者は発行者から額面で償還する権利を有するべきであり、償還要求は不当な手数料なしで合理的な期間内に処理されなければなりません。 (3) マネーロンダリングの必要性と戦うための一連の措置。規定されるべき、リスク管理、開示規制および監査、および適切な候補者の要件。

  • AI エージェントのスタートアップ /dev/agents は、Index Ventures と CapitalG が主導し、評価額 5 億ドルで 5,600 万ドルのシードラウンドを完了

    12月18日のニュースによると、Stripeの元CTOであるDavid Singleton氏が設立したAIエージェントオペレーティングシステムプラットフォーム/dev/agentsが、評価額5億米ドルで5,600万米ドルのシードラウンドを完了した。このラウンドは Index Ventures と CapitalG が主導し、Conviction Capital も参加しました。このラウンドには、OpenAI 共同創設者の Andrej Karpathy 氏、Scale AI CEO の Alexandr Wang 氏、Palo Alto Networks CEO の Nikesh Arora 氏、Android 創設者の Andy Rubin 氏など、数多くの著名なテクノロジー リーダーも参加しました。 レポートによると、/dev/agents のビジョンは、AI 時代の Android オペレーティング システムを構築し、特別に最適化されたインターフェイスとプロトコルを提供し、新しい UI パターンとユーザー データ モデルを確立することです。

  • Anthropic Xのアカウントはハッキングを受けて復旧しており、システム被害は確認されていない。

    人工知能スタートアップ Anthropic の公式 X アカウントが今朝盗まれ、不明なトークン契約アドレスが投稿されましたが、そのツイートは現在削除されています。 Anthropic は、アカウントからの不正投稿の根本原因を特定し、Anthropic のシステムやサービスが侵害されたり、事件に関与したりしていないことを確認したと述べた。

  • ZachXBT: X プラットフォームのアカウント漏洩は 2FA セキュリティ対策の欠如に関連している可能性があります

    オンチェーン探偵の ZachXBT は、「最近、X プラットフォームで多くのアカウント侵害が発生していますが、これらのアカウントはいずれも 2FA のセキュリティ キーや認証手順を使用していないと思われます。」と投稿しました。

  • ナイジェリアが暗号化詐欺の巣窟を捜索、多くの国の国民を含む約800人の容疑者を逮捕

    ロイター通信によると、ナイジェリアの経済金融犯罪委員会(EFCC)は12月10日、ラゴスの仮想通貨詐欺センターを強制捜査し、中国人148人、フィリピン人40人を含む容疑者792人を逮捕した。このグループは主に北米とヨーロッパのユーザーを詐欺のターゲットにしており、被害者が餌にかかると、偽の仮想通貨スキームやその他の存在しないプロジェクトに資金を送金するよう強制されます。

  • ZachXBT: LastPass 攻撃者が 40 以上のアドレスから約 536 万ドルの暗号資産を盗んだ

    12月17日、オンチェーンアナリストのZachXBTは、LastPass攻撃者が40以上の被害者のアドレスに攻撃を開始し、総額約536万ドルの暗号資産を盗んだことを明らかにした。次に攻撃者は、資金の流れを隠蔽するために、盗んだ資金をETHに変換し、複数のインスタント取引所を介してイーサリアムネットワークからビットコインネットワークにクロスチェーンで資産を転送しました。

  • オンチェーン取引ツールSolTradingBotが攻撃の疑い

    12月17日、コミュニティニュースによると、オンチェーン取引ツールSolTradingBotが攻撃を受けた疑いがあり、一部のユーザーが資金を盗まれたと報告しています。