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

  • AIが地域開発の意思決定支援を行うとする長江デルタ統合モデルを発表した。

    長江デルタ統合モデル発表・応用連携会議が上海で開催された。会議では、中国地域経済50フォーラムメンバーで、上海財経大学長江デルタ・長江経済ベルト発展研究所執行長の張学良教授チームが主導する長江デルタ統合モデル(YRD-P1)が正式に発表された。張学良教授は、YRD-P1モデルは長年の都市・地域科学研究の蓄積に基づいて構築された専門的な大規模モデルであると述べた。継続的に蓄積された政策文書、統計データ、学術成果、産業チェーン情報、地理空間データを基盤とし、長江デルタ地域向けに深くカスタマイズされ、知識システムの体系性、権威性、追跡可能性を重視し、協調的な地域発展のために、よりインテリジェントで正確、かつ持続可能な意思決定支援ツールを提供することに尽力している。

  • 天埔株:同社は情報開示規制に違反した疑いがあり、1月12日に株式の取引が再開される。

    天埔株式会社は、中国証券監督管理委員会(CSRC)から「立件通知書」を受領し、上海証券取引所から情報開示違反の疑いで規制警告を受けたと発表した。同社株式の取引は2026年1月12日に再開される。同社の生産・運営は現在正常だが、株価は短期的な変動が大きく、累積で大幅な上昇を見せており、同社のファンダメンタルズから大きく乖離し、大きな取引リスクをもたらしている。2025年第1四半期および第2四半期の営業収益は2億3000万元で、前年同期比4.98%減、上場会社株主に帰属する純利益は1785万8000元で、前年同期比2.91%減となった。

  • 日本の首相が衆議院解散を検討、USD/JPYが急上昇。

    日本の首相は衆議院の解散を検討している。ドルは円に対して急上昇し、0.66%上昇の157.95円となり、過去1年間で最高値を更新した。

  • 連銀の代弁者であるニック・ティミラオス氏は、民間部門の雇用主が2025年までに毎月平均6万1000人の雇用を増やすと予測しており、これは2003年のいわゆる「失業回復」以来、民間部門の雇用増加が最も弱い時期となる。

    連銀の代弁者であるニック・ティミラオス氏は、民間部門の雇用主が2025年までに毎月平均6万1000人の雇用を増やすと予測しているが、これは2003年のいわゆる「失業回復」以来、民間部門の雇用増加が最も弱い時期となる。

  • 失業率が予想外に低下したことで金利引き下げへの期待は大幅に弱まり、債券トレーダーらは年央の動きに目を向けるようになった。

    米国債は、トレーダーが今月下旬の連邦準備制度理事会(FRB)による利下げへの期待を事実上払拭したことで下落した。これは、12月の失業率が予想以上に低下し、雇用全体の伸び悩みを相殺したことを受けたものだ。金曜日の雇用統計発表後、米国債価格は下落し、全年限の利回りが最大3ベーシスポイント上昇した。債券トレーダーは、2026年中に2回の利下げが実施されるという予想を維持し、最初の利下げは年央に実施されると予想している。ナティクシス・ノース・アメリカの米国金利戦略責任者、ジョン・ブリッグス氏は、「我々にとって、FRBは全体的なデータに含まれるノイズよりも失業率を重視している。したがって、これは米国金利にとって若干弱気材料だ」と述べた。9月、10月、11月の雇用統計は、10月1日から11月12日までの6週間にわたる政府閉鎖のため発表が遅れた。今回の雇用統計は、マクロ経済の雇用動向を反映した初の「クリーン」な指標となる。 FRBが追加利下げに踏み切るかどうかは、今後数ヶ月の労働市場の動向次第とみられる。労働市場の弱さを受け、FRBは過去3回の会合で短期貸出金利の目標レンジを引き下げた。しかし、一部の当局者はインフレ率が目標を上回ることを依然として懸念しており、これが追加緩和のペースを抑制しているとみられている。

  • ゴールドマン・サックス:FRBは1月に金利を据え置く可能性が高いが、2026年の残りの期間にさらに2回金利を引き下げるだろう。

    1月9日、金石データは、ゴールドマン・サックス・アセット・マネジメントのマルチセクター債券投資責任者であるリンゼイ・ローゼナー氏が、米国の非農業部門雇用者数について「さようなら、1月!」と述べたと報じました。労働市場が安定化の兆しを見せていることから、FRB(連邦準備制度理事会)は当面現状維持の可能性が高いでしょう。失業率の改善は、11月の急上昇は「退職遅延」政策とデータの歪みによる個々の従業員の早期退職によるものであり、システム全体の弱体化の兆候ではないことを示唆しています。FRBは当面政策スタンスを維持すると予想されますが、2026年の残りの期間にさらに2回の利下げを実施すると予想しています。

  • 市場トレーダーは依然として、連邦準備制度理事会が2026年に金融政策を約50ベーシスポイント緩和すると予想している。

    市場トレーダーは依然として、連邦準備制度理事会が2026年に金融政策を約50ベーシスポイント緩和すると予想している。

  • スワップ市場では、FRBが1月に利下げを行う可能性はゼロだとみられている。

    1月9日の金石データによると、米国の失業率の低下により、連邦準備制度理事会の1月の金利引き下げ計画は頓挫し、金利スワップ契約では現在、金利引き下げの確率はゼロであると示されている。

  • 米国の12月の非農業部門雇用者数は予想を下回り、失業率はわずかに低下したものの、労働市場の悪化傾向を隠すことはできなかった。

    米国労働統計局が金曜日に発表したデータによると、12月の雇用者数は5万人増加し、エコノミスト予想の6万人を下回った。失業率は11月の4.6%から4.4%に低下した。11月と10月のデータは政府閉鎖の影響を大きく受けていたため、このデータは数ヶ月ぶりに米国の雇用市場の全体像を示している。11月の雇用者数増加数は、当初の推定値6万4000人から5万6000人に下方修正された。このデータは、連邦政府の人員削減と民間部門の雇用減速の影響を受けた労働市場の悪化の兆候をさらに裏付けている。連邦準備制度理事会(FRB)は過去3回の会合で米国の借入コストを引き下げ、政策金利の目標レンジを3年ぶりの低水準である3.5~3.75%に維持した。パウエルFRB議長は12月、現在の借入コストは「良好な水準にある」と述べ、追加利下げの閾値は高いことを示唆した。しかし、12月の弱いデータは、今月末に開催される次回会合で利下げサイクルを停止するというFRBの主張を複雑化させる可能性がある。FRBはまた、労働統計局(BLS)の最新データの正確性についても懸念を表明した。パウエル議長は、米国経済の月間雇用者数は雇用統計で示されているよりも6万人少ないと示唆した。

  • 市場トレーダーは、連邦準備制度理事会が1月に金利を引き下げる可能性は事実上ゼロだと予想している。

    市場トレーダーは、連邦準備制度理事会が1月に金利を引き下げる可能性は事実上ゼロだと予想している。