首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NFT的联合测试

NFT的联合测试
EN

Ethereum用户
提问于 2023-01-09 13:23:45
回答 1查看 21关注 0票数 1

我已经构建了一个契约(尚未部署),它允许检查msg.sender是否持有某个NFT:

代码语言:javascript
复制
pragma solidity ^0.8.17;

import "@openzeppelin/contracts/interfaces/IERC721.sol";

contract Example {

  function walletHoldsToken() public view returns (bool) {
    return IERC721(0x1615600fE62ed38342F82eb9785029A2b1290DAF).balanceOf(msg.sender) > 0
  }

}

我想用HardhatChai创建一个测试,以检查msg.sender是否包含特定的NFT

所以我基本上需要的是:

  1. 填充柴的测试环境,以包含特定地址的am NFT,并将其添加到签名者。
  2. 创建一个测试,以验证签名者是否持有此NFT。

这有可能吗?

EN

回答 1

Ethereum用户

发布于 2023-01-09 16:07:26

您可以使用ethers连接合同

代码语言:javascript
复制
const erc721 = ethers.Contract(YOUR_NFT_ADDRESS, ERC721ABI, signer)

您还可以测试用户持卡人nft是否:

代码语言:javascript
复制
expect(await erc721.balanceOf(userAddress)).to.not.equal(0)

hardhat中,您可以运行测试指定网络

代码语言:javascript
复制
npx hardhat test --network mainnet
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/142610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档