Bitcoin python tutorial

Bitcoin python tutorial

Dogecoin

A diferencia de las bolsas de valores tradicionales, como la de Nueva York, que tienen un horario de negociación fijo, las criptodivisas se negocian las 24 horas del día, lo que hace imposible que alguien pueda controlar el mercado por sí mismo.
La solución habitual es utilizar un bot de trading de criptomonedas que coloque las órdenes por ti cuando estés haciendo otras cosas, como dormir, estar con tu familia o disfrutar de tu tiempo libre. Hay muchas soluciones comerciales disponibles, pero yo quería una opción de código abierto, así que creé el bot de criptocomercio Pythonic. Como escribí en un artículo introductorio el año pasado, «Pythonic es una herramienta de programación gráfica que facilita a los usuarios la creación de aplicaciones en Python utilizando módulos de funciones ya hechos». Se originó como un bot de criptomoneda y tiene un extenso motor de registro y partes bien probadas y reutilizables como programadores y temporizadores.
Este tutorial práctico le enseña cómo empezar con Pythonic para el comercio automatizado. Utiliza el ejemplo de operar con Tron contra Bitcoin en la plataforma de intercambio Binance. Elijo estas monedas por su volatilidad entre ellas, más que por cualquier preferencia personal.

Bitcoin

Encuentro fascinante el blockchain porque extiende el desarrollo de software de código abierto a código abierto + estado. Esto parece ser una innovación genuina/excitante en los paradigmas de la computación; no sólo llegamos a compartir el código, llegamos a compartir un ordenador en funcionamiento, y cualquier persona en cualquier lugar puede utilizarlo de una manera abierta y sin permisos. Podría decirse que las semillas de esta revolución empezaron con Bitcoin, por lo que sentí curiosidad por profundizar en ella con cierto detalle para comprender intuitivamente su funcionamiento. Y en el espíritu de «lo que no puedo crear no lo entiendo», ¿qué mejor manera de hacerlo que implementarlo desde cero?
Vamos a crear, firmar digitalmente y emitir una transacción de Bitcoin en puro Python, desde cero y con cero dependencias. En el proceso vamos a aprender bastante sobre cómo Bitcoin representa el valor. Vamos a por ello.
Primero queremos generar una nueva identidad criptográfica, que no es más que un par de claves privadas y públicas. Bitcoin utiliza Criptografía de Curva Elíptica en lugar de algo más común como RSA para asegurar las transacciones. No voy a hacer una introducción completa a la ECC aquí porque otros han hecho un trabajo significativamente mejor, por ejemplo, encontré la serie de entradas del blog de Andrea Corbellini como un recurso excepcional. Aquí sólo vamos a escribir el código, pero para entender por qué funciona matemáticamente tendrías que ir a través de la serie.

Retroalimentación

Normalmente, una cadena de bloques se refiere a una tecnología de libro mayor distribuido que constituye una «cadena de bloques». Cada bloque de la cadena de bloques tiene un hash del bloque anterior, una marca de tiempo y los datos de la transacción, lo que la hace a prueba de manipulaciones.
Según Elliot Minns, que tiene más de seis años de experiencia en el desarrollo de software y utiliza proyectos prácticos para enseñar a crear criptomonedas, «aprender a crear una cadena de bloques te ayudará a entender cómo funcionan las monedas digitales como Bitcoin y Ethereum y cómo puedes extrapolar la tecnología para acelerar las capacidades de tus aplicaciones.»
Esto es lo que le da a la blockchain la inmutabilidad. Dado que cada bloque estará representado por un hash, que se calculará a partir del hash del bloque anterior, corromper cualquier bloque de la cadena hará que los demás bloques tengan hashes inválidos, lo que provocará la ruptura de toda la red de blockchain.
Todo el concepto de una cadena de bloques se basa en el hecho de que los bloques están «encadenados» entre sí. Ahora, crearemos una clase blockchain que desempeñará el papel crítico de gestionar toda la cadena.

El dinero de bitcoin

Satoshi Nakamoto creó la primera moneda virtual del mundo llamada Bitcoin. En vista del éxito de Bitcoin, muchos otros crearon sus propias monedas virtuales. Por nombrar algunas: Litecoin, Zcash, etc.
El cliente es el que va a comprar bienes de otros vendedores. El propio cliente puede convertirse en un vendedor y aceptará dinero de otros a cambio de los bienes que suministre. Asumimos aquí que el cliente puede ser tanto proveedor como receptor de TPCoins. Por lo tanto, crearemos una clase cliente en nuestro código que tenga la capacidad de enviar y recibir dinero.
El minero es el que recoge las transacciones de un pool de transacciones y las ensambla en un bloque. El minero tiene que proporcionar una prueba de trabajo válida para obtener la recompensa de la minería. Todo el dinero que el minero recoja como recompensa será para él. Puede gastar ese dinero en la compra de bienes o servicios de otros vendedores registrados en la red, de la misma manera que lo hace un Cliente descrito anteriormente.

Acerca del autor

Marta

Ver todos los artículos