# Wallet CLI — Windows y Ubuntu

La wallet C++ RX1 está integrada en `fenruned`. `fenrune-cli` envía comandos a tu nodo local. No necesitas crear una cuenta en una web.

Descargas: <https://fenrune.com/>. Consulta [paquetes y estado](README.md). Usa el ZIP Windows o Ubuntu `20261101-initial20k-maturity40`, que incluye daemon, CLI y wallet GUI. Esta guía arranca **mainnet**; el apartado final explica testnet.

## 1. Arrancar el nodo

Extrae el paquete completo. En Windows, abre PowerShell en la carpeta de `fenruned.exe` y ejecuta:

```powershell
.\fenruned.exe -server
```

Mantén esa ventana abierta. Abre una segunda ventana de PowerShell en la misma carpeta para ejecutar los comandos de la wallet.

En Ubuntu, extrae con `unzip` para conservar los enlaces de las bibliotecas. Abre una terminal en la carpeta de los ejecutables:

```bash
chmod +x fenruned fenrune-cli fenrune-qt fenrune-tx
./fenruned -server -daemon
```

No abras al mismo tiempo `fenrune-qt` y `fenruned` sobre el mismo directorio de datos. Si ya usas la GUI, puedes habilitar su RPC con `-server` y utilizar el CLI como cliente, sin arrancar otro daemon.

## 2. Comprobar red y sincronización

Windows:

```powershell
.\fenrune-cli.exe -rpcwait getblockchaininfo
.\fenrune-cli.exe getconnectioncount
.\fenrune-cli.exe getwalletinfo
```

Ubuntu:

```bash
./fenrune-cli -rpcwait getblockchaininfo
./fenrune-cli getconnectioncount
./fenrune-cli getwalletinfo
```

`chain` debe ser `main`. Comprueba conexiones, altura, cabeceras e `initialblockdownload`; contrasta la altura con un nodo o explorer de confianza. Una wallet recién creada puede generar direcciones sin peers, pero no puede acreditar el estado de una red pública sin sincronizarla.

Los seeds configurados son `seed.fenrune.com` y `seed1.fenrune.com`. Su activación y el lanzamiento público deben anunciarse. Si tienes cero conexiones, confirma en Discord los peers RX1 vigentes. Para añadir uno anunciado, sustituye el ejemplo:

```powershell
.\fenrune-cli.exe addnode "PEER_MAINNET:29333" add
```

```bash
./fenrune-cli addnode "PEER_MAINNET:29333" add
```

Esto añade el peer a la sesión actual. Para solicitarlo en cada arranque, inicia el nodo con `-addnode=PEER_MAINNET:29333`. Usa un host/IP real de la misma red y versión. El puerto P2P no es el puerto RPC.

## 3. Crear una dirección de cobro

En el primer arranque sin una wallet existente, el nodo crea una wallet con 12 palabras. Genera una dirección:

```powershell
.\fenrune-cli.exe getnewaddress "mineria"
```

```bash
./fenrune-cli getnewaddress "mineria"
```

Copia la dirección devuelta para recibir FNRN o configurarla en tu minero. La versión actual usa direcciones Base58; no una dirección con el antiguo prefijo `fenrune:` o `fenrunetest:`.

## 4. Guardar recuperación y cifrar

Consulta tus palabras en un lugar privado, sin grabar ni compartir la salida:

```powershell
.\fenrune-cli.exe getmywords
```

```bash
./fenrune-cli getmywords
```

Anota `word_list` en orden y la `passphrase` de recuperación si existe. Esa extensión de la semilla y la contraseña que cifra el archivo de wallet son cosas distintas. Una wallet ya cifrada debe desbloquearse antes de consultar las palabras. Las claves que importes por separado pueden requerir su propia copia de seguridad.

Para cifrar sin escribir la contraseña como argumento de un comando:

```powershell
.\fenrune-cli.exe -stdin encryptwallet
```

```bash
./fenrune-cli -stdin encryptwallet
```

Escribe tu contraseña en una línea y pulsa Enter. Después termina la entrada: **Ctrl+Z y Enter en PowerShell**, o **Ctrl+D en Ubuntu**. La entrada puede verse en pantalla. No publiques capturas de esta operación.

El cifrado **cierra el daemon**. Espera a que termine y vuelve a arrancarlo con el comando del paso 1. Haz una copia de seguridad nueva después del cifrado.

## 5. Crear una copia del archivo de wallet

Windows:

```powershell
New-Item -ItemType Directory -Force "$env:USERPROFILE\Fenrune-backups" | Out-Null
.\fenrune-cli.exe backupwallet "$env:USERPROFILE\Fenrune-backups\wallet-backup.dat"
```

Ubuntu:

```bash
mkdir -p "$HOME/Fenrune-backups"
./fenrune-cli backupwallet "$HOME/Fenrune-backups/wallet-backup.dat"
```

Usa un nombre nuevo para cada copia y guarda otra copia fuera del equipo. No la subas a Discord. Los paquetes Windows y Ubuntu usan versiones distintas de Berkeley DB; para cambiar de plataforma, conserva el backup original y utiliza una restauración de las palabras en una wallet nueva compatible, verificando después direcciones y saldo. Las palabras no sustituyen el backup de claves importadas, etiquetas y otros datos locales.

## 6. Consultar saldo e historial

