在Python和Jupyter Notebook中使用Covalent API

Frank Pei
Covalent
Published in
Apr 27, 2021

本文为翻译,原文

大家好! 在过去的一个月中,我很幸运地被选入了Covalent大使项目。 因此,我将创建一系帮助开发人员的文章,介绍如何最佳利用Covalent API。

第一步是前往https://www.covalenthq.com/并获得免费的API密钥。 完成后,我们可以敲入一些代码。
我们要做的第一件事是导入必要的库。 由于我们使用的是Python,因此我们需要导入请求,JSON和Pandas进行数据处理。

import requests
import json
import pandas as pd

根据要查找的数据类型,所使用的端点将有所不同。 在本教程中,我将分析最知名的以太坊地址0xb1compound.finance上的活动。
现在,利用Compound合约地址的Covalent API端点和Python请求库发出一个get请求。 将“ YOUR_KEY_HERE”替换为您收到的API密钥:

result = requests.get("https://api.covalenthq.com/v1/1/address/0xB1AdceddB2941033a090dD166a462fe1c2029484/stacks/compound/acts/?key=YOUR_KEY_HERE")
result

如果请求处理正确,则在运行上述代码后,您会收到200响应。 如果收到404错误,请仔细检查您是否在调用正确的端点。
下一步是将结果格式化为JSON,以便我们可以将其视为第一次运行:

result = result.json()
result{'data': {'address': '0xb1adceddb2941033a090dd166a462fe1c2029484',
'updated_at': '2021-03-14T19:50:53.407207391Z',
'next_update_at': '2021-03-14T19:55:53.407208758Z',
'quote_currency': 'USD',
'chain_id': 1,
'items': [{'act_at': '2021-03-14T13:54:10Z',
'tx_hash': '0xd9828955b60513be7c91bc541d5495204a09f3bb01363f397a4683f4c2033db6',
'act': 'BORROW',
'description': 'Borrowed 2500000.00 USDC',
'amount': '2500000000000',
'ctoken_amount': None,
'contract_address': '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
'contract_logo_url': 'https://logos.covalenthq.com/tokens/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png',
'contract_decimals': 6,
'ctoken_contract_decimals': 0,
'contract_ticker_symbol': 'USDC',
'ctoken_contract_ticker_symbol': '-',
'quote_rate': 0.9998834,
'quote': 2499708.5,
'successful': True,
'gas_offered': 542020,
'gas_spent': 439291,
'gas_price': 145000000000,
'gas_quote': 119.38957}

响应时间很长,因此我在上面包含了一个摘要。 我们可以看到我们的调用工作正常,并且基于单个API调用,我们可以使用大量不同的数据点。 太好了。 现在,我们需要多整理一些响应,并将其放入Pandas DataFrame中。

result = result['data']['items']
df = pd.DataFrame(result)
df = df.set_index('act_at')

运行上面的代码将有助于将JSON过滤为可用格式,将JSON放入Pandas的数据框架中,并将数据框架的索引设置为“ act_at”,即交易时间。
从这里开始,可能性是无限的。 如果要将数据框导出到CSV文件,只需运行:

df.to_csv('covalent_api_example.csv')

请继续关注下一篇文章,在这里我将介绍如何查询NFT。

--

--