Skip to content
Snippets Groups Projects
Commit 6081d175 authored by 1nv1's avatar 1nv1
Browse files

Updated readme with podman command

parent 97ca4a7d
No related branches found
No related tags found
No related merge requests found
...@@ -29,6 +29,16 @@ Una vez instalado, podés correr varios dockers a la vez. Si ves el aviso ...@@ -29,6 +29,16 @@ Una vez instalado, podés correr varios dockers a la vez. Si ves el aviso
la solucion posible está en la solucion posible está en
[https://docs.docker.com/install/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities] [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 ### Instalando tu bfanodo
Una vez que tenes Docker instalado, podes instalar tu propio nodo de BFA: Una vez que tenes Docker instalado, podes instalar tu propio nodo de BFA:
...@@ -46,7 +56,7 @@ bash start.sh test ...@@ -46,7 +56,7 @@ bash start.sh test
### Caracteristicas ### 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. 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). 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. ...@@ -56,16 +66,15 @@ directamente no publicar los puertos 8545 y 8546 (anclarlos únicamente a 127.0.
`-p` en `start.sh`. `-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 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 30303/tcp -> 0.0.0.0:30303
8545/tcp -> 0.0.0.0:8545 8545/tcp -> 0.0.0.0:8545
8546/tcp -> 0.0.0.0:8546 8546/tcp -> 0.0.0.0:8546
``` ```
En el caso de **docker**, si tu servidor incluye otros contenedores, se pueden conectar con el parametro `--link`,
Es importante entender que si tu servidor incluye otros dockers, se pueden conectar con el parametro `--link`, como se puede ver aqui usando **docker**
como se puede ver aqui:
``` ```
$ docker run --rm -it --link bfanodo alpine env | grep BFANODO_PORT | sort $ docker run --rm -it --link bfanodo alpine env | grep BFANODO_PORT | sort
BFANODO_PORT_30303_TCP_ADDR=172.17.0.2 BFANODO_PORT_30303_TCP_ADDR=172.17.0.2
...@@ -87,7 +96,7 @@ BFANODO_PORT_8546_TCP=tcp://172.17.0.2:8546 ...@@ -87,7 +96,7 @@ BFANODO_PORT_8546_TCP=tcp://172.17.0.2:8546
BFANODO_PORT=tcp://172.17.0.2:8545 BFANODO_PORT=tcp://172.17.0.2:8545
``` ```
Los puertos de los otros dockers están disponibles, sin usar 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 $ docker run --rm alpine sh -c "date | nc 172.17.0.2 8545" ; echo
HTTP/1.1 400 Bad Request HTTP/1.1 400 Bad Request
...@@ -100,36 +109,37 @@ Connection: close ...@@ -100,36 +109,37 @@ Connection: close
### Cuentas ### Cuentas
Una leccion aprendida durante el primer año de BFA es que el `geth` Una leccion aprendida durante el primer año de BFA es que el `geth` normalmente no necesita una
normalmente no necesita una cuenta asociada (esto obviamente es distinto si cuenta asociada (esto obviamente es distinto si se utiliza como nodo sellador).
se utiliza como nodo sellador).
Las cuentas deben estar asociadas a las applicaciones que se conectan al Las cuentas deben estar asociadas a las applicaciones que se conectan al nodo. Esto hace que el
nodo. Esto hace que el sistema sea más seguro, y que **cada applicacion sistema sea más seguro, y que **cada applicacion necesite su propia cuenta**.
necesite su propia cuenta**.
Si queres crear la cuenta con `geth` en tu docker y exportarla a la vez, podes Si queres crear la cuenta con `geth` en tu docker y exportarla a la vez, podes hacerlo con el
hacerlo con el comando (ojo que los ` no son '): 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 Esto va a generar el archivo con la llave en la carpeta en donde estas actualmente (el `pwd`).
carpeta en donde estas actualmente (el `pwd`). Es **super importante** tomar un copia/backup de el archivo con la llave generada, antes de
Es **super importante** tomar un copia/backup de el archivo con la llave empezar usarla en la cadena.
generada, antes de empezar usarla en la cadena.
### Registros / logs ### Registros / logs
Estos comandos pueden brindar mas informacion sobre tu bfanodo (y hasta darte un shell): Estos comandos pueden brindar mas informacion sobre tu bfanodo (y hasta darte un shell):
``` ```
$ docker stats bfanodo $ [docker|podman] stats $container_name
$ docker logs bfanodo $ [docker|podman] logs $container_name
$ docker exec bfanodo localstate.pl $ [docker|podman] exec $container_name localstate.pl
$ docker exec -it bfanodo bash ```
Para ingresar a la terminal del nodo podemos hacerlo así
```
$ [docker|podman] exec -it $container_name bash
``` ```
### Crear ### 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**.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment