MASTERING BITCOIN
Tabla de contenidos:

PyBLOCK: Tablero de Bitcoin con estética Cypherpunk

🐰 Bienvenido 🎉

PyBLOCK es un administrador de nodos con estética Cypherpunk. Este manual es para instalar la versión Cropped. Esta versión no requiere que se tenga un nodo de Bitcoin, fue creada con fines educativos.

Autor

BlueMoon 🌺

Twitter para correcciones, comentarios o sugerencias: @moon33_blue 📧

El presente tutorial fue elaborado para el curso Seminario socrático de Mastering Bitcoin  a través de @libreriadesatoshi.

Requisitos mínimos

💡 Si deseas probarlo antes de instalarlo: Puedes testearlo en línea 👉 PyBLOCK

Instalación

  • Abrir terminal.
  • Ejecutar las siguientes instrucciones:
$ pip3 install pybitblock
$ pyblock

Después de ejecutar la última línea se mostrará lo siguiente:

  • Elegir la opción C:
C. 𝗣𝘆𝗕𝗟Ø𝗖𝗞 (Cropped)

PyBLOCK Cropped

PyBLOCK Cropped tiene un menú principal dividido en submenús.

El menú principal contiene los siguientes datos:

  • Uso de CPU.
  • Memoria usada.
  • Tipo de dashboard: Cropped.
  • Altura de bloque.
  • Versión:
  1. A. PyBLOCK
  2. B. Bitcoin Core
  3. L. Lightning Network
  4. P. Platforms
  5. S. Settings
  6. X. Donate
  7. Q. Exit
💡  Para salir de algún menú debe ser con enter o con CTRL + C.
1. Opción A: PyBLOCK
  • Con esta opción puedes ver la altura de bloque en la que se encuentra la red de Bitcoin actualmente.
  • Puedes dejarlo como un reloj en tu computadora, cada vez que hay un cambio de bloque se emite un sonido.

2. Opción B. Bitcoin Core
  • La opción de Bitcoin Core tiene el siguiente submenú.
Submenú Bitcoin Core
2.1. Opción A. Bitcoin-cli Console
  • Bitcoin Core proporciona una API en JSON-RPC para acceder a la red Bitcoin, con esta utilidad puedes interactuar en línea de comandos con él.
  • Para esto debes escribir help para que te muestre todos.


RPC Command: help
  • Mostrará una lista de todos los comandos RPC que puedes ejecutar.
  • Si ejecutas por ejemplo el siguiente comando:
RPC Command: getblock Comment
  • Viene una explicación de lo que hace.

2.2. Opción B. Show Genesis Block
  • Te mostrará el bloque génesis en hexadecimal.
  • Así mismo te mostrará el bloque desglosado con el que puedes conocer un poco más acerca de él.

2.3. Opción C. Show Blockchain Information

  • Esta opción te mostrará un objeto JSON con los datos que muestran la información sobre el estado del procesamiento de la cadena de bloques.
  • El comando sería el siguiente:
bitcoin-cli getblockchaininfo

2.4. Opción D. Run the Numbers
Submenú de Run the Numbers
  • Esta opción te mostrará otro submenú que contiene lo siguiente:
  1. A. Countdown Block
  2. B. Countdown Halving
  3. C. Audit
  4. D. Templates & Blocks
  5. E. Missing Transactions
  6. U. Bitcoin Unspendable
  7. R. Return
💡 La opción: A. Countdown Block solo funciona teniendo un nodo de Bitcoin.

Vayamos a las siguientes opciones 😃

2.4.2. B. Countdown Halving

  • Esta opción te muestra los bloques faltantes para el siguiente halving. Si quieres saber qué es un halving en Bitcoin puedes consultarlo aquí.
2.4.3. Opción C. Audit
  • Esta opción te mostrará el total del suministro de monedas que hay en la red de Bitcoin.
2.4.4. Opción D. Templates & Blocks
  • En esta opción podrás ver las plantillas de un bloque, una plantilla contiene la lista de transacciones no confirmadas que son utilizadas por un grupo de minería al construir un bloque.
  • Te mostrará un listado de las plantillas con los siguientes datos:
  1. - hash del bloque
  2. - mined by
  3. - height
  4. - coinbase reward
  5. - last package feerate
  6. - weight
  7. - full
2.4.5. Opción E. Missing Transactions
  • Esta opción te mostrará las transacciones que están incluidas en alguna(s) plantillas pero no se incluyeron en algunos bloques.
2.4.6. Opción U. Bitcoin Unspendable
  • La opción u muestra un listado de todas las transacciones que no se pueden gastar.
💡  Presiona enter y para regresar al menú principal con r.

Hemos terminado el submenú de Run the Numbers, vamos al siguiente 🙌.

2.5. Opción E. Decode Block

  • Con esta opción podrás decodificar un bloque en hexadecimal.
  • Escribe el bloque que desees decodificar.
Block Height: 774477
  • Podrás ver el bloque decodificado.

2.6. Opción F. Show QR from a Bitcoin Address

  • En esta opción podrás decodificar una dirección de Bitcoin
  • Para ello puedes ir a un explorador de bloques para obtener una como mempool.
⚠️ Procura siempre utilizar una VPN o el navegador de Tor para hacer estás consultas.
  • Te mostrará el QR de la dirección.
2.7. Opción G. Show Merkle Proof from a Tx
  • En esta opción podrás ver una tx decodificada en su prueba de Merkle.
  • Igual desde un explorador de bloques puedes obtener una tx. u obtener una de la opción E. Decode Block.
  • Te muestra la prueba de la raíz de Merkle de la tx con su respectivo bloque.
2.8. Opción H. Miscellaneous
Submenú de Miscellaneous
  • Esta opción te mostrará otro submenú que contiene lo siguiente:
  1. A. Ascii ₿
    B. System
    C. Dates
    D. Quotes
    P. PGP
    S. Satoshi Nakamoto
    Z. Bitcoin Strings
    R. Return
2.8.1. Opción A. Ascii ₿
  • Esta opción te muestra el logo de Bitcoin en código Ascii.
2.8.2. Opción B. System
  • Esta opción te muestra información del OS.


Con los siguientes datos:
- CPU Usage: 58.6%
- Memory Usage: 62%
- Memory Available: 3085 MB
- Disk Usage: 5.6%
2.8.3. Opción C. Dates
  • Esta opción te muestra fechas relevantes que han marcado la historia de Bitcoin.

Por ejemplo:

🎉 The Bitcoin Genesis: 2009-01-03

2.8.4. Opción P. PGP
  • Esta opción te muestra la PGP key block signature de Satoshi Nakamoto.
  • Esto lo puedes validar en el sitio oficial de Bitcoin.
2.8.5. Opción S. Satoshi Nakamoto
  • Esta opción te muestra el email que redactó Satoshi anunciando el primer release de Bitcoin así como su short id, su long id, su fingerprint y su PGP.
2.8.6. Opción Z. Bitcoin Strings
  • Esta opción muestra los Strings que están en los archivos blk.dat los cuales contienen la información de los bloques.
  • Estos Strings son mensajes en OP_RETURN mostrados.
  • Este mensaje, por ejemplo, se encuentra en el archivo blk00000.dat.

Regresamos al menú de Bitcoin Core.

2.9. Opción I. ColdCore
  • En esta opción puedes configurar tu Cold Card Wallet en caso de que tengas una, solo tienes que copiar el archivo public.txt en el directorio principal de pyblock.
2.10. Opción J. Whitepaper
  • En esta opción podrás ver el documento técnico de Bitcoin que redactó Satoshi Nakamoto y que revisó Harold Thomas Finney II.
2.11. Opción M. Moscow Time
  • Aquí podrás ver la cantidad de sats que se pueden obtener por 1 dólar al precio actual.
  • En el momento de hacer este documento:
