skyone

skyone

Hello, World

ARMakeNFT

image

Photo by Alexander Elliott

IPFS を放棄し、AR を受け入れる 💮

このチュートリアルでは、IPFS を放棄し、AR を使用して NFT を作成する方法を説明します。

最終結果の表示: こちらをクリック


ArDrive の準備#

  1. 0.2AR を無料で体験できます。手順は ArDrive 公式サイト を参考にしてください。ツイートを投稿し、小さなアカウントは認証が難しいですが、0.2AR を受け取ることができます。このステップを完了すると、ウォレットの秘密鍵に関する情報が記載された json ファイルが得られます。

  2. 完了したら、ArConnectを使用して、ダウンロードした Json ファイルをインポートします。以下の手順を参照してください。

    image

    image

  3. ウォレットのインポートが成功したら、https://app.ardrive.io/ にログインして、ここで登録できます。

    image

    ユーザー名とパスワードを提供して登録してください。

    image


ArDrive の使用#

  1. Drive と Folder、Drive の中には多くの Folder があります。Drive を他の人と共有することもできます。注意 ⚠️ Drive を作成する際には、Public または Private を選択する必要があります。Public と Private の詳細はこちらを参照してください。文字通り理解すれば大丈夫です。

    1. 各 Drive と Folder にはそれぞれ一意の識別子があります。https://app.ardrive.io/#/drives/ee70c85b-f140-49c7-80b1-856625fcb103/folders/77c4b073-5ce5-4f5a-bd59-b3a14e29a68d 例えばこのリンクのように、
      1. FolderID=77c4b073-5ce5-4f5a-bd59-b3a14e29a68d は後でアップロード時に使用します。アップロードする FolderID を指定する必要があります。
      2. DriveID=ee70c85b-f140-49c7-80b1-856625fcb103

    image

  2. 通常通りデータをアップロードします。画像をアップロードした後、次のような表示が得られます。DataID を取得したら、このゲートウェイ➕dataID でアクセスできます。例えば https://arweave.net/l1n24_cORIcDAOkzFc0I1IWs2qvv-eelHp4Qgb1f9vk image


NFT#

  1. 画像をアップロード

    • このステップに到達したら、画像を AR にアップロードし、対応する DataID を取得できます。

      const { readJWKFile, arDriveFactory, wrapFileOrFolder, EID } = require('ardrive-core-js');
      
      // walletはあなたのjsonファイル、ダウンロードしたものです
      // filePathはpngのパスです
      // FolderIDは上で示したものです
      async function upload(wallet, filePath, folderID){
          const arDrive = arDriveFactory({ wallet: wallet });
          const wrappedEntity = wrapFileOrFolder(filePath);
      
          const destFolderId = EID(folderID);
      
          const uploadFileResult = await arDrive.uploadAllEntities({
              entitiesToUpload: [{ wrappedEntity, destFolderId }]
          });
      
          let {created} = uploadFileResult;
        	// 返されるのはDataIDです
          return created[0].dataTxId.transactionId;
      }
      
    • 画像を 1 枚アップロードするごとに、dataID が返され、JsonFile が生成されます。

      {
        "name":"name #0",
        "description":"balabala.",
        "traits":[
          {"trait_type":"backgroud","value":"blue"},
          {"trait_type":"body","value":"body"},
          {"trait_type":"eye","value":"happy"},
          {"trait_type":"hat","value":"hat"},
          {"trait_type":"clothes","value":"hoodie_B"},
          {"trait_type":"plant","value":"alsophilaspinulosa"}
        ],
        "image":"https://arweave.net/l1n24_cORIcDAOkzFc0I1IWs2qvv-eelHp4Qgb1f9vk"}
      
    • ここで費用について説明します。各 tx には 2 つのフィールドがあり、費用に関連しています。例えばこのtx 👈

      • Fee: このファイルの保存にかかる費用、つまりファイル保存の大部分です 🤕 上記の tx は 655kb の png に対応し、Fee は 0.000109AR です。

        Fee の観点から見ると、全体的に Pinata よりも安いですが、Infura の価格は少し良いですが、Infura のアクセスは非常に遅いです。

      • Value: このフィールドは eth 上の value フィールドに似ていますが、ガスもここに含まれます。
  2. ディレクトリ形式で json ファイルをアップロード

    • すべての png をアップロードした後、たくさんの json ファイルが 1 つのディレクトリにあります。

    • この時点で私たちがやるべきことは ディレクトリとしてアクセス可能な形式 でこれらの jsonFile をアップロードすることです。

    • 2 つの方法があります。

      • 注意 aruploadは json のフォルダで、wallet.json にはウォレットの秘密鍵などの情報が含まれています [最初にダウンロードした json ファイル🍎]
      • 自分で置き換えてください。
      • 簡単な方法:サードパーティを利用する、参考にするのはこのarkb githubこれは 10% の追加費用がかかるようです。

        • npm install -g arkb グローバルにインストールした後

        • arkb deploy ./arupload/ --wallet ./wallet.json このコマンドでアップロードできます。

        • アップロードが完了すると、次の画像が返されます。

          image

          この url にサフィックスを追加すると、例えば https://arweave.net/8qWYL9oyX5oPU9dwMHWii8ZlonEYatK-P2k_RXpfbs4/1.json にアクセスできます。

      • 複雑な方法:よりネイティブで、AR 自身のこのセットです。参考にするのはardrive-cli github

        • npm install -g ardrive-cli

        • ardrive upload-file --local-path ./arupload/ --parent-folder-id "2639094e-cb4a-4546-b5fb-f582db582fae" -w ./wallet.json

          注意ここでの parent-folder-id パラメータ、これは上で述べた FolderID です。

        • ardrive create-manifest -f "2639094e-cb4a-4546-b5fb-f582db582fae" -w ./wallet.json

          同様にここで -f も folderID です。

        • アップロードが完了すると、次の画像が返されます。

          image

        • この url にサフィックスを追加すると、例えば https://arweave.net/ruwoIvbk7oLa87xKUTd-_DY4MGJ6UR8iWEE3egRkfOI/arupload/1.json にアクセスできます。

  3. 基本的にここで終了です。etherscan で tokenURI を設定するだけです。形式: ar//《Path》 例えば上記の複雑な赤枠の値に基づいて、設定は: ar://ruwoIvbk7oLa87xKUTd-_DY4MGJ6UR8iWEE3egRkfOI/arupload/ になります。


参考文献#

https://mirror.xyz/pfeffunit.eth/iLX1IKglGDxRTufg64RdYJCrNRAMIogmLhfdJ6ZAXUY

https://blog.developerdao.com/getting-started-with-arweave#heading-introduction-to-arweave

https://docs.arweave.org/info/

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。