Използване на Covalent API с Python и Jupyter Notebook.

Veronika Kaminska
2 min readApr 9, 2021

Превод на български от оригиналната статия: https://medium.com/covalent-hq/utilizing-the-covalent-api-with-python-a7cc07d95b4e

Здравейте всички! През последния месец имах късмета да бъда избран в програмата за ковалентни алхимици. Като такъв ще създам поредица от статии, насочени към разработчици, за това как най-добре да използвам Covalent API.

Първата стъпка е да се насочите към https://www.covalenthq.com/ и да получите безплатен API ключ. След като приключим, можем да преминем към някакъв код.
Първото нещо, което искаме да направим, е да импортираме необходимите библиотеки. Тъй като използваме Python, трябва да импортираме заявки, JSON и Pandas за манипулиране на данни.

import requests
import json
import pandas as pd

В зависимост от типа данни, които търсите, крайната точка, която използвате, ще се различава. За този урок ще анализирам активността на популярния адрес на Ethereum 0xb1 в compound.finance.
Сега направете заявка за получаване, използвайки крайната точка на Covalent API за сложни адреси и библиотеката на Python заявки. Заменете „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 в рамка за данни на Panda и да се зададе индексът на рамката с данни на ‘act_at’, което е времето на транзакцията.
От тук нататък възможностите са безкрайни. Ако искате да експортирате рамката с данни в CSV файл, просто изпълнете:

df.to_csv(‘covalent_api_example.csv’)

Останете на линия за следващата статия, където ще покажа как да направите заявка за NFT.

--

--