完整文檔: https://github.com/nft-api/nft-api
NFT API 消除了使用 NFT 并將 NFT 集成到您的 dapp 中的所有困難。
使用 NFT 通常很困難,因?yàn)?nbsp;NFT 代幣標(biāo)準(zhǔn)沒有得到很好的遵循,當(dāng)你開始解析鏈上 NFT 數(shù)據(jù)時(shí)會(huì)出現(xiàn)很多邊緣情況。
這就是為什么 NFT API 旨在為跨不同區(qū)塊鏈的所有 NFT 代幣提供統(tǒng)一接口,這樣您就可以專注于您的 dapp,而無需運(yùn)行自己的 NFT 解析管道。
該 API 最重要的用例是獲取與以下相關(guān)的跨鏈數(shù)據(jù):
鏈支持:
端點(diǎn):
非常強(qiáng)大且快速的工具,用于基于元數(shù)據(jù)搜索(異步)獲取 NFT 數(shù)據(jù)。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值:十進(jìn)制。
offset
?(可選):偏移量。
limit
?(可選):限制。
q
?(必需):搜索字符串參數(shù)
filter
?(必需):搜索應(yīng)匹配的字段。 要查看整個(gè)元數(shù)據(jù),請(qǐng)將值設(shè)置為全局。 要獲得更好的響應(yīng)時(shí)間,您可以查看特定字段,例如名稱。 可用值:name; description; attributes; global; name,description; name,attributes; description,attributes; name,description,attributes你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = { q: "Pancake", chain: "bsc", filter: "name" };
const NFTs = await Moralis.Web3API.token.searchNFTs(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchSearchNFTs = async () => {
const options = { q: "Pancake", chain: "bsc", filter: "name" };
const NFTs = await Web3Api.token.searchNFTs(options);
console.log(NFTs);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/search?chain=bsc&format=decimal&q=Pancake&filter=name' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchSearchNFTs()
{
NftMetadataCollection nft = await MoralisInterface.GetClient().Web3Api.Token.SearchNFTs(q: "Pancake", ChainList.bsc, filter: "name");
print(nft.ToJson());
}
示例結(jié)果
[
{
token_id: "124436",
token_address: "0x3afa102b264b5f79ce80fed29e0724f922ba57c7",
token_uri:
"https://ipfs.moralis.io:2053/ipfs/QmVAD8v4s2SXF8FgjePqMdQ2GV5hE2isZnzxcrA36XcSDA/metadata.json",
metadata:
'{"name":"Pancake","description":"The dessert series 1","image":"ipfs://QmNQFXCZ6LGzvpMW9Q5PWbCrEnLknQrPwr2r8pbQAgzQ9A/4863BD6B-6C92-4B96-BF80-8020B2F7C3A5.jpeg"}',
contract_type: "ERC721",
token_hash: "d03fe436e972bf9215d7bb8c64c4c556",
synced_at: null,
created_at: "2021-09-19T10:36:16.610Z",
},
];
const options = { q: "bored ape", chain: "bsc", filter: "global" };
const NFTs = await Moralis.Web3API.token.searchNFTs(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchSearchNFTs = async () => {
const options = { q: "bored ape", chain: "bsc", filter: "global" };
const NFTs = await Web3Api.token.searchNFTs(options);
console.log(NFTs);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/search?chain=bsc&format=decimal&q=Pancake&filter=global' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchSearchNFTs()
{
NftMetadataCollection nft = await MoralisInterface.GetClient().Web3Api.Token.SearchNFTs(q: "Pancake", ChainList.bsc, filter: "global");
print(nft.ToJson());
}
const options = {
q: "loves bananas",
chain: "bsc",
filter: "description,attributes",
};
const NFTs = await Moralis.Web3API.token.searchNFTs(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchSearchNFTs = async () => {
const options = {
q: "loves bananas",
chain: "bsc",
filter: "description,attributes",
};
const NFTs = await Web3Api.token.searchNFTs(options);
console.log(NFTs);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/search?chain=bsc&format=decimal&q=Pancake&filter=description%2Cattributes' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchSearchNFTs()
{
NftMetadataCollection nft = await MoralisInterface.GetClient().Web3Api.Token.SearchNFTs(q: "Pancake", ChainList.bsc, filter: "description,attributes");
print(nft.ToJson());
}
示例結(jié)果
"result": [
{
token_id: "854645",
token_address: "0xdf7952b35f24acf7fc0487d01c8d5690a60dba07",
token_uri: "https://ipfs.moralis.io:2053/ipfs/QmYUHFzEvPsoseNWcHtqE18Ao8HPBRktLPoDMKpdDYvHQV",
metadata: "{\n \"name\": \"Pancake Christmas 2021\",\n \"description\": \"A great collab between Chef Cecy and the winner of the #PancakeChristmas event. Merry Christmas, and Happy New Year!\",\n \"mp4_url\": \"ipfs://QmXYFMtYVBJBKjgGwf6MmrKhVtNdbVjLQCPLCu99hpAu47/christmas-2021.mp4\",\n \"gif_url\": \"ipfs://QmXYFMtYVBJBKjgGwf6MmrKhVtNdbVjLQCPLCu99hpAu47/christmas-2021.gif\",\n \"webm_url\": \"ipfs://QmXYFMtYVBJBKjgGwf6MmrKhVtNdbVjLQCPLCu99hpAu47/christmas-2021.webm\",\n \"image\": \"ipfs://QmXYFMtYVBJBKjgGwf6MmrKhVtNdbVjLQCPLCu99hpAu47/christmas-2021.png\",\n \"attributes\": {\n \"bunnyId\": \"23\"\n }\n}",
is_valid: 1,
syncing: 2,
frozen: 0,
resyncing: 0,
synced_at: "2022-01-02T19:50:58.391Z",
contract_type: "ERC721",
token_hash: "fffedca3037a8dc03483193b99fa9736",
batch_id: null,
metadata_name: "\"Pancake Christmas 2021\"",
metadata_description: "\"A great collab between Chef Cecy and the winner of the #PancakeChristmas event. Merry Christmas, and Happy New Year!\"",
metadata_attributes: "{\"bunnyId\":\"23\"}",
block_number_minted: "14022006",
opensea_lookup: null,
minter_address: "0xd338d2d63b55cbb059162394544a473156d513bd",
transaction_minted: "0xd7d0651c5bdf168c83f7a7e6570345bf73b11aabee3da7a6a3126034a77e382d",
frozen_log_index: null,
imported: null,
createdAt: "2022-01-02T19:49:52.234Z",
updatedAt: "2022-01-02T19:49:52.234Z"
}
從當(dāng)前用戶或地址獲取所有 NFT。 支持 ERC721 和 ERC1155。 返回具有 NFT 對(duì)象數(shù)量和 NFT 對(duì)象數(shù)組(異步)的對(duì)象。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
address
?(可選):用戶地址(即 0x1a2b3x...)。 如果指定,則附加到查詢的用戶將被忽略,而是使用地址。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
// get NFTs for current user on Mainnet
const userEthNFTs = await Moralis.Web3API.account.getNFTs();
// get testnet NFTs for user
const testnetNFTs = await Moralis.Web3API.account.getNFTs({ chain: "ropsten" });
// get polygon NFTs for address
const options = {
chain: "polygon",
address: "0x75e3e9c92162e62000425c98769965a76c2e387a",
};
const polygonNFTs = await Moralis.Web3API.account.getNFTs(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTs = async () => {
// get NFTs for current user on Mainnet
const userEthNFTs = await Web3Api.account.getNFTs();
console.log(userEthNFTs);
// get testnet NFTs for user
const testnetNFTs = await Web3Api.Web3API.account.getNFTs({
chain: "ropsten",
});
console.log(testnetNFTs);
// get polygon NFTs for address
const options = {
chain: "polygon",
address: "0x75e3e9c92162e62000425c98769965a76c2e387a",
};
const polygonNFTs = await Web3Api.account.getNFTs(options);
};
console.log(polygonNFTs);
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/0x75e3e9c92162e62000425c98769965a76c2e387a/nft?chain=polygon&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTs()
{
NftOwnerCollection polygonNFTs = await MoralisInterface.GetClient().Web3Api.Account.GetNFTs("0x75e3e9c92162e62000425c98769965a76c2e387a".ToLower(), ChainList.polygon);
print(polygonNFTs.ToJson());
}
示例結(jié)果
[
{
token_address: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
token_id: "15",
contract_type: "ERC721",
owner_of: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
block_number: "88256",
block_number_minted: "88256",
token_uri: "string",
metadata: "string",
synced_at: "string",
amount: "1",
name: "CryptoKitties",
symbol: "RARI",
},
];
返回具有指定合約的 NFT 計(jì)數(shù)的對(duì)象和屬于指定合約的給定地址的 NFT 數(shù)組(異步)。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值:十進(jìn)制。
offset
?(可選):偏移量。
limit
?(可選):限制。
order
?(可選):要排序的字段以及是否應(yīng)按升序或降序排序。
address
?(可選):給定令牌的所有者(即 0x1a2b3x...)。 如果指定,則附加到查詢的用戶將被忽略,而是使用地址。
token_address
?(必填): 合約地址你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
chain: "polygon",
address: "0x75e3e9c92162e62000425c98769965a76c2e387a",
token_address: "0x2953399124F0cBB46d2CbACD8A89cF0599974963",
};
const polygonNFTs = await Moralis.Web3API.account.getNFTsForContract(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTsForContract = async () => {
const options = {
chain: "polygon",
address: "0x75e3e9c92162e62000425c98769965a76c2e387a",
token_address: "0x2953399124F0cBB46d2CbACD8A89cF0599974963",
};
const polygonNFTs = await Web3Api.account.getNFTsForContract(options);
console.log(polygonNFTs);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/0x75e3e9c92162e62000425c98769965a76c2e387a/nft/0x2953399124F0cBB46d2CbACD8A89cF0599974963?chain=polygon&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: My-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTsForContract()
{
NftOwnerCollection polygonNFTs = await MoralisInterface.GetClient().Web3Api.Account.GetNFTsForContract("0x3d6c0e79a1239df0039ec16Cc80f7A343b6C530e".ToLower(),"0x2953399124F0cBB46d2CbACD8A89cF0599974963", ChainList.polygon);
print(polygonNFTs.ToJson());
}
使用 ?token_address
?參數(shù)僅獲取特定合約的結(jié)果。
注意結(jié)果將包括所有索引的 ?NFT
?。
任何包含 ?token_address
?參數(shù)的請(qǐng)求都將在第一次被請(qǐng)求時(shí)啟動(dòng)該 ?NFT
?集合的索引過程。
示例結(jié)果
{
total: 5,
page: 0,
page_size: 1,
cursor: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3aGVyZSI6eyJ0b2tlbl9hZGRyZXNzIjoiMHgyOTUzMzk5MTI0ZjBjYmI0NmQyY2JhY2Q4YTg5Y2YwNTk5OTc0OTYzIiwib3duZXJfb2YiOiIweDc1ZTNlOWM5MjE2MmU2MjAwMDQyNWM5ODc2OTk2NWE3NmMyZTM4N2EifSwibGltaXQiOjEsIm9mZnNldCI6MSwib3JkZXIiOltbInRyYW5zZmVyX2luZGV4IiwiREVTQyJdXSwicGFnZSI6MSwiaWF0IjoxNjQ2NDkxMzYzfQ.2emXTUoQYAV5dcC-05fkX5bHuuCHgL8aSQ2P9nqJPs0",
result: [
{
"token_address": "0x2953399124f0cbb46d2cbacd8a89cf0599974963",
"token_id": "54882136101329053367331551663964422650505490251725779255107807133728757514309",
"block_number_minted": "22364568",
"owner_of": "0x75e3e9c92162e62000425c98769965a76c2e387a",
"block_number": "22728905",
"amount": "1",
"contract_type": "ERC1155",
"name": "OpenSea Collections",
"symbol": "OPENSTORE",
"token_uri": "https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/0x7956302fe62df98c5c7f35354a2d03eb8b160f0e000000000000020000000045",
"metadata": null,
"synced_at": "2021-12-10T17:04:09.775Z",
"is_valid": 0,
"syncing": 2,
"frozen": 0
}
],
status: "SYNCED"
}
獲取 ?NFT
?轉(zhuǎn)賬。 返回具有 ?NFT
?傳輸次數(shù)和 ?NFT
?傳輸數(shù)組(異步)的對(duì)象。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值:十進(jìn)制。
offset
?(可選):偏移量。
direction
?(可選):傳輸方向。 可用值:both、to、from 。 默認(rèn)值:兩者。
limit
?(可選):限制。
order
?(可選):要排序的字段以及是否應(yīng)按升序或降序排序。
address
?(可選):用戶地址(即 0x1a2b3x...)。 如果指定,則附加到查詢的用戶將被忽略,而是使用地址。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
// get mainnet NFT transfers for the current user
const transfersNFT = await Moralis.Web3API.account.getNFTTransfers();
// get BSC NFT transfers for a given address
// with most recent transactions appearing first
const options = {
chain: "polygon",
address: "0x75e3e9c92162e62000425c98769965a76c2e387a",
limit: "5",
};
const transfersNFT = await Moralis.Web3API.account.getNFTTransfers(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTTransfers = async () => {
// get mainnet NFT transfers for the current user
const transfersNFT = await Web3Api.account.getNFTTransfers();
console.log(transfersNFT);
// get BSC NFT transfers for a given address
// with most recent transactions appearing first
const options = {
chain: "polygon",
address: "0x75e3e9c92162e62000425c98769965a76c2e387a",
limit: "5",
};
const bscTransfersNFT = await Web3Api.account.getNFTTransfers(options);
console.log(bscTransfersNFT);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/0x75e3e9c92162e62000425c98769965a76c2e387a/nft/transfers?chain=polygon&format=decimal&direction=both&limit=5' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTTransfers()
{
NftTransferCollection BSCnfttransfers = await MoralisInterface.GetClient().Web3Api.Account.GetNFTTransfers("0x3d6c0e79a1239df0039ec16Cc80f7A343b6C530e".ToLower(), ChainList.bsc);
print(BSCnfttransfers.ToJson());
}
使用 ?token_address
?參數(shù)僅獲取特定合約的結(jié)果。
注意結(jié)果將包括所有索引的 ?NFT
?。
任何包含 ?token_address
?參數(shù)的請(qǐng)求都將在第一次被請(qǐng)求時(shí)啟動(dòng)該 ?NFT
?集合的索引過程。
示例結(jié)果
[
{
token_address: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
token_id: "15",
from_address: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
to_address: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
amount: "1",
contract_type: "ERC721",
block_number: "88256",
block_timestamp: "2021-06-04T16:00:15",
block_hash: "string",
transaction_hash: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
transaction_type: "string",
transaction_index: "string",
log_index: 0,
},
];
針對(duì)給定的代幣合約地址(異步)返回一個(gè)包含多個(gè) NFT 的對(duì)象和一個(gè)包含 NFT 元數(shù)據(jù)(名稱、符號(hào))的數(shù)組。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值:十進(jìn)制。
offset
?(可選):偏移量。
limit
?(可選):限制。
address
?(必填):代幣合約的地址。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7dE3085b3190B3a787822Ee16F23be010f5F8686",
chain: "eth",
};
const NFTs = await Moralis.Web3API.token.getAllTokenIds(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchAllTokenIds = async () => {
const options = {
address: "0x7dE3085b3190B3a787822Ee16F23be010f5F8686",
chain: "eth",
};
const NFTs = await Web3Api.token.getAllTokenIds(options);
console.log(NFTs);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7dE3085b3190B3a787822Ee16F23be010f5F8686?chain=eth&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchAllTokenIds()
{
NftCollection nfts = await MoralisInterface.GetClient().Web3Api.Token.GetAllTokenIds(address: "0x7dE3085b3190B3a787822Ee16F23be010f5F8686" , ChainList.eth);
print(nfts.ToJson());
}
示例結(jié)果
[
{
token_address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "728",
amount: "1",
contract_type: "ERC721",
name: "Baby Ape Mutant Club",
symbol: "BAMC",
token_uri:
"https://gateway.moralisipfs.com/ipfs/QmajSqgxY3cWBgBeRm38vasJAcTit1kp5EwqVHxszJYgUC/728.json",
metadata:
'{\n "name": "Baby Mutant #728",\n "description": "",\n "image": "ipfs://QmPUDVLP9W1pWpCTpGvpPbMu4nVpCuu2A7M6tQovDpVDoD/728.png",\n "dna": "172bef0b78106072e4eacb26db57ae70fb17b37b",\n "edition": 728,\n "date": 1645023568505,\n "artist": "Skurvydogg",\n "attributes": [\n {\n "trait_type": "BackGrounds",\n "value": "Putrid_Purple"\n },\n {\n "trait_type": "Furs",\n "value": "Red_rum"\n },\n {\n "trait_type": "Eyes",\n "value": "Robot_M1"\n },\n {\n "trait_type": "Hats",\n "value": "Bunny_Ears_M2"\n },\n {\n "trait_type": "Mouths",\n "value": "Xenomorf_M1"\n }\n ]\n}',
synced_at: "2022-03-05T02:29:18.441Z",
},
];
針對(duì)給定的代幣合約地址(異步)返回一個(gè)包含 NFT 傳輸數(shù)量的對(duì)象和一個(gè)包含 NFT 傳輸?shù)臄?shù)組。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值為十進(jìn)制。
offset
?(可選):偏移量。
limit
?(可選):限制。address
?(必填): 合約地址你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
chain: "eth",
};
const nftTransfers = await Moralis.Web3API.token.getContractNFTTransfers(
options
);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchContractNFTTransfers = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
chain: "eth",
};
const nftTransfers = await Web3Api.token.getContractNFTTransfers(options);
console.log(NFTs);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/1/transfers?chain=eth&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchContractNFTTransfers()
{
NftTransferCollection nftTransers = await MoralisInterface.GetClient().Web3Api.Token.GetContractNFTTransfers(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", ChainList.eth);
print(nftTransfers.ToJson());
}
示例結(jié)果
[
{
block_number: "14238158",
block_timestamp: "2022-02-19T18:49:02.000Z",
block_hash:
"0x8124f4a126996d306a90fa00b871b6ed9669a1a9806106b34fa28f3de61e5f8b",
transaction_hash:
"0x2db36892fc17bf99a3f6dd8a639f3c704f772858f3961cbcd26b3a42a2cd561e",
transaction_index: 162,
log_index: 419,
value: "0",
contract_type: "ERC721",
transaction_type: "Single",
token_address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
from_address: "0x0000000000000000000000000000000000000000",
to_address: "0x324fb4a58674758e00c3a49409b815de1398bfe8",
amount: "1",
verified: 1,
operator: null,
},
];
返回最近 x 天的 NFT 代幣合約價(jià)格最低的對(duì)象(僅以 ETH 支付的交易)
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
days
?(可選):查找最低價(jià)格的天數(shù) 如果未提供,則默認(rèn)為 7 天
marketplace
?(可選):獲取交易的市場(目前僅支持 opensea)。
address
?(必填):合約地址(即 0x1a2b3x...)。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
days: "3",
};
const NFTLowestPrice = await Moralis.Web3API.token.getNFTLowestPrice(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTLowestPrice = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
days: "3",
};
const NFTLowestPrice = await Web3Api.token.getNFTLowestPrice(options);
console.log(NFTLowestPrice);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/lowestprice?chain=eth&days=3&marketplace=opensea' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTLowestPrice()
{
Trade NFTLowestPrice = await MoralisInterface.GetClient().Web3Api.Token.GetNFTLowestPrice(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", ChainList.eth, days: 2);
print(NFTLowestPrice.ToJson());
}
示例結(jié)果
[
{
transaction_hash:
"0xda5f3337eb74b56e99aebb5d9ebfc1e82b1c0aacc3b9b7cc606d4112ba12801d",
transaction_index: "168",
token_ids: ["254"],
seller_address: "0x8a04cea099e2d2886aea08e33446b5a52b9cf900",
buyer_address: "0xcf806faa913b3ac7bcb7b57b1199411a76d96646",
token_address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
marketplace_address: "0x7be8076f4ea4a4ad08075c2508e481d6c946d12b",
price: "0",
block_timestamp: "2022-02-26T17:19:23.000Z",
block_number: "14283046",
block_hash:
"0x997713ef27375f735f7017824958c0f0093236fe7515f8759bead1ce21d554fb",
},
];
返回給定合約(異步)的合約級(jí)別元數(shù)據(jù)(名稱、符號(hào)、基本令牌 uri)。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
address
?(必填):代幣合約的地址。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7dE3085b3190B3a787822Ee16F23be010f5F8686",
chain: "eth",
};
const metaData = await Moralis.Web3API.token.getNFTMetadata(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTMetadata = async () => {
const options = {
address: "0x7dE3085b3190B3a787822Ee16F23be010f5F8686",
chain: "eth",
};
const metaData = await Web3Api.token.getNFTMetadata(options);
console.log(metaData);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7dE3085b3190B3a787822Ee16F23be010f5F8686/metadata?chain=eth' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTMetadata()
{
NftContractMetadata metadata = await MoralisInterface.GetClient().Web3Api.Token.GetNFTMetadata(address: "0x7dE3085b3190B3a787822Ee16F23be010f5F8686", ChainList.eth);
print(metadata.ToJson());
}
對(duì)尚未索引的合約地址的請(qǐng)求將自動(dòng)啟動(dòng)該 ?
NFT
?集合的索引過程
示例結(jié)果
{
"token_address": "0x7de3085b3190b3a787822ee16f23be010f5f8686",
"name": "Baby Ape Mutant Club",
"symbol": "BAMC",
"contract_type": "ERC721",
"synced_at": "2022-02-19"
}
返回具有多個(gè) NFT 所有者的對(duì)象和具有給定代幣合約地址(異步)的 NFT 元數(shù)據(jù)(名稱、符號(hào))的數(shù)組。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值:十進(jìn)制。
offset
?(可選):偏移量。
limit
?(可選):限制。
address
?(必填): 合約地址你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
chain: "eth",
};
const nftOwners = await Moralis.Web3API.token.getNFTOwners(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTOwners = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
chain: "eth",
};
const nftOwners = await Web3Api.token.getNFTOwners(options);
console.log(nftOwners);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/owners?chain=eth&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTOwners()
{
NftOwnerCollection nftowners = await MoralisInterface.GetClient().Web3Api.Token.GetNFTOwners(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", ChainList.eth);
print(nftowners.ToJson());
}
確保在 ?
token_id
?之類的列上包含排序參數(shù),以獲得一致的分頁結(jié)果
對(duì)尚未索引的合約地址的請(qǐng)求將自動(dòng)啟動(dòng)該 NFT 集合的索引過程
示例結(jié)果
[
{
token_address: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
token_id: "15",
contract_type: "ERC721",
owner_of: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
block_number: "88256",
block_number_minted: "88256",
token_uri: "string",
metadata: "string",
synced_at: "string",
amount: "1",
name: "CryptoKitties",
symbol: "RARI",
},
];
返回給定合約和市場的 NFT 交易對(duì)象
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。有效值列在支持的鏈上。默認(rèn)值 Eth。
from_date
?(可選):獲取交易的日期(momentjs 接受的任何格式)。提供參數(shù) 'from_block' 或 'from_date' 如果提供了 'from_date' 和 'from_block',則將使用 'from_block'。
to_date
?(可選):獲取到此日期的交易(momentjs 接受的任何格式)。提供參數(shù) 'to_block' 或 'to_date' 如果提供了 'to_date' 和 'to_block',將使用 'to_block'。
from_block
?(可選):從哪里獲得交易的最小區(qū)塊號(hào)提供參數(shù)'from_block'或'from_date'如果提供'from_date'和'from_block',將使用'from_block'。
to_block
?(可選):獲取交易的最大區(qū)塊數(shù)。提供參數(shù) 'to_block' 或 'to_date' 如果提供了 'to_date' 和 'to_block',將使用 'to_block'。
offset
?(可選):偏移量。
limit
?(可選):限制。
marketplace
?(可選):獲取交易的市場(目前僅支持 opensea)。
address
?(必填):合約地址(即 0x1a2b3x...)。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
limit: "10",
chain: "eth",
};
const NFTTrades = await Moralis.Web3API.token.getNFTTrades(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchNFTTrades = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
limit: "10",
chain: "eth",
};
const NFTTrades = await Web3Api.token.getNFTTrades(options);
console.log(NFTTrades);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/trades?chain=eth&marketplace=opensea' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchNFTTrades()
{
TradeCollection trades = await MoralisInterface.GetClient().Web3Api.Token.GetNFTTrades(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", ChainList.eth, limit: 10);
print(trades.ToJson());
}
示例結(jié)果
[
{
transaction_hash:
"0x4de0bcef1450492bd5c2e7693cf644c40005868d0dcc8a7a50a80ef2efa88d1e",
transaction_index: "164",
token_ids: ["16404"],
seller_address: "0xbae90f486d751f133702655627ce599249cd26b8",
buyer_address: "0x8795e90de359c1e0bf2579646486f7f12f270d2f",
token_address: "0xdf7952b35f24acf7fc0487d01c8d5690a60dba07",
marketplace_address: "0x7be8076f4ea4a4ad08075c2508e481d6c946d12b",
price: "280000000000000000",
price_token_address: null,
block_timestamp: "2021-05-09T23:00:25.000Z",
block_number: "7281522",
block_hash:
"0xe870c197b0c614e055f4de5b264bc7c69eafc93a6d0ce300309de444b2ff7e3a",
},
];
返回?cái)?shù)據(jù),包括給定合約地址的給定令牌 id 的完全解析的元數(shù)據(jù)(異步)。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值為十進(jìn)制。
address
?(必填): 合約地址
token_id
?(必填):token的id你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
chain: "eth",
};
const tokenIdMetadata = await Moralis.Web3API.token.getTokenIdMetadata(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchTokenIdMetadata = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
chain: "eth",
};
const tokenIdMetadata = await Web3Api.token.getTokenIdMetadata(options);
console.log(tokenIdMetadata);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/1?chain=eth&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchTokenIdMetadata()
{
Nft tokenIdMetadata = await MoralisInterface.GetClient().Web3Api.Token.GetTokenIdMetadata(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", tokenId: "1", ChainList.eth);
print(tokenIdMetadata.ToJson());
}
示例結(jié)果
{
token_address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
block_number_minted: "14238158",
owner_of: "0x324fb4a58674758e00c3a49409b815de1398bfe8",
block_number: "14238158",
amount: "1",
contract_type: "ERC721",
name: "Baby Ape Mutant Club",
symbol: "BAMC",
token_uri: "https://ipfs.moralis.io:2053/ipfs/QmYuHVS98nZxzYmuk9E6HA1TNr2W6PpV4fvE4MDfCFgfCP",
metadata: "{\n \"name\": \"Baby Ape Mutant Club\",\n \"description\": \"Wait for reveal\",\n \"image\": \"ipfs://QmPS5CMBd9Zwidies964iHb9hcdDmXZkWBGZyaJ9c1Gmif\"\n}\n",
synced_at: "2022-02-19T18:50:43.217Z",
is_valid: 1,
syncing: 2,
frozen: 0
}
返回一個(gè)包含 NFT 傳輸次數(shù)的對(duì)象和一個(gè)包含給定合約集合中所有 NFT 項(xiàng)目所有者的數(shù)組(異步)。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值為十進(jìn)制
offset
?(可選):偏移量。
limit
?(可選):限制。
address
?(必填):合約地址。
token_id
?(必填):token的id。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
chain: "eth",
};
const tokenIdOwners = await Moralis.Web3API.token.getTokenIdOwners(options);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchTokenIdOwners = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
chain: "eth",
};
const tokenIdOwners = await Web3Api.token.getTokenIdOwners(options);
console.log(tokenIdOwners);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/1/owners?chain=eth&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchTokenIdOwners()
{
NftOwnerCollection tokenIdOwners = await MoralisInterface.GetClient().Web3Api.Token.GetTokenIdOwners(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", tokenId: "1" , ChainList.eth);
print(tokenIdOwners.ToJson());
}
示例結(jié)果
[
{
token_address: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
token_id: "15",
contract_type: "ERC721",
owner_of: "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
block_number: "88256",
block_number_minted: "88256",
token_uri: "string",
metadata: "string",
synced_at: "string",
amount: "1",
name: "CryptoKitties",
symbol: "RARI",
},
];
返回一個(gè)包含 NFT 傳輸次數(shù)的對(duì)象和一個(gè)包含所有 NFT 傳輸?shù)臄?shù)組(按令牌 ID(異步))。
選項(xiàng):
chain
?(可選):從中獲取數(shù)據(jù)的區(qū)塊鏈。 有效值列在支持的鏈上。 默認(rèn)值 Eth。
format
?(可選):token id 的格式。 可用值:十進(jìn)制、十六進(jìn)制。 默認(rèn)值為十進(jìn)制
offset
?(可選):偏移量。
limit
?(可選):限制。
address
?(必填):合約地址。
token_id
?(必填):token的id。你可以使用?JS
?、?React
?、?curl
?、?Unity
?來實(shí)現(xiàn)
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
chain: "eth",
};
const transfers = await Moralis.Web3API.token.getWalletTokenIdTransfers(
options
);
import React from "react";
import { useMoralisWeb3Api } from "react-moralis";
const Web3Api = useMoralisWeb3Api();
const fetchWalletTokenIdTransfers = async () => {
const options = {
address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
chain: "eth",
};
const transfers = await Web3Api.token.getWalletTokenIdTransfers(options);
console.log(transfers);
};
curl -X 'GET' \
'https://deep-index.moralis.io/api/v2/nft/0x7de3085b3190b3a787822ee16f23be010f5f8686/1/transfers?chain=eth&format=decimal' \
-H 'accept: application/json' \
-H 'X-API-Key: MY-API-KEY'
using System.Collections.Generic;
using Moralis.Web3Api.Models;
using MoralisWeb3ApiSdk;
public async void fetchWalletTokenIdTransfers()
{
NftTransferCollection transfers = await MoralisInterface.GetClient().Web3Api.Token.GetWalletTokenIdTransfers(address: "0x7de3085b3190b3a787822ee16f23be010f5f8686", tokenId: "1", ChainList.eth);
print(transfers.ToJson());
}
示例結(jié)果
[
{
block_number: "14238158",
block_timestamp: "2022-02-19T18:49:02.000Z",
block_hash:
"0x8124f4a126996d306a90fa00b871b6ed9669a1a9806106b34fa28f3de61e5f8b",
transaction_hash:
"0x2db36892fc17bf99a3f6dd8a639f3c704f772858f3961cbcd26b3a42a2cd561e",
transaction_index: 162,
log_index: 419,
value: "0",
contract_type: "ERC721",
transaction_type: "Single",
token_address: "0x7de3085b3190b3a787822ee16f23be010f5f8686",
token_id: "1",
from_address: "0x0000000000000000000000000000000000000000",
to_address: "0x324fb4a58674758e00c3a49409b815de1398bfe8",
amount: "1",
verified: 1,
operator: null,
},
];
更多建議: