Skip to main content

1️ Primeros pasos

El cliente de Stellar es super importante en la escritura de contratos en Stellar, ya que se encarga de la creación de la estructura básica y archivos, su compilación, despliegue y pruebas respectivas.

En esta primera pare veremos lo siguiente:

  • Creación de una cuenta (identidad)
  • Obtención de la llave pública (address)
  • Consultar el saldo
  • Envio de lumens a otra cuenta

Creación de una cuenta (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 descansar a Bob y Alice 😅

stellar keys generate --global developer --network testnet --fund

Para este caso generamos una identidad global llamada developer en la red de testnet.

1

Al abrir el archivo generado vemos que es un contenedor de una frase semilla.

2

O con linea de comando

cat /home/<USUARIO>/.config/stellar/identity/developer.toml

Más información del comando

Más Info acá

Obtención de la llave pública (address)

Para saber cual es la llave pública de una identidad corremos el siguiente comando:

stellar keys address developer

Obtenemos:

3

Consultar el saldo

Hay 2 formas por web o por comando

El modo sencillo, explorador web
ingresamos la dirección en esta dirección https://stellar.expert/explorer/testnet

4

Para los amantes de la consola. 😉

  1. Averiguamos en testnet cual es el id de XLM stellar contract id asset --asset native --network testnet
    obtenemos esta respuesta: CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC
  2. Obtenemos la llave pública de la identidad developer
    stellar keys address developer
    obtenemos:
    &#xNAN;GD45T2VRMYBSGRHLMVTS4QQZVXAM7WD6IYWKYRS7DFURRR2EKWCNGOAN
  3. Ejecutamos los siguiente:
    Sintaxis:
    &#xNAN;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: 5

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 --from developer --to GD52UMJ54UXIGEGYT6GYRM4FAVATV7JD3RGEX6QGTV5HY66G5Q4T6RUS --amount 1000000000

Obtenemos lo siguiente:

6