diff --git a/README.md b/README.md index 4f2ea6030f72ac683edbf89313d5493778db35c5..711c4d9db8e724decd3aaafa98e466158a6e1b3c 100644 --- a/README.md +++ b/README.md @@ -17,15 +17,18 @@ Esta guÃa deberÃa funcionar en Debian o sus derivados. Testeado en *Debian* y 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). +5. Crea una cuenta + - como bfa: `admin.sh account` +6. 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` +7. Monitoreá los logs con `bfalog.sh`. Apretá CTRL-C en cualquier momento para detener el `tail -f`. +8. 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. Herramientas simples super básicas (más bien pruebas de concepto, para inspirar a los programadores): +9. Esperá a aque termine de sincronizar +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. + - `walker.pl` : También toma un número de bloque para iniciar. Sigue esperando nuevos bloques. + - `sealerwatch.pl` : Mira cuando los selladores firman. Hay otros programas "interesantes" en los directorios `bin/` y `src/`, pero para los desarrolladores, el branch `dev` es más intersante y tambien el @@ -41,14 +44,6 @@ Inicia un nodo para vos en la red BFA Ethereum. 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 - -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. - -Argumento 1 es el nombre de archivo del *smart contract* a compilar. - -Ejemplo: `compile.and.deploy.contract src/TimestampAuthority.sol` - ## explorer.sh Scritp simple para mirar bloques @@ -57,6 +52,10 @@ Scritp simple para mirar bloques Muestra una lÃnea por bloque que se va sellando en la red, luego espera hasta el siguiente bloque. +## sealerwatch.pl + +Muestra cuando los selladores sellan bloques. Tiene amarillo y colorado para mostrar cuando algo no es optimo. + ## rewind.sh Si tu nodo local parece clavado y sigue conectado, podés probar esta @@ -97,4 +96,13 @@ tiene clave, se puede poner la clave con este script. Esto se corre desde `cron.sh`. Cada minuto actualizará el archivo `network/status` que muestra información del estado del nodo muy básica. Tambien habilita sellar/minar si la cuenta (eth.accounts[0]) esta permitido -segun la red. Desbloqua cuentas si no tienen passwords. \ No newline at end of file +segun la red. Desbloqua cuentas si no tienen passwords. + +## compile.and.deploy.contract + +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. + +Argumento 1 es el nombre de archivo del *smart contract* a compilar. + +Ejemplo: `compile.and.deploy.contract src/TimestampAuthority.sol` + diff --git a/bin/admin.sh b/bin/admin.sh index 035393395b9f6e5d827deffb2b881085b737ff7f..71934b54cd47910974123874a31e3dd564c7ab61 100755 --- a/bin/admin.sh +++ b/bin/admin.sh @@ -116,6 +116,28 @@ function admin_bootnode fi } +function create_account +{ + num=$( ls -1 ${BFANODEDIR}/keystore/*--* 2>/dev/null | wc -l ) + if [ $num -gt 0 ] + then + if [ $num -eq 1 ] + then + plural="" + else + plural="s" + fi + yesno n "You already have ${num} account${plural}. Do you wish to create an extra?" + unset plural num + if [ "$REPLY" = "n" ] + then + return + fi + fi + unset num + geth --cache 0 --datadir ${BFANODEDIR} --password /dev/null account new +} + case "$1" in bootnode) admin_bootnode @@ -123,8 +145,11 @@ case "$1" in syncmode) admin_syncmode ;; + account) + create_account + ;; *) - echo Usage: `basename $0` "{bootnode|syncmode}" + echo Usage: `basename $0` "{bootnode|syncmode|account}" trap '' ERR exit 1 esac