見出し画像

web3におけるテストデータ準備とは?

web3テストデータ準備担当のかけだしです。
弊社QAエンジニアのテストフローにおける、web3テストデータ準備担当として8月下旬よりDAIJOBU社にジョインしています。

そこで、今回は、私の担当しているweb3テストデータ準備がどういうものなのかについて解説していきます。ぜひご覧ください。


0.web3テストデータ準備とは?

web3分野におけるテストでは、テストデータの準備が非常に重要かつ労力を要する作業になります。通常、このデータ準備はクライアント側で行う必要がある場合が多いですが、弊社では、社内で全ての準備作業を引き受けています。

1.メタデータの準備

先方からの依頼でマーケットプレイスのテスト用NFT(Non-Fungible Token)を準備する際に、Mint(鋳造)後のNFTではなくJSON形式のメタデータを提出するケースがあります。
メタデータとは・・・NFTの作者、コレクション名、説明など、NFTの説明書となる情報
以下のケースを想定して幾つかのパターンを作成します。

  • 分散ストレージに画像をアップした場合

  • 一般のクラウドストレージに画像をアップした場合

  • NFTの属性パターン(アクセサリー:あり、背景:青など)を何種類か用意する

メタデータの例:

{
  "name": "Daijobu Test Collectible #1",
  "description": "A one-of-a-kind digital asset on the Ethereum blockchain.",
  "image": "<https://arweave.net/sgpMDTBf60vQcWbyUqz4ROtSHmKdNQ0FeBld-enz9LA/>",
  "attributes": [
    {
      "trait_type": "Accessory",
      "value": "None"
    },
    {
      "trait_type": "Background",
      "value": "Red"
    }
  ]
}

メタデータを提出した後に先方でエラーがないように、弊社側の開発環境で実際にNFTをDeploy→Mint成功まで確認作業を行なっています。

2.ETHをWETHへ

マーケットプレイスのテストフローの中で、売り出し状態になっているNFTに対して『オファー』*1.を実行する際に必要なトークンに『WETH』*2.があります。テストフローはSepoliaテストネット上で実行されるため、QAエンジニア側も「Sepolia WETH」を取得する必要があります。

そこで、Sepolia EtherscanのWrapped Ether(WETH)contractページから、write contractタブを開き 、2.deposit 関数の入力欄( payableAmount)で交換したいETHを入力し実行することでWETHを取得する方法を共有しました。

Wrapped Ether (WETH)

*1.オファー(offer)…買い手が希望購入価格を提示し、NFTの所有者が承諾すればその金額でNFTを購入できる機能

*2.Wrapped Ether…イーサリアム(ETH)を基に作られたトークンで、他のERC-20トークンとシームレスに取引できる

3.オンライン勉強会

テスト用のNFTについて、誰でも作成、管理できるような環境を用意したい、という課題があり、そこでthirdwebというノーコード開発サイトを活用し「NFTを作成してみよう勉強会」を実施しました。

4.NFTからメタデータを出力

thirdwebでNFTを作成した際に、そのNFTに関するメタデータを出力する方法として、Alchemy APIによるgetNFTMetadataへのアクセス方法を共有しました。

getNFTMetadata
https://docs.alchemy.com/reference/getnftmetadata-v3

以下、メタデータを一部抜粋
https://testnets.opensea.io/assets/sepolia/0xebf5f8e13bb7be525b26ffb5acf7e6e25e44e97f/0/

"raw": {
    "tokenUri": "ipfs://QmSAsSUdEERVQfbey9efd1eHxiH9H41pDPnDN1Jorbe1yU/0",
    "metadata": {
      "image": "ipfs://QmPJZZzu6wgVjNr6jwA2WL1Fev4s1VjuaPEjCzgov5MXhP/76C1924B-EA9F-4814-BF1D-ED7A54E60872.PNG",
      "external_url": "",
      "animation_url": "",
      "background_color": "",
      "name": "ThirdwebTestDeployNFTCollection #1",
      "description": "This is DAIJOBU NFT ERC721",
      "customImage": "",
      "attributes": [
        {
          "value": "light blue",
          "trait_type": "Background"
        }
      ],
      "customAnimationUrl": ""
    },
    "error": null
  },

5.まとめ

web3の世界に飛び込んでみて、その可能性の広さと奥深さに日々驚かされています。技術的な側面だけでなく、コミュニティの力や新しいビジネスモデルの創出など、様々な角度からweb3の魅力を感じています。

この経験を活かし、QAエンジニアの皆さんのテストデータ準備をより効率的かつ効果的にサポートできるよう、日々学習を重ねています。また、専門的な部分の属人化に偏らないようにマニュアル動画や勉強会などで情報共有をしています。


DAIJOBU株式会社では、QAエンジニアを募集しておりますので、ご興味のある方はぜひご応募ください。
また、カジュアル面談もございますので、お気軽にご応募ください!

▼ 募集の詳細はこちらから!

▼ ご応募はこちらから!
https://daijobu.io/

▼カジュアル面談はこちらから!
https://pitta.me/matches/UMidcjrFmWvK

▼お問い合わせはこちらから!
https://daijobu.io/contact

▼DAIJOBUについて(コーポレートサイト)はこちらから!

▼DAIJOBUのサービスについて(サービスサイト)はこちらから!

この記事が気に入ったらサポートをしてみませんか?