4605 sats = 1 dólar

2.12. Opción O. OP_RETURN

Submenú de OP_RETURN
  • Esta opción te mostrará otro submenú que contiene lo siguiente:
  1. A. Send OP_RETURN
  2. B. View OP_RETURN
  3. C. View Decoded Coinbase
  4. R. Return
2.12.1. Opción A. Send OP_RETURN
  • En esta opción podrás jugar con el campo de OP_RETURN que te permite escribir mensajes en las transacciones de Bitcoin.
💡 CONSEJO: Procura escribir un mensaje significativo, ya que se quedará registrado para siempre. 😊
  • Al escribir un mensaje te generará una factura de Lightning en formato QR que tendrás que pagar.
2.12.2. Opción B. View OP_RETURN
  • Aquí podrás ver los mensajes que están en OP_RETURN.
  • Tienes que escribir una TX que esté en **OP_RETURN **para que puedas ver el mensaje.
2.12.3 Opción C. View Decoded Coinbase
  • En esta opción podrás ver las transacciones de Coinbase decodificadas.
💡 Regresar al menú de Bitcoin Core con r.
2.13 Opción Z. Stats
  • Aquí puedes ver las estadísticas de la red de Bitcoin como el total de bitcoin en circulación.
2.14 Opción Q. Hashrate
  • Aquí puedes ver el histórico de hashrate que se ha generado en los últimos ciclos de minería.
  • El hashrate se refiere a la cantidad de gasto computacional que utilizan los mineros para generar nuevas monedas de Bitcoin.
2.15 Opción U. Unconfirmed Txs
  • Esta opción te mostrará las transacciones que aún no han sido confirmadas de la mempool.
  • La mempool es un espacio reservado por nodo con 300 MB por defecto en el que toda la red guarda una copia global de las transacciones no confirmadas y al ser confirmadas se replicarán de manera inmediata en todos los nodos ya que contaban con una copia previa.
2.16. Opción S. Mempool
  • En esta opción puedes ver de manera gráfica las transacciones que están en la mempool creando posibles bloques.
  • En cuanto se confirmen se verá el bloque respectivo.
🙌  Hemos finalizado con el menú de Bitcoin Core.
3. Opción L. Lightning Network
💡 Algunas opciones de Lightning requerirán tener un nodo de Bitcoin y Lightning.
Submenú de Lightning Network
  • Esta opción te mostrará otro submenú que contiene lo siguiente:
  1. A. Lncli Console
  2. B. New Invoice
  3. C. Pay Invoice
  4. D. Make a KeySend Payment
  5. E. New Bitcoin Address
  6. F. List Invoices
  7. G. Channel Balance
  8. H. Show Channels
  9. I. Rebalance Channel
  10. J. Show Peers
  11. K. Connect Peers
  12. L. Onchain Balance
  13. M. List Onchain Transactions
  14. N. Get Node Info
  15. O. Get Network Information
  16. P. PyChat
  17. Z. Stats
  18. T. Ranking
  19. Q. LNBits List LNURL     LOCKED
  20. S. LNBits Create LNURL   LOCKED
  21. R. Return
3.1. Opción A. Lncli Console
  • En esta opción podrás ver los comandos RPC que puedes utilizar al tener tu nodo de Lightning, viene una explicación de lo que hace cada uno de ellos.
3.14. Opción N. Get Node Info
  • En esta opción podrás obtener la información de un nodo proporcionando su identificador único (public key), puedes encontrar cualquiera en el siguiente enlace.
  • Una vez que obtengas la PK.
  • Te mostrará los datos de ese nodo.
3.15. Opción O. Get Network Information
  • Podrás ver la información referente a la red de Lightning Network como:

Este apartado muestra los nodos que han aumentado y disminuido sus rangos en:

  1. Capacidad incrementada.
  2. Cuenta de canales.
  3. Capacidad reducida.
  4. Descuento de canales.
  • Los rangos se miden en periodos de un día, una semana y un mes respectivamente.
