Transacciones Básicas
Esta sección cubre los tipos básicos de transacciones que pueden construirse y enviarse a la blockchain de Aptos.
-
Configurar tu AptosClient
Configura tu cliente Aptos agregando el namespace
Aptos
e instanciando unAptosClient
. Puedes usar una configuración predefinida deNetworks
o configurar la tuya propia.using Aptos;class Program{static void Main(string[] args){var config = new AptosConfig(Aptos.Networks.Mainnet);var client = new AptosClient(config);}} -
Configurar una Cuenta
Para crear una transacción, necesitarás una cuenta para firmar la transacción. Esto puede hacerse usando una clave privada, mnemónico, o una combinación de ambos. En este ejemplo, generaremos una nueva cuenta aleatoria.
using Aptos;class Program{static void Main(string[] args){var config = new AptosConfig(Aptos.Networks.Devnet);var client = new AptosClient(config);// 1. Crear una cuenta y financiarla.var account = Account.Generate();await client.Faucet.FundAccount(account.Address, 100_000_000);}} -
Construir la Transacción
Para interactuar con la blockchain, necesitarás construir una transacción. El
AptosClient
puede usarse para construir un payload de transacción que puede ser firmado y enviado a la cadena. En la transacción, podemos especificar el remitente, función de entrada, y argumentos.using Aptos;class Program{static void Main(string[] args){var config = new AptosConfig(Aptos.Networks.Devnet);var client = new AptosClient(config);var account = Account.Generate();// 2. Construir la transacciónvar transaction = await client.Transaction.Build(sender: account,data: new GenerateEntryFunctionPayloadData(function: "0x1::aptos_account::transfer_coins",typeArguments: ["0x1::aptos_coin::AptosCoin"],functionArguments: [account.Address, "100000"]));}} -
Firmar y Enviar Transacciones
Una vez que la transacción está construida, puede ser firmada y enviada a la blockchain. El
AptosClient
puede usarse para firmar y enviar la transacción.using Aptos;class Program{static void Main(string[] args){var config = new AptosConfig(Aptos.Networks.Devnet);var client = new AptosClient(config);var account = Account.Generate();var transaction = await client.Transaction.Build(sender: account,data: new GenerateEntryFunctionPayloadData(function: "0x1::aptos_account::transfer_coins",typeArguments: ["0x1::aptos_coin::AptosCoin"],functionArguments: [account.Address, "100000"]));// 3. Firmar la transacciónvar submittedTransaction = await client.Transaction.SignAndSubmitTransaction(signer, transaction);}} -
(Opcional) Esperar a que la Transacción se Ejecute
Después de que la transacción ha sido enviada, tendrá que procesarse antes de que se confirme en la blockchain. El
AptosClient
puede usarse para esperar a que la transacción sea procesada y ejecutada.using Aptos;class Program{static void Main(string[] args){var config = new AptosConfig(Aptos.Networks.Devnet);var client = new AptosClient(config);var account = Account.Generate();var transaction = await client.Transaction.Build(sender: account,data: new GenerateEntryFunctionPayloadData(function: "0x1::aptos_account::transfer_coins",typeArguments: ["0x1::aptos_coin::AptosCoin"],functionArguments: [account.Address, "100000"]));var submittedTransaction = await client.Transaction.SignAndSubmitTransaction(account, transaction);// 4. Esperar a que la transacción sea procesadavar transactionResult = await client.Transaction.WaitForTransaction(submittedTransaction.Hash);}}