diff --git a/README.md b/README.md index 3f70b7f9728c69b29a2394e79b3421be56001aab..5cec14b4c95c092fb8cf36e68ea25aeb0ea0f5ed 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,16 @@ Una vez instalado, podés correr varios dockers a la vez. Si ves el aviso la solucion posible está en [https://docs.docker.com/install/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities] +### Instalando Podman + +Si usas Fedora empeza con: + +``` +sudo dnf -y install podman +``` + +Para otros sistemas podes guiarte con estas instrucciones [https://podman.io/getting-started/installation] + ### Instalando tu bfanodo Una vez que tenes Docker instalado, podes instalar tu propio nodo de BFA: @@ -46,7 +56,7 @@ bash start.sh test ### Caracteristicas -El **bfanodo** es un container/Docker que se puede descargar y correr en tu +El **bfanodo** es un *container* con **Podman** or **Docker** en que se puede descargar y correr en tu propia servidor, maquina virtual o datacenter. Se levanta como un nodo transaccional, **sin cuentas**, abierto a todo el mundo (o solamente a tu red, si usas NAT o/y firewall). @@ -56,16 +66,15 @@ directamente no publicar los puertos 8545 y 8546 (anclarlos únicamente a 127.0. `-p` en `start.sh`. Como se puede apreciar en el ejemplo aquà abajo, los puertos 30303/tcp, 8545/tcp y 8546/tcp estan abiertos al -mundo (0.0.0.0 = INADDR_ANY). +mundo (0.0.0.0 = INADDR_ANY). Usando **docker** o **podman** ``` -$ docker container port bfanodo +$ [docker|podman] container port $container_name 30303/tcp -> 0.0.0.0:30303 8545/tcp -> 0.0.0.0:8545 8546/tcp -> 0.0.0.0:8546 ``` - -Es importante entender que si tu servidor incluye otros dockers, se pueden conectar con el parametro `--link`, -como se puede ver aqui: +En el caso de **docker**, si tu servidor incluye otros contenedores, se pueden conectar con el parametro `--link`, +como se puede ver aqui usando **docker** ``` $ docker run --rm -it --link bfanodo alpine env | grep BFANODO_PORT | sort BFANODO_PORT_30303_TCP_ADDR=172.17.0.2 @@ -87,7 +96,7 @@ BFANODO_PORT_8546_TCP=tcp://172.17.0.2:8546 BFANODO_PORT=tcp://172.17.0.2:8545 ``` Los puertos de los otros dockers están disponibles, sin usar -`--link` . Pero no van a estar publicados en las variables del entorno. +`--link` . Pero no van a estar publicados en las variables del entorno usando **docker** ``` $ docker run --rm alpine sh -c "date | nc 172.17.0.2 8545" ; echo HTTP/1.1 400 Bad Request @@ -100,36 +109,37 @@ Connection: close ### Cuentas -Una leccion aprendida durante el primer año de BFA es que el `geth` -normalmente no necesita una cuenta asociada (esto obviamente es distinto si -se utiliza como nodo sellador). +Una leccion aprendida durante el primer año de BFA es que el `geth` normalmente no necesita una +cuenta asociada (esto obviamente es distinto si se utiliza como nodo sellador). -Las cuentas deben estar asociadas a las applicaciones que se conectan al -nodo. Esto hace que el sistema sea más seguro, y que **cada applicacion -necesite su propia cuenta**. +Las cuentas deben estar asociadas a las applicaciones que se conectan al nodo. Esto hace que el +sistema sea más seguro, y que **cada applicacion necesite su propia cuenta**. -Si queres crear la cuenta con `geth` en tu docker y exportarla a la vez, podes -hacerlo con el comando (ojo que los ` no son '): +Si queres crear la cuenta con `geth` en tu docker y exportarla a la vez, podes hacerlo con el +comando (ojo que los ` no son '): ``` -docker run --rm -v `pwd`:/casa -u `id -u` bfaar/nodo geth --keystore /casa account new --password /dev/null +$ [docker|podman] run --rm -v `pwd`:/casa -u `id -u` bfaar/nodo geth --keystore /casa account new --password /dev/null ``` -Esto va a generar el archivo con la llave en la -carpeta en donde estas actualmente (el `pwd`). -Es **super importante** tomar un copia/backup de el archivo con la llave -generada, antes de empezar usarla en la cadena. +Esto va a generar el archivo con la llave en la carpeta en donde estas actualmente (el `pwd`). +Es **super importante** tomar un copia/backup de el archivo con la llave generada, antes de +empezar usarla en la cadena. ### Registros / logs Estos comandos pueden brindar mas informacion sobre tu bfanodo (y hasta darte un shell): ``` -$ docker stats bfanodo -$ docker logs bfanodo -$ docker exec bfanodo localstate.pl -$ docker exec -it bfanodo bash +$ [docker|podman] stats $container_name +$ [docker|podman] logs $container_name +$ [docker|podman] exec $container_name localstate.pl +``` +Para ingresar a la terminal del nodo podemos hacerlo asà +``` +$ [docker|podman] exec -it $container_name bash ``` ### Crear -Para crear el docker se utilizó el script `build.sh`. Por favor, no lo uses si no sabés como funciona todo. +Para crear el docker se utilizó el script `build.sh**. Por favor, no lo uses si no sabés como funciona todo. +**Warning!** aún no está adaptado para usar **podman**.