
Python调用Google Bard API 完整指南
OpenSea API 允许我们通过代码以编程方式获取、查找和探索以太坊区块链上的 NFT 项目。
链接: https: //docs.opensea.io/reference/api-overview
OpenSea 是一个在线平台,用于铸造和交易以太坊区块链上的 NFT。
OpenSea API 用于探索、查找、检索数据以及查找 OpenSea 上的早期 NFT 项目。
是的,OpenSea API 完全免费。
在撰写本文时,尚无任何 OpenSea API 替代方案。其他 NFT 平台(如 SolSea、Rarible、Mintable……)均不提供 API。
要开始使用 OpenSea API,您只需要您最喜欢的编程语言和 IDE。在本文中,我们将使用 Python 和请求库来提取数据,并使用 pandas 创建数据框。
如果您想将 OpenSea API 用于生产,您需要填写表格以获取具有更宽松 API 速率限制的 API 密钥。
要使用 OpenSea API 获取资产,您需要向端点发出请求assets
。您可以使用多个参数,例如代币 ID、合约地址、排序依据、订单方向等。
让我们按降序顺序获取前 20 个资产:
import requests
import pandas as pd
assets = pd.DataFrame(requests.get("https://api.opensea.io/api/v1/assets?order_direction=desc&offset=0&limit=20").json()['assets'])
assets.head().T
请注意,按 listing_date 对数据进行排序将过滤掉不可出售的资产以及托管出售的资产。
要使用 OpenSea API 获取捆绑包数据,您需要访问捆绑包端点。每个捆绑包由一组打包在一起并出售的资产表示。打包过程不需要 gas。
bundles = pd.DataFrame(requests.get("https://api.opensea.io/api/v1/bundles?limit=10&offset=0").json()['bundles'])
bundles.head().T
要使用 OpenSea API 获取单个资产,您需要使用asset
资产合约的地址和代币 ID 调用端点。让我们按如下方式获取 cryptopunks 资产;
asset = requests.get("https://api.opensea.io/api/v1/asset/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb/1/").json()
asset
如果你想要深入研究资产描述或资产收集等特定点,你可以这样写:
asset['description']
asset['collection']
要获取 OpenSea API 的合约,您需要asset_contract
使用提供的资产合约地址作为请求参数来调用端点。为此,请查看以下代码:
requests.get("https://api.opensea.io/api/v1/asset_contract/0x06012c8cf97bead5deae237070f9587f8e7a266d").json()
OpenSea events
API 端点将返回 OpenSea 可跟踪的某些资产上正在发生的事件列表。其中event_type
精确指定了获取的事件类型。
events = pd.DataFrame(requests.get("https://api.opensea.io/api/v1/events?only_opensea=false&offset=0&limit=10").json()['asset_events'])
events.head().T
要使用 OpenSea API 获取集合,用户需要向collections
端点发送请求。此 API 调用非常有用,因为您可以查看帐户中有哪些项目以及有多少个项目。
collections = pd.DataFrame(requests.get("https://api.opensea.io/api/v1/collections?offset=0&limit=10").json()['collections'])
collections.head().T
要使用 OpenSea API 获取订单,您需要访问 OpenSea 订单簿orders
端点。
orders = pd.DataFrame(requests.get("https://api.opensea.io/wyvern/v1/orders?bundled=false&include_bundled=false&include_invalid=false&limit=10&offset=0&order_by=created_date&order_direction=desc",
headers = {"Accept":"application/json"}
).json()['orders']
)
orders.head().T