どのようにPythonでNFTブロックチェーン作品を作りますか?


何がNFFTですか?
NFT英語は全部Non-Fungible Tokenと言います。中国語に訳せば、非同質化トークンで、分割できない、代替できない、ユニークななどの特徴があります。NFTは、その非同質化、不可分の特性のため、現実世界の一部の商品と結びつけることができる。つまり、ブロックチェーン上で発行されているデジタル資産です。この資産はゲームの道具、デジタル芸術品、チケットなどであり、唯一性と再現性があります。NFTは天然のコレクション属性と取引に便利なので、暗号化芸術家たちはNFFTを利用してユニークなデジタル芸術品を創造することができます。
ERC 20とERC 721
NFFTは、AAVE、SNX、LINKなどのERC 20に類似したブロックチェーンtoken規格である。ERC 20は「代替可能」のトークンで、「交換可能」または「交換可能」という意味です。
例えば、どんなドル札を使っても、ドル紙幣は1ドルの価値があります。ドルの札のシリアル番号は違っていますが、お札は交換できます。いずれにしても1ドルです。
一方、NFTは「代替不可能」であり、それらは自分のトークン標準ERC 721に従う。例えばモナリザは「かけがえのない」。コピーできる人がいても、モナリザはいつまでも一つしかありません。モナリザがブロックチェーン上で作成された場合、それはNFFTになります。

NFFTは何に使いますか?
NFTは契約を永遠にチェーンに展開することによって、クリエイター、アーティスト、ゲームデザイナーなどに価値を創造させます。
誰がNFFTを作ったか、誰がNFFTを持っているか、どこから来たかなどを永遠に知ることができます。この独特性は伝統芸術よりも価値があります。伝統芸術では、何が「偽物」かを理解するのは難しいかもしれませんが、チェーンの歴史は簡単にさかのぼります。
知能契約とNFFTは100%プログラム可能ですので、NFFTは内蔵の印税と他の機能を追加できます。補償芸術家はいつも一つの問題です。通常芸術家の作品は所属がない状況であちこちに伝播しています。
ますます多くの芸術家とエンジニアがこの巨大な付加価値を利用し始めました。これは最終的に芸術家が仕事の報酬を得る良い方法になります。それだけでなく、NFFTはあなたの創造力を示してデジタル世界のコレクターになるという面白い方法です。
NFFTの価値
NFFTは長い道のりを歩みました。私たちはNFFTの売上高が記録に残るのを絶えず見ています。例えば以下の絵は「毎日:前5,000日」という作品の価格は6930万ドルです。

