Saltar al contenido principal

Comandos tx

Hasta ahora, los ejemplos del CLI interactuando con la blockchain han sido a través del comando contract. Subir contratos, desplegar contratos e invocarlos. Cada uno de estos son diferentes tipos de transacciones, que deben ser firmadas y enviadas a la red (y en el caso de las transacciones relacionadas con contratos, simuladas primero).

Técnicamente, estas tres son diferentes operaciones, de las cuales una transacción puede contener hasta 100 operaciones. Sin embargo, en el caso de operaciones relacionadas con contratos, una transacción está limitada a solo una.

Así que para todas las demás transacciones, el CLI proporciona los subcomandos tx. Estos son:

  • new
  • sign
  • send
  • simulate

tx nuevo

Para los siguientes ejemplos, utilizaremos las siguientes cuentas:

stellar keys generate --fund alice --network testnet
stellar keys generate --no-fund bob
# You can add a public key to the keys
stellar keys add --public-key GBUG7QTBTT47XVDVE6RZYWRUZBPLOIO57INE6LYZDMIXMMDCREQRUQKI charlie
## and use testnet
stellar network use testnet

Crear Cuenta

Crea y financia una nueva cuenta Stellar. Arriba, alice fue financiado por friendbot. Sin embargo, bob y charlie no lo fueron. Así que podemos usar el comando create-account para financiarlos.

bob recibirá 10 XLM y charlie obtendrá 1 XLM.

stellar tx new create-account \
--source alice \
--destination bob \
--starting-balance 100_000_000

stellar tx new create-account \
--source alice \
--destination charlie \
--starting-balance 10_000_000

Notas:

  • --starting-balance: El balance inicial en stroops para financiar la cuenta (1 XLM = 10,000,000 stroops)

Pago

bob se siente mal porque charlie solo recibió 1 XLM, así que enviará 4 XLM más a charlie.

stellar tx new payment \
--source bob \
--destination charlie \
--asset native \
--amount 40_000_000

Notas:

  • --asset: El activo a enviar - ya sea "nativo" para XLM o en formato "CODE:ISSUER" para otros activos

Aumentar Secuencia

Aumentar el número de secuencia de una cuenta:

stellar tx new bump-sequence \
--source alice \
--bump-to 123450

Fusión de Cuenta

Fusionar una cuenta en otra, transfiriendo todos los XLM.

bob decide seguir compartiendo la riqueza y fusiona su cuenta en la de charlie.

stellar tx new account-merge \
--source bob \
--account charlie

Notas:

  • --source: La cuenta a eliminar del ledger, por lo tanto, esta es su transacción final

Establecer Flags de Línea de Confianza

Modificar las flags de autorización en una línea de confianza:

stellar tx new set-trustline-flags \
--source alice \
--asset USDC:GBUG7QTBTT47XVDVE6RZYWRUZBPLOIO57INE6LYZDMIXMMDCREQRUQKI \
--trustor charlie \
--set-authorize \
--set-authorize-to-maintain-liabilities \
--set-trustline-clawback-enabled

Argumentos:

  • --source: La cuenta emisora que establece las flags (debe ser el emisor del activo)
  • --asset: El activo en formato CODE:ISSUER
  • --trustor: La cuenta cuya flags de línea de confianza se modificará
  • --set-authorize: Habilitar autorización completa
  • --set-authorize-to-maintain-liabilities: Habilitar autorización limitada
  • --set-trustline-clawback-enabled: Habilitar clawback para esta línea de confianza
  • --clear-*: Flags de limpieza correspondientes para eliminar cada configuración

Establecer Opciones

Configurar configuraciones de cuenta:

stellar tx new set-options \
--source alice \
--inflation-dest GBUG7QTBTT47XVDVE6RZYWRUZBPLOIO57INE6LYZDMIXMMDCREQRUQKI \
--home-domain "example.com" \
--master-weight 100 \
--med-threshold 100 \
--low-threshold 100 \
--high-threshold 100 \
--signer GBXSGN5GX4PZOSBHB4JJF67CEGSGT7DGBGGUGWXI4WOQMQEA4SFV2HTJ \
--signer-weight 1 \
--set-required \
--set-revocable \
--set-clawback-enabled \
--set-immutable

Notas:

  • --source: Cuenta para modificar las configuraciones
  • --inflation-dest: Establecer la cuenta de destino de inflación
  • --home-domain: Establecer el dominio principal para federación / cumplimiento
  • --master-weight: Peso de la clave maestra de la cuenta (0-255)
  • --low-threshold: Umbral de peso para operaciones de baja seguridad
  • --med-threshold: Umbral de peso para operaciones de seguridad media
  • --high-threshold: Umbral de peso para operaciones de alta seguridad
  • --signer: Añadir una nueva clave pública de firmante
  • --signer-weight: Peso para el nuevo firmante (0 elimina el firmante)
  • --set-required: Habilitar requerir autorización para nuevas líneas de confianza
  • --set-revocable: Habilitar la revocación de líneas de confianza
  • --set-clawback-enabled: Habilitar clawback para la cuenta emisora de activos
  • --set-immutable: Hacer que las configuraciones de la cuenta sean inmutables
  • --clear-*: Flags de limpieza correspondientes para eliminar cada configuración

Cambiar Confianza

Crear o modificar una línea de confianza:

stellar tx new change-trust \
--source alice \
--line USDC:ISSUER \
--limit 100000000

Argumentos:

  • --source: Cuenta creando/modificando la línea de confianza
  • --line: Activo para crear la línea de confianza en formato CODE:ISSUER
  • --limit: Cantidad máxima que se puede mantener (0 elimina la línea de confianza)

Gestionar Datos

Gestionar entradas de datos de la cuenta:

stellar tx new manage-data \
--source alice \
--data-name config \
--data-value 7465737476616c7565 # hex encoded

Notas:

  • --data-name: Nombre de la entrada de datos (hasta 64 bytes)
  • --data-value: Valor codificado en hex para almacenar (hasta 64 bytes, omite para eliminar)

Guías en esta categoría: