Especial Hard Fork — Linux y Raspberry Pi

Qtum Español
8 min readOct 9, 2020

--

Jackson Belove

Sep 10

En este blog, analizamos el hard fork de Qtum mainnet en el bloque 680,000 el 28 de agosto de 2020. Este hard fork agregó cambios de protocolo y consenso para activar el staking fuera de línea y fue una actualización obligatoria para las billeteras Qtum Core Qtum-Qt (el escritorio GUI wallet) y qtumd (la billetera del servidor de línea de comandos). No se requirieron actualizaciones para otros tipos de billeteras (billeteras móviles, billeteras de hardware, etc.) y no se crearon nuevas monedas.

TL; DR El hard fork para Qtum versión 0.19.1 agregó capacidad de staking fuera de línea, lo que permite la delegación de direcciones y los súper stakers. La billetera Qtum Core ahora se puede operar como un súper staker para recibir delegaciones de direcciones de otros y stake sus UTXO. El hard fork ocurrió en el bloque 680,000 el 28 de agosto de 2020 a las 7:11 pm GMT y solo se aplicó a las billeteras Qtum Core Qtum-Qt y qtumd, no a otras billeteras. Si bien las billeteras actualizadas hicieron el hard fork automáticamente, los usuarios que no se actualizan a tiempo vieron sus billeteras desconectadas de la red principal, no pueden realizar transacciones y (para las billeteras de staking) pueden ver sus monedas staked en una cadena dividida. donde son difíciles de recuperar. No hay ninguna moneda nueva del hard fork, pero hay una buena posibilidad de perder monedas temporalmente por apostar billeteras que no se actualizaron a tiempo.

Cómo sucede el Hard Fork

La versión 0.19.1 de Qtum Core incluía el nuevo software hard fork, esperando a ser activado cuando la blockchain alcanzara el bloque 680,000, donde todas las nuevas características se activaban automáticamente.

Dado que las versiones anteriores de la billetera ya no funcionarían en la red después de el hard fork, todos estos pares de versiones anteriores se desconectaron de la red; las billeteras de versiones anteriores fueron prohibidas automáticamente por la activación de el hard fork.

Tenga en cuenta que con la actualización a la versión 0.19.1 de Qtum, otros cambios, como la función UTXO divididos, estaban disponibles de inmediato, y las nuevas funciones de hard fork simplemente esperaban que la blockchain alcanzara el bloque de activación de hard fork. Cambiar a las nuevas funciones es una decisión fácil para las billeteras. En pseudo-code se ve así:

if block_number < hard_fork_activation_block:

. . . usa las características antiguas

Mas:

. . . utilizar las nuevas funciones

Esta lógica es sencilla y se ha utilizado en muchas blockchains.

Este dibujo muestra el hard fork. En el bloque 680,000, los nodos actualizados comenzaron a usar las nuevas funciones y desconectaron a los pares de versiones anteriores. Si hay nodos (billeteras) que ejecutan versiones anteriores, pueden (desafortunadamente) stake algunos bloques antes de que muera la cadena dividida. Si ejecutó una billetera de una versión anterior que no se actualizó a tiempo y se perdió el hard fork, consulte la sección Recovery a continuación.

Si olvidó el hard fork con su billetera de la versión anterior, notará estos síntomas:

  1. Sincronizando con el último bloque, pero ese bloque está detrás de lo que muestra el explorador, por miles de bloques.
  2. Las transacciones enviadas a la billetera nunca llegan, a pesar de que se muestran en el explorador.
  3. Las transacciones enviadas desde la billetera nunca llegan a un exchange, etc.
  4. Para staking billeteras con un peso de red muy bajo.
  5. Para staking billeteras, recompensas de bloque muy altas, 80–100% del total de la billetera comprometida con los stakes.
  6. Al reiniciar la billetera, es posible que no pueda conectarse a pares de nodos completos y no pueda sincronizar la cadena dividida (atascado para siempre en “Sincronización de encabezados”), y los nuevos bloques simplemente se detendrán cuando la cadena dividida muera.

