etherscan API key to get account balances from the blockchain

Grupo de mercado de criptomonedas: saldo de Ether en MicroPython en una placa ESP32

Publicado por
Comparte en redes sociales

<div>

En este tutorial capturaremos un balance de Ether en MicroPython en una placa ESP32. Escribiremos código Python que solicitará un saldo de Ether en tiempo real de la cadena de bloques Ethereum. Luego, si el saldo de la moneda criptográfica en la cuenta de Ethereum cambia, la luz de la placa ESP32 Arduino parpadeará. Este es un ejemplo simple de cómo blockchain e IOT (Internet de las cosas) pueden trabajar juntos.

Si es la primera vez que desarrolla en un microcontrolador ESP32, le recomiendo que comience leyendo el tutorial de introducción. Esta introducción explicará qué software descargar, actualizar la placa ESP32 y escribir un programa simple en Thonny.

Placa de desarrollo de microcontrolador ESP32

Usaremos una placa de desarrollo de microcontrolador ESP32 para este proyecto. La placa Arduino tiene un microprocesador de doble núcleo de 32 bits, memoria interna y es compatible con Wi-Fi / blue tooth. El predecesor del ESP32 es el ESP8266.

Para obtener especificaciones más detalladas para la placa ESP32, visite Espressif o esp32.net. Para comprar una placa ESP32, use uno de los enlaces a continuación.

Amazonas Microcontrolador ESP32 o Microcontrolador ESP32 con led

API de cadena de bloques necesaria para la placa del microcontrolador

El programa que crearemos e implementaremos en la placa ESP32 realizará las siguientes funciones.

  1. Conéctese a Internet mediante Wi-Fi
  2. Solicite un saldo de cuenta de la cadena de bloques Ethereum
  3. Si el balance de Ether aumenta, la luz parpadeará en la placa de desarrollo ESP32

Para recuperar la información de la cadena de bloques de Ethereum, intenté descargar Web3.py varias veces, pero no tuve éxito. Las bibliotecas de soporte son demasiado grandes para caber en la placa ESP32 y encontré varios errores durante el proceso de descarga.

Leer también  ¿Cómo conseguir el máximo de puntos de explosión?

Entonces, para este proyecto usaremos API de Etherscan. Esta API admite solicitudes GET / POST y tiene un límite de velocidad de 5 llamadas por segundo / IP. Etherscan hace que sea muy fácil obtener datos de la cadena de bloques Ethereum. La API de Etherscan admite muchas funciones diferentes y algunas se indican a continuación:

  • Cuentas – saldos, transacciones internas, información simbólica
  • Contratos – ABI y código fuente
  • Actas – estado de ejecución y estado de recepción de la transacción
  • Bloquear información – recompensas e información de bloque
  • Registros – información de registro
  • y más.

Visita el API de desarrollador sección de su sitio web para obtener más información sobre la información que proporcionan. Las muestras son sencillas y la mayoría solo requieren un cambio en la cuenta y la clave API.

Cree una clave de API de Etherscan

Para utilizar la API de Etherscan, necesita una clave para todas las solicitudes GET / POST. Para obtener una clave API, visite el sitio web de Etherscan y cree una cuenta gratuita. Luego, en el menú de la cuenta, seleccione API-Keys. Después de solicitar una clave de API, estará disponible para su uso casi de inmediato. Tenga en cuenta que su clave de API se puede utilizar en las redes de prueba de Kovan, Rinkeby, Ropsten y Goerli.

etherscan API key para obtener saldos de cuentas de blockchain

Solicitudes HTTP GET

Para realizar una solicitud GET a Etherscan, importe el urequests módulo en Thonny IDE. Este módulo contiene todas las funciones de solicitud que necesitamos para enviar solicitudes de red.

import urequests

Programa en MicroPython para monitorear los saldos de las cuentas Ether en la cadena de bloques Ethereum

Para este proyecto, monitorearemos el saldo de la cuenta Ether en el contrato inteligente WETH. Este contrato tiene mucha actividad por lo que permitirá que probar nuestro código sea rápido y eficiente.

Leer también  ¡Ethereum y Stablecoins como activos básicos defendidos por Behnam!

Para comenzar, lea los comentarios en el código a continuación para comprender cómo funciona el proceso. Luego copie y pegue cada línea de código en la sección de shell del Thonny IDE. Deberá ingresar su ID WI-FI, contraseña WI-FI y clave API de Etherscan para ejecutar todo el código. Pasar por el proceso será útil para solucionar cualquier problema potencial. Finalmente, copie y pegue el código en el archivo main.py en su Placa de microcontrolador ESP32 y ejecutar el proceso.

El código es muy similar al tutorial de microcontroladores anterior donde obtuvimos el precio BTC en tiempo real de Coinbase. Los patrones de ambos proyectos son los mismos y cada uno requiere muy poco código. La solicitud de obtención de la API de Etherscan hace que el código sea muy simple. No hay una sobrecarga de codificación para comenzar a usar su API para obtener datos de la cadena de bloques de Ethereum.

El código completo de este proyecto se enumera a continuación.

import network
import urequests
from time import sleep
from machine import Pin

#create a variable called led
led = Pin(2, Pin.OUT)

#create a variable called starting balance
startbalance = float(0)

station = network.WLAN(network.STA_IF)
station.active(True)

station.disconnect()
station.connect("YOUSSID", "YOURPASSWORD")

#prints true if connected
station.isconnected()

#returns the IP address, subnet mask, gateway and DNS as output parameters
station.ifconfig()


while True:
   #get account balance of ETH from the WETH contract
    response = urequests.get('https://api.etherscan.io/api?module=account&action=balance&address=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2&tag=latest&apikey=YOURAPIKEY')

    #print the response
    print(response.text)

    #parse the response
    parsed = response.json()

    value = float(parsed["result"])
    newbalance = value / 10**18

    print('strbalance', startbalance)
    print('newbalance', newbalance)

    #if the crypto currency price is &gt; value blink light
    if startbalance == float(0):
        startbalance = newbalance
    elif startbalance < newbalance:    
        led.on()
        sleep(1)
        led.off()
        sleep(1)
        startbalance = newbalance
    else:
        startbalance = newbalance
        sleep(5)

Como se ve en el video a continuación, la luz azul en el tablero se enciende cuando aumenta el equilibrio de Ether.

Hacer parpadear una luz en un microcontrolador es una tarea de desarrollo simple. Ahora piense en los posibles casos de uso de IOT (Internet de las cosas) que se pueden resolver al combinar contratos inteligentes y hardware. La lista de posibilidades es interminable.

  • Comprar un producto en una máquina expendedora
  • Alquilar una unidad de almacenamiento o un casillero
  • Pagar un parquímetro para estacionar su auto
  • la lista es interminable
Leer también  Ethereum se prepara para alcanzar nuevos máximos históricos, Shiba Inu (SHIB) está preparado para obtener ganancias duplicadas, pero el comerciante predice una carrera parabólica para esta nueva moneda Meme

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones