使用PHP和Infura检索前10名销售NFT
#php #ethereum #nft #infura

如果您读过我以前的文章,您会注意到,NFT历史记录库的先前版本并不支持最畅销的内置功能来检索这些日志。但是在最新的更新中,我们现在可以从只需一行代码中就可以从特定的合同地址中检索到最畅销的NFT令牌。

您将在五个阶段中检索前10个销售NFT:

  1. 在Infura网站上注册
  2. 设置NFT历史记录库的提供商
  3. 在一行代码中检索NFT的前10名。

那么,为什么要信息? Infura 是从每天支持100K免费请求开始的一个不错的选择。是的,它有高级计划,但其免费计划对我们来说足够。

首先,在Infura中免费注册:

infura signup

然后创建一个新的API密钥:

infura API key

选择Web3 API并命名您的项目:

create api key infura

复制以太坊主网的URL。不要与任何人共享API密钥。

infura endpoint

现在是时候使用真正的魔术了。安装最新版本的NFT history logs library

composer require nfthistory/nfthistorylogs dev-master

然后像这样导入它:

<?php

require 'vendor/autoload.php'

use Nft\History\nftHistory;

然后,插入您想要的合同地址并粘贴您从Infura网站复制的提供商URL:

$contractAddress = '0x00B3e138c6e4b233e5DDed8CfeD200f0c82B536c';
$provider = 'https://mainnet.infura.io/v3/<YOUR API KEY>';

在此步骤中,创建一个nfthistory对象的实例:

$nfthistory = new nftHistory($contractAdress, $provider);

现在致电TopSellnfts()函数以尽可能多地检索最畅销的NFT令牌:

$NftHistory->topSellNfts("multiThread", 10);

在上面的代码中,我们在一个代码中检索合同地址的最畅销的NFT令牌。我们将多贴上的模式设置为减少检索时间。另外,我们设定了10,这意味着检索合同地址的前10个销售NFT令牌。根据您的需求,此选项可能会有所不同。

输出为:

array(10) {
  [0]=>
  string(4) "0.40"
  [1]=>
  string(4) "0.25"
  [2]=>
  string(4) "0.21"
  [3]=>
  string(4) "0.19"
  [4]=>
  string(4) "0.15"
  [5]=>
  string(4) "0.12"
  [6]=>
  string(4) "0.11"
  [7]=>
  string(4) "0.11"
  [8]=>
  string(4) "0.10"
  [9]=>
  string(4) "0.09"
}

您可以看到,我们成功地检索了具有单个代码的83个NFT令牌销售日志中的前10名。请记住,批量请求(多线程)可能会导致一些提供商的利率限制。幸运的是,Infura比这更具弹性。仔细使用。

其余功能是here

我希望这对您有帮助。 ^__^