WEB3DEV

Cover image for Obtenha Dados de Criptomoedas Usando uma API Python para Criptomoedas
Panegali
Panegali

Posted on

Obtenha Dados de Criptomoedas Usando uma API Python para Criptomoedas

Sumário

  • get_token_price()
  • get_wallet_token_balances()
  • get_wallet_token_transfers()
  • Visão Geral
  • Existe uma API Python para Obter Preços de Criptomoedas?
  • API Python para Criptomoedas - Obtenção de Dados de Cripto
  • API de dados Web3 do Moralis com Python - Pré-requisitos
  • Como Obter Preços de Criptomoedas
  • Obtendo Preços Históricos de Tokens ERC-20
  • Como Consultar Saldos de Tokens de Carteira
  • Como Obter Transferências de Tokens de Carteira
  • Como Consultar Metadados ERC-20 por Contrato
  • Utilizando a API Moralis Streams com Python
  • Explorando o Python para Desenvolvimento de Criptomoedas
  • Resumo - Melhor API Python para Criptomoedas

Este tutorial irá ensinar você a utilizar API de Dados Web3 compatível com Python do Moralis para obter preços de criptomoedas, transações, saldos e muito mais! Se isso parece interessante e você está ansioso para obter dados de criptomoedas usando Python, você pode encontrar abaixo três exemplos de pontos principais:

get_token_price()

from moralis import evm_api

api_key = "YOUR_API_KEY"
params = {
    "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
    "chain": "eth"
}

result = evm_api.token.get_token_price(
    api_key=api_key,
    params=params,
)

print(result)
Enter fullscreen mode Exit fullscreen mode

get_wallet_token_balances()

from moralis import evm_api

api_key = "YOUR_API_KEY"
params = {
    "address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
    "chain": "eth",
}

result = evm_api.token.get_wallet_token_balances(
    api_key=api_key,
    params=params,
)

print(result)
Enter fullscreen mode Exit fullscreen mode

get_wallet_token_transfers()

from moralis import evm_api

api_key = "YOUR_API_KEY"
params = {
    "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
    "chain": "eth"
}

result = evm_api.token.get_wallet_token_transfers(
    api_key=api_key,
    params=params,
)

print(result)
Enter fullscreen mode Exit fullscreen mode

Obter dados de criptomoedas com a API Web3 de Dados do Moralis e Python nunca foi tão fácil. Portanto, lembre-se de se cadastrar no Moralis e começar a aproveitar o poder da indústria Web3 hoje mesmo! Ao se familiarizar com esta interface de programação, você poderá criar projetos Python baseados em Web3 em um instante.


Registre-se no Moralis


Visão Geral

O artigo de hoje explorará a API Web3 de Dados compatível com Python do Moralis e como usar essa interface para o desenvolvimento de criptomoedas. Demonstraremos a acessibilidade da API Web3 de Dados mostrando como usar essa ferramenta para consultar dados da blockchain com Python. Mais especificamente, abordaremos os seguintes cinco exemplos:

  1. Como obter preços de criptomoedas;
  2. Como obter preços históricos de tokens ERC-20;
  3. Como consultar saldos de tokens de carteira;
  4. Como obter transferências de tokens de carteira;
  5. Como consultar metadados de tokens ERC-20 por contrato.

Se isso soa empolgante e você deseja pular diretamente para a parte de programação, clique aqui para ir imediatamente para a seção "API Python para Criptomoedas - Obtenção de Dados de Cripto".

Além do tutorial principal, começaremos o artigo respondendo à pergunta: "Existe uma API Python para obter preços de criptomoedas, saldos e outros dados da blockchain?". Ao fazer isso, exploraremos brevemente as complexidades da API de Dados Web3 compatível com Python e o que ela envolve. Além da API de Dados Web3, o Moralis também possui outra API compatível com Python: a API de Streams Web3. Com essa interface, você pode configurar facilmente seu próprio fluxo para monitorar qualquer evento da blockchain. Se você deseja aprender como usar essa API com Python para monitorar eventos de criptomoedas, está com sorte, pois abordaremos exatamente isso na seção "Utilizando a API Moralis Streams com Python"!

Por último, na seção final do artigo, exploraremos o Python em um contexto Web3 e como o Moralis pode elevar ainda mais seu jogo no desenvolvimento de blockchain. Afinal, o que você aprenderá neste artigo apenas arranha a superfície do que é possível com o Moralis!

