使用 python 获取 solana NFT 链上数据
Get solana NFT on-chain data using python
如何使用 python 获取 Solana NFT 链上数据(如 NFT 创建者)?
有 solana-py 库,但我没有找到相关的函数。
我不是 Blockchains/NTF/Web3 方面的专家,所以我不确定它是否是您需要的。
如果您在 blockchainapi.com 上创建(免费)帐户(它需要 Google 帐户)并获得 API 密钥,那么您甚至可以使用模块 requests
。
import requests
import pprint
headers = {
'APIKeyId': 'MY_API_KEY_ID',
'APISecretKey': 'MY_API_SECRET_KEY',
}
network = 'mainnet-beta'
mint_address = '3LZ9ezL5BkCtvdVGLkrw1q633EgfeYDpgGtBgWDgmaSU'
# --- metadata ---
url = f"https://api.blockchainapi.com/v1/solana/nft/{network}/{mint_address}"
response = requests.get(url, headers=headers)
data = response.json()
pprint.pprint(data)
# --- owner ---
url = f"https://api.blockchainapi.com/v1/solana/nft/{network}/{mint_address}/owner"
response = requests.get(url, headers=headers)
data = response.json()
pprint.pprint(data)
结果:
{'data': {'creators': ['64eiSEPv2KRKNkPAX6d4BZQ3b12PcFqZP2yPoNAZw9po',
'yeT3ik5jX5RuK8JF8P3RRHrr9g6ox6RMWbRMh3r9FxQ'],
'name': 'Baby Yetis #257',
'seller_fee_basis_points': 500.0,
'share': [100.0, 0.0],
'symbol': '',
'uri': 'https://arweave.net/4PtHGFuAw2U-T4nrIWVRxJ0EpVIivRWi4xjreBkmMVg',
'verified': [0.0, 1.0]},
'explorer_url': 'https://explorer.solana.com/address/3LZ9ezL5BkCtvdVGLkrw1q633EgfeYDpgGtBgWDgmaSU',
'is_mutable': True,
'mint': '3LZ9ezL5BkCtvdVGLkrw1q633EgfeYDpgGtBgWDgmaSU',
'primary_sale_happened': False,
'update_authority': 'yeT3ik5jX5RuK8JF8P3RRHrr9g6ox6RMWbRMh3r9FxQ'}
{'nft_owner': '8hJSGbZhk4q8LjeRRXaLfKEPhEHQLBpLPrd1mmAG4953'}
上的相同 NFT
文档 blockchainapi: solanaGetNFT, solanaGetNFTOwner
编辑:
还有python模块theblockchainapi
(pip install theblockchainapi
)
from theblockchainapi import TheBlockchainAPIResource, SolanaNetwork
import pprint
BLOCKCHAIN_API_RESOURCE = TheBlockchainAPIResource(
api_key_id='MY_API_KEY_ID',
api_secret_key='MY_API_SECRET_KEY'
)
nft_address = 'AC6JJcepC9hZzHGVDmx5F3LSGeRhdok1VkcLSZsHoy26'
# --- metadata ---
data = BLOCKCHAIN_API_RESOURCE.get_nft_metadata(
mint_address=nft_address,
network=SolanaNetwork.MAINNET_BETA
)
pprint.pprint(data)
# --- owner ---
data = BLOCKCHAIN_API_RESOURCE.get_nft_owner(
mint_address=nft_address,
network=SolanaNetwork.MAINNET_BETA
)
pprint.pprint(data)
如何使用 python 获取 Solana NFT 链上数据(如 NFT 创建者)?
有 solana-py 库,但我没有找到相关的函数。
我不是 Blockchains/NTF/Web3 方面的专家,所以我不确定它是否是您需要的。
如果您在 blockchainapi.com 上创建(免费)帐户(它需要 Google 帐户)并获得 API 密钥,那么您甚至可以使用模块 requests
。
import requests
import pprint
headers = {
'APIKeyId': 'MY_API_KEY_ID',
'APISecretKey': 'MY_API_SECRET_KEY',
}
network = 'mainnet-beta'
mint_address = '3LZ9ezL5BkCtvdVGLkrw1q633EgfeYDpgGtBgWDgmaSU'
# --- metadata ---
url = f"https://api.blockchainapi.com/v1/solana/nft/{network}/{mint_address}"
response = requests.get(url, headers=headers)
data = response.json()
pprint.pprint(data)
# --- owner ---
url = f"https://api.blockchainapi.com/v1/solana/nft/{network}/{mint_address}/owner"
response = requests.get(url, headers=headers)
data = response.json()
pprint.pprint(data)
结果:
{'data': {'creators': ['64eiSEPv2KRKNkPAX6d4BZQ3b12PcFqZP2yPoNAZw9po',
'yeT3ik5jX5RuK8JF8P3RRHrr9g6ox6RMWbRMh3r9FxQ'],
'name': 'Baby Yetis #257',
'seller_fee_basis_points': 500.0,
'share': [100.0, 0.0],
'symbol': '',
'uri': 'https://arweave.net/4PtHGFuAw2U-T4nrIWVRxJ0EpVIivRWi4xjreBkmMVg',
'verified': [0.0, 1.0]},
'explorer_url': 'https://explorer.solana.com/address/3LZ9ezL5BkCtvdVGLkrw1q633EgfeYDpgGtBgWDgmaSU',
'is_mutable': True,
'mint': '3LZ9ezL5BkCtvdVGLkrw1q633EgfeYDpgGtBgWDgmaSU',
'primary_sale_happened': False,
'update_authority': 'yeT3ik5jX5RuK8JF8P3RRHrr9g6ox6RMWbRMh3r9FxQ'}
{'nft_owner': '8hJSGbZhk4q8LjeRRXaLfKEPhEHQLBpLPrd1mmAG4953'}
上的相同 NFT
文档 blockchainapi: solanaGetNFT, solanaGetNFTOwner
编辑:
还有python模块theblockchainapi
(pip install theblockchainapi
)
from theblockchainapi import TheBlockchainAPIResource, SolanaNetwork
import pprint
BLOCKCHAIN_API_RESOURCE = TheBlockchainAPIResource(
api_key_id='MY_API_KEY_ID',
api_secret_key='MY_API_SECRET_KEY'
)
nft_address = 'AC6JJcepC9hZzHGVDmx5F3LSGeRhdok1VkcLSZsHoy26'
# --- metadata ---
data = BLOCKCHAIN_API_RESOURCE.get_nft_metadata(
mint_address=nft_address,
network=SolanaNetwork.MAINNET_BETA
)
pprint.pprint(data)
# --- owner ---
data = BLOCKCHAIN_API_RESOURCE.get_nft_owner(
mint_address=nft_address,
network=SolanaNetwork.MAINNET_BETA
)
pprint.pprint(data)