nfthistory / nfthistorylogs
多链以太坊接口,用于管理NFT历史交易日志
Requires
- kornrunner/keccak: ^1.1
Requires (Dev)
- phpunit/phpunit: 10
This package is auto-updated.
Last update: 2024-09-14 11:41:48 UTC
README
⚙️ NFT历史日志
NFT历史日志是连接到JSON RPC规范的以太坊PHP API,用于获取特定NFT合约地址或以太坊链上具有ID的特定NFT的所需日志。
支持的链:目前仅支持以太坊链!
您需要运行本地或远程的以太坊节点才能使用此库。
您还可以使用测试网,例如Ganache或Cloudflare ETH网络。
您还可以设置任何网络端点,如Alchemy、Infura或您想要的任何其他东西。
安装
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