Além disso, lembre-se de se cadastrar no Moralis imediatamente, pois você precisa de uma conta para fazer chamadas para as várias APIs!

Existe uma API Python para Obter Preços de Criptomoedas?

Existe uma API Python para obter preços de criptomoedas, saldos e outros dados da blockchain? Se você está entrando no desenvolvimento da Web3 com Python, ficará feliz em saber que a resposta para a pergunta anterior é um enfático sim!

A suíte de APIs de Dados Web3 do Moralis é totalmente compatível com Python. Isso significa que você pode utilizar o SDK Python para fazer chamadas de API sem esforço para qualquer um dos pontos finais do Moralis. Consequentemente, você pode usar perfeitamente a API de Dados Web3 e Python para obter preços de criptomoedas, obter todos os tokens ERC-20 de propriedade de um endereço, consultar transferências por carteira e muito mais!

Além disso, a API de Dados Web3 do Moralis é agnóstica em relação às redes, o que significa que a interface suporta uma variedade de diferentes redes de blockchain. Isso inclui redes compatíveis com EVM, como Ethereum, Polygon, cadeia BNB, e outras redes como Aptos e Solana. Portanto, você pode usar perfeitamente as APIs do Moralis e Python, por exemplo, para obter preços de criptomoedas em várias redes de blockchain diferentes.

Por exemplo, se você está interessado no desenvolvimento da Solana, pode achar interessante nosso artigo que explora a API Python da Solana!

Então, como exatamente isso funciona? Se você quer a resposta para essa pergunta, junte-se a nós na próxima seção, onde exploraremos como obter dados de criptomoedas usando a API de Dados do Moralis e Python!

API Python para Criptomoedas - Obtenção de Dados de Cripto

Nas seções a seguir, mergulharemos mais fundo em como você pode usar a API Web3 para obter dados de criptomoedas com o Python. Ao fazer isso, exploraremos cinco exemplos proeminentes:

  1. Como obter preços de criptomoedas;
  2. Como obter preços históricos de tokens ERC-20;
  3. Como consultar saldos de tokens de carteira;
  4. Como obter transferências de tokens de carteira;
  5. Como consultar metadados de tokens ERC-20 por contrato.

No entanto, antes de pular diretamente para o primeiro exemplo que mostra como obter preços de criptomoedas, precisamos cuidar de alguns pré-requisitos. Esses pré-requisitos são universais para cada um dos nossos exemplos. Portanto, certifique-se de concluí-los antes de continuar!

API de dados Web3 do Moralis com Python - Pré-requisitos

Antes de prosseguir, certifique-se de ter os seguintes itens prontos:

  • Instale o Python e o PIP - Baixe e instale o Python e o PIP.
  • Configure o Moralis - Cadastre-se no Moralis e obtenha sua chave da API Web3. Depois de se registrar, você pode encontrar sua chave fazendo login e navegando até a guia "Web3 APIs":

  • Crie um Projeto Python - Crie um novo projeto Python com um arquivo "index.py". Instale o SDK Moralis abrindo um novo terminal e executando o seguinte comando na pasta raiz do projeto:
pip install moralis
Enter fullscreen mode Exit fullscreen mode

Com os pré-requisitos atendidos, você agora está pronto para explorar os vários pontos de extremidade da API de Dados Web3 do Moralis. Então, vamos começar cobrindo como você pode obter preços de criptomoedas com o Python!

Como Obter Preços de Criptomoedas

Ao utilizar a API de Dados Web3 do Moralis e o Python, tudo o que você precisa fazer para obter os preços de criptomoedas de tokens ERC-20 é uma única chamada para o ponto de extremidade get_token_price(). Portanto, abra o arquivo "index.py" que você criou na seção anterior e adicione o seguinte trecho de código:

from moralis import evm_api
api_key = "YOUR_API_KEY"
params = {
    "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
    "chain": "eth"
}
result = evm_api.token.get_token_price(
    api_key=api_key,
    params=params,
)
print(result)
Enter fullscreen mode Exit fullscreen mode

