Cómo configurar un nodo testigo de CREA

Si has llegado hasta aquí es por que estas interesado en formar parte de la red de testigos que sostienen la red de CREA.¡Bravo! Estás en el lugar correcto. Aquí podrás encontrar paso a paso todas las indicaciones necesarias para llegar a convertirte en un testigo electo en este protocolo de consenso. Puedes conocer la lista de testigos que operan en la red en los siguientes enlaces.
creascan.net/witnesses
creary.net/~witness

En CREA la producción de bloques se realiza en rondas. En cada ronda se seleccionan por democracia directa 25 testigos ( nodos) gracias al voto de los usuarios de la red. El objetivo principal de los testigos es crear y firmar bloques de transacciones. Veinticuatro 24 de estos testigos son elegidos por votación y el número 25 es seleccionado de entre todos aquellos testigos que no se ubicó entre los primeros 24. Los 25 testigos activos se barajan en cada ronda para evitar que cualquier testigo ignore constantemente los bloques producidos por el mismo testigo colocado en una posición anterior. El protocolo reparte a los testigos un 15% del total de las recompensas emitidas anualmente.

¿Qué implica ser testigo de la red?

Un testigo es una figura muy importante para la red de CREA, Un testigo representa a todos aquellos usuarios de la red que han depositado su voto y confianza para que les represente.
Ser confiable es la primera norma que un testigo debe cumplir para que la comunidad le vote. Por esta razón un testigo debe asegurarse que su servidor está siempre operativo y no falla nunca.

Un testigo ha de tener amor por su tarea y estar al día de lo últimos desarrollos e implementaciones que se propongan para la red de CREA para poder actualizar su nodo y estar preparado para un posible actualización en la red.

Un testigo ha de tener conocimientos de command-line, saber gestionar la configuración y el mantenimiento de un servidor, si no estás familiarizado con estas tareas quizás se convierta en algo complicada para tí. Pero no te preocupes, si en algún paso del tutorial te ves algo perdido o tienes alguna duda, podrás encontrar ayuda por parte de la comunidad en el canal de Wetnesses en Discord.

A modo de crowdfunding los testigos también pueden pedir el voto de la comunidad para poder financiar algún desarrollo que tenga un retorno colectivo. Por ejemplo una DAPP o cualquier iniciativa o herramienta de código abierto que aporte una mejora al ecosistema de CREA. Para ello es conveniente aportar un link al proyecto para que la comunidad pueda valorar la iniciativa antes de votar por el testigo que la promueve.

1. Consiga un servidor.


Ten en cuenta que la principal misión de un testigo es firmar un bloque de transacciones y esta tarea debe completarse de forma rápida y eficiente.

Las siguientes especificaciones son los requisitos mínimos para un testigo confiable.
CPU: Dual core @ 2GHz o superior por núcleo.
Memory: 4GB (8 GB para estar preparado para el futuro)
Bandwidth: 1 Gbit/s
Storage: Minimo , 25 GB. Recomendado 50GB para el futuro.

Tenga en cuenta que con el tiempo estos requisitos pueden cambiar.
Es común que los testigos alquilen un servidor en un proveedor de alojamiento como OVH, Contabo o Hetzner. Siempre podrás usar tu propia máquina, pero ten en cuenta la responsabilidad que tienes como testigo.

2. Protege el servidor

Si estás usando un servidor, es recomendable deshabilitar el acceso SSH con contraseña. Es muy común que recibas ataques de fuerza bruta por parte de hackers a través de SSH en tu servidor.

Para mitigar estos ataques, te recomendamos acceder a través de clave pública:

2.1 Crea una clave SSH protegida por contraseña para usar en la conexión a tu servidor.

Copy to Clipboard

2.2 Copia el contenido de ~/.ssh/id_rsa.pub en una línea en ~/.ssh/authorized_keys en tu servidor o usa el comando:

Copy to Clipboard

Deberás escribir la contraseña de acceso en  el prompt.

2.3 Prueba la conexión usando la clave pública ssh. Esto es vital para deshabilitar el inicio de sesión con contraseña en el siguiente paso.