Recuperación en su Linux o Raspberry Pi si se perdió el Hard Fork

Es una buena práctica hacer una copia de seguridad nueva de su billetera antes de cualquier actualización, y puede darle al archivo wallet.dat de respaldo un nombre reconocible como “billetera antes de 0.19.1-update.dat”.

Desafortunadamente, si su billetera de la versión anterior obtuvo algunas recompensas en bloque después de el hard fork, esas apuestas estarán en la cadena dividida moribunda. Si experimentó el síntoma #5 anterior (recompensas de bloque muy altas) después de actualizar su billetera y volver a cargar la blockchain, verá su dirección de staking con un saldo normal en el Explorer pero un saldo más bajo en la billetera. ¿Qué pasó con tus monedas? Fueron estacados en la cadena dividida que su billetera ya no puede ver.

Siga estos pasos para recuperarse.

1. Haga una copia de seguridad de su billetera y actualice a la última versión

Haga una copia de seguridad de su billetera usando File — Backup Wallet … o haga una buena copia del archivo wallet.dat. Para Linux, descargue e instale la última versión de la billetera desde https://qtumeco.io/wallet. Raspberry Pi, configura para usar el repositorio (por ejemplo, instalado desde la imagen) usa el comando:

actualización de sudo apt && actualización de sudo apt

2. Eliminar la blockchain

Después de hacer una copia de seguridad de su archivo wallet.dat, actualice su billetera a la versión 0.19.1, elimine su copia local de la blockchain y vuelva a sincronizar toda la blockchain.

Elimina tu copia local de blockchain con estos pasos.

1. Salga de la billetera (Archivo — Salir para Qtum-Qt y el comando de parada para qtumd).

2. Navegue a su directorio de datos de Qtum (configuración predeterminada):

Linux /home/<user name>/.qtum

Raspbian /home/pi/.qtum

3. Elimine las carpetas “blocks”, “stateQtum”, “database” y el archivo “banlist.dat”.

Eliminar bloques de carpetas, chainstate, stateQtum, eliminar archivo banlist.dat

4. Inicie su billetera y deje que sincronice toda la blockchain.

Alternativamente, puede usar el nuevo comando de inicio “deleteblockchaindata” que se puede usar desde la línea de comando con qtumd como “-deleteblockchaindata” y con Qtum-Qt seleccionando Archivo — Restaurar Wallet — eliminar datos de blockchain y reiniciar.

Archivo — Restaurar billetera — eliminar datos de blockchain

Después de seleccionar “eliminar datos de blockchain”, haga clic en los botones “Confirmar” y “Reiniciar” para salir de la billetera. Luego, reinicie la billetera y resincronizará toda la blockchain.

Con qtumd ingrese:

./qtumd –deleteblockchaindata

2B. invalidateblock/reconsiderblock

El usuario Uni Sayo contribuyó con otra forma de recargar solo una parte de la blockchain, que es una buena manera de actualizar la blockchain local para eliminar cualquier blockchain dividida para billeteras que no se actualizaron a tiempo. El ejemplo muestra los comandos CLI para la billetera del demonio qtumd, pero estos comandos también se pueden ingresar en la consola de la billetera GUI Qtum-Qt.

Uni Sayo escribió:

No es necesario eliminar toda la blockchain para recuperarse de una inconsistencia de índice de bloque.

Como se indica en el artículo, si no ha actualizado a su cliente antes del Hard Fork, lo más probable es que esté en una cadena dividida y su cliente eventualmente dejará de sincronizar.

Para recuperarse, hay una función incorporada para manejar específicamente esta situación.

1. Actualice la billetera a la última versión e inicie la billetera.

2. Invalide el hash de bloque del bloque # 679999 (ingrese este comando en una sola línea):

