Saltar al contenido principal

Comandos tx

Hasta ahora, los ejemplos de la CLI interactuando con la blockchain han sido mediante el comando contract. Subiendo contratos, desplegando contratos y ejecutándolos. Cada uno de estos son diferentes tipos de transacciones, que deben ser firmadas y enviadas a la red (y en el caso de transacciones relacionadas con contratos, simuladas primero).

Técnicamente, estos 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.

Entonces, para todas las demás transacciones, la CLI proporciona los subcomandos tx. Estos son:

  • new
  • sign
  • send
  • simulate

tx new

Para los siguientes ejemplos usaremos las siguientes cuentas:

stellar keys generate --fund alice --network testnet
stellar keys generate 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. La cuenta alice fue financiada por friendbot. Sin embargo, bob y charlie no fueron financiados. Por lo tanto, podemos usar el comando create-account para financiarlos.

bob recibirá 10 XLM y charlie recibirá 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: Saldo inicial en stroops para financiar la cuenta (1 XLM = 10,000,000 stroops)

Pago

bob siente que 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 - "native" para XLM o en formato "CODE:ISSUER" para otros activos

Incrementar Secuencia

Incrementa el número de secuencia de una cuenta:

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

Fusión de cuentas

Fusiona una cuenta con otra, transfiriendo todos los XLM.

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

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

Notas:

  • --source: La cuenta a eliminar del libro mayor, por lo que esta es su transacción final

Configurar Flags de Trustline

Modificar flags de autorización en una trustline:

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 los flags (debe ser el emisor del activo)
  • --asset: El activo en formato CODE:ISSUER
  • --trustor: La cuenta cuya trustline tendrá modificados los flags
  • --set-authorize: Activar autorización completa
  • --set-authorize-to-maintain-liabilities: Activar autorización limitada
  • --set-trustline-clawback-enabled: Activar clawback para esta trustline
  • --clear-*: Flags para eliminar cada configuración correspondiente

Configurar Opciones

Configurar ajustes 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 los ajustes
  • --inflation-dest: Establecer cuenta destino de inflación
  • --home-domain: Establecer 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 firmante
  • --signer-weight: Peso para el nuevo firmante (0 elimina al firmante)
  • --set-required: Activar requisito de autorización para nuevas trustlines
  • --set-revocable: Activar revocación de trustlines
  • --set-clawback-enabled: Activar clawback para la cuenta emisora del activo
  • --set-immutable: Hacer ajustes de la cuenta inmutables
  • --clear-*: Flags para eliminar cada configuración correspondiente

Cambiar Trust

Crear o modificar una trustline:

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

Argumentos:

  • --source: Cuenta que crea/modifica la trustline
  • --line: Activo para crear trustline en formato CODE:ISSUER
  • --limit: Cantidad máxima que se puede poseer (0 elimina la trustline)

Administrar Datos

Administrar las 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 hexadecimal a almacenar (hasta 64 bytes, omitir para eliminar)

Guías en esta categoría: