Cómo desbanear un SentryNode marcado como POSE_BANNED


Los SentryNodes deben estar en funcionamiento 24/7.

La red registra la “Prueba de Servicio” con una “puntuación PoSe”, siendo la puntuación óptima “0”.
La red banea un nodo con una puntuación baja una vez que alcanza el umbral de baneo establecido.

Si tu SentryNode se encuentra en estado PoSe_Banned, hay varias medidas que puede tomar para reactivarlo y evitar que vuelva a ocurrir.

En caso de usar un proveedor de servicios de SentryNodes, pasa directamente a la sección SEGUNDA.


– SECCIÓN PRIMERA–
En caso de tener tu propio servidor o un VPS:

  • Asegúrese de que el servidor / VPS esté en un host confiable y siempre en línea.
  • Asegúrese de que el servidor / VPS cuente con los recursos dedicados y las especificaciones técnicas mínimas requeridas.
  • Asegúrese de que el nodo esté sincronizado con la cadena, y que se encuentra a la altura del bloque correcto.
    • Puedes obtener la altura del bloque de tu SentryNode puedes utilizar el comando:
      syscoin-cli getblockcount
syscoin@nexus-sentrynode:~$ syscoin-cli getblockcount
1539044

Si no está sincronizado, detenga, reinicie y re-indexe el nodo con:

Nota: Para utilizar los comandos, debes estar utilizando el usuario syscoin, y haber ejecutado previamente el comando source ~/.bashrc

  • Parar: syscoin-cli stop
    - Esperar entre 5 y 10 segundos a que syscoin-cli se cierre por completo.
  • Reindexar: syscoind -reindex

Durante el proceso de re-indexado, si ejecutamos de nuevo el comando syscoin-cli getblockcount, veremos que el número de bloque está incrementándose, lo cual indica que la re-indexación se está realizando correctamente.

syscoin@nexus-sentrynode:~$ syscoin-cli getblockcount
80524
syscoin@nexus-sentrynode:~$ syscoin-cli getblockcount
116292

Si ejecutamos el comando syscoin-cli masternode_status obtendremos que el estado actual del SentryNode es Waiting for ProTx to appear on-chain, lo cual indica que el proceso no ha terminado aún.

{
  "state": "WAITING_FOR_PROTX",
  "status": "Waiting for ProTx to appear on-chain"
}

Nota: Si por alguna razón, el proceso de re-indexación se quedase atascado en un bloque y no concluye, puedes probar con la ejecución de este comando para eliminar por completo los datos y que se ejecute una re-indexación totalmente limpia.

  • Ten en cuenta que todo el contenido del directorio .syscoin será eliminado, excepto la configuración syscoin.conf de tu SentryNode.

syscoin-cli stop && find /home/syscoin/.syscoin -mindepth 1 ! -name 'syscoin.conf' -exec rm -rf {} + && reboot

Cuando el proceso finalice, el estado habrá cambiado a Ready, y continuaremos con el siguiente paso:

{
  "state": "READY",
  "status": "Ready"
}

– SECCIÓN SEGUNDA –

:warning: NOTA IMPORTANTE: Por favor, léelo cuidadosamente, lo decimos en serio.

  • Cuando ejecutemos el comando protx_update_service, se efectuará una transacción a la cadena, por lo tanto, para evitar cualquier gasto accidental de los fondos de colateral “lo que conllevaría la pérdida de la antigüedad”, es esencial verificar que la transacción de colateral esté bloqueada en Syscoin QT siguiendo los pasos del siguiente tutorial.

Antes de continuar, nos aseguraremos que tenemos Syscoin QT totalmente sincronizada.

Utilizaremos desde la consola de QT el comando protx_update_service con algunos argumentos .

protx_update_service "proTxHash" "ipAndPort" "operatorKey" "nevmAddress" "operatorPayoutAddress" "feeSourceAddress"

Los datos obligatorios necesarios los podemos obtener desde el SentryNode y/o Syscoin QT.

Obtener argumentos desde el SentryNode:

Utilizaremos el comando syscoin-cli masternode_status

{
  "outpoint": "8ebfc22759be8b0b232d451af23b0ce5f451c3e1216304e113c3b0c03413ce-0",
  "service": "31.22.14.172:8369",
  "proTxHash": "5515aa9d6ed1fd1a6cf2f36a95b4ad1fd1a729716a5a6a9da532b308f7c8f8d05f6791",
  "collateralHash": "8eb59962543455b8b6ed10b2325a36ed1e12fc227163042113c3fc227b0c03413ce",
  "collateralIndex": 0,
  "dmnState": {
    "version": 2,
    "service": "31.22.14.172:8369",
    "registeredHeight": 1518368,
    "lastPaidHeight": 1538870,
    "collateralHeight": 1516471,
    "PoSePenalty": 692,
    "PoSeRevivedHeight": -1,
    "PoSeBanHeight": -1,
    "revocationReason": 0,
    "ownerAddress": "sys1q205mhjl8gmqjq6l32xc0gn9fn5kjzz0t9xzrpe",
    "votingAddress": "sys1qfsgpjxrrhddrpr10vjdgjcc5zt02nqf2wqxevh",
    "payoutAddress": "sys1qvp0s85s63zhx49xgjm7de7tcweenjdaypzlpyj",
    "pubKeyOperator": "a4ba7b0e99fda656490144a921c351f3fdd36000c1ee4cf5794f19f40899b9af93517a54bc97ceb60b13bf3",
    "nevmAddress": ""
  },
  "state": "READY",
  "status": "Ready"
}