./qtum-cli invalidateblock 29f0c1bf7382e8475cae39f89040a6a036761327f4b90cd138affd7cd88d0010

3. Espere un minuto para que la billetera revise y rebobine los bloques. Luego reconsidere el hash de bloque de # 679999 (ingrese este comando en una sola línea)

./qtum-cli reconsiderblock 29f0c1bf7382e8475cae39f89040a6a036761327f4b90cd138affd7cd88d0010

Después de hacer lo anterior, su nodo restablecerá su mejor altura de bloque al bloque # 679998 y comenzará a sincronizarse con la cadena principal.

3. Zap Your Wallet

Puede recuperar monedas staked en la cadena dividida “eliminando” las malas transacciones. El comando “zapwallettxes = 2” le dice a la billetera que cancele estas transacciones y no restaure ningún metadato relacionado. Usando el comando “zapwallettxes” al inicio, Qtum-Qt mostrará “Reescaneando …” (qtumd no mostrará nada) durante unos minutos (o más, dependiendo de su computadora) y luego se iniciará. Las billeteras no responderán a los comandos mientras se vuelven a escanear. Cuando las carteras finalmente comiencen, las monedas faltantes deberían restaurarse. La mayoría de las veces, este procedimiento de zapping a continuación restaurará sus monedas; de lo contrario, comuníquese con el soporte técnico en los canales de redes sociales de Qtum.

Puede ingresar este comando desde el menú Qtum-Qt, la línea de comando o el archivo de configuración (no se muestra). Tenga en cuenta que este comando solo se puede usar al iniciar la billetera y no se ingresa después de que la billetera se está ejecutando.

A. Menú Qtum-Qt

Este enfoque solo funciona para Qtum-Qt.

A1. Puede configurar para eliminar su billetera al reiniciar seleccionando Archivo — Restaurar billetera — zapwallettxes = 2, luego Aceptar y SÍ para salir de la billetera y reiniciar la billetera.

Archivo — Restaurar billetera — zapwallettxes = 2

Cuando se reinicia, la billetera Qtum-Qt mostrará el estado “Reexplorando …” durante unos minutos (o más dependiendo de su computadora) y luego se iniciará normalmente.

B. La línea de comandos

Este enfoque funciona tanto para Qtum-Qt como para qtumd.

Si se siente cómodo usando la Terminal para las entradas de comandos, abra la Terminal y cambie los directorios al directorio de archivos del programa de la aplicación, e inicie la billetera con los comandos para su configuración como se indica a continuación.

Tenga en cuenta que hay un espacio en blanco y un solo guión antes de “zapwallettxes = 2” a continuación.

B1. Ubuntu Qtum-Qt, con Qtum instalado en Desktop / Qtum / qtum-0.19.1, desde el indicador “<nombre de usuario>: ~ $”

cd Desktop/Qtum/qtum-0.19.1/bin

./qtum-qt -zapwallettxes=2

B2. Ubuntu qtumd, con Qtum instalado en Desktop / Qtum / qtum-0.19.1, desde el indicador “<nombre de usuario: ~ $”

cd Desktop/Qtum/qtum-0.18.1/bin

./qtumd -zapwallettxes=2

Raspbian (Raspberry Pi)

B3. Raspbian Qtum-Qt, con Qtum instalado en Desktop / Qtum / qtum-0.19.1, desde el indicador “<nombre de usuario>: ~ $”

cd Desktop/Qtum/qtum-0.19.1/bin

./qtum-qt -zapwallettxes=2

B4. Raspbian qtumd, con Qtum instalado en Desktop / Qtum / qtum-0.18.1, desde el indicador “<nombre de usuario: ~ $”

cd Desktop/Qtum/qtum-0.19.1/bin

./qtumd -zapwallettxes=2

B5. Raspbian Qtum-Qt: instalado desde la imagen, desde el indicador “qtum @ raspberrypi: ~ $”

cd /user/local/bin

./qtum-qt -zapwallettxes=2

--

--

No responses yet