Transacciones Patrocinadas (Pagador de Tarifas)
El SDK de Kotlin proporciona soporte para transacciones patrocinadas también conocidas como transacciones de pagador de tarifas.
El flujo estándar para enviar una transacción patrocinada es el siguiente:
- Determinar sobre operación creando una Transacción
- El remitente firma la transacción
- El pagador de tarifas firma la transacción
- Enviar la transacción
Determinar Sobre Operación
Sección titulada «Determinar Sobre Operación»Como ya hemos visto en secciones anteriores, puedes construir una transacción usando buildSimpleTransaction con el constructor de transacciones lean. Para transacciones patrocinadas, especifica withFeePayer = true.
val txn = aptos.buildSimpleTransaction( sender = alice.accountAddress, withFeePayer = true, ) { function = "0x1::coin::transfer" typeArgs("0x1::aptos_coin::AptosCoin") args(bob.accountAddress, 1_000_000UL) }Firmar la Transacción
Sección titulada «Firmar la Transacción»Una vez construida, el remitente firma la transacción usando sign.
val aliceAuthenticator = aptos.sign(signer = alice, transaction = txn)Firmar la Transacción como Pagador de Tarifas
Sección titulada «Firmar la Transacción como Pagador de Tarifas»El pagador de tarifas firma usando signAsFeePayer.
val feePayerAuthenticator = aptos.signAsFeePayer(feePayer = sponsor, transaction = txn)Enviar la Transacción
Sección titulada «Enviar la Transacción»Envía la transacción con ambos autenticadores.
val pendingTxn = aptos .submitTransaction.simple( transaction = txn, senderAuthenticator = aliceAuthenticator, feePayerAuthenticator = feePayerAuthenticator, ) .expect("Failed to submit transaction")