如何使用Zapier和IPFS构建无代码NFT文件工具

2021-04-19 15:54:40

通过无代码工具(包括Zapier)引入Instagram帖子并将其发布为NFT,同时将资产和元数据存储在IPFS上

  黑客马拉松的神奇之处在于人们提出了各种各样的应用程序。想法畅通无阻,有时您会偶然发现以前从未想过的东西。当我们评选Eth Global NFT Hack竞赛时,情况就是如此。一个名为MyMuzzay的应用程序(现称为CocoNFT)以一个简单的平台使我们感到惊讶,该平台引入了Instagram帖子并将其发布为NFT,同时将资产和元数据存储在IPFS上。他们通过利用尽可能多的无代码工具(包括Zapier)来做到这一点。


0419-1-1.png


  Brody Berson和Reid Robinson都在Zapier工作,并且能够使用Zapier开发人员平台构建自定义应用程序,该平台将连接到Pinata并允许在IPFS上轻松存储文件。对于不熟悉Zapier的用户,它是一个平台,允许您连接多个应用程序并自动执行任务。例如,您可以通过连接内部通信和Google表格来通过支持聊天更新电子表格。Zapier现在在平台上支持3000多个应用程序,这意味着自动化功能几乎是无限的。

  因为Brody和Reid证明了这是可能的,并且因为他们为我们奠定了基础,所以我们完成了Pinata Zapier应用程序并将其公开。因此,从今天开始,您可以使用Zapier将成千上万的应用程序连接到Pinata,而无需编写代码。以此为背景,让我们开始学习本教程。


  应用程序

  我们将构建一个简单的应用程序(无需代码或只需很少的代码),即可使用Pinata将您新购买的NFT购买自动备份到IPFS 。这是一个重要的话题,最近引起了很多关注。过去,我们已经讨论过有关NFT的数据责任的概念。使用此工具,您可以完全控制与您拥有的NFT相关的资产。

  这个应用程序根本不是一个真正的应用程序。至少在某种意义上说,您没有可以访问并看到您的应用程序的URL。而是将其视为您自己的个人Pinata机器人,投入工作来查找您拥有的所有NFT,并将内容固定到IPFS。这个程序是一个Zap。

  在本教程中,我们将使用Etherscan API查找给定地址拥有的NFT。但是,您可以根据需要扩展此工具。

  在开始之前,您需要完成以下几项工作:

  •皮纳塔免费帐户

  •Zapier上的免费帐户

  •Etherscan上的免费帐户

  您的钱包中还需要一些NFT才能正常工作。但是,如果您目前没有任何NFT,则可以使用以太坊测试网,购买一些假的NFT,然后可以将Etherscan API与Etherscan testnet API交换出去。我会指出我们需要改变的领域。


  Zapping

  登录到您的Zapier帐户,登录到您的Pinata帐户,然后登录到您的Etherscan帐户。您需要创建一个可与Zapier一起使用的Pinata API令牌,因此我们首先要这样做。在左侧导航栏的该Developer部分下,单击API密钥。在这里,您将创建一个新的API密钥。这样做时,您将能够控制密钥的范围。您总是想提供足够的访问权限,仅此而已。这是我为密钥选择的访问权限:


0419-1-2.png


  我们需要Zapier才能代表我们固定文件和JSON。而且,我们需要Zapier能够列出现有的固定文件(尽管在本教程中我们不会使用该功能)。

  创建密钥时,模态将显示API密钥,API Secret和JWT。您将需要JWT。因此,将其复制并暂时保存在安全的地方。

  接下来,您需要在Etherscan上创建一个API密钥。

  如果您使用的是testnet,请使用Rinkeby testnet并设置您的Etherscan帐户和API密钥。您还可以在OpenSea上找到testnet NFT 。您需要获取一些testnet以太坊令牌,因此您必须进行Google搜索以获取这些令牌。有很多种方法可以做到这一点,但这超出了本教程的范围。

  拥有Etherscan API密钥后,将密钥与Pinata JWT保存在一起。

  现在,在Zapier,单击菜单并转到“我的Zaps”。在那里,您会看到一个按钮,可让您创建一个新的Zap。


0419-1-3.png


  点击“Make a Zap”,系统将提示您选择一个将用作触发器的应用程序。现在,我们将使用Etherscan作为触发器。我们希望任何新的NFT触发Zap。Zap本身将找到与新NFT相关的元数据,并将内容固定到Pinata。

  由于到目前为止,还没有NFT或以太坊平台在Zapier上提供应用程序,因此我们将用于触发事件的应用程序将需要少量代码。但是不用担心,我将提供代码段。通过Zapier搜索代码,然后选择“运行Javascript”作为触发器。


0419-1-4.png


  当您单击继续时,您将能够粘贴需要运行的代码。将以下内容粘贴到:

  const yourAddress =“您的以太坊地址”

  const etherscanApiKey =“您的ETHERSCAN API密钥”

  const res =等待获取(` https://api.etherscan.io/api?module=account&action=tokennfttx&address=${yourAddress}&startblock=0&endblock= 999999999&sort = asc&apikey = $ {etherscanApiKey}`);

  const body =等待res.json();

  const结果= body.result;

  让mainResult = {}

  if(results && results.length> 0){

  const lastTx = results [0];

  if(lastTx){

  const openSeaRes =等待fetch(` https://api.opensea.io/api/v1/metadata/$ {lastTx.contractAddress} / $ {lastTx.tokenID}`)

  const openSeaBody =等待openSeaRes。

  返回{id:1,结果:mainResult};

  如果您使用的是testnet,则将OpenSea api URL替换为,https://rinkeby-api.opensea.io/api/v1/并附加其余URL,就像在mainnet UR L中一样。

  在此代码中,我们使用Etherscan的令牌传输API来检查您的以太坊钱包上的NFT交易。此代码将仅捕获最新的事务,因此其想法是,它将在您睡觉时运行,并且在发现新事务时,将从OpenSea中获取元数据。该元数据是我们将在Zap的下一步中使用的元数据。

  如果您的钱包中有NFT,则可以测试触发器,您将得到如下所示的结果:


0419-1-5.png


  下一步是告诉Zapier如何处理触发器中找到的信息。您将搜索要在您的操作中使用的应用。搜索Pinata。找到它后,系统会提示您进行身份验证。您可以在其中粘贴JWT。这将使Zapier可以访问Pinata帐户。

  现在,您可以继续执行设置操作步骤。这一步很简单。您将提供文件URL和文件名。这些是来自触发步骤的变量。这是我的设置:


0419-1-6.png


  现在,测试此步骤,您应该看到与NFT关联的文件已固定到您的Pinata帐户。不相信我吗?返回您的帐户并检查密码管理器!

  太酷了吧?

  要打开Zap,请在左上角为其命名,然后将切换开关转到打开位置。这样就完成了。现在,您有了一个可以确保与NFT相关的资产被固定到IPFS并由您拥有的机器人。


最新推荐