Manual de Stellar CLI
Este documento contiene el contenido de ayuda para el programa de línea de comandos stellar
.
stellar
Trabaja de manera fluida con cuentas, contratos y activos Stellar desde la línea de comandos.
- Generar y gestionar claves y cuentas
- Desarrollar, implementar e interactuar con contratos
- Implementar contratos de activos
- Transmitir eventos
- Iniciar testnets locales
- Decodificar, codificar XDR
- ¡Más!
Para obtener información adicional, consulta:
- Documentación de Stellar: https://developers.stellar.org
- Documentación de Smart Contract: https://developers.stellar.org/docs/build/smart-contracts/overview
- Documentación de CLI: https://developers.stellar.org/docs/tools/developer-tools/cli/stellar-cli
Para comenzar, genera una nueva identidad:
stellar keys generate alice
Utiliza las claves con el flag --source
en otros comandos.
Los comandos que funcionan con contratos están organizados bajo el subcomando contract
. Enuméralas:
stellar contract --help
Utiliza contratos como un CLI:
stellar contract invoke --id CCR6QKTWZQYW6YUJ7UP7XXZRLWQPFRV6SWBLQS4ZQOSAF4BOUD77OTE2 --source alice --network testnet -- --help
Cualquier cosa después del doble guion --
(el "slop") se interpreta como argumentos para el CLI específico del contrato, generados sobre la marcha a partir del esquema del contrato. Para el ejemplo de hello world, con una función llamada hello
que toma un argumento de tipo string to
, así es como lo invocas:
stellar contract invoke --id CCR6QKTWZQYW6YUJ7UP7XXZRLWQPFRV6SWBLQS4ZQOSAF4BOUD77OTE2 --source alice --network testnet -- hello --to world
Uso: stellar [OPTIONS] <COMMAND>
Subcomandos:
contract
— Herramientas para desarrolladores de contratos inteligentesevents
— Observa la red en busca de eventos de contratoenv
— Imprime las variables de entornokeys
— Crear y gestionar identidades, incluidas claves y direccionesnetwork
— Configurar conexión a redescontainer
— Inicia redes locales en contenedoressnapshot
— Descarga una imagen de un ledger desde un archivo de referenciatx
— Firma, simula y envía transaccionesxdr
— Decodifica y codifica XDRcompletion
— Imprime el código de autocompletado del shell para el shell especificadocache
— Almacena en caché transacciones y especificaciones de contratosversion
— Imprime información de versión
Opciones:
--global
— Usa la configuración global--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "."-f
,--filter-logs <FILTER_LOGS>
— Filtrar salida de logs. Para activarstellar_cli::log::footprint=debug
o desactivarlo=off
. También se puede usar la variable de entornoRUST_LOG
-q
,--quiet
— No escribir logs en stderr, incluyendoINFO
-v
,--verbose
— Registrar eventos DEBUG--very-verbose
— Registrar eventos DEBUG y TRACE--list
— Listar plugins instalados. Ej.stellar-hello
--no-cache
— No caches tus simulaciones y transacciones
stellar contract
Herramientas para desarrolladores de contratos inteligentes
Uso: stellar contract <COMMAND>
Subcomandos:
asset
— Utilidades para desplegar un contrato de activo Stellar o obtener su idalias
— Utilidades para gestionar alias de contratosbindings
— Generar enlaces de cliente de código para un contratobuild
— Crear un contrato a partir de la fuenteextend
— Extender el tiempo de vida del ledger de una entrada de datos de contratodeploy
— Desplegar un contrato wasmfetch
— Obtener el binario Wasm de un contratoid
— Generar el id del contrato para un contrato o activo dadoinfo
— Acceder a información sobre contratosinit
— Inicializar un proyecto de contrato Sorobaninspect
— (Deprecated in favor ofcontract info
subcommands) Inspect a WASM file listing contract functions, meta, etcinstall
— Instalar un archivo WASM en el ledger sin crear una instancia de contratoinvoke
— Invocar una función de contratooptimize
— Optimizando un archivo WASMread
— Imprimir el valor actual de una entrada de datos del ledger del contratorestore
— Restaurar un valor desalojo para una entrada de datos del ledger del contrato
stellar contract asset
Utilidades para desplegar un contrato de activo Stellar o obtener su id
Uso: stellar contract asset <COMMAND>
Subcomandos:
id
— Obtener el id del contrato de activo incorporado Soroban. Obsoleto, usarstellar contract id asset
en su lugardeploy
— Desplegar el contrato de activo incorporado Soroban
stellar contract asset id
Obtener el id del contrato de activo incorporado Soroban. Obsoleto, usar stellar contract id asset
en su lugar
Uso: stellar contract asset id [OPTIONS] --asset <ASSET>
Opciones:
--asset <ASSET>
— ID del activo clásico Stellar a envolver, p. ej. "USDC:G...5"--rpc-url <RPC_URL>
— Endpoint del servidor RPC--rpc-header <RPC_HEADERS>
— Encabezado(s) RPC a incluir en las solicitudes al proveedor RPC--network-passphrase <NETWORK_PASSPHRASE>
— Frase de contraseña de red para firmar la transacción enviada al servidor rpc--network <NETWORK>
— Nombre de la red a utilizar de la configuración--global
— Usa la configuración global--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "."
stellar contract asset deploy
Desplegar el contrato de activo incorporado Soroban
Uso: stellar contract asset deploy [OPTIONS] --asset <ASSET> --source-account <SOURCE_ACCOUNT>
Opciones:
-
--asset <ASSET>
— ID del activo clásico Stellar a envolver, p. ej. "USDC:G...5" -
--rpc-url <RPC_URL>
— Endpoint del servidor RPC -
--rpc-header <RPC_HEADERS>
— Encabezado(s) RPC a incluir en las solicitudes al proveedor RPC -
--network-passphrase <NETWORK_PASSPHRASE>
— Frase de contraseña de red para firmar la transacción enviada al servidor rpc -
--network <NETWORK>
— Nombre de la red a utilizar de la configuración -
--source-account <SOURCE_ACCOUNT>
— Cuenta de donde se origina la transacción. Aliassource
. Puede ser una identidad (--source alice), una clave pública (--source GDKW...), una cuenta muelleada (--source MDA…), una clave secreta (--source SC36…), o una frase semilla (--source "kite urban…"). Si no se proporcionaron los flags--build-only
o--sim-only
, esta clave también se utilizará para firmar la transacción final. En ese caso, intentar firmar con clave pública fallará -
--hd-path <HD_PATH>
— Si utilizas una frase semilla, qué ruta determinística jerárquica utilizar, p. ej.m/44'/148'/{hd_path}
. Ejemplo:--hd-path 1
. Valor predeterminado:0
-
--global
— Usa la configuración global -
--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "." -
--fee <FEE>
— monto de la tarifa para la transacción, en stroops. 1 stroop = 0.0000001 xlmValor predeterminado:
100
-
--cost
— Salida del costo de ejecución a stderr -
--instructions <INSTRUCTIONS>
— Número de instrucciones a simular -
--build-only
— Construir la transacción y solo escribir el xdr base64 en stdout -
--sim-only
— (Obsoleto) simular la transacción y solo escribir el xdr base64 en stdout
stellar contract alias
Utilidades para gestionar alias de contratos
Uso: stellar contract alias <COMMAND>
Subcomandos:
remove
— Eliminar alias de contratoadd
— Añadir alias de contratoshow
— Mostrar el id del contrato asociado con un alias dadols
— Listar todos los alias
stellar contract alias remove
Eliminar alias de contrato
Uso: stellar contract alias remove [OPTIONS] <ALIAS>
Argumentos:
<ALIAS>
— El alias de contrato que será eliminado
Opciones:
--global
— Usa la configuración global--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "."--rpc-url <RPC_URL>
— Endpoint del servidor RPC--rpc-header <RPC_HEADERS>
— Encabezado(s) RPC a incluir en las solicitudes al proveedor RPC--network-passphrase <NETWORK_PASSPHRASE>
— Frase de contraseña de red para firmar la transacción enviada al servidor rpc--network <NETWORK>
— Nombre de la red a utilizar de la configuración
stellar contract alias add
Añadir alias de contrato
Uso: stellar contract alias add [OPTIONS] --id <CONTRACT_ID> <ALIAS>
Argumentos:
<ALIAS>
— El alias de contrato que será utilizado
Opciones:
--global
— Usa la configuración global--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "."--rpc-url <RPC_URL>
— Endpoint del servidor RPC--rpc-header <RPC_HEADERS>
— Encabezado(s) RPC a incluir en las solicitudes al proveedor RPC--network-passphrase <NETWORK_PASSPHRASE>
— Frase de contraseña de red para firmar la transacción enviada al servidor rpc--network <NETWORK>
— Nombre de la red a utilizar de la configuración--overwrite
— Sobrescribir el alias de contrato si ya existe--id <CONTRACT_ID>
— El id del contrato que será asociado con el alias
stellar contract alias show
Mostrar el id del contrato asociado con un alias dado
Uso: stellar contract alias show [OPTIONS] <ALIAS>
Argumentos:
<ALIAS>
— El alias de contrato que será mostrado
Opciones:
--global
— Usa la configuración global--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "."--rpc-url <RPC_URL>
— Endpoint del servidor RPC--rpc-header <RPC_HEADERS>
— Encabezado(s) RPC a incluir en las solicitudes al proveedor RPC--network-passphrase <NETWORK_PASSPHRASE>
— Frase de contraseña de red para firmar la transacción enviada al servidor rpc--network <NETWORK>
— Nombre de la red a utilizar de la configuración
stellar contract alias ls
Listar todos los alias
Uso: stellar contract alias ls [OPTIONS]
Opciones:
--global
— Usa la configuración global--config-dir <CONFIG_DIR>
— Ubicación del directorio de configuración, el valor predeterminado es "."
stellar contract bindings
Generar enlaces de cliente de código para un contrato
Uso: stellar contract bindings <COMMAND>
Subcomandos:
json
— Generar enlaces Jsonrust
— Generar enlaces Rusttypescript
— Generar un paquete de TypeScript / JavaScriptpython
— Generar enlaces Python
stellar contract bindings json
Generar enlaces Json
Uso: stellar contract bindings json --wasm <WASM>
Opciones:
--wasm <WASM>
— Ruta al binario wasm
stellar contract bindings rust
Generar enlaces Rust
Uso: stellar contract bindings rust --wasm <WASM>
Opciones:
--wasm <WASM>
— Ruta al binario wasm
stellar contract bindings typescript
Generar un paquete de TypeScript / JavaScript
Uso: stellar contract bindings typescript [OPCIONES] --output-dir <DIRECTORIO_SALIDA> <--wasm <WASM>|--wasm-hash <HASH_WASM>|--contract-id <ID_CONTRATO>>
Opciones:
--wasm <WASM>
— Ruta del archivo Wasm en el sistema de archivos local. Proporciona esto O--wasm-hash
O--contract-id
--wasm-hash <WASM_HASH>
— Hash del blob Wasm en una red. Proporciona esto O--wasm
O--contract-id
--contract-id <CONTRACT_ID>
— ID/alias del contrato en una red. Proporciona esto O--wasm-hash
O--wasm
--rpc-url <RPC_URL>
— Punto final del servidor RPC--rpc-header <RPC_HEADERS>
— Cabecera(s) RPC para incluir en las solicitudes al proveedor RPC--network-passphrase <FRASE_PASSPHRASE_RED>
— Frase de red para firmar la transacción enviada al servidor rpc--network <RED>
— Nombre de la red a utilizar desde la configuración--global
— Usar configuración global--config-dir <DIRECTORIO_CONFIG>
— Ubicación del directorio de configuración, el valor por defecto es "."--output-dir <DIRECTORIO_SALIDA>
— Dónde colocar el proyecto generado--overwrite
— Si se debe sobrescribir el directorio de salida si ya existe
stellar contract bindings python
Generar enlaces en Python
Uso: stellar contract bindings python
stellar contract build
Crear un contrato desde el código fuente
Se construyen todos los crates que están referenciados por el manifiesto de cargo (Cargo.toml) que tienen cdylib como su tipo de crate. Los crates se construyen para el objetivo wasm32. A menos que se configure lo contrario, los crates se construyen con sus características predeterminadas y con su perfil de lanzamiento.
En los espacios de trabajo, se construyen todos los crates a menos que se especifique un nombre de paquete, o el comando se ejecute desde el subdirectorio de un crate del espacio de trabajo.
Para ver los comandos que se ejecutarán, sin ejecutarlos, utiliza la opción --print-commands-only.
Uso: stellar contract build [OPCIONES]
Opciones:
-
--manifest-path <MANIFEST_PATH>
— Ruta al Cargo.toml -
--package <PAQUETE>
— Paquete a construirSi se omite, se construirán todos los paquetes que construyan para el tipo de crate cdylib.
-
--profile <PERFIL>
— Construir con el perfil especificadoValor por defecto:
release
-
--features <CARACTERÍSTICAS>
— Construir con la lista de características activadas, separadas por espacios o comas -
--all-features
— Construir con todas las características activadas -
--no-default-features
— Construir con la característica predeterminada no activada -
--out-dir <OUT_DIR>
— Directorio para copiar archivos wasmSi se proporciona, los archivos wasm se pueden encontrar en el directorio objetivo de cargo y en el directorio especificado.
Si se omite, los archivos wasm solo se escriben en el directorio objetivo de cargo.
-
--print-commands-only
— Imprimir comandos para construir sin ejecutarlos -
--meta <META>
— Añadir clave-valor a los metadatos del contrato (añade el meta a la sección personalizadacontractmetav0
)
stellar contract extend
Extender el tiempo de vida del ledger de una entrada de ledger de contrato.
Si no se especifican claves, se extiende el contrato en sí.
Uso: stellar contract extend [OPCIONES] --ledgers-to-extend <LEDGERS_A_EXTENDER> --source-account <CUENTA_ORIGEN>
Opciones:
-
--ledgers-to-extend <LEDGERS_A_EXTENDER>
— Número de ledgers para extender las entradas -
--ttl-ledger-only
— Solo imprimir el nuevo ledger de Tiempo de Vida -
--id <ID_CONTRATO>
— ID del contrato al que pertenecen las entradas de datos. Si no se proporcionan claves, la instancia del contrato se extenderá -
--key <CLAVE>
— Clave de almacenamiento (símbolos solamente) -
--key-xdr <CLAVE_XDR>
— Clave de almacenamiento (XDR codificado en base64) -
--wasm <WASM>
— Ruta al archivo Wasm del código del contrato a extender -
--wasm-hash <HASH_WASM>
— Ruta al archivo Wasm del código del contrato a extender -
--durability <DURABILIDAD>
— Durabilidad de la entrada de almacenamientoValor por defecto:
persistent
Valores posibles:
persistent
: Persistentetemporary
: Temporal
-
--rpc-url <RPC_URL>
— Punto final del servidor RPC -
--rpc-header <RPC_HEADERS>
— Cabecera(s) RPC para incluir en las solicitudes al proveedor RPC -
--network-passphrase <FRASE_PASSPHRASE_RED>
— Frase de red para firmar la transacción enviada al servidor rpc -
--network <RED>
— Nombre de la red a utilizar desde la configuración -
--source-account <CUENTA_ORIGEN>
— Cuenta de donde se origina la transacción. Aliassource
. Puede ser una identidad (--source alice), una clave pública (--source GDKW...), una cuenta muxida (--source MDA…), una clave secreta (--source SC36…), o una frase semilla (--source "kite urban…"). Si no se proporcionaron flags--build-only
o--sim-only
, esta clave también se usará para firmar la transacción final. En ese caso, intentar firmar con la clave pública fallará -
--hd-path <RUTA_HD>
— Si usas una frase semilla, qué ruta jerárquica determinista usar, por ejemplom/44'/148'/{hd_path}
. Ejemplo:--hd-path 1
. Por defecto:0
-
--global
— Usar configuración global -
--config-dir <DIRECTORIO_CONFIG>
— Ubicación del directorio de configuración, el valor por defecto es "." -
--fee <TASA>
— monto de la tasa para la transacción, en stroops. 1 stroop = 0.0000001 xlmValor por defecto:
100
-
--cost
— Salida del costo de ejecución a stderr -
--instructions <INSTRUCCIONES>
— Número de instrucciones a simular -
--build-only
— Construir la transacción y solo escribir el xdr en base64 a stdout -
--sim-only
— (Obsoleto) simular la transacción y solo escribir el xdr en base64 a stdout
stellar contract deploy
Desplegar un contrato wasm
Uso: stellar contract deploy [OPCIONES] --source-account <CUENTA_ORIGEN> <--wasm <WASM>|--wasm-hash <HASH_WASM>> [-- <ARGUMENTOS_CONSTRUCTOR_CONTRATO>...]
Argumentos:
<ARGUMENTOS_CONSTRUCTOR_CONTRATO>
— Si se proporciona, se pasará a la función__constructor
del contrato con los argumentos proporcionados para esa función como--arg-name value
Opciones:
-
--wasm <WASM>
— Archivo WASM a desplegar -
--wasm-hash <HASH_WASM>
— Hash del archivo WASM ya instalado/desplegado -
--salt <SAL>
— Sal personalizada de 32 bytes para la ID del token -
--rpc-url <RPC_URL>
— Punto final del servidor RPC -
--rpc-header <RPC_HEADERS>
— Cabecera(s) RPC para incluir en las solicitudes al proveedor RPC -
--network-passphrase <FRASE_PASSPHRASE_RED>
— Frase de red para firmar la transacción enviada al servidor rpc -
--network <RED>
— Nombre de la red a utilizar desde la configuración -
--source-account <CUENTA_ORIGEN>
— Cuenta de donde se origina la transacción. Aliassource
. Puede ser una identidad (--source alice), una clave pública (--source GDKW...), una cuenta muxida (--source MDA…), una clave secreta (--source SC36…), o una frase semilla (--source "kite urban…"). Si no se proporcionaron flags--build-only
o--sim-only
, esta clave también se usará para firmar la transacción final. En ese caso, intentar firmar con la clave pública fallará -
--hd-path <RUTA_HD>
— Si usas una frase semilla, qué ruta jerárquica determinista usar, por ejemplom/44'/148'/{hd_path}
. Ejemplo:--hd-path 1
. Por defecto:0
-
--global
— Usar configuración global -
--config-dir <DIRECTORIO_CONFIG>
— Ubicación del directorio de configuración, el valor por defecto es "." -
--fee <TASA>
— monto de la tasa para la transacción, en stroops. 1 stroop = 0.0000001 xlmValor por defecto:
100
-
--cost
— Salida del costo de ejecución a stderr -
--instructions <INSTRUCCIONES>
— Número de instrucciones a simular -
--build-only
— Construir la transacción y solo escribir el xdr en base64 a stdout -
--sim-only
— (Obsoleto) simular la transacción y solo escribir el xdr en base64 a stdout -
-i
,--ignore-checks
— Si ignorar las verificaciones de seguridad al desplegar contratosValor por defecto:
false
-
--alias <ALIAS>
— El alias que se usará para guardar la id del contrato. Siempre que se use,--alias
sobreescribirá la configuración de id del contrato existente sin pedir confirmación
stellar contract fetch
Obtener el binario wasm de un contrato
Uso: stellar contract fetch [OPCIONES] --id <ID_CONTRATO>