A partir daqui, você precisa fazer algumas configurações mínimas no código. Primeiro, substitua YOUR_API_KEY pela chave da API Moralis que você obteve ao cumprir os pré-requisitos. Em seguida, especifique os parâmetros chain(cadeia)e address(endereço)de acordo com suas preferências.

Isso é tudo; agora você deveria ser capaz de executar o script usando o seguinte comando:

python index.py
Enter fullscreen mode Exit fullscreen mode

Em retorno, você deve obter uma resposta semelhante a esta:

{
  "nativePrice": {
    "value": "13753134139373781549",
    "decimals": 18,
    "name": "Ether",
    "symbol": "ETH"
  },
  "usdPrice": 16115.165641767926,
  "exchangeAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
  "exchangeName": "Uniswap v3"
}
Enter fullscreen mode Exit fullscreen mode

Parabéns! É tão fácil assim obter preços de criptomoedas quando se trabalha com a API de Dados do Moralis e Python!

Obtendo Preços Históricos de Tokens ERC-20

A seguir, vamos olhar mais de perto como você pode consultar os preços históricos de tokens ERC-20 com a API de Dados Web3 e o Python. Para fazer isso, usaremos o mesmo ponto de extremidade get_token_price(); no entanto, desta vez, você precisa especificar um intervalo e consultar um bloco de cada vez por meio de um loop for. Portanto, você pode prosseguir e inserir o seguinte no arquivo "index.py":

from moralis import evm_api

api_key = "YOUR_API_KEY"
historicalPrice = []

for to_block in range(16323500, 16323550, 10):
  params = {
    "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
    "chain": "eth",
    "to_block": to_block
  }
  result = evm_api.token.get_token_price(
    api_key=api_key,
    params=params,
  )

  historicalPrice.append(result)

print(historicalPrice)
Enter fullscreen mode Exit fullscreen mode

Desta vez, você precisa substituir YOUR_API_KEY pela sua chave do Moralis e especificar os parâmetros chain e address, juntamente com o intervalo desejado. Depois de concluir essas configurações, você pode mais uma vez executar o script com a seguinte entrada no terminal:

python index.py
Enter fullscreen mode Exit fullscreen mode

Em troca, você receberá uma resposta contendo um array de diferentes preços de vários pontos no tempo. Aqui está um exemplo contendo dois preços:

[
  {
    "nativePrice": {
      "value": "642828540698243",
      "decimals": 18,
      "name": "Ether",
      "symbol": "ETH"
    },
    "usdPrice": 0.7811524052648599,
    "exchangeAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
    "exchangeName": "Uniswap v3"
  },
  {
    "nativePrice": {
      "value": "642828540698243",
      "decimals": 18,
      "name": "Ether",
      "symbol": "ETH"
    },
    "usdPrice": 0.7811524052648599,
    "exchangeAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
    "exchangeName": "Uniswap v3"
  },
]
Enter fullscreen mode Exit fullscreen mode

Como Consultar Saldos de Tokens de Carteira

Para o terceiro exemplo, mostraremos como consultar os saldos de tokens de carteira. Para obter essas informações, faremos uma chamada de API para o ponto de extremidade get_wallet_token_balances(). Sendo assim, copie o trecho abaixo e insira o código no seu arquivo "index.py":

from moralis import evm_api

api_key = "YOUR_API_KEY"
params = {
    "address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
    "chain": "eth",
}

result = evm_api.token.get_wallet_token_balances(
    api_key=api_key,
    params=params,
)

print(result)
Enter fullscreen mode Exit fullscreen mode

Você pode seguir o mesmo padrão aqui e adicionar sua chave de API do Moralis substituindo YOUR_API_KEY. Em seguida, modifique os parâmetros de address e chain conforme suas necessidades de desenvolvimento. A partir daí, tudo o que resta é executar o código com a mesma entrada no terminal:

python index.py
Enter fullscreen mode Exit fullscreen mode

Em resposta, é assim que a resposta deve se parecer:

[
  {
    "token_address": "0xefd6c64533602ac55ab64442307f6fe2c9307305",
    "name": "APE",
    "symbol": "APE",
    "logo": null,
    "thumbnail": null,
    "decimals": 18,
    "balance": "101715701444169451516503179"
  },
  {
    "token_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
    "name": "Wrapped Ether",
    "symbol": "WETH",
    "logo": "https://cdn.moralis.io/eth/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.webp",
    "thumbnail": "https://cdn.moralis.io/eth/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2_thumb.webp",
    "decimals": 18,
    "balance": "85000000000000000"
  }
]
Enter fullscreen mode Exit fullscreen mode