Los datos que debes usar en cada uno de los argumentos obligatorios son los siguientes:

  • proTxHash = “proTxHash”
  • ipAndPort = “service”
  • nevmAddress = “nevmAddress”
    • Si no tienes una dirección EVM asociada añade manualmente "" como argumento “nevmAddress”
    • Si tienes una Wallet NEVM asociada, usa la misma Wallet que tienes asociada.
    • Más información acerca del argumento nevmAddress.
  • operatorPayoutAddress = Copiar payoutAddress o usar "" como argumento para utilizar la payoutAddress actual.
  • feeSourceAddress = (Dirección de Syscoin en QT que financiará la transacción ProTx.)
    • Si se omite usando "", este argumento toma como valor predeterminado la dirección de pago, sino, inserte la dirección de pago preferida.
    • Importante: La dirección de financiación no puede tener demasiadas transacciones pasadas (más de unos pocos cientos); de lo contrario, la transacciónprotx_update_service se rechazará por ser demasiado grande (demasiadas entradas).
  • operatorKey = BLS Key -secret- que obtuviste al generar las BLS Keys.
    (Puedes verla de nuevo desde el fichero de syscoin.conf de tu SentryNode con el siguiente comando)
    cat /home/syscoin/.syscoin/syscoin.conf | grep blsprivkey
Obtener argumentos desde Syscoin QT:
  • Deberemos habilitar la opción para ver la pestaña de Masternodes.
    • En Windows y Linux, en el menú superior de QT, pulsa en Configuración > Opciones
    • en macOS, pulsa en la barra de menú superior en Syscoin Core > Preferences.
  • Marcaremos la opción de “Show Masternodes Tab”, pulsaremos en OK, y reiniciaremos Syscoin QT.

Una vez ha arrancado de nuevo Syscoin QT, observaremos que existe una nueva pestaña llamada Masternodes.

  • Marcaremos la opción “My masternodes only” para filtrar.
  • Pulsaremos sobre una de las celdas del SentryNode con el botón secundario del ratón, y se desplegará el menú con opciones para copiar los datos necesario.

Los datos que debes copiar para usar en cada uno de los argumentos obligatorios del comando protx_update_service son los siguientes:

  • proTxHash > “Copy ProTx Hash”
  • ipAndPort = “Copy Service”
  • nevmAddress = Leer abajo
    • Si no tienes una dirección EVM asociada a tu SentryNode, al usar “Copy NEVM Address” no copiará nada, por tanto añade manualmente "" como argumento “nevmAddress”
    • Si tienes una Wallet NEVM asociada, pulsa sobre “Copy NEVM Address” para copiar la misma Wallet que tienes asociada.
    • Más información acerca del argumento nevmAddress.
    • operatorPayoutAddress = Copiar Payout Address o usar "" como argumento para usar la payoutAddress actual.
  • feeSourceAddress = (Dirección de Syscoin en QT que financiará la transacción ProTx).
    • Si se omite usando "", este argumento toma como valor predeterminado la dirección de pago, sino, inserte la dirección de pago preferida.
    • Importante: La dirección de financiación no puede tener demasiadas transacciones pasadas (más de unos pocos cientos); de lo contrario, la transacciónprotx_update_service se rechazará por ser demasiado grande (demasiadas entradas).
  • operatorKey = BLS Key -secret- que obtuviste al generar las BLS Keys, o deberá proporcionártela tu proveedor de servicios de SentryNodes.
    (Si tienes acceso a tu servidor VPS, puedes verla de nuevo desde el fichero de syscoin.conf con el siguiente comando)
    cat /home/syscoin/.syscoin/syscoin.conf | grep blsprivkey

Finalmente, desde la consola de QT enviamos el comando, y deberemos obtener el hash de una transacción como respuesta de consola.

  • Ejemplo:
protx_update_service "5515aa9d6ed1fd1a6cf2f36a95b4ad1fd1a729716a5a6a9da532b308f7c8f8d05f6791" "31.22.14.172:8369" "5686ad2508f2b42efd6dd34c096b5519f63a6e6516df8a550c3a10dd2e6f58b5" "" ""

protx_transaction

Espera unos minutos a que la transacción se confirme, y verifica en la pestaña Masternodes de Syscoin QT, si tu SentryNode aparece como Status ENABLED.


:warning: Si tienes algún problema, por favor usa el soporte en nuestro Discord abriendo un ticket de soporte