使用 Web3j 获取 ERC721 代币最新转移记录
要获取 ERC721 代币的最近转移记录,您可以使用 web3j 的 ERC721Events 类。以下是一个示例代码片段,它将获取指定代币的最近转移记录:
// 创建 Web3j 客户端
Web3j web3j = Web3j.build(new HttpService("http://localhost:8545"));
// 代币合约地址
String contractAddress = "0x123456789abcdef...";
// 代币 ID
BigInteger tokenId = BigInteger.valueOf(123);
// 创建 ERC721Events 实例
ERC721Events events = ERC721Events.load(contractAddress, web3j, new DefaultGasProvider());
// 获取最近的转移记录
List<ERC721Events.TransferEventResponse> transfers = events.getTransferEvents(DefaultBlockParameterName.EARLIEST, DefaultBlockParameterName.LATEST, tokenId).send();
// 打印转移记录
for (ERC721Events.TransferEventResponse transfer : transfers) {
System.out.println("From: " + transfer._from);
System.out.println("To: " + transfer._to);
System.out.println("Token ID: " + transfer._tokenId);
System.out.println("Block number: " + transfer.log.getBlockNumber());
}
在这个例子中,我们首先创建了一个 Web3j 客户端,然后指定了 ERC721 代币的合约地址和代币 ID。接下来,我们创建了一个 ERC721Events 实例,它是一个智能合约的包装器,它允许我们轻松地与 ERC721 代币合约进行交互。最后,我们调用 getTransferEvents 方法来获取指定代币的最近转移记录,并打印出每个转移记录的相关信息。
原文地址: http://www.cveoy.top/t/topic/fZh2 著作权归作者所有。请勿转载和采集!