Como Obter Transferências de Tokens de Carteira

A seguir, vamos mostrar como obter transferências de tokens da carteira. Obter esses dados é simples ao trabalhar com a API de Dados Web3 do Moralis e Python. Na verdade, tudo o que você precisa é uma única chamada de API para o ponto de extremidade get_wallet_token_transfers():

from moralis import evm_api

api_key = "YOUR_API_KEY"
params = {
    "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
    "chain": "eth"
}

result = evm_api.token.get_wallet_token_transfers(
    api_key=api_key,
    params=params,
)

print(result)
Enter fullscreen mode Exit fullscreen mode

Depois de adicionar o trecho acima ao seu arquivo "index.py", você deve alterar o código adicionando sua chave de API e configurando os parâmetros de acordo com suas necessidades. Em seguida, você pode executar o script com o seguinte comando:

python index.py
Enter fullscreen mode Exit fullscreen mode

Quando você executar o código, deverá obter uma resposta semelhante à mostrada abaixo no seu terminal:

{
  "total": 126,
  "page": 0,
  "page_size": 100,
  "cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiMHgyMjYwZmFjNWU1NTQyYTc3M2FhNDRmYmNmZWRmN2MxOTNiYzJjNTk5IiwiY2hhaW4iOiJldGgiLCJhcGlLZXlJZCI6MTkwNjU5LCJsaW1pdCI6MTAwLCJ0b3BpYzMiOiI9Om51bGwiLCJ0b19ibG9jayI6IjExMTAwMDQ1IiwicGFnZSI6MSwidG90YWwiOjEyNiwib2Zmc2V0IjoxLCJ1YyI6dHJ1ZSwiaWF0IjoxNjY5NjQ2ODMzfQ.NIWg35DjoTMlaE6JaoJld24p9zBgGL56Zp8PPzQnJk4",
  "result": [
    {
      "transaction_hash": "0x1f1c8971dec959d38bcaa5606eb474d028617752240727692cd5ef21a435d847",
      "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
      "block_timestamp": "2022-11-19T20:01:23.000Z",
      "block_number": "16006313",
      "block_hash": "0x415f96c01f32d38046e250a357e471000c0876cc2122167056cf4c4c1113a522",
      "to_address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
      "from_address": "0xa9d1e08c7793af67e9d92fe308d5697fb81d3e43",
      "value": "4489517",
      "transaction_index": 48,
      "log_index": 66
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Como Consultar Metadados ERC-20 por Contrato

Para o nosso último exemplo de como você pode usar a API de Dados Web3 do Moralis com o Python, mostraremos como consultar metadados ERC-20 com base em um endereço de contrato. Para obter esses dados, o Moralis oferece o ponto de extremidade get_token_metadata(). Para chamar este ponto de extremidade, insira o seguinte código no seu arquivo "index.py":

from moralis import evm_api

api_key = "YOUR_API_KEY"
params = {
    "addresses": ["0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"],
    "chain": "eth"
}

result = evm_api.token.get_token_metadata(
    api_key=api_key,
    params=params,
)

print(result)
Enter fullscreen mode Exit fullscreen mode

A seguir, substitua YOUR_API_KEY pela sua chave de API Web3 do Moralis. A partir daí, obtenha o endereço do contrato que você deseja consultar e substitua os parâmetros de acordo. Em seguida, você pode executar o script digitando python index.py no seu terminal e pressionando Enter.

Como resultado, você deve receber uma resposta JSON semelhante a esta:

[
  {
    "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
    "name": "Uniswap",
    "symbol": "UNI",
    "decimals": "18",
    "logo": "https://cdn.moralis.io/eth/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984.webp",
    "logo_hash": "064ee9557deba73c1a31014a60f4c081284636b785373d4ccdd1b3440df11f43",
    "thumbnail": "https://cdn.moralis.io/eth/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984_thumb.webp",
    "block_number": null,
    "validated": null,
    "created_at": "2022-01-20T10:39:55.818Z"
  }
]
Enter fullscreen mode Exit fullscreen mode

Utilizando a API Moralis Streams com o Python

Além de consultar dados, o Moralis oferece outra API Web3 compatível com o Python, de qualidade empresarial, para monitorar eventos na cadeia: Moralis Streams. Com esta interface líder do setor, você pode configurar facilmente seus próprios fluxos para monitorar eventos blockchain com base nos seus filtros!

Para saber mais sobre a API Streams do Moralis e como monitorar eventos blockchain usando o Python, confira o vídeo no YouTube do Moralis. Neste clipe, você começa explorando as diferenças entre trabalhar com o Moralis Streams e Web3 Py. Em "06:45", nosso talentoso engenheiro de software inicia o tutorial da API Streams do Moralis em Python, mostrando como monitorar transações USDT com facilidade:

Você também pode encontrar o código usado no vídeo acima verificando o seguinte repositório no GitHub:

Repositório completo da API Streams do Moralis em Python - https://github.com/MoralisWeb3/youtube-tutorials/tree/main/moralis-streams-vs-web3-py

Explorando o Python para Desenvolvimento de Criptomoedas

Existem muitas semelhanças entre o desenvolvimento convencional Web2 e Web3 em Python. No entanto, se você é novo no espaço blockchain, existem algumas diferenças menores para você considerar. Por exemplo, dominar bibliotecas como a Web3.py pode ser altamente benéfico. Esta é uma biblioteca que facilita a interação com a blockchain Ethereum.

Além disso, existem ferramentas de desenvolvimento adicionais, como provedores de infraestrutura Web3 como o Moralis, que podem facilitar sua vida como desenvolvedor Web3 em Python. O Moralis é um provedor líder da indústria de infraestrutura Web3, fornecendo ferramentas compatíveis com Python, como APIs Web3, SDKs e muito mais.

Se você acompanhou até aqui, agora está familiarizado com a API de Dados Web3 e a API Streams. No entanto, ao fazer isso, apenas arranhamos a superfície do que é possível com essas interfaces, e existem vários outros pontos de extremidade e casos de uso para descobrir!

Com esses recursos de desenvolvimento, você pode começar a construir projetos mais complexos com facilidade. Se esta é sua ambição, confira nossos artigos sobre como criar uma DAO ou como construir um clone da Amazon baseado em Web3!

Portanto, se você estiver interessado em levar seus projetos Web3 para o próximo nível, lembre-se de se inscrever no Moralis. Ao fazer isso, você pode começar a usar todo o poder da indústria blockchain e escalar seus projetos sem esforço!

Resumo - Melhor API Python para Criptomoedas

Neste tutorial, ensinamos como usar a API de Dados Web3 compatível com o Python para obter preços de criptomoedas, saldos e outros dados da blockchain. Mais especificamente, cobrimos os seguintes cinco exemplos:

  1. Como obter preços de criptomoedas
  2. Como obter preços históricos de tokens ERC-20
  3. Como consultar saldos de tokens da carteira
  4. Como obter transferências de tokens da carteira
  5. Como consultar metadados ERC-20 por contrato

Se você acompanhou até aqui, agora sabe como usar uma API Python para o desenvolvimento de criptomoedas. A partir daqui, cabe a você ser criativo e começar a construir projetos mais sofisticados usando a API de Dados Web3!

Se você achou este tutorial útil, também pode querer conferir outros conteúdos de desenvolvimento aqui no blog Web3. Por exemplo, aprenda como criar um NFT ERC-721, explore a rede de testes da Arbitrum ou obtenha tokens usando um torneira Arbitrum Goerli. Além disso, se você quiser levar suas habilidades de desenvolvimento Web3 para o próximo nível, não deixe de conferir a Moralis Academy. Lá, você pode encontrar cursos voltados para iniciantes e desenvolvedores Web3 mais experientes. Por exemplo, faça o curso de Programação de Contratos Inteligentes Ethereum 201 - perfeito para quem quer desenvolver uma carreira como desenvolvedor de contratos inteligentes!

Lembre-se de se registrar no Moralis agora mesmo. Criar uma conta é totalmente gratuito, e você pode começar a aproveitar as APIs líderes do setor do Moralis e todo o poder da tecnologia blockchain em um piscar de olhos!


O artigo original encontra-se no Blog do Moralis. Traduzido por Marcelo Panegali.

Top comments (0)