BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

チュートリアル: Solidity を使用して独自の NFT を 3 分で作成する方法を学びます

星球君的朋友们
Odaily资深作者
2021-11-05 07:49
この記事は約2908文字で、全文を読むには約5分かかります
2020年がDeFiの年である場合、少なくとも2021年の大部分はNFTに属することになります。
AI要約
展開
2020年がDeFiの年である場合、少なくとも2021年の大部分はNFTに属することになります。

参考記事:SolidityでNFTを作成する方法

パトリック・コリンズ

作曲・編曲:チェン・ゾウ

NFT(Non-Fungible Tokens,非均質トークン)は、スマート コントラクトの分野で最も輝かしい星の 1 つであり、ERC20 と同様のトークン標準です。 2020年がDeFiの年である場合、少なくとも2021年の大部分はNFTに属することになります。

代替不可能とは、ユニークであることを意味し、すべて代替可能なトークンである ERC20 トークンとは大きく異なります。均質化の例として、どのドル紙幣を使用しても、ドル紙幣は 1 ドルの価値があります。ドル紙幣のシリアル番号は異なる場合がありますが、いずれにしても 1 ドルの価値があるため、紙幣は交換可能です。

最初のレベルのタイトル

NFTの開発進捗状況

まず明確にしておきたいのは、NFTには無限の可能性があるということです。今年2月、Axie Infinityは9区画を888.25 ETHで販売した。 (現在約391万ドル相当)

最初のレベルのタイトル

標準

上で述べたように、NFT は ERC721 トークン標準で始まり、ERC20 に似た構文をいくつか調整しています。

あなたの契約がシステムによって NFT として認識されるために必要なのは、この標準に従うことだけです。この標準を契約にインポートしているため、新しい契約を締結するたびに車輪を再発明する必要がありません。

NFT には tokenURI 変数があり、これについては後ほど説明します。NFT には tokenId から所有者へのマッピングがあり、各トークンには独自のがあります。"所有者"。これは、アドレスと残高のマッピングのみを持つ ERC20 とは異なります。 ERC721 では、ユーザーがトークンを転送したり、トークンに対する権限を設定したりすることができます。慣例的に、これは軽量の標準であるため、これを使用して必要なものをすべて構築できます。

ここで物事が大きく変わり始めます - メタデータ。 OpenSea (トップの NFT マーケットプレイス) に入ると、たくさんの写真が表示されます。 NFT はブロックチェーン上にあるので、すべてのデータはチェーン上にあるはずですよね?まあ、完全ではありません。

データをオンチェーンに保存すると非常に高価になる可能性があり、アートワークのファイル サイズは小さすぎないことがよくあります。イーサリアムとスマート コントラクトの開発者は、1 MB の画像でもアップロードするとすぐに廃業してしまうことに気づき、大量のデータを保存せずに作品を表示する方法を作成する必要がありました。

回避策として、ほとんどの NFT にはいわゆる tokenURI があります。これは、NFTの可視性の分野で使用されるグローバルに一意の識別子です。これにより、NFT に視覚効果を追加しやすくなります。 URI は、Uniform Resource Identifier であり、HTTPS API 呼び出し、IPFS 経由のもの、またはその他の種類の一意の識別子である可能性があります。このメタデータは次のようになります。

JSON ファイル構造は次のとおりです。

  • name

  • description

  • image

  • attributes

これらのファイルは通常、API または IPFS に保存されます。

さて、突然疑問に思うかもしれませんが、"最初のレベルのタイトル"

オンチェーンのメタデータ VS オフチェーンのメタデータ

NFT に想像できるすべての興味深いものを持たせたい場合は、そのオンチェーンプロパティが必須です。いくつかの例を挙げると、ポケモンのような戦闘統計、ある種の希少性統計を与えたい場合、またはオンチェーンで暗号化された希少性を持たせたい場合です。これらのプロパティはオンチェーンにある必要があります。 (これらは追跡可能であり、改ざん可能であり、一般に公開されている必要があるため)

現在、NFT プラットフォームにはオンチェーンでプロパティを視覚化する適切な方法がないため、ミントされた NFT を使用して tokenURI を作成するだけで済みます。

tokenURI の場合、最も一般的な方法の 1 つは、IPFS を使用してデータを保存することです。そこにデータをアップロードし、ピン留めサービスを使用して、データがそこに永久に残るようにします。スマートコントラクトプラットフォームとストレージ側のさらなる連携に期待しています。

ヒント: 以下は私の独り言です。前部にスマート コントラクト プラットフォーム、中央に Chainlink、後部に dStorage...しかし、それは別のトピックです。

正直に言うと、最初はNFTは愚かだと思いました。それ以外では、アートはバカがやるものだと思っていました...しかし、私がビジュアルの良い音楽、映画、ゲームが大好きであることを考えると、そう言うのは偽善的です。 NFT は、ロイヤルティと真正性に関するアート界の長年の問題点を解決します。現在、分散型監査サービスを導入しています。誰かのアートワークを使用したい場合は、そのアートワークに関するすべてをオンチェーンで見ることができます。

Nyan cat のオリジナルの作成者は、NFT バージョンを 300 ETH で販売しました。これは、デジタルの希少性に価値があることを証明しています。

素晴らしいものを作成した場合、それは独自の価値を持ちます。だからこそ、Chainlink VRF(Chainlinkの乱数生成サービス)NFTを所有することは非常に重要なことだと思います。なぜなら、非常に珍しい収集品を作成できるからです。誰かがこれらのプラットフォームでポケモンタイプのゲームを作ってくれることを楽しみにしています。これらのNFTは永久に存続します。

最初のレベルのタイトル

シンプルなNFT契約

これは、NFT 契約を利用する最も簡単な方法です。トリュフ、ヘルメット、ブラウニーの文法が含まれています。私は OpenZepplin コントラクトを使用するのが好きです。なぜなら、OpenZepplin コントラクトは非常によく構造化されており、通常すぐに作業を開始するために必要なツールがすべて揃っているからです。必ず事前にインストールしてください。

  • npm install @openzeppelin/contracts

最初のレベルのタイトル

NFT契約の上級版

この NFT コントラクトでは、Chainlink VRF を使用して、NFT にランダムな状態を提供します。この場合、ランダム性を利用して犬にランダムな品種を与えています。今回 createCollectible を呼び出すと、実際には暗号的に証明された乱数を返すリクエストを Chainlink Oracle に送信しています。このようにして、ゲームの公平性を損なう可能性のある「ブラックボックス操作」はなくなります。このリクエストは非同期であるため、Chainlink オラクルが nonce を使用して 2 番目のトランザクションを実行するまで待つ必要があります。

要約:

要約:

この記事は Bitpush.News からのものであり、許可を得て転載しています。

この記事は Bitpush.News からのものであり、許可を得て転載しています。

NFT
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk