Web3 NFT – Python、Pinata、Opensea を使用して NFT を構築およびリストする
Python、Openzeppelin、Pinata を使用して Web3 NFT コレクションを構築し、Opensea マーケットに上場できます。
トークンエコノミーはビジネスの世界で注目されている用語です。トークンには主に 2 種類あり、代替可能トークンと代替不可能なトークンです。 NFT (non-fungible token) は、ブロックチェーンに記録される、コピー、置換、細分化ができない一意のデジタル識別子です。公的証明書または所有権の証明を提供します。
資産、特に無形資産は、従来の無形資産の評価と比較して、完全に透明かつ破壊的な方法で継続的かつ公的に評価できますが、NFTの所有権自体には固有の法的意味はありません。
この記事では、Opensea マーケットに上場できる Python、Openzeppelin、Pinata を使用して Web3 NFT コレクションを構築する方法を説明します。
Web3 NFT の材料 – Python、Openzeppelin、Solidity を使用して NFT を構築する
目次
- NFTスマートコントラクト
- メタデータ
- Opeasea アカウントの統合
- Python デプロイメントスクリプト
- Brownie-config、ENV、およびAssistScript
- Python、Openzeppelin、Pinata を使用した NFT 構築の完全なスクリプト
- よくある質問
NFTスマートコントラクト
代替トークンと同様に、NFT 開発ではスマート コントラクト コードの開発から始める必要があります。
まず第一に、Openzeppelin などの既存のモジュールをうまく活用できるため、共通の機能を開発する時間を節約できます。 Brownie-config.YAML にも依存関係を必ず追加してください。これに関する質問がある場合は、Easy2Digital Web3 コレクションの他の記事を参照してください。
// contracts/GameItem.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol" ;
ご覧のとおり、ERC721 は代替可能トークンの ERC20 とは異なり、標準の非代替可能トークンです。したがって、このモジュールでは、ERC721 を使用してコントラクトを作成します。
- ここのERC721には2つのパラメータがあり、1つは作成されたNFTのフルネームで、もう1つはショートネームです。そして、NFTを1つずつ作成すると、プラス関数を含む作成されたコレクションに表示されるように、トークンから始まります。
contract SimpleCollection is ERC721 {
uint256 public to encounte;
constructor () public ERC721 ("LouisNFT", "LVnft") {
tokenCounter = 0 ;
}
function createCollection ( string memory tokenURI ) public returns ( uint256 ) {
uint256 newTokenId = tokenCounter;
_safeMint ( msg.sender , newTokenId);
_setTokenURI (newTokenId, tokenURI);
tokenCounter = tokenCounter + 1 ;
return newTokenId;
}
}
- 次に、新しい各 NFT には一意のトークン URI とトークン ID があります。トークン ID は、トークン カウンタ番号に基づいて uint256 によってハッシュされます。そして、トークンURIには基本的に、画像を含むNFTに関するすべての重要な情報が含まれています。すぐに説明します。
メタデータ
メタデータは、OpenSea などのアプリケーションがデジタル アセットの豊富なデータを取得し、アプリ内で簡単に表示できるようにする JSON ファイルです。基本的なメタデータ ファイルに含まれる要素は次のとおりです。

ブロックチェーン上にデータを保存すると、スクリプト ファイルを除き、非常にコストがかかる可能性があります。それにもかかわらず、画像、ビデオ、オーディオはサイズが大きい素材となる可能性があり、ブロックチェーン上に保存すると高価になる可能性があります。
したがって、通常は IPFS などの分散ストレージを使用して活用できます。 IPFS または惑星間ファイル システムは、分散ファイル システムにデータを保存および共有するためのプロトコル、ハイパーメディア、およびファイル共有ピアツーピア ネットワークです。
NFT マテリアルを IPFS にアップロードするには、基本的に 2 つの方法があります。 1 つは、IPFS ネットワークと対話するためにローカル IPFS 環境をインストールすることです。もう 1 つは、Pinata などのサードパーティ プラットフォームを介して実行することです。
トークン URI を生成するために、NFT イメージと JSON ファイルを Pinata にアップロードします。
まず最初のステップは、ピニャータアカウントを作成し、NFTに変換したい画像を準備することです。
次に、画像をファイルとして Pinata にアップロードすると、このマテリアルから CID キーを取得できます。このキーはすぐに JSON ファイルを作成するために使用されます。
さらに、トークン URI は JSON ファイルであるため、次のステップでは、NFT に関連するすべての情報を JSON ファイルに追加します。以下は VSC を使用したサンプルです。
- 名前
- 画像: IPFS URL 構造、
https://ipfs.io/ipfs/ + image CID key (Generated just now)
- 説明
- 属性
最後になりましたが、JSON ファイルの準備ができたら、Pinata に戻って JSON をアップロードし、JSON ファイルの CID キーを生成してください。 IPFS URL の最終トークン URI のサンプルを次に示します。
https://ipfs.io/ipfs/QmV8rPonNpVaKnH2ri826AWqJ5XxeKYdeJupjKch4kA1UK?filename=NFT1.json
Opeasea アカウントの統合
OpenSea は、NFT と仮想通貨収集品の世界初かつ最大の Web3 マーケットプレイスです。 OpenSea を使用して NFT を閲覧、作成、購入、販売、オークションします。 NFT の場合、販売目的かどうかに関係なく、マーケットプレイスに出品するのが非常に一般的です。特に、ほとんどの企業はこれを活用してブランド認知度を高め、ロイヤルティ プログラムの導入も支援しています。

この場合、opensea テストネットを使用して NFT リストのプロセスをシミュレートできます。 opeansea テストネット アカウントの作成は完全に無料です。私たちの場合、MetaMask を使用して NFT をリストします。そのため、MetaMask テストネットワーク アカウントに接続する opensea テスト アカウントも必ずサインアップしてください。
opeansea testnext NFT URL の場合、基本的に、暗号通貨ネットワークと
opeasea のリスト URL の場合、構造には 2 つの変数があります。サンプルは次のとおりです。
https://testnets.opensea.io/assets/ goerli/0x8eeb73f75e6d80a6a21302d1ec36d0ead0ceb295/0
- ネットワークアドレス:
goerli/0x8eeb73f75e6d80a6a21302d1ec36d0ead0ceb295
- トークンカウンター: 0 (この数字はNFTの順序を表し、0は最初のものであることを意味します)
これを Python デプロイメント スクリプトですぐに使用します。
Python デプロイメントスクリプト
ブラウニー モジュールとアシストスクリプト モジュールのインポートと代替トークンの構築とは別に、NFT の展開には 2 つの変数が必要です。それは、sample_collection_URI と OPEASEA_URL です。
sample_collection_URI = "https://ipfs.io/ipfs/QmV8rPonNpVaKnH2ri826AWqJ5XxeKYdeJupjKch4kA1UK?filename=NFT1.json"
OPENSEA_URL = "https://testnets.opensea.io/assets/ {} / {} "
次に、メイン関数で、NFT スマート コントラクトの前半で作成したcreatecollection
関数を使用する必要があります。
def main ():
account = get_account ()
Simple_Collection = SimpleCollection.deploy({ "from" : account })
tx = Simple_Collection .createCollection(
sample_collection_URI , { "from" : account })
tx .wait( 1 )
Brownie-config、ENV、およびAssistScript
代替可能なトークンの開発と同様に、これらのスクリプトを追加する必要があります。詳細については、これらの記事を参照してください
Python スクリプトで Infura と MetaMask を使用して、Web3 スマート コントラクトを実際のイーサリアム ブロックチェーン ネットワークにデプロイする
Python と Web3 を使用してイーサリアム上にデプロイされた Brownie FundMe スマート コントラクト
スクリプトの準備ができたら、特定のネットワーク上でスクリプトを実行できます。ここでの結果は、それが完了し、NFT がマーケットプレイスに上場されたことを示しています。
Brownie run scripts/deploy_NFTCreate.py –network goerli

Python、Openzeppelin、Pinata を使用した NFT 構築の完全なスクリプト
Web3 NFT に興味がある場合 – Python、Openzeppelin、Pinata を使用して NFT を構築およびリストする「Web3.0 チュートリアル 7」というメッセージを追加してニュースレターを購読してください。 。スクリプトはすぐにあなたのメールボックスに送信されます。
「Web3 NFT – Python、Openzeppelin、Pinata を使用した NFT の構築とリスト」を楽しんで読んでいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。
- PayPal を通じて私のチャンネルをサポートし、寄付してください ( paypal.me/Easy2digital )
- 私のチャンネルを購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
- Easy2Digital Facebook ページをフォローして「いいね!」してください
- ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
- Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
- Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )
よくある質問:
Q1: ピニャータは何ですか?
A: ピニャータは、メキシコの伝統的なお祭りの一環として使用される装飾的な容器です。人々はピニャータを壊して中からお菓子や小さなプレゼントを取り出すことを楽しんでいます。
Q2: ピニャータはどのように使われますか?
A: ピニャータは特別なイベントやパーティーで使用されます。参加者は目隠しをしてピニャータを叩き、中からお菓子やプレゼントを取り出すことを目指します。
Q3: ピニャータはどのように作られますか?
A: ピニャータは、紙や紙粘土で作られた装飾的な容器です。通常は動物やキャラクターの形をしており、多彩な色と飾りが施されています。
Q4: ピニャータは耐久性がありますか?
A: ピニャータは一時的な装飾品であり、通常は一度使用すると壊れます。しかし、より耐久性のある素材で作られたピニャータも存在します。
Q5: ピニャータは子供だけのためのものですか?
A: ピニャータは子供だけでなく、大人も楽しむことができるアクティビティです。家族や友人と一緒にピニャータを壊すことで、お祝いの雰囲気を盛り上げることができます。
Q6: ピニャータはどのように壊れますか?
A: ピニャータを壊すためには、参加者が目隠しをしてバットや棒で叩く必要があります。ピニャータが壊れると、中からお菓子やプレゼントが飛び出します。
Q7: ピニャータの起源はどこですか?
A: ピニャータの起源はメキシコにあります。アステカ文明やマヤ文明の時代から存在しており、現在でもメキシコのお祭りでよく見られる伝統的な要素です。
Q8: ピニャータはどのように飾られますか?
A: ピニャータは多彩な色と飾りで飾られます。紙や布のフリンジ、ラメ、リボン、装飾的な紙花などが一般的に使用されます。
Q9: ピニャータはどのように注文できますか?
A: ピニャータはパーティーグッズやおもちゃの店舗、オンラインのパーティーグッズショップ、またはハンドメイドの商品を取り扱うウェブサイトなどで注文することができます。
Q10: ピニャータにはどのようなデザインがありますか?
A: ピニャータのデザインは非常に多様であり、動物やキャラクター、フルーツ、乗り物など、さまざまなものがあります。また、カスタムメイドのピニャータも注文することができます。