🚀 Tutorial: Stellar CLI
¿Qué es Stellar CLI?
El Stellar CLI (Command Line Interface) es una herramienta oficial de la Fundación Stellar para interactuar con la red Stellar y su ecosistema de contratos inteligentes (Soroban). Es una aplicación de línea de comandos que permite a desarrolladores y usuarios avanzados realizar operaciones como:
- Crear y gestionar cuentas.
- Enviar y recibir pagos.
- Desplegar e interactuar con contratos inteligentes.
- Simular y probar transacciones en un entorno local.
- Conectar con redes como Testnet y Mainnet.
Para instalarlo seguir los pasos aquí
Ver las redes disponibles
stellar network ls
Por defecto están las redes que necesitamos.
Si necesita adicionar una red , hacer click aquí
Generación de una nueva identidad
La identidad es un alias , que nos sirve para manejar la cuenta generada de una forma mucho más sencilla.
Para este caso por ejemplo vamos a generar una identidad llamada developer , ya dejemos descanzar a Bob y Alice 😅
stellar keys generate --global developer --network testnet
Para este caso generamos una identidad global llamada developer en la red de testnet.
Al abrir el archivo generado vemos que es un contenedor de una frase semilla
LLave publica de la identidad:
Para saber cual es la llave pública de una identidad corremos el siguiente comando:
stellar keys address developer
Saldo de la cuenta
hay 2 formas por web o por comandos
El modo sencillo, explorador web
ingresamos la dirección en esta dirección https://stellar.expert/explorer/testnet
Acá vemos que la cuenta viene con 10.000 lumens, lo suficiente para seguir con los ejercicios
Para los amantes de la consola. 😉
Averiguamos en testnet cual es el id de XLM
stellar contract id asset --asset native --network testnet
obtenemos esta respuesta: CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSCObtenemos la llave pública de la identidad developer
stellar keys address developer
obtenemos:
GD45T2VRMYBSGRHLMVTS4QQZVXAM7WD6IYWKYRS7DFURRR2EKWCNGOANEjecutamos los siguiente:
Sintaxis:
stellar contract invoke --id "dirección XLM" --network testnet --source-account developer -- balance --id "llave pública developer"
Escribimos lo siguiente:
stellar contract invoke --id CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC --network testnet --source-account developer -- balance --id GD45T2VRMYBSGRHLMVTS4QQZVXAM7WD6IYWKYRS7DFURRR2EKWCNGOAN
La respuesta es:
Pasar fondos de una billetera a otra
Vamos a pasar 100 XLM de la cuenta developer a developer1.
Sintaxis:
stellar contract invoke --id <asset_contract_ID> --networdk testnet --source-account developer -- transfer --to <developer1_ID> --from developer --amount 100
Como es de observar no hemos creado la identidad developer1 por lo tanto ejecutamos:
stellar keys generate --global developer1 --network testnet
stellar keys address developer1
obtenemos la siguiente llave pública :
GCETVOMJKZ5OPTBIWBADL2PT6DTL7VPZMS5P4MIAYSINZYH5IIZRE27U
Ahora que tenemos todos los datos ejecutamos:
stellar contract invoke --id CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC --network testnet --source-account developer -- transfer --to GCETVOMJKZ5OPTBIWBADL2PT6DTL7VPZMS5P4MIAYSINZYH5IIZRE27U --from developer --amount 1000000000
Obtenemos lo siguiente:
En un próximo tutorial usaremos el cliente de Stellar para crear un contrato, desplegarlo y ejecutarlo, todo con el cliente de estellar, como podrán sospechar el famoso "hola mundo" 🤗.