Skip to content
Snippets Groups Projects
Commit d786a574 authored by Mariano  Absatz - el Baby's avatar Mariano Absatz - el Baby
Browse files

traduzco el README.md

parent 9a16272b
No related branches found
No related tags found
No related merge requests found
# Blockchain Federal Argentina
## Website: https://www.bfa.ar/
## Repo: https://gitlab.bfa.ar/blockchain/nucleo.git
## Sitio web: https://www.bfa.ar/
## Repositorio: https://gitlab.bfa.ar/blockchain/nucleo.git
This guide should work on Debian derived systems. Tested on *Debian* and *Ubuntu Server* with no GUI to be installed in either.
Esta guía debería funcionar en Debian o sus derivados. Testeado en *Debian* y *Ubuntu server* sin la GUI instalada en ninguno de ellos.
1. Install `git`
- as root: `apt install git`
2. Clone the official BFA repository
1. Instalá `git`
- como root: `apt install git`
2. Cloná el repositorio oficial BFA
- `git clone https://gitlab.bfa.ar/blockchain/nucleo.git bfa`
3. Run the installation script. This will change settings on your system. If you are worried (you should be?), then you could run this step by step manually.
- as root: `bfa/bin/installbfa.sh`
You will see a lot of warnings when installing web3. This seems to be "normal". Ignoring those errors seems not to cause problems.
4. Switch to user `bfa`
- as root: `su - bfa`
5. Start synchronizing. Synchronizing can take a while. (This script is automatically run at system restart.)
- as bfa: `start.sh`
7. Monitor the logs with `bfalog.sh`. Press CTRL-C at any time to stop the `tail -f`.
8. Change your node's settings with `admin.sh syncmode`
- Do this before you have synced too much in the step before, as it might remove all your downloaded chain data and restart synchronizing the chain.
9. Wait for it to finish synchronizing.
10. Run `maymine.sh` to update your configuration (detects if you are allowed to seal/mine or not). You can run this as often as you wish. If you try to mine/seal but is not allowed, your log will show errors (but no harm done).
11. Simple super basic tools (more actual proof of concepts, to inspire programmers):
- `explorer.sh` : It follows "latest" by default, but you can specify a block number as argument, e.g. `explorer.sh 0` to see genesis (block 0).
- `walker.pl` : Also takes a blocknumber to start from. Keeps waiting for new blocks.
There are other "interesting" programs in the bin/ and src/ directories, but for developers, probably the `dev` branch is more interesting.
3. Ejecutá el script de instalación. Esto cambiará algunas configuraciones en tu sistema. Si te preocupa (¿debería?), podés ejecutar este paso manualmente.
- como root: `bfa/bin/installbfa.sh`
Van a aparecer varios *warnings* mientras se instala web3. Esto parece ser "normal". Ignorarlo no parece causar problemas.
4. Cambiá al usuario `bfa`
- como root: `su - bfa`
5. Comenzá la sincronización. Esto puede llevar un rato largo (este script se ejecuta automáticamente cuando se reinicia el sistema).
- como bfa: `start.sh`
6. Monitoreá los logs con `bfalog.sh`. Apretá CTRL-C en cualquier momento para detener el `tail -f`.
7. Cambiá la configuración de tu nodo usando `admin.sh syncmode`
- Hacé esto antes de haber sincronizado mucho en el paso anterior, ya que esto podría remover todos los datos de la cadena que hayas bajado y reiniciar la sincronización de la cadena.
8. Esperá a aque termine de sincronizar
9. Ejecutá `maymine.sh` para actualizar tu configuración (detecta si estás autorizado a sellar/minar o no). Podés ejecutar esto todas las veces que quieras. Si tratás de sellar y no tenés permiso, van a aparecer errores en el log (pero no se rompe nada).
10. Herramientas simples super básicas (más bien pruebas de concepto, para inspirar a los programadores):
- `explorer.sh` : Sigue el bloque más nuevo "*lastest*" por default, pero podés especificar un número de bloque cualquiera como argumento, por ejemplo `explorer.sh 0` permite ver el génesis (bloque 0).
- `walker.pl` : También toma un número de bloque para iniciar. Sigue esperando nuevos bloques.
Hay otros programas "interesantes" en los directorios `bin/` y `src/`, pero para los desarrolladores, el branch `dev` es más intersante.
## start.sh
Starts a node for you on the BFA Ethereum net.
Inicia un nodo para vos en la red BFA Ethereum.
## attach.sh
Connects you to the CLI of your running local geth (fails if it is not already running).
Te conecta a la línea de comandos (CLI) del `geth` que está corriendo en tu máquina local (falla si no hay un `geth` corriendo).
## compile.and.deploy.contract
Compiles and deploys a contract to the blockchain. A local account must already have ether to pay for the tx.
Compila y despliega un *smart contract* a la blockchain. Debe haber una cuenta (*account*) local que tenga suficiente Ether para pagar por la transacción.
Argument 1 is the filename of the contract to compile.
Argumento 1 es el nombre de archivo del *smart contract* a compilar.
Example: `compile.and.deploy.contract src/TimestampAuthority.sol`
Ejemplo: `compile.and.deploy.contract src/TimestampAuthority.sol`
## explorer.sh
Simple script to look at blocks
Scritp simple para mirar bloques
## walker.pl
Shows one line per block being sealed in the network, then waits for the next block.
Muestra una línea por bloque que se va sellando en la red, luego espera hasta el siguiente bloque.
## rewind.sh
If your local node seems stuck and still connected, then you can try
this tool, and it'll back up a few blocks on the chain and try to catch
up from there. It really shouldn't happen, but it was seen a few times
when there were few sealers, that some nodes could get stuck on a side
fork.
Si tu nodo local parece clavado y sigue conectado, podés probar esta
herramienta que va a regroceder algunos bloques en la cadena y tratar
de retomar desde allí. Realmente no debería pasar, pero hemos visto
algunas veces, mientras había pocos selladores, que algunos nodos se
trababan en un *side fork*.
## log.sh
Takes stdin and rotates it over a limited number of log files. We pipe
the output from `geth` into `log.sh`, so we still can read the log.
Toma `stdin` y lo rota sobre una cantidad limitada de archivos de log.
Mandamos la salida de `geth` a través de un *pipe* a `log.sh` para poder
leer el log.
## sendether.sh
If you wish to give someone Ether, this script might be useful.
Script para mandar Ether a alguien.
## MasterDistiller.js
Manages a deployed Distiller contract. It'll show registered users and their
set "allowance".
Administra un *smart contract* de la Destilería ya desplegado. Va a mostrar
las cuentas registradas y la cantidad de Ether configurada ("*allowance*") de
cada una de ellas.
## sealeradd.sh / sealerrem.sh
When a sealer operator votes to promote or demote a sealer, this script
does most of the typing. Takes a single argument, being the account number
of the sealer which is being voted for.
Cuando un operador de un sellador vota para promover o remover un sellador,
este script hace la mayor parte. Toma un solo argumento, el número de la
cuenta del sellador por el cual se vota.
## monitor.sh
This is being run every minute from `cron.sh`. It will update a file
in `network/status` showing very basic network information.
Esto se corre cada minuto desde `cron.sh`. Actualizará el un archivo
en `network/status` que muestra información de la red muy básica.
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