MASTERING BITCOIN
Tabla de contenidos:

Configurar wallets en Bitcoin Core

Ahora que ya tienes un nodo de bitcoin, vas a aprender a usarlo para crear carteras.

Autor

EntrePlanctonyBallenas Twitter para correcciones, comentarios o sugerencias: @entreplanctony1

El presente tutorial fue elaborado para el Seminario socrático de Mastering Bitcoin de @libreriadesatoshi

En el siguiente enlace puedes encontrar la documentación de referencia:
Setting Up Your Wallet

💡 ¿Tienes un nodo de bitcoin? En este tutorial explicamos cómo usar la línea de comando de Bitcoin Core (bitcoin-cli), por lo que debes tener un nodo de Bitcoin, también se asume que sabes cómo usar el modo testnet. Si no has instalado un nodo o no sabes cómo usar la testnet puedes hacerlo consultando el apartado "Nodos de Bitcoin" en la sección Tutoriales y Talleres

NOTA: Los ejemplos de este tutorial se corren en un nodo inicializado por configuración (bitcoin.conf) en modo testnet.
¿Qué es una wallet de Bitcoin?

Una wallet (billetera en español) de Bitcoin es el equivalente digital de una billetera física en la red Bitcoin. Almacena información sobre la cantidad de bitcoins que te pertenecen y en qué direcciones se encuentra, así como las formas en que puedes gastarlo.

Gastar dinero físico es intuitivo, pero para gastar bitcoins, los usuarios deben proporcionar la clave privada correcta asociada a una clave pública. La información del par de claves se guarda en un archivo de la wallet, además de los datos sobre preferencias y transacciones.

En su mayor parte, no tendrás que preocuparte por esa clave privada: el software la usará cuando sea necesario. Sin embargo, esto hace que el archivo sea extremadamente importante: si lo pierdes, pierdes tus claves privadas, y si pierdes tus claves privadas, ¡pierdes tus fondos!

⛔ Las wallets que puedes crear con Bitcoin Core no usan frases semillas, en su lugar puedes usar un password para encriptarlas, por lo tanto, aunque las wallets de Bitcoin Core son funcionales y muy útiles para fines educacionales, no son recomendables para guardar bitcoin real en ellas.
Crear una wallet simple

Al inicializar el software de Bitcoin Core no hay ninguna wallet cargada, por lo que debes crear una para poder interactuar con la red. El comando para crear wallets es:

$ bitcoin-cli -named createwallet wallet_name="nombre-de-tu-wallet" descriptors=false

Hay muchas opciones para crear wallets, por ahora solo crearemos una simple. Pero puedes explorar las opciones con el comando bitcoin-cli help createwallet

En el siguiente ejemplo estamos creando una wallet llamada “prueba1” y el resultado será el siguiente, si en el campo de “warning” no hay ningún mensaje de error, quiere decir que se creó correctamente.

$ bitcoin-cli -named createwallet wallet_name="prueba1" descriptors=false
{  
"name": "prueba1",  
"warning": ""
}

Con una wallet creada, ahora debemos crear una dirección pública que será donde recibiremos bitcoin, el comando es el siguiente:

$ bitcoin-cli getnewaddress "etiqueta" "Tipo_de_direccion"

Donde:

  • etiqueta” es un valor de texto opcional definido por nosotros para diferenciar esta dirección dentro de nuestra wallet.
  • Tipo_de_direccion” es un valor de texto que puede ser una de las siguientes 3 opciones: “legacy”, “p2sh-segwit” y “bech32”.

El siguiente ejemplo crea una dirección llamada “faucet” y que será de tipo “bech32”, la cadena resultante será la dirección de depósito:

$ bitcoin-cli getnewaddress "faucet" "bech32"
tb1qnnvqdmuhkn77lm0jds3gvfhc5yqgjgfx6qukt8

Tenga en cuenta que esta dirección comienza con las letras “tb1” porque es una dirección bech32 de testnet, si hubiéramos especificado “legacy” sería una “m” (o, a veces, una “n”) o sería un “2” para una dirección “P2SH”.

🛈 TESTNET vs. MAINNET:
La dirección principal equivalente comenzaría con un “1” (para Legacy), “3” (para P2SH) o “bc1” (para Bech32).

Ahora que tienes una dirección de bitcoin, puedes ir a alguna faucet que regale testnet coins de bitcoin como https://bitcoinfaucet.uo1.net/

Solo copia la dirección testnet que acabas de crear, introdúcela en “bitcoin address” y da clic en “Send testnet bitcoins

Consulta tu balance

Después de unos minutos, tu transacción deberá estar confirmada, por lo que ahora querrás saber, cómo confirmas que recibiste el saldo. Los siguientes 3 comandos te dirán tu balance total, el que hay un tu cartera y las txid (utxo) que tienes para gastar respectivamente:

$ bitcoin-cli getbalance
0.00001000

$ bitcoin-cli getwalletinfo
{  
"walletname": "prueba1",  
"walletversion": 169900,  
"format":
"bdb",  
"balance": 0.00001000,  
"unconfirmed_balance": 0.00000000,  
"immature_balance": 0.00000000,  
"txcount": 1,  
"keypoololdest": 1677021603,  
"keypoolsize": 999,  
"hdseedid":
"e82e328cb77dc2bba1fea97525a98a735361d3bb",  
"keypoolsize_hd_internal": 1000,  
"paytxfee": 0.00000000,  
"private_keys_enabled": true,  
"avoid_reuse": false,  
"scanning": false,  
"descriptors": false

}

$ bitcoin-cli listunspent
[
 {
 
 "txid": "fc2067320c7811079a826c80785f509769c20537a322457be0489c33662ddf4d",
   "vout": 0,
   "address":
"tb1qnnvqdmuhkn77lm0jds3gvfhc5yqgjgfx6qukt8",
   "label":
"faucet",
   "scriptPubKey":
"00149cd806ef97b4fdefedf26c228626f8a100892126",
   "amount": 0.00001000,
   "confirmations": 1,
   "spendable": true,
   "solvable": true,
   "desc":
"wpkh([cef220f5/0'/0'/0']02e2f07438f06cdb9ad240aff30cfa699e11d87732c6431d23ad91316bf14ed723)#y4a0g4pw",
   "safe": true

 }
]

Activar y Desactivar una wallet

Cada vez que reinicies el software de Bitcoin Core tendrás que cargar una wallet creada ya que por default ninguna wallet se carga al inicializar (a menos que lo hayas definido al crear la wallet, mira el help de createwallet).

Cada vez que creas una wallet, se crea un directorio con el nombre de la wallet en la ruta de archivos que hayas definido en la instalación de Bitcoin Core. Ese directorio contiene la información de tu wallet y las llaves que esta administra. Para visualizar este directorio usa:

$ bitcoin-cli listwalletdir
{
 "wallets": [
  {

     "name":
"prueba1"
 
 },
  {

     "name":
"prueba2"
   }
 ]
}

Una vez localizado el nombre de tu wallet, para activarla, usa el comando:

$ bitcoin-cli loadwallet nombre-de-wallet

Si quieres desactivar una wallet (para crear una nueva) usa el comando:

$ bitcoin-cli unloadwallet nombre-de-wallet

Para listar el nombre de la wallet que tienes activa actualmente:

$ bitcoin-cli listwallets
▶️ Taller en vivo

Reprodúcelo en calidad HD para una visualización óptima.