NFTはデジタルの世界で芸術を創造し、知能契約の創建の面白さ、ダイナミックさ、そして人を引きつける方式でもあります。ですから、NFFTを作るために必要なすべての知識を教えます。
どうやってNFFTを作りますか
今、NFTを作る一番簡単な方法はOpensea、Rarible、Mintibleなどのプラットフォームに行くことです。そして彼らのマニュアルに従って彼らのプラットフォームに配置すればいいです。
この道は100%歩けますが、プラットフォームに縛られているかもしれません。無限のカスタマイズを実現できないか、またはNFFTを利用した任意の利点があります。
コードで実現したいなら、しっかりした知識を学び、無限の創造力で何かを創造する能力があるなら、続けて読んでください。
無限オーダーのNFFTはどうやって行いますか?
まずNFT Brownie Mixを紹介します。これは大量のサンプルコードを含む作業倉庫です。
https://github.com/PatrickAlphaC/nft-mix
先決条件
私たちはいくつかのものをインストールしてから始めます。
  • Python
  • Nodejsとnpm
  • Metamask
  • Metamarkに慣れていないなら、下記の教程に従って設定してもいいです。
    https://docs.chain.link/docs/install-metamask/
    Rinkeby Testnet ETHとLINK
    また、Rinkebyエーテル坊のテストチェーンにも展開します。
    テストチェーンは私達の知能契約をテストして、現実世界で表現するいい方法です。私たちはRinkeby ETHとRinkeby LINKが必要です。Chinlink文書の最新の蛇口のリンクから無料でそれらを入手できます。
    また、リンキーby LINKのtokenをmetamaskに追加する必要があります。LINK文書に従って操作できます。
    https://docs.chain.link/docs/acquire-link/
    RopsptenではなくRinkebyを必ず使うように注意してください。エーテル坊のようなスマート契約プラットフォームを使う時、私達はETHを少し支払う必要があります。チェーンからデータを取得する時、LINKを少し支払う必要があります。これは私たちがテストチェーンのLINKとETHを取得する必要がある理由です。
    次の作品は私たちがOpenSeaに展開するNFFTです。
    https://testnets.opensea.io/assets/0x8acb7ca932892eb83e4411b59309d44dddbc4cdf/0

    手っ取り早い
    
    git clone https:
    //github.com/PatrickAlphaC/nft-mix
    
    cd nft-mix
    今はganache-cliとeth-brownieをインストールしたいです。
    
    pip install eth-brownie
    
    npm install -g ganache-cli
    私たちは今環境変数を設定できます。環境変数に慣れていない場合は.envファイルに追加して実行します。
    
    source .env
    envの例は、あなたがクローンしたばかりのrepoにあるべきです。そして、環境変数を注釈しました。それらを使用するためにコメントをキャンセルしてください。
    WEB 3_が必要です。INFURA_PROJECT_IDとPRIVATE_KEYWEB 3_INFURA_PROJECT_IDは無料Infuraアカウントを登録する時に見つけられます。これは、取引をブロックチェーンに送信する方法を提供します。
    私たちはまた秘密鍵が必要です。あなたのMetamaskから取得できます。3つのポイントをクリックして、アカウントの詳細情報をクリックして、秘密鍵をエクスポートします。現金を入れたら、誰ともこの鍵を共有しないでください。
    
    export
     PRIVATE_KEY=YOUR_KEY_HERE
    
    export
     WEB3_INFURA_PROJECT_ID=YOUR_PROJECT_ID_HERE
    今はNFT契約を展開し、次の二つの命令を使って私たちの最初のコレクションを作成することができます。
    
    brownie run scripts/simple_collectible/deploy_simple.py --network rinkeby
    
    brownie run scripts/simple_collectible/create_collectible.py --network rinkeby
    最初のシナリオは私たちのNFT契約をRinkebyブロックチェーンに展開し、第二のシナリオは私たちの最初のコレクションを作成しました。
    最初の知能契約を展開しました。
    それはまったく効果がないです。でも、心配しないでください。本教程の高級部分でOpenSeaにどうやってレンダリングするかを見せます。まず、ERC 721トークンの標準を見せてください。
    ERC 721トークン標準
    私たちは今手配した契約書を見に来ました。SimpleCollectible.solファイルの中にあります。

    私たちはOpenZeplinをERC 721 tokenに包みます。導入されたこのパッケージは、典型的なERC 721 tokenのすべての機能を使用することができます。これは私たちのトークンが持つすべての機能を定義しています。例えば、transfer――トークンを新しいユーザーに転送し、safemint――新しいトークンを作成するなどです。
    OpenZepplin ERC 721トークン契約を確認することで、契約に与えられたすべての機能が見つかります。私たちの契約は次の行で引き継がれました。
    https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol
    
    contract SimpleCollectible is ERC721 {
    これがSolidity継承の方式です。私たちが契約を展開すると、コンストラクタは自動的に呼び出されます。いくつかのパラメータが必要です。

    また、ERC 721のコンストラクターを使用しました。私たちのコンストラクタでは、名前と記号だけを与えたいです。私たちの例では、「Dogie」と「DOG」です。これは、私たちが作成したNFFTの各々がDogie/DOGタイプであることを意味する。
    これはまるで、ポケモンカード1枚が依然としてポケモンであるかのように、またはトレーディングカード上の各野球選手は依然として野球選手である。すべての野球選手は唯一無二ですが、彼らは相変わらず野球選手です。私たちはDOGタイプを使うだけです。
    トップにtoken Counterがあります。このタイプのNFFTをいくつ作成したかを計算します。各新しいtokenは現在のtoken CounterによってtokenIdを獲得します。
    実際にはcreateCollectible関数を使ってNFTを作成することができます。これは私達がクリアーしています。collectible.pyスクリプトに書かれています。

    _。safemint関数は、新しいNFFTを作成し、created Collectibleを呼び出した人、つまりmsg.senderに割り当て、token Counterから派生したnewItemIdを使用します。これは私たちがどうやってtokenIdの所有者をチェックして、誰が何を持っているかを追跡するかです。
    注意してください。また呼び出しました。set TokenURI。ちょっと見てみましょう。
    何がNFTのメタデータとTokenURIですか?
    スマート契約を作成し、NFFTを作成すると、ブロックチェーンに大量のデータを配置することは非常に高価であることがすぐに認識される。1 KB以下の画像の保存コストは100万ドルを超えやすいです。
    これは明らかにNFFTの問題です。創意芸術を持つということは、これらの情報をどこかに保存しなければならないということを意味します。また、NFTに関する属性を格納する軽量級の方法がほしいです。これがtokenURIとメタデータの役割を果たしているところです。
    TokenURI
    NFT上のtokenURIはtokenの「外観」の一意識別子である。URIは、HTTPSのAPI呼び出し、IPFSハッシュ値、または他の任意のユニークなものであってもよい。
    これらはメタデータを表示する基準に従い、以下のように示します。

    これらはNFTの外観とその特性を示している。画像部分はNFTの外観のもう一つのURIを指す。これにより、Opensea、Rarible、MintableなどのNFFTプラットフォームは、これらのメタデータを探しているので、そのプラットフォーム上で簡単にNFTを提示することができる。
    チェーン下のメタデータとチェーン元データ
    今は「ちょっと待ってください。もしメタデータがチェーンにないなら、私のNFFTはいつ消えるかもしれません。」あなたは正しいです。
    チェーン下のメタデータは、メタデータを使用することができないことを意味します。お互いのスマート契約を相互作用させるのも正しいです。
    これはなぜ私たちは鎖上のメタデータに焦点を当てて、NFFTを相互作用するためにプログラミングできるようにします。
    しかし、我々はまだチェーン下のメタデータの画像部分を必要としています。チェーン上に大きな画像を格納する良い方法がないからです。しかし、心配しないでください。私たちはまだIPFSを使ってセンターネットワークに無料で行くことができます。
    これはIPFSからのイマジURIの例であり、龍と地下城教程で作成されたChinlinkElfを示している。
    https://blog.chain.link/build-deploy-and-sell-your-own-dynamic-nft/

    私たちは簡単なNFFTのためにtokenURIを設定していません。基本例を示したいだけです。
    次の記事ではNFTの進級について説明します。このようにすれば、チェーンで達成された驚くべき機能が見えます。OeanseaでNFTを描画して、犬を元気にしてください。
    以上はどのようにPythonでNFFTブロックチェーンの作品を作るかの詳細です。PythonがNFTブロックチェーンの作品を作ることについての資料は他の関連記事に注目してください。