跳至内容
0%

垃圾 NFT 及其解决方法

Alchemy team headshot

作者 Alchemy

发布于 2023年10月16日1 分钟阅读

本文将介绍什么是垃圾 NFT、它们为什么会给 NFT dapp 开发者和用户带来困扰,以及如何使用Alchemy 的 NFT API 端点过滤垃圾 NFT。

什么是垃圾 NFT?

垃圾 NFT 是指未经请求就被发送或空投到你的钱包地址、你既没有购买也不想要的非同质化代币(NFT)。

由于任何人都可以在公链上向某个钱包地址发送或从中接收代币,你的钱包中偶尔会出现不想要的 NFT。

垃圾 NFT 和空投 NFT 有什么区别?

垃圾 NFT 指的是空投 NFT 中用户不想要的那一部分。

空投到你钱包里的免费 NFT 未必会被视为垃圾 NFT。例如,为了给收藏者提供额外价值,一些生成式 NFT 收藏会创建 NFT 并空投给收藏者。虽然这些 NFT 通常转售价值较低,但把它们留在收藏中会很有意思,因为这能证明你参与了该社区。

为什么有人会发送垃圾 NFT?

人们发送未经请求的垃圾 NFT 有很多原因,包括:

  1. 为了吸引知名 NFT 收藏者的注意
  2. 为了让钱包所有者感到尴尬或厌烦
  3. 为了实施钓鱼攻击,从钱包所有者那里窃取代币
  4. 为了推广新的 NFT 项目

随着NFT 市场的增长,垃圾 NFT 已成为一个日益严重的问题。

为什么垃圾 NFT 是个问题?

垃圾 NFT 之所以是个问题,两个最主要的原因是:它们经常被黑客利用,并且会给 NFT 收藏者带来糟糕的使用体验。

1. 诈骗者

诈骗者可以利用垃圾 NFT 诱使人们泄露私钥、签署消息,或确认一笔将资金转到黑客账户的交易。

诈骗者可能会将 NFT 空投到钱包中,期望所有者会点击一个通向诈骗网站的钓鱼链接。随后诈骗者可能会诱导毫不知情的钱包持有者登录其 Ethereum 钱包,批准这笔交易,从而“领取”所谓的免费 NFT。

一旦钱包签署了交易,诈骗者就可以卷走钱包中的资金和 NFT。

其中一些网站会使用 eth_sign,这是一种不安全的方法,允许签署诸如“发送你的以太币”之类的任意消息,从而可能将你的账户和资产的控制权拱手让人。

尽管这些诈骗网站可能极具迷惑性,但它们往往存在一些危险信号,比如用词怪异,或者做出好得令人难以置信的承诺。

保护钱包最好的方法是永远不要与未知的智能合约交互。如果你发现钱包里有垃圾 NFT,最安全的做法是不去理会它们,或者把它们发送到销毁地址。

2. 糟糕的用户体验

由于 NFT 与艺术、实用性和创作者紧密相关,展示一份收藏是件值得自豪的事,而垃圾 NFT 与你最有价值的 NFT 混在同一个钱包里,会造成糟糕的使用体验。

对于构建 NFT 分析工具、画廊或市场的开发者来说,垃圾 NFT 也是个问题,因为它会导致数据不准确,让不知情的用户误以为某个项目比实际情况更受欢迎。

为了确保 NFT 持有者和收藏者获得最佳使用体验,平台需要使用具备强大垃圾过滤功能和自定义设置的 NFT API。

Alchemy 的 NFT API 如何帮助处理垃圾 NFT?

Alchemy 的 NFT API 可以通过 getNFTs 的垃圾过滤器、isSpamForContract 以及 getSpamContracts 端点来过滤垃圾 NFT。

使用 Alchemy API 的 NFT 开发者可以在 getNFTsForOwner(即 getNFTs)API 端点上添加一个过滤器,以排除被归类为垃圾的 NFT。

isSpamForContract 这个 NFT API 端点会检查某个特定合约是否已被归类为垃圾。你可以按合约地址进行过滤,这也意味着你可以查找某个特定 NFT 的持有者,并检查这是否是他们持有的唯一一个。

getSpamContracts 这个 NFT API 端点会返回所选链上所有被归类为垃圾的 ERC 721 和 ERC 1155 合约列表。

截至 2023 年 8 月,Alchemy NFT API 已经标记了超过 60 万个智能合约地址为垃圾。

如何使用 Alchemy 的 NFT API 过滤垃圾 NFT

有多种方式可以利用我们的垃圾检测功能来改善你应用的用户体验。

最常见的做法是在 getNFTsForOwner(即 getNFTs)端点上启用 SPAM 排除过滤器,从而只获取钱包中的合法 NFT。

isSpamContract 可以用来判断某个特定代币是否属于垃圾合约。

getSpamContracts 提供了额外的灵活性,你可以存储垃圾合约列表,并针对这些合约采取任何你想要的操作!

垃圾 NFT 是如何被归类的?

垃圾分类的标准范围很广,包括但不限于发出虚假事件、抄袭其他知名 NFT、谎报其总供应量等。

我们在归类垃圾 NFT 时主要会问以下几个问题:

  1. 如果该合约是 ERC721 或 1155,它是否违反了所实现的 ERC 标准?如果是,违反的程度有多严重?
  2. 该合约是否以向知名“蜜罐”钱包(例如 vitalik.eth)铸造大量代币而闻名?
  3. 该合约是否严重谎报了其总供应量或其他属性?
  4. 元数据是否抄袭了其他 NFT 收藏?是否为空白?
  5. 这些 NFT 在各个市场上的交易活跃程度如何?
  6. 是否有用户将该代币举报为垃圾?

通过综合运用这些启发式方法,我们判断一个 NFT 是否属于垃圾!

如果你的智能合约被误标为垃圾,或者你发现了一个绕过垃圾过滤器的垃圾 NFT 合约地址,请在 Alchemy Dashboard 中提交支持工单,我们会尽力帮你解决!

如何在 Ethereum 上销毁垃圾 NFT

要销毁垃圾 NFT,请将它们发送到销毁地址,例如 "0xdead" 地址 0x000000000000000000000000000000000000dEaD。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。