2.4 Desactiva la autenticación por contraseña de SSH en el servidor. Edita el archivo /etc/ssh/sshd_config, busca una línea que dice #PasswordAuthentication yes y cámbiala por PasswordAuthentication no. Guarda los cambios y reinicia el servicio ssh:

Copy to Clipboard

3. Instala las dependencias y el software

A medida que Crea evoluciona, esta información puede quedar desactualizada. Puedes encontrar las últimas instrucciones en el Repositorio de Crea en GitHub

Para instalar las dependencias ejecuta los siguientes comandos:

Copy to Clipboard

Descarga y actualiza a la última versión estable el código fuente del nodo de Crea:

Copy to Clipboard

Y finalmente compila e instala el software:

Copy to Clipboard

4. Configura cli_wallet

El cli_wallet no es estrictamente necesario para ser un testigo, pero esta guía lo utiliza para automatizar la actualización del precio, por lo que queremos asegurarnos de que esté configurado correctamente.

Ejecuta cli_wallet. Como aún no tenemos un nodo en ejecución, nos conectaremos a los nodos administrados por @creary.

Copy to Clipboard

cli_wallet ejecuta una consola interactiva. Primero necesita establecer una contraseña:

Copy to Clipboard

Luego importe su clave privada ACTIVE, que puede encontrar en su página de perfil en https://creary.net/@my-user/wallet, sección Permisos.

Copy to Clipboard

5. Configura Cread

Ejecute cread desde la carpeta de inicio para crear el archivo de configuración predeterminado; después de unos segundos, deténgalo presionando Ctrl + C.

Copy to Clipboard
Copy to Clipboard

Ahora hay una carpeta llamada .cread que contiene el archivo de configuración predeterminado config.ini. Este es el archivo que necesita ser editado.

Establezca la configuración de testigo en el archivo de configuración a su nombre de testigo. Para la mayoría esto es simplemente su nombre de @usuario en creary:

Copy to Clipboard

Nota: Se requieren las comillas que rodean el nombre del testigo.
La clave privada se puede generar usando cli_wallet.

Copy to Clipboard

Obtendrá una nueva clave privada, similar a la siguiente:

Copy to Clipboard

Importante: Guarde esta información en un lugar seguro.
Copie la clave wif_priv_key desde la salida a la configuración de clave privada en el archivo de configuración.

Copy to Clipboard

6. Run the witness

Necesitamos que cread se ejecute automáticamente cada vez que se reinicie la máquina, y que se reinicie cada vez que ocurra un error.

Hay algunas opciones para esto y esta guía usa supervisor.

Supervisor se instala de forma predeterminada, pero si no es así, puede instalarlo utilizando apt-get:

Copy to Clipboard

Habilite el inicio de supervisor con el inicio del sistema:

Copy to Clipboard

Cree el archivo /etc/supervisor/conf.d/cread.conf con el siguiente contenido, reemplazando .

Copy to Clipboard

Reinicie el supervisor para que use el nuevo archivo de configuración:

Copy to Clipboard

También puede iniciar y detener cread manualmente con el siguiente comando:

Copy to Clipboard

Para monitorear el estado de todos los procesos administrados por el supervisor, use el siguiente comando:

Copy to Clipboard

7. Difunde tu intención de convertirte en un testigo

El último paso es transmitir su intención de convertirse en testigo de la red.
Inicie cli_wallet y use el comando update_witness:

Copy to Clipboard

Su testigo se está ejecutando y ha transmitido su intención. ¿Ahora qué?


8.Consigue votos de la comunidad CREA

Cuanto mayor sea el total de VESTS que tengas de los votos, mayor será tu posición en el ranking de testigos. Si alcanzas una posición entre los 24 primeros testigos serás seleccionado en cada una de las rondas. 

Para conseguir votos primero tienes que convertirte en un testigo digno de confianza. Si trabajas de forma eficiente y tu servidor se comporta según las expectativas de la red no será difícil que te conviertas pronto en un testigo de confianza.

No existe una fórmula para ganar votos fácilmente. Como en cualquier red social adquirir una buena reputación siempre será positivo, para ello intenta demostrar a la comunidad de Crearians que eres una persona válida para encargarte de la importante tarea de ser un testigo en la red de CREA.