nfthistory/nfthistorylogs

多链以太坊接口,用于管理NFT历史交易日志

v0.0.3 2024-07-14 11:09 UTC

This package is auto-updated.

Last update: 2024-09-14 11:41:48 UTC


README

header.webp

⚙️ NFT历史日志

NFT历史日志是连接到JSON RPC规范的以太坊PHP API,用于获取特定NFT合约地址或以太坊链上具有ID的特定NFT的所需日志。

支持的链:目前仅支持以太坊链!

您需要运行本地或远程的以太坊节点才能使用此库。

您还可以使用测试网,例如GanacheCloudflare ETH网络。

您还可以设置任何网络端点,如AlchemyInfura或您想要的任何其他东西。

安装

 composer require nfthistory/nfthistorylogs

使用

新建实例

<?php

require "vendor/autoload.php";

use Nft\History\nftHistory;

$contractAddress = "CONTRACT ADDRESS";
$provider = "https://:8545";

$NftHistory  = new nftHistory($contractAddress, $provider);

print_r($NftHistory );
    
// Output:
(
    [contractAddress:protected] => contract address
    [provider] => https://:8545
)

合约地址和提供者必须是字符串类型。

transferTrxById

您可以通过Token ID获取和筛选特定NFT的所有转移交易。大多数NFT市场都提供了这个Token ID,但如果他们没有提供,您仍然可以在Etehscan.io上获取。

$NftHistory->transferTrxById($tokenId, $fromBlock, $toBlock);

$tokenId必须是字符串数字,$fromBlock和$toBlock必须是十六进制字符串类型(您可以将"0x0"设置为第一个块,将"latest"设置为最终块)

allTransferTrx

您可以根据转移事件筛选交易历史。

$NftHistory->allTransferTrx($fromBlock, $toBlock);

$fromBlock和$toBlock必须是十六进制字符串类型(您可以将"0x0"设置为第一个块,将"latest"设置为最终块)

allTransferTrxHashAndIds

您可以通过Token ID获取并分类整理所有转移信息。它返回一个对象。

$nfthistory->allTransferTrxHashAndIds();

trxByHash

您可以通过传递交易哈希来获取特定交易的详细信息。它返回一个对象。trxHash变量是必要的。

 $nfthistory->trxByHash($trxHash);

allTrx

您可以在没有任何筛选的情况下获取NFT合约地址的所有交易。请注意,由于日志输出的限制,大多数网络在这种情况下都会抛出异常。您必须将$toBlock变量设置为特定的块号,而不是"latest"。

$NftHistory->allTrx($fromBlock, $toBlock);

receiptByTrxHash

您可以通过此函数获取收据交易的详细信息。将交易哈希传递给此函数。它返回一个包含交易的对象。

$NftHistory->receiptByTrxHash($trxHash);

topSellNfts

显示最高价到最低价的顶级销售NFT。请注意目标服务器的速率限制。$countRank是您想要获取的值的数量。它是可选的,并且不应超过合约地址的代币数量。它必须是十进制格式。$fromBlock和$toBlock是可选的。

$NftHistory->topSellNfts($countRank, $fromBlock, $toBlock);

nftTrxWei

每个交易都有一个名为"data"的属性。本部分是Wei格式的十六进制数字。您必须传递交易哈希以返回一个包含数据的数组。您还可以使用$eventName进行筛选。$eventName是可选的。

$NftHistory->nftTrxWei($transactionHash, $eventName);

weiToEther

将代币的WEI值转换为Ether格式_ 如果是十六进制格式,将转换为十进制。

$NftHistory->weiToEther($weiValue);

eventSig

您还可以获取一个256位的事件签名哈希。目前支持的事件签名:"Transfer"、"Approval"和"ApprovalForAll"。

$NftHistory->eventSig("Transfer");

事件名称可以是以下三个选项之一:字符串类型的"Transfer"、"Approval"和"ApprovalForAll"。

fromAddress

如果你收到特定的NFT交易并想识别交易发送者地址,请传递交易哈希。$eventName为可选参数。

$NftHistory->fromAddress($trxHash, $eventName);

接收地址

如果你收到特定的NFT交易并想识别交易接收者地址,请传递交易哈希。$eventName为可选参数。

$NftHistory->toAddress($trxHash, $eventName);

tokenId

我假设你已经为所需的交易对象指定了主题,并想知道NFT的tokenid。

$NftHistory->tokenId($topics);

创世块

创世块是NFT的出生块,所以

$NftHistory->genesisBlock();

docker-compose

此库已在PHP版本8.1上进行了测试,要测试它,只需尝试以下命令

docker-compose up

贡献

如果你有兴趣为这个项目做出贡献,我会非常高兴 ^__^

我的社交网络

你可以通过以下方式与我联系
Hackernoon
领英

许可

MIT