3.17. Opción Z. Stats
  • Esta opción muestra las estadísticas de la red Lightning Network.

Podrás ver entre otras cosas:

  • Número de nodos totales.
  • Canales.
  • Capacidad.
3.18. Opción T. Ranking

Aquí puedes ver la clasificación de los nodos Lightning Network en varios rangos:

  • Capacidad.
  • Conexión.
  • Liquidez.
  • Tiempo de vida.
🙌 Hemos terminado con el menú de Lightning Network.
  • Para regresar con r.
4. Opción P. Platforms
  • Esta opción nos llevará a un submenú.
⚠️ En este submenú algunas opciones requieren nodo.
4.1. Opción A. TippinMe FREE
  • Si tienes cuenta de TippinMe podrás vincularla desde aquí.
  • Solo tienes que colocar tu nombre de usuario de Twitter.
4.2. Opción B. Tallycoin FREE
  • Si tienes una cuenta de Tallycoin podrás vincularla de igual manera desde aquí.

4.3. Opción C. Mempool FREE

Submenú de Mempool FREE

Esta opción te llevará a otro submenú.

  1. A. Blocks
  2. B. Recommended Fee
  3. R. Return
4.3.1. Opción A. Blocks

En esta opción podrás ver la información del bloque actual como:

  • Block Size.
  • Block VSize.
  • Transactions.
  • Total Fees.
  • Median Fee.
4.3.2. Opción B. Recommended Fee
  • En esta opción podrás ver la fee que recomienda pagar para las transacciones.

Podrás ver:

  • Fastest Fee.
  • Half Hour Fee.
  • Hour Fee.
4.4. Opción D. CoinGecko FREE
  • Aquí podrás ver el precio de Bitcoin en dólares, euros y más.
4.5. Opción E. Rate.sx FREE
Submenú de Rate.sx FREE

Esta opción nos mostrará otro submenú con los siguientes datos:

  • A. Rate
  • B. Chart
  • R. Return
4.5.1. Opción A. Rate
  • Aquí podrás ver las tasas del precio de Bitcoin en dolores, euros y más.
4.5.2. Opción B. Chart
  • Igual que en el caso anterior, solo que gráficamente.
  • Para regresar el menú de Plataformas con r.
💡 La opción BWT, LNBits, LNPay y OpenNode requiere nodo

4.10. Opción J. SatNode

Submenú de SatNode

Esta opción te mostrará un submenú con los siguientes datos:

  1. A. Start SatNode
  2. B. Feed
  3. C. Setup
  4. S. Send a Message to Space
  5. R. Return
💡 En este submenú se empieza con la opción C

4.10.3. Opción C. Setup

  • En esta opción podrás enviar un mensaje vía Satelite.
  • Escribe y para continuar.
  • Puedes elegir la opción que desees, se sugiere usar la que viene en dafult.
    (1) RSA and RSA (default).
    (2) DSA and Elgamal.
    (3) DSA (sign only).
    (4) RSA (sign only).
    (14) Existing key from card.
  • Enter a todo lo demás y afirmar que todos es correcto.
  • Solicitará algunos datos, escribirlos como en el ejemplo.
  • Tendrás que escribir una contraseña.
  • Te regresará al menú principal.
4.10.4. Opción D. Send a Message to Space
  • Te pedirá que elijas el tipo de mensaje que deseas enviar.
  • Escribes un mensaje.
  • Te pedirá que pagues por él en milisatoshis.
  • Como no se tiene un nodo, elegimos que no.
  • Te generará una factura que deberás pagar.
  • En el momento de hacer este manual el nodo de SatNode no esta en funcionamiento.
  • El mensaje que te mostrará es como la imagen siguiente que fue tomada de los desarrolladores de PyBLOCK.
4.10.1. Opción A. Start SatNode
  • Esta opción funciona en paralelo con la opción de enviar mensaje, cuando lo envía te muestra los datos del mismo.
4.10.2. Opción B. Feed
  • Esta poción es para ver las entradas, como no funciona el nodo de SatNode no pudimos enviar el mensaje, así que no es posible visualizarlo.

Regresamos al submenú de Plataformas

4.11. Opción K. Weather
  • Aquí podrás el pronóstico del tiempo orientado a consola.
Submenú de Weather

Te mostrará un submenú con los siguientes datos:

  1. A. Version 1
  2. B. Version 2
4.11.1. Opción A. Version 1
  • Aquí podrás insertar los datos que te pone como ejemplo, puedes jugar después con otros.
  • Te mostrará la luna como se muestra a continuación. Presiona enter para continuar.
4.11.2. Opción B. Version 1
  • Igual puedes meter los datos que vienen de ejemplo.
  • El resultado será la siguiente gráfica. Solo presiona enter para regresar al menú principal.
4.12. Opción L. Arcade
  • Aquí podrás jugar desde la consola con varios videojuegos. Solo presiona enter.
  • Te dirá que te ha creado una llave ECDSA para conectarse con el servidor, solo escribe “yes”.
  • Te mostrará la lista de todos los videojuegos, solo veremos uno, elegimos el número 2.
  • Te pedirá que escojas el nivel:
  • Choose a level to start [1-9]:1
👍 ¡Listo!, ahora puedes jugar.
  • Para regresar al menú principal con ctrl + c.
4.13. Opción M. Whale Alert
  • Te mostrará un listado de los usuarios que más han adquirido Bitcoin.
  • Para regresar al menú principal solo con enter.
4.14. Opción N. Nostr
  • Nostr es un protocolo simple y abierto que permite construir redes sociales globales, descentralizadas y resistentes a la censura, entre otras aplicaciones. Aquí puedes saber más.

Te mostrará el siguiente submenú:

  1. A. Linux   x64
  2. B. Linux   arm64
  3. C. Mac     x64
  4. D. Mac     arm64 (SOON)
  5. E. Windows
  6. S. Bip39
  7. W. QR
  8. Z. Bija
  9. R. Return
  • Dependiendo del sistema operativo en el que estés deberás elegir. En este caso elegiremos Linux.
  • Tendrás que ingresar tu llave privada que previamente debiste haber generado leyendo la guía anterior.
4.15. Opción S. Braiins Pool
  • Esta opción datos acerca de la minería obtenidos de Braiins Pool.
Submenú de Braiins Pool

Te mostrará el siguiente submenú:

  1. A. Difficulty
  2. B. Hash Rate
  3. C. Pool
  4. D. History
  5. E. Miner
  6. R. Return
4.15.1. Opción A. Difficulty

Podrás ver la dificultad de minado:

  1. Block epoch: 1017
  2. Difficulty: 39156400059293
  3. Epoch block time: 530.0
  4. Estimated adjustment: 13.0
  5. Estimated adjustemnt date: 1677196800
  6. Estimated next differece: 44234917203893
  7. Previous adjustment: -0.49
  • Presiona enter para continuar.
4.15.2. Opción B. Hash Rate

Podrás ver datos acerca del Hash Rate de minería:

  1. Averiage fees per block: 0.132
  2. Current hashrate: 327.19
  3. Fees percent: 2.06
  4. Hash price: 0.081
  5. Hash rate 30: 289.67
  6. Hash value: 3.28e-06
  7. Rev. USD: 26.27
4.15.3. Opción C. Pool
  • Te mostrará estadísticas de las pools.
4.15.4. Opción D. History
  • Te mostrará el histórico hashrate de cada pool:
  • Donde:
4.15.4. Opción E. Miner
  • Esta opción solo es por si estás en un pool de minería.
  • Tendrías que poner tu clave:
