使用 Nodejs、MetaMask 和 OpenSea 来进行 NFT登录
假设我们想要构建一个应用程序,其中只有来自特定集合的NFT的所有者才能登录。
需要使用的技术:
- Nodejs用于后端/API。
- 用于客户端登录的Metamask。
- 用于NFT所有权验证的OpenSea API。
这是Authenticating users to your web app using metamask and nodejs一文的后续,所有基本的元掩码登录代码都在该文章中共享。链接:https://blog.devgenius.io/authenticating-users-to-your-web-app-using-metamask-and-nodejs-e920e45e358
下面是我们想要实现的流程:
我们将使用OpenSea API作为例子。
OpenSea API
OpenSea为开发人员提供了一个API来与他们的数据进行交互。我们可以在没有任何额外设置的情况下发出请求,但为了在实际应用程序中调用API,我们需要获得一个API密钥。可以在这里请求一个API密钥:
https://docs.opensea.io/reference/request-an-api-key
我们将使用资产端点来检索钱包拥有的NFT。可以在这里找到这个端点的完整信息:
https://docs.opensea.io/reference/getting-assets
要获取集合ID,我们可以直接在OpenSea文档页面上运行以下端点:
https://docs.opensea.io/reference/retrieving-a-single-asset
我们想要得到的值是" slug ":
所以,在这个例子中,我们可以这样请求:
GET https://api.opensea.io/api/v1/assets?owner=userWalletAddress&collection=boredapeyatchclub