tx op add
Como se vio antes, puedes usar pipes para pasar un sobre de transacción entre comandos. Antes solo habíamos visto transacciones con una operación, sin embargo, como se mencionó, puede haber hasta 100 operaciones en una sola transacción.
Para agregar una operación a una transacción puedes usar el comando tx op add
. Este comando toma el sobre de transacción del comando anterior y le añade una operación.
Consideremos un ejemplo más complicado. Considera emitir un activo, aquí USDC
, con el requisito de que solo el emisor pueda transferir fondos al distribuidor.
stellar keys generate --fund issuer
stellar keys generate --fund distributor
ISSUER_PK=$(stellar keys address issuer)
ASSET="USDC:$ISSUER_PK"
# Issue the asset by setting its options, establishing a trustline, and
# transferring the smallest amount possible to the distributor. Then
# deauthorize the distributor so that people can only send Claimable Balances,
# rather than transferring assets directly.
# first the issuer sets the options for being able to clawback and revoke the asset
stellar tx new set-options --fee 1000 --source issuer --set-clawback-enabled --set-revocable --build-only \
# next the distributor establishes a trustline with the asset. Note that here the distributor the source account for the operation, not the issuer
| stellar tx op add change-trust --op-source distributor --line $ASSET \
# then the issuer sends the smallest amount possible to the distributor
| stellar tx op add payment --destination distributor --asset $ASSET --amount 1 \
# finally the issuer deauthorizes the distributor from being able to send the asset
| stellar tx op add set-trustline-flags --asset $ASSET --trustor distributor --clear-authorize \
# Then both accounts need to sign the transaction
| stellar tx sign --sign-with-key issuer \
| stellar tx sign --sign-with-key distributor \
| stellar tx send
# Next is an example of sandwiching an operation. That is giving permission in one operation, preforming the operation, and then removing the permission in a third operation.
# Here is an example of minting new assets to the distributor with a sandwich transaction
# First authorize the distributor to receive the asset
stellar tx new set-trustline-flags --fee 1000 --build-only --source issuer --asset $ASSET --trustor $distributor_PK --set-authorize \
# Then mint the asset to the distributor
| stellar tx op add payment --destination distributor --asset $ASSET --amount 1_000_000_000_000 \
# Finally remove the authorization
| stellar tx op add set-trustline-flags --asset $ASSET --trustor distributor --clear-authorize \
| stellar tx sign --sign-with-key issuer \
| stellar tx send
Guías en esta categoría:
📄️ Gestión de activos
Emitir un activo Stellar, desplegar su contrato y acuñar, quemar, congelar y recuperar.
📄️ Ciclo de vida del contrato
Gestiona el ciclo de vida de un contrato inteligente Stellar usando la CLI
📄️ Desplegar un contrato desde el código byte Wasm instalado
Desplegar una instancia de un contrato compilado que ya está instalado en la red
📄️ Implementar el Contrato de Activos Stellar para un activo Stellar
Implementa un SAC para un activo Stellar para que pueda interactuar con contratos inteligentes
📄️ Extender el TTL de una instancia de contrato desplegada
Usa la CLI para extender el tiempo de vida (TTL) de una instancia de contrato
📄️ Extender el TTL de la entrada de almacenamiento de un contrato desplegado
Usa el CLI para extender el tiempo de vida (TTL) de la entrada de almacenamiento persistente de un contrato
📄️ Extender el TTL del código Wasm de un contrato desplegado
Usar Stellar CLI para extender el TTL del bytecode Wasm de un contrato, con o sin el binario local
📄️ Instalar y desplegar un contrato inteligente
Combina los comandos instalar y desplegar en la CLI de Stellar para realizar ambas tareas
📄️ Subir bytecode Wasm
Usa el CLI de Stellar para subir un contrato inteligente compilado en el ledger
📄️ Pagos y activos
Envía XLM, stellar classic o un activo soroban usando la CLI de Stellar
📄️ Restaurar un contrato archivado usando la CLI de Stellar
Restaurar una instancia de contrato archivada usando la CLI de Stellar
📄️ Restaurar datos de contratos archivados usando la CLI de Stellar
Restaurar entradas de almacenamiento de contratos archivados usando la CLI de Stellar
📄️ Crear saldo reclamable
Crear saldos reclamables con varias condiciones de reclamación usando el CLI de Stellar
📄️ Comandos tx
Crear transacciones Stellar usando la CLI de Stellar
📄️ tx op add
Crear transacciones Stellar utilizando la CLI de Stellar
📄️ tx sign y tx send
Crear transacciones Stellar usando la CLI de Stellar