Aprende a como instalar un nodo de Ethereum usando Geth y Docker
Cómo instalar geth en windows
Contenidos
No depende de que los nodos resuelvan problemas matemáticos arbitrariamente difíciles, sino que utiliza un conjunto de “autoridades”, nodos a los que se permite explícitamente crear nuevos bloques y asegurar la cadena de bloques. La cadena debe ser firmada por la mayoría de las autoridades, en cuyo caso pasa a formar parte del registro permanente. Esto facilita el mantenimiento de una cadena privada y la rendición de cuentas de los emisores de bloques.
Para la configuración de consorcios no hay desventajas de la red PoA en comparación con PoW. Es más segura (ya que un atacante con una conexión no deseada o una autoridad pirateada no puede saturar una red revirtiendo potencialmente todas las transacciones), menos intensiva computacionalmente (la minería con dificultad que proporciona seguridad requiere mucho cálculo), más performante (el consenso Aura proporciona una latencia de aceptación de transacciones más baja) y más predecible (los bloques se emiten a intervalos de tiempo constantes). Los despliegues de PoA son utilizados por la empresa y por el público (por ejemplo, la popular red de prueba Kovan).
¿Cómo se instala Geth Ethereum?
En Windows, la instalación de Geth es tan sencilla como extraer geth.exe del sistema operativo elegido. La página de descarga proporciona un instalador, así como un archivo zip. El instalador pone geth en su PATH automáticamente. El archivo zip contiene los archivos de comandos .exe y se puede utilizar sin instalar.
¿Puedo gestionar mi propio nodo Ethereum?
Cualquiera puede gestionar un nodo, ni siquiera se necesita ETH. No es necesario apostar ETH para gestionar un nodo.
¿Es Geth un nodo completo?
En el momento de escribir estas líneas (septiembre de 2022) se recomienda un SSD de 2 TB para un nodo completo que ejecute Geth y un cliente de consenso. El propio Geth requiere más de 650 GB de espacio en disco para un nodo completo sincronizado y, con el tamaño de caché predeterminado, crece unos 14 GB a la semana.
Geth docker
Tabla de contenidosYa utilizo Bitcoin Core para estudiar. Puedes ver cómo lo he ido instalando. Sin embargo, con el auge de Web3, una de las palabras de moda más famosas que circulan actualmente por internet, pensé que era el momento de dar un paso más en algo diferente, como entender cómo funciona Ethereum para poder interactuar con él para crear aplicaciones. Como siempre me ha funcionado, tiendo a repasar la práctica mientras leo la documentación de una cosa. Para evitar hacer las cosas a ciegas ya que el tema es totalmente diferente a los que estoy acostumbrado, leo todos los temas fundamentales sobre el desarrollo de Ethereum antes de tocar nada.
Así, en la página de Nodos y Clientes, entendí que necesitaba una aplicación cliente para ejecutar un nodo por mi cuenta, más o menos como necesita Bitcoin, y hay muchas opciones. Entonces, ¿cuál debería elegir? Sólo por enumerar algunas:
Sólo porque es la implementación original del protocolo Ethereum, elegí Go Ethereum (Geth para abreviar). Además, es el cliente más extendido, así que es una buena idea empezar con algo sólido y conocido.
Geth docker-compose
Existen varios métodos para generar cuentas en Geth. Este tutorial muestra cómo generar cuentas usando Clef, ya que se considera la mejor práctica, en gran parte porque desacopla la gestión de claves de los usuarios de Geth, haciéndolo más modular y flexible. También puede ejecutarse desde memorias USB seguras o máquinas virtuales, lo que ofrece ventajas de seguridad. Por comodidad, este tutorial ejecutará Clef en el mismo ordenador en el que también se ejecute Geth, aunque existen opciones más seguras (ver aquí).
Una cuenta es un par de claves (pública y privada). Clef necesita saber dónde guardar estas claves para poder recuperarlas más tarde. Esta información se pasa a Clef como argumento. Para ello se utiliza el siguiente comando:
La función específica de Clef que genera nuevas cuentas es newaccount y acepta un parámetro, –keystore, que le indica dónde guardar las claves recién generadas. En este ejemplo, la ubicación del almacén de claves es un nuevo directorio que se creará automáticamente: geth-tutorial/keystore.
Nodo completo Geth
Esto lanzó una consola geth, en la que puedo comprobar la información del nodo utilizando comandos como admin.nodeInfo, etc. En este punto, he intentado añadir el primer nodo utilizando el siguiente comando: admin.addPeer(“enode://@127.0.0.1:30303”), que devuelve true.
EDIT 24/04/2016 – OP tiene los directorios de datos que se crearán en el directorio raíz (/). Esto requerirá permiso de superusuario (root). Es mejor almacenar el directorio de datos dentro de su directorio personal. Utilice $HOME/tempdatadir1 en lugar de /tempdatadir1. Por defecto, geth creará su directorio de datos en $HOME/.ethereum.
En su pregunta, usted ha mapeado 127.0.0.1:30303 para ser accedido externamente a través del puerto 30303. La dirección IP 127.0.0.1 es una dirección localhost que normalmente no permite la comunicación desde fuera del sistema operativo. Por favor, compruebe las direcciones IP no-127.0.0.1 utilizando ifconfig -a dentro de sus contenedores Docker para determinar cuáles son sus direcciones IP no-localhost. Intente utilizar estas direcciones IP para comunicarse a través de los contenedores Docker.