diff --git a/README.md b/README.md index da587cf1aff01a7d9288e8f7a7f82abef710c3e4..24763bd05e3ce90d425cf0526fbd757700e492d5 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,87 @@ # 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.