Windows:

```powershell
.\fenrune-cli.exe getbalance
.\fenrune-cli.exe getwalletinfo
.\fenrune-cli.exe listtransactions "*" 10
```

Ubuntu:

```bash
./fenrune-cli getbalance
./fenrune-cli getwalletinfo
./fenrune-cli listtransactions "*" 10
```

`immature_balance` muestra recompensas propias todavía inmaduras. La coinbase necesita **40 bloques posteriores**, aproximadamente 40 minutos al ritmo objetivo; contando su propio bloque son 41 confirmaciones. Una transferencia normal recibe su primera confirmación cuando entra en un bloque y la espera adicional depende del receptor. Los saldos pendientes de una pool se consultan en la pool hasta que esta efectúe el pago.

## 7. Enviar FNRN

Si la wallet está cifrada, desbloquéala:

```powershell
.\fenrune-cli.exe -stdin walletpassphrase
```

```bash
./fenrune-cli -stdin walletpassphrase
```

Introduce la contraseña y Enter, luego `120` y Enter, y termina la entrada igual que al cifrar. La wallet quedará desbloqueada hasta 120 segundos. Sustituye el destinatario y comprueba el importe; se usa punto decimal:

```powershell
.\fenrune-cli.exe sendtoaddress "DIRECCION_FNRN_DESTINO" 0.01
.\fenrune-cli.exe walletlock
```

```bash
./fenrune-cli sendtoaddress "DIRECCION_FNRN_DESTINO" 0.01
./fenrune-cli walletlock
```

`walletlock` es para wallets cifradas. El envío devuelve un TXID. Consulta su estado con `gettransaction "TXID"` usando el mismo CLI. Se necesita saldo gastable y comisión suficiente; la comisión final depende del tamaño y la política de la wallet, no es una cantidad fija por cualquier envío.

## 8. Cerrar y usar testnet

Cierra de forma ordenada:

```powershell
.\fenrune-cli.exe stop
```

```bash
./fenrune-cli stop
```

Para testnet, arranca con `-testnet` y añade ese mismo parámetro a **todos** los comandos del CLI:

```powershell
.\fenruned.exe -testnet -server
# En otra ventana:
.\fenrune-cli.exe -testnet -rpcwait getblockchaininfo
.\fenrune-cli.exe -testnet getnewaddress "mineria"
.\fenrune-cli.exe -testnet addnode "PEER_TESTNET:39333" add
```

```bash
./fenruned -testnet -server -daemon
./fenrune-cli -testnet -rpcwait getblockchaininfo
./fenrune-cli -testnet getnewaddress "mineria"
./fenrune-cli -testnet addnode "PEER_TESTNET:39333" add
```

`chain` será `test`. Testnet necesita un peer real RX1: el ejemplo no proporciona uno. Si usas `-datadir` personalizado, añádelo tanto al nodo como a todos los comandos de su CLI.

Sin `-datadir`, los datos están en `%APPDATA%\Fenrune` en Windows y `~/.fenrune` en Ubuntu; testnet usa su subcarpeta `testnet-rx1`. La autenticación RPC local emplea una cookie: no es necesario inventar credenciales ni abrir RPC a Internet.

## 9. Restaurar una copia de seguridad

Para una copia `.dat` compatible con el build de tu sistema, detén primero el nodo. Utiliza un directorio nuevo, sin sobrescribir la wallet original. Este ejemplo restaura mainnet; para testnet añade `-testnet` y coloca la copia como `testnet-rx1/wallet.dat` dentro del directorio nuevo.

Windows, después de sustituir la ruta del backup:

```powershell
New-Item -ItemType Directory "$env:USERPROFILE\Fenrune-restaurada"
Copy-Item "C:\RUTA\wallet-backup.dat" "$env:USERPROFILE\Fenrune-restaurada\wallet.dat"
.\fenruned.exe -server "-datadir=$env:USERPROFILE\Fenrune-restaurada" -rescan
```

Ubuntu:

```bash
mkdir "$HOME/Fenrune-restaurada"
cp /RUTA/wallet-backup.dat "$HOME/Fenrune-restaurada/wallet.dat"
./fenruned -server -daemon -datadir="$HOME/Fenrune-restaurada" -rescan
```

Elige otro nombre si el directorio ya existe; no continúes copiando encima de una wallet existente. Añade el mismo `-datadir` al CLI para consultar la wallet restaurada. Deja sincronizar y comprueba tus direcciones, transacciones y saldo antes de usarla.

Para recuperar mediante las 12 palabras desde el CLI, en vez de copiar un `.dat`, prepara un directorio nuevo y su archivo privado `fenrune.conf` **antes del primer arranque**. Introduce tus palabras reales solo en tu equipo:

```ini
bip44=1
mnemonic=LAS_DOCE_PALABRAS_ORIGINALES_EN_ORDEN
```

Si la wallet tenía extensión de semilla, añade `mnemonicpassphrase=TU_EXTENSION_ORIGINAL`. Arranca con ese `-datadir` como en el ejemplo anterior y espera la sincronización. La extensión no es la contraseña de cifrado. Tras verificar la recuperación y respaldarla, detén el nodo, retira las líneas `mnemonic` y `mnemonicpassphrase` de la configuración y vuelve a arrancar. No compartas ese archivo ni lo incluyas en paquetes de soporte.