4.16. Opción W. CKPool
Esta opción solo es para personas que están en el pool de Minería de CKPool.

No veremos ninguna de ellos, puesto que no tenemos datos para ingresar.

🙌 Hemos terminado, regresamos al menú de Platforms.
5. Opción S. Settings
  • Esta opción es para configurar el diseño del administrador de PyBLOCK.
  • Te mostrará un submenú como el siguiente:
  1. A. Change Logo Design  
  2. B. Change Logo Colors  
  3. C. Change Clock Colors  
  4. R. Return
5.1. Opción A. Change Logo Design
  • En esta opción podrás cambiar el diseño del encabezado de PyBLOCK.
Submenú de Change Logo Design
  • Muestra un submenú con los estilos de diseño que más te guste, solo jugaremos con uno.
  1. A. Block
  2. B. Slick
  3. C. Tiny
  4. D. Grid
  5. E. Pallet
  6. F. Shade
  7. G. Chrome
  8. H. Simple
  9. I. Simple Block
  10. J. 3D
  11. K. Simple 3D
  12. L. Huge
  13. R. Return
  • Solo presiona enter para que los cambios se apliquen.
  • El cambio se verá de la siguiente manera:
5.2. Opción B. Change Logo Colors
Submenú de Change Logo Colors
  • Te mostrará un submenú para cambiar el color del número de bloque.
  1. A. Front Color
  2. B. Back Color
  3. C. Rainbow
  4. R. Return
5.2.1. Opción A. Front Color
Submenú de Front Color
  • Te mostrará un submenú de varios colores.
  1. A. Black
  2. B. Red
  3. C. Green
  4. D. Yellow
  5. E. Blue
  6. F. Magenta
  7. G. Cyan
  8. H. White
  9. I. Gray
  10. R. Return
  • Solo jugaremos con uno.
  • Solo presiona enter para que se aplique el cambio.
5.2.1. Opción A. Front Color
5.2.2. Opción B. Back Color
  • Solo escogeremos un color.
  • Presiona enter para aplicar cambios.
5.3. Opción C. Change Clock Colors
Submenú de Change Clock Colors
  • Te mostrará otro submenú.
  1. A. Front Color
  2. B. Back Color
  3. R. Return
5.3.1. Opción A. Front Color
Submenú de Front Color
  • De igual manera te mostrará un submenú.
  1. A. Black
  2. B. Red
  3. C. Green
  4. D. Yellow
  5. E. Blue
  6. F. Magenta
  7. G. Cyan
  8. H. White
  9. I. Gray
  10. R. Return
5.3. Opción C. Change Clock Colors
  • Con la siguiente opción podrás cambiar el logo de la altura de bloque.
  • Te mostrará un submenú como el siguiente:
  1. A. Front Color
  2. B. Back Color
  3. R. Return
5.3.1. Opción A. Front Color
  • Escogeremos el mismo color que el del menú principal.
  • Quedará igual que el menú. Para verlo será en el menú principal con la opción A.
6. Opción X. Donate
  • En esta opción podrás donar a los desarrolladores si así lo deseas.
Submenú de Donate
  • Te mostrará un submenú como el siguiente:
  1. A. Developers Donation.
  2. B. Testers Donation.
  3. R. Return.
6.1. Opción A. Developers Donation
  • Esta opción te mostrará las opciones de donación para los Desarrolladores:
  1. A. Samourai PayNym.
  2. B. Bitcoin Address.
  3. C. Lightning Network.
  4. R. Return.
  • Todas las opciones te generarán un código QR.
  • Para regresar con R.
6.2. Opción B. Testers Donation
  • Esta opción te mostrará las opciones de donación para la persona que se encarga de testear la aplicación
  • Igual te mostrará las opciones de donación:
  1. A. Bitcoin Address
  2. B. Lightning Network
  3. R. Return
  • Hemos elegido la opción de Bitcoin Address.
7. Opción Q. Exit
  • Con esta opción podrás salir del sistema.