Cómo ejecutar un nodo Cartesi

Guia paso a paso para montar y ejecutar tu propio nodo

Sandy Ariel
Cartesi en Español
10 min readJan 19, 2021

--

Aviso: Al ejecutar el software de referencia de Cartesi, usted acepta las licencias de código abierto presentes en nuestro Github. Para obtener más información, consulte https://github.com/cartesi/noether/blob/master/LICENSE.

Aunque el software ha sido probado y auditado, ejecútelo bajo su propio riesgo.

En este artículo, veremos cómo montar y ejecutar nuestro propio nodo y participar en el programa de Staking de Cartesi. Para aquellos en busca de una alternativa más sencilla haciendo uso de un servicio de VPS, en la sección 7 incluimos los pasos para montar un nodo a traves de Heroku.

Al asegurar tus tokens y ejecutar un nodo correctamente, recibirás recompensas en CTSI por cada bloque que produzcas. Estas recompensas provienen de una reserva de tokens destinadas a la minería de CTSI, de ahí que este sistema de minería haya sido denominado CTSI-Reserve Mining.

Este sistema está diseñado para impulsar la creación de una red de nodos Cartesi y selecciona a los productores de bloques de forma aleatoria, de acuerdo con la cantidad de tokens que cada participante haya depositado en el contrato de participación. En la versión actual, los bloques se crean vacíos, sin datos de transacción. Pero en el futuro, con el lanzamiento de Noether (la sidechain de cartesi para el almacenamiento de datos temporales), las DApps podrán usar esta cadena para enviar transacciones con un alto rendimiento y a bajo costo. La ruta hacia Noether incluirá nuevas versiones del software de referencia que hace posible la ejecución de los nodos, lo que requerirá que los operadores mantengan sus sistemas actualizados.

El sistema de Staking de Cartesi corre sobre Ethereum. Cada bloque es reclamado On-chain por su productor, y esto requiere que el nodo en cuestión gaste gas para ejecutar dicha transacción (reclamo). Es por ello que al momento de configurar tu nodo deberás fondearlo con suficiente ETH para todo su ciclo de vida operativo. Más abajo te mostraremos cómo hacerlo.

Si tu nodo llegase a encontrarse inactivo, fuera de línea o con fondos en ETH insuficientes, este no podrá producir bloques y, por lo tanto, no podrá obtener recompensas. Sin embargo, estas fallas nunca causarán reducciones en los tokens inicialmente depositados (Slashing). Esto asegura que el capital inicial nunca está en riesgo y podrás recuperarlo en cualquier momento a través del explorador de Cartesi.

Todas las recompensas asociadas con los bloques que produzca tu nodo se distribuyen directamente a tu billetera ERC-20 personal y, por lo tanto, no están sujetas a ningún tipo de bloqueo.

Información relacionada:

CTSI Reserve Mining — Cómo funciona el modelo de minería de Cartesi.

La red de Cartesi y su token nativa CTSI.

El algoritmo del sistema de staking de Cartesi y su codigo fuente.

1. Instala Docker

Empieza por instalar la máquina de Docker en tu ordenador. https://docs.docker.com/engine/install/

2. Ejecuta el nodo de Cartesi

Ejecuta los siguientes comandos. Estos descargaran, instalaran y ejecutaran el programa de referencia de Cartesi.

Cuando se inicia el nodo, este crea una nueva billetera Ethereum y solicita una contraseña de encriptado. Luego sondea la cadena de bloques esperando a un usuario que lo reclame. Las siguientes líneas (output log lines) deberían aparecer en tu consola.

La dirección única que observas debe mantenerse confidencial hasta el momento de reclamar tu nodo.

Más detalles sobre cómo ejecutar o personalizar tu nodo Ethereum, en la sección 6 a continuación. Si deseas utilizar un servicio de alojamiento en la nube y configurar tu nodo fácilmente, consulta la sección 7.

3. Uso de Cartesi Explorer para Staking

Antes de comenzar, asegúrese de utilizar uno de los siguientes navegadores: Chrome, Brave, Firefox o MS Edge.

Navega hasta la siguiente URL: https://explorer.cartesi.io

Busca el botón azul en el encabezado del sitio web. En caso de que Metamask aún no esté instalado en su navegador, este botón deberá decir “Install Metamask”. Si ese es el caso, dirígete a https://metamask.io e instálalo.

Una vez que Metamask esté instalado, el botón azul en el encabezado debería mostrar el texto “Conect to Wallet”. Haz clic en el botón y selecciona la billetera Ethereum que contiene los CTSI que deseas depositar. Recuerda que también necesitaras suficientes fondos en ETH en la misma billetera para luego transferirlos al nodo, a continuación te explicamos como.

Ahora, navega a esta página de Staking: https://explorer.cartesi.io/staking

Aquí deberás establecer un “Allowance”. Esta será la cantidad máxima de CTSI que el contrato de participación de Cartesi podrá recibir de tu cuenta personal. Haz clic en el icono de lápiz y verás el siguiente panel:

Ingresa la cantidad de Allowance, haz clic en “Approve” y espera a que la transacción haya sido confirmada on-chain.

Al finalizar, deberás ver el valor que has ingresado, como en el siguiente ejemplo.

A continuación, ingresa la cantidad que deseas depositar en “Amount to Stake” y haz clic en “Stake”. Espera un tiempo para que la transacción se confirme en la red de Ethereum.

Una vez confirmada la transacción, los fondos depositados pasarán a un estado de maduración. Se necesitan algunas horas para que tu Stake alcance la madurez. Podrás ver tus tokens en la barra de “Maturing” junto con un temporizador de cuenta regresiva.

Ten en cuenta que siempre que tengas tokens en proceso de maduración e intentes depositar más, el temporizador se reiniciara junto con los nuevos fondos agregados.

Después de seis horas, verás que tu saldo “Maturing” es de cero y los fondos depositados aparecerán en la barra “Stake”. Solo hasta ese momento serás efectivamente elegible para producir bloques.

4. Reclama tu nodo

En este punto, tu nodo ya se está ejecutando y ya has asegurado tus fondos usando el explorador de Cartesi.

Ahora, solo debes reclamar este nodo para que comience a trabajar para ti. Al hacerlo, tu cuenta se asocia con ese nodo exclusivamente. Esto también autorizará al contrato de staking a aceptar llamadas del nodo en tu nombre.

Primero, ve a la terminal donde iniciaste el nodo y busca su dirección donde dice:

Por supuesto, verás un hash diferente que representara tu propia dirección. Selecciona y copia la dirección de tu nodo en el portapapeles (Ctrl-C o Comando-C).

