owned this note
owned this note
Published
Linked with GitHub
# PyBLOCK es un administrador de nodos con estética Cypherpunk.
##### tags: `Bitcoin` `MB` `PyBLOCK` `Lightninig`
:rabbit: **Bienvenido** :tada:
==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.==
[TOC]
## Autor.
**BlueMoon**.:hibiscus:
Twitter para correcciones, comentarios o sugerencias: [@moon33_blue](https://twitter.com/moon33_blue):love_letter:
El presente tutorial fue elaborado para el Curso socrático de Mastering Bitcoin a través de [@libreriadesatoshi](https://twitter.com/libdesatoshi).
## Requerimientos. :information_source:
:::info
:::success
## Si deseas probarlo antes de instalarlo:
:information_desk_person: Puedes testearlo en línea :point_right: [PyBLOCK](https://pyblock.nl/pyblock)
:::
## Instalación.
:::info
* Abrir terminal.
* Ejecutar las siguientes instrucciones:
```sass
₿ pip3 install pybitblock
₿ pyblock
```
:::
:::success
Después de ejecutar la última línea se mostrará lo siguiente: :point_down:
:::

- Elegir la opción C.
```sass
C. 𝗣𝘆𝗕𝗟Ø𝗖𝗞 (Cropped)
```

# PyBLOCK Cropped.
:::success
**PyBLOCK Cropped** tiene un menú principal dividivo en submenús.
:::
:::info
El menú principal contiene los siguientes datos: :relaxed:
* Uso de CPU.
* Memoria usada.
* Tipo de dashboard: **Cropped.**
* Altura de bloque.
* Versión.
A. PyBLOCK
B. Bitcoin Core
L. Lightning Network
P. Platforms
S. Settings
X. Donate
Q. Exit
:bulb: 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.

```sass
RPC Command: help
```
- Mostrará una lista de todos los comandos **RPC** que puedes ejecutar.

- Si ejecutas por ejemplo el siguiente comando:
```sass
RPC Command: getblock
```
- 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:
```sass
bitcoin-cli getblockchaininfo
```

### **2.4. Opción D. Run the Numbers.**

## Submenú de Run the Numbers.
:::info
:::spoiler Esta opción te mostrará otro submenú que contiene lo siguiente:
A. Countdown Block
B. Countdown Halving
C. Audit
D. Templates & Blocks
E. Missing Transactions
U. Bitcoin Unspendable
R. Return
:::

:::success
:bulb: La opción: **A. Countdown Block** solo funciona teniendo un nodo de **Bitcoin**.
:::
==Vayamos a las siguientes opciones. :smiley:==
#### **2.4.2. B. Countdown Halving.**

- Esta opción te muestra los bloques faltantes para el siguiente halvig. Si quieres saber que es un halving en Bitcoin puedes consultarlo [aquí](https://buybitcoinworldwide.com/es/bitcoin-clock/).

#### **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.

:::info
:::spoiler Te mostrará un listado de las plantillas con los siguientes datos:
- hash del bloque.
- mined by
- height
- coinbase reward
- last package feerate
- weight
- 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.

:::success
:thumbsup: Presiona **enter** y para regresar al menú principal con **r**.
:::
==El submenú de **Run the Numbers** lo hemos terminado, seguimos con el siguiente. :raised_hands:==
### **2.5. Opción E. Decode Block.**

- Con esta opción podrás decodificar un bloque en hexadecimal.
- Escribe el bloque que desees decodificar.
```sass
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](https://mempool.space/es/).
:::warning
:warning: 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.** o en 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.
:::info
:::spoiler Esta opción te mostrará otro submenú que contiene lo siguiente::blush:
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.

:::info
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:==
:::success
:tada: **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.](bitcoin.org)

### **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.

- Esto lo puedes validar en sitio oficial de Bitcoin o en [Satoshi Nakamoto Institute](https://satoshi.nakamotoinstitute.org/)

### **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 ocpíó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:
```sass
4605 sats = 1 dólar.
```

### **2.12. Opción O. OP_RETURN**
## Submenú de OP_RETURN.

:::info
:::spoiler Esta opción te mostrará otro submenú que contiene lo siguiente:
A. Send OP_RETURN
B. View OP_RETURN
C. View Decoded Coinbase
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.**

:::success
:blush: Procura escribir un mensaje significativo ya que se quedará registrado para siempre.
:::

- Al escribir un mensaje te genarará 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 este 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.
:::info
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 reifiere 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.

### **2.17. Opción PPC. PyBLOCK PooL Computer**
- En esta opción puedes empezar a minar en el pool de pyblock.
- PPC es para maquinas locales.
- PPR es para una Raspberry.
- stratum+tcp://pool.pyblock.xyz:3333.

:::success
:raised_hands: Hemos finalizado con el menú de **Bitcoin Core**.
:::
# **3. Opción L. Lightning Network.**
:::warning
:bulb: Algunas opciones de **Lightning** requerirán tener un nodo de **Bitcoin y Lightning** :relaxed:.
:::

## Submenú de Lightning Network.
:::info
:::spoiler Esta opción te mostrará otro submenú que contiene lo siguiente:
A. Lncli Console
B. New Invoice
C. Pay Invoice
D. Make a KeySend Payment
E. New Bitcoin Address
F. List Invoices
G. Channel Balance
H. Show Channels
I. Rebalance Channel
J. Show Peers
K. Connect Peers
L. Onchain Balance
M. List Onchain Transactions
N. Get Node Info
O. Get Network Information
P. PyChat
Z. Stats
T. Ranking
Q. LNBits List LNURL LOCKED
S. LNBits Create LNURL LOCKED
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 Loghtning, 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](https://amboss.space/es/).

- 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:
:::info
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, un semana y un mes respectivamente.

### **3.17. Opción Z. Stats**
- Esta opción muestra las estadísticas de la red **Lightning Network.**

:::info
Podrás ver entre otras cosas:
-Número de nodos totales.
-Canales.
-Capacidad.
:::

### **3.18. Opción T. Ranking**

:::info
Aquí puedes ver la clasificación de los nodos **Lightning Network** en varios rangos:
-Capacidad.
-Conexión.
-Liquidez.
-Tiempo de vida.
:::

:::success
:raised_hands: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ú.

:::warning
:warning: 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.
:::info
:::spoiler Esta opción te llevará a otro submenú.
A. Blocks
B. Recommended Fee
R. Return
:::

### **4.3.1. Opción A. Blocks**

:::info
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.

:::info
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 dolares, euros y más.

### **4.5. Opción E. Rate.sx FREE**

## Submenú de Rate.sx FREE.
:::info
:::spoiler Esta opcó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.

:::success
Para regresar el menú de Plataformas con **r**.*
:::
:::warning
:bulb: La opción BWT, LNBits, LNPay y OpenNode requiere nodo*
:::
### **4.10. Opción J. SatNode**

## Submenú de SatNode.
:::info
:::spoiler Esta opción te mostrará un submenú con los siguientes datos:
A. Start SatNode
B. Feed
C. Setup
S. Send a Message to Space
R. Return
:::
:::warning
:bulb: 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.

:::info
- 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 el 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. :raised_hands:==
### **4.11. Opción K. Weather**

- Aquí podrás el pronóstico del tiempo orientado a consola.
## Submenú de Weather.
:::info
:::spoiler Te mostrará un submenú con los siguientes datos:
A. Version 1
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
:::success
:thumbsup: ¡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 redes sociales globales, descentralizadas y resistentes a la censura. [Aquí](https://nostr.com/) puedes saber más.
:::info
:::spoiler Te mostrará el siguiente submenú:
A. Linux x64
B. Linux arm64
C. Mac x64
D. Mac arm64 (SOON)
E. Windows
S. Bip39
W. QR
Z. Bija
R. Return
:::
- Dependiendo del sistema operativo en el que estés deberás elegir. En este caso elegiremos Linux.

- Tendrás que ingresar tú 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](https://es.braiins.com/pool).

## Submenú de Braiins Pool.
:::info
:::spoiler Te mostrará el siguiente submenú:
A. Difficulty
B. Hash Rate
C. Pool
D. History
E. Miner
R. Return
:::

### **4.15.1. Opción A. Difficulty**

:::info
Podrás ver la dificultad de minado.
Block epoch: 1017
Difficulty: 39156400059293
Epoch block time: 530.0
Estimated adjustment: 13.0
Estimated adjustemnt date: 1677196800
Estimated next differece: 44234917203893
Previous adjustment: -0.49
:::

- Presiona enter para continuar.
### **4.15.2. Opción B. Hash Rate**

:::info
- Podrás ver datos acerca del Hash Rate de minería:
Averiage fees per block: 0.132
Current hashrate: 327.19
Fees percent: 2.06
Hash price: 0.081
Hash rate 30: 289.67
Hash value: 3.28e-06
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:

:::info
- Donde:
```mermaid
graph LR
x --> hash
y --> Dificultad
```
:::

### **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**.

:::warning
No veremos ninguna de ellos puesto que no tenemos datos para ingresar.
:::
:::success
:raised_hands:Hemos terminaado, 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:
A. Change Logo Design
B. Change Logo Colors
C. Change Clock Colors
R. Return
### **5.1. Opción A. Change Logo Design**

- En esta ocpió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.
A. Block
B. Slick
C. Tiny
D. Grid
E. Pallet
F. Shade
G. Chrome
H. Simple
I. Simple Block
J. 3D
K. Simple 3D
L. Huge
R. Return

- Solo presiona enter para que los cambios se aplican.

- 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.
A. Front Color
B. Back Color
C. Rainbow
R. Return
### **5.2.1. Opción A. Front Color**

## Submenú de Front Color.
- Te mostrará un submenú de varios colores.
A. Black
B. Red
C. Green
D. Yellow
E. Blue
F. Magenta
G. Cyan
H. White
I. Gray
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ú.
A. Front Color
B. Back Color
R. Return
### **5.3.1. Opción A. Front Color**

## Submenú de Front Color.
- De igual manera te mostrará un submenú.
A. Black
B. Red
C. Green
D. Yellow
E. Blue
F. Magenta
G. Cyan
H. White
I. Gray
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:
A. Front Color
B. Back Color
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:
A. Developers Donation.
B. Testers Donation.
R. Return.
### **6.1. Opción A. Developers Donation**

- Esta opción te mostrará las opciones de donación para los Desarrolladores:
A. Samourai PayNym.
B. Bitcoin Address.
C. Lightning Network.
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:
A. Bitcoin Address
B. Lightning Network
R. Return
- Hemos elegido la opción de **Bitcoin Address**.

# **7. Opción Q. Exit.**
- Con esta opción podrás salir del sistema.

Espero sea de gran utilidad este manual para aquel que quiera utilizar este administrador de nodos, cualquier duda me pueden encontrar en mi cuenta de Twitter como [BlueMoon](https://twitter.com/moon33_blue) o en directamente con los [desarrolladores](https://twitter.com/_PyBlock_).
**Gracias.**