De vuelta en la página de staking (https://explorer.cartesi.io/staking), haz clic en el campo “Click to hire node”. Un panel se expandirá y te mostrará un campo donde deberás pegar la dirección que copiaste antes.

Ahora pega la dirección en este campo (Ctrl-V o Comando-V) y espera a que finalice el proceso. Después de un rato, deberás ver los siguientes campos en el mismo panel:

Llegado este punto, debes especificar la cantidad de ETH que deseas enviar a tu nodo. El nodo cuenta con una billetera Ethereum separada y un par de llaves, y solo gasta su ETH cada vez que produce bloques. Esto significa que solo incurrirá en gastos de tarifas de transacción cuando seas recompensado con CTSI.

El costo de transacción deberá ser alrededor de 156,000 gas cada vez que tu nodo produzca un bloque.

A medida que tu nodo produzca con éxito más y más bloques, tu saldo de ETH disminuirá y es posible que deba reponerse. En todo caso, siempre puedes volver a esta pantalla para recargar tu saldo.

El día que ya no desees participar en el programa de Staking, puedes hacer clic en el botón “Retire” y todos los fondos ETH restantes en poder del nodo se transferirán a tu cuenta personal de Ethereum. Ten en cuenta que el nodo debe estar activo para poder recibir la solicitud en la Blockchain y responder enviándote los fondos.

Una vez que el nodo ha sido retirado, no se puede reutilizar. Si más adelante deseas participar en el programa de Staking, necesitarás un nuevo nodo con una nueva dirección.

5. Unstaking — retirando tus tokens

Cuando desees retirar tus fondos de participación, usa la pestaña “Unstake” e ingresa la cantidad que deseas retirar.

Ten en cuenta que tus fondos tardan 48 horas en desbloquearse. Al momento de retirar tus fondos, estos pasan a un estado de liberación y verás un temporizador que muestra cuánto tiempo queda para el desbloqueo. Al final de ese tiempo, la barra con tu monto que inicialmente mostraba la leyenda “Releasing”, cambiara a “Released” y con ello, la opción de retirar tus CTSI a tu cuenta personal.

Ten en mente que si deseas retirar más fondos mientras aún tengas un saldo en liberación, el temporizador se reiniciara junto con los nuevos fondos a retirar y el saldo en liberación anterior.

6. Personalizando tu nodo Ethereum

Para facilitar los procedimientos de instalación del nodo, nuestro software de referencia está configurado para usar Ethereum Gateway de Cloudflare de forma predeterminada.

Anteriormente, en la sección 2 te indicamos ejecutar:

Esto iniciará un contenedor Docker llamado `cartesi_noether`, y también creará un volumen local Docker llamado `cartesi_wallet`.

Este contenedor se conecta a un nodo Ethereum especificado con el parámetro `- url`, que en el comando anterior es `eth.cartesi.io`, un CNAME para el Cloudflare Ethereum Gateway.

Se puede usar cualquier nodo de Ethereum reemplazándolo por una URL local “geth” u otro servicio proporcionado por un tercero, como Infura o Alchemy.

Por ejemplo, en el caso de utilizar un nodo remoto Infura, ejecutarías:

Donde <project_id> deberá ser reemplazado por el id de tu proyecto Infura.

7. Ejecutando tu nodo a través de Heroku

Si quieres una alternativa VPS rápida y sencilla, aquí la tienes.

Existe una forma sencilla de utilizar Heroku para ejecutar un nodo. Perp primero necesitarás crear una cuenta.

Una cuenta gratuita te dará 550 dinamómetros por mes, lo cual no es suficiente para ejecutar tu nodo 24x7. Por ello deberás agregar una tarjeta de crédito a tu cuenta y obtener más de 450 horas al mes.

Una vez que hayas configurado tu cuenta con Heroku, haz clic aquí. Esto te llevará a una pantalla similar a la siguiente donde podrás crear tu nodo.

Ahora debes ingresar un nombre en el campo “App name”, por ejemplo, (tu nombre)-cartesi.

Luego, desplázate hacia abajo y haz clic en el botón “Deploy app” y ¡Listo!

Heroku tardará unos segundos en crear la aplicación. Cuando el proceso esté completo, deberá aparecer una pantalla similar a la que se muestra a continuación.

En este punto, tu nodo ya se encuentra en ejecución y solo necesitas averiguar su dirección Ethtereum. Para ello, debes hacer clic en el botón “Manage App”, el cual te lleva a la página de tu aplicación. En el menú superior, selecciona “More” y luego “View Logs”. Allí encontrarás la dirección del nodo. Copia esa dirección y pégala en la página de Staking del explorador de Cartesi, como se explicó anteriormente.

Heroku no proporciona almacenamiento en disco persistente, por lo que no podemos almacenar la billetera encriptada con ellos. En su lugar, usamos algo llamado random seed creada por Heroku durante la implementación y almacenada en las variables de entorno de la aplicación. Ten en cuenta que esta no es la solución más segura, pero una vez reclamado el nodo, este solo trabajará para ti. Los fondos resguardados en el nodo deben mantenerse en un nivel solo para la producción de bloques.

Para obtener más información: https://github.com/cartesi/noether

Si tienes dudas, encuéntrenos en Discord: https://discordapp.com/invite/Pt2NrnS

Puedes hacer tus pregunta en el canal ctsi-reserve-mining y haremos todo lo posible para ayudarte.

¡Feliz Staking!

Acerca de Cartesi

The Blockchain OS, está construyendo Cartesi Rollups, una capa de ejecución modular que eleva los contratos inteligentes simples a tiempos de ejecución Linux descentralizado. Permite a los desarrolladores lanzar cadenas de rollups altamente escalables, y codificar su lógica descentralizada con sus lenguajes y componentes de software favoritos.

  • Cada DApp tiene su propia cadena de rollups de alto rendimiento;
  • No hay canibalización de recursos de otras DApps en el ecosistema de Cartesi;
  • No hay gentrificación de la red;
  • Permite una clase completamente nueva de DApps que actualmente no son posibles en cadenas EVM;
  • Preserva las fuertes garantías de seguridad de la cadena de bloques subyacente.

Bienvenid@ a The Blockchain OS, el hogar de lo que viene.

Sigue a Cartesi en sus canales oficiales (Inglés):

Telegram Announcements | Telegram | Discord (Development Community) | Reddit | Twitter | Github | StackOverflow | LinkedIn | Facebook | Instagram | Youtube | Cartesi Improvement Proposal (CIP) | Website

Únete a la conversación en Español:

Telegram | Twitter

Esta es una traducción y adaptación para la comunidad hispana de Cartesi.

Artículo originalmente publicado en el blog oficial de Cartesi: https://medium.com/cartesi/running-a-node-and-staking-42523863970e

La información presentada aquí no constituye un consejo de inversión ni una oferta para invertir. Las declaraciones, puntos de vista y opiniones expresadas en este artículo son únicamente las del autor/empresa.

--

--

Sandy Ariel
Cartesi en Español

Nómada Cryptonauta, promotor de tecnologías descentralizadas en pro de la libertad, la privacidad, la educación y la sustentabilidad.