Guía Rápida del SDK de Kotlin
Esta guía te llevará a través del proceso de configurar Kaptos, obtener datos y enviar una transacción en la blockchain de Aptos.
-
Instalar el SDK
Kaptos está disponible tanto para desarrollo multiplataforma como de plataforma única. Los artefactos se publican en Sonatype Maven Central y pueden agregarse a tu proyecto usando Gradle como se muestra abajo:
Desarrollo Multiplataforma
Sección titulada «Desarrollo Multiplataforma»En tu archivo
build.gradle.kts
, y en tu bloque de conjunto de fuentescommonMain
, agrega como sigue:kotlin {sourceSets {commonMain.dependencies {implementation("xyz.mcxross.kaptos:kaptos:<version>")}}}Desarrollo de Plataforma Única
Sección titulada «Desarrollo de Plataforma Única»Dependiendo de tu plataforma objetivo, Kaptos proporciona diferentes artefactos en la forma de
kaptos-jvm
,kaptos-android
,kaptos-iosArm64
, ykaptos-js
. Por ejemplo, para agregar el artefacto JVM a tu proyecto, agrega la siguiente dependencia:dependencies {implementation("xyz.mcxross.kaptos:kaptos-jvm:<version>")}Para agregar el artefacto Android, usa:
dependencies {implementation("xyz.mcxross.kaptos:kaptos-android:<version>")} -
Configurar el cliente Aptos
Puedes usar el objeto
Aptos
para manejar todo lo que requiere una conexión a la red de Aptos.val aptos = Aptos()Si quieres pasar una configuración personalizada, puedes hacerlo pasando un objeto AptosConfig que toma un objeto AptosSettings. El objeto AptosSettings te permite especificar la red a la que quieres conectarte, la URL del fullnode, y otras configuraciones.
val settings = AptosSettings(network = Network.MAINNET, clientConfig = ClientConfig(maxRetries = 10))val aptosConfig = AptosConfig(settings = settings)val aptos = Aptos(aptosConfig) -
Obtener datos de la cadena
Una vez que tengas un objeto
Aptos
, puedes usarlo para obtener datos de la blockchain de Aptos. Por ejemplo, puedes obtener la información del ledger así:val ledgerInfo = aptos.getLedgerInfo() -
Enviar Transacciones
Para interactuar con el ledger y cambiar su estado, debes enviar transacciones. Para hacer esto, necesitas una cuenta existente. Puedes crear una cuenta generando un nuevo par de claves de cuenta y financiando la cuenta en cadena. Una vez que tengas una cuenta, puedes firmar transacciones para demostrar autoridad, permitiéndote realizar acciones como transferir tokens, activar módulos Move, o intercambiar NFTs.
Aquí está cómo puedes construir una transacción para transferir APT:
-
Crear una Cuenta
Para crear una nueva cuenta, primero generas nuevas credenciales luego financias la cuenta. En redes devnet, puedes financiar una cuenta programáticamente pidiendo a un “faucet”
val aliceAccount = Account.generate()val bobAccount = Account.generate()En testnet puedes acuñar en la página de acuñar.
-
Construir la Transacción
val txn = aptos.buildTransaction.simple(sender = aliceAccount.accountAddress,data = entryFunctionData {function = "0x1::coin::transfer"typeArguments = typeArguments {+TypeTagStruct("0x1::aptos_coin::AptosCoin")}functionArguments = functionArguments {+bobAccount.accountAddress+U64(SEND_AMOUNT)}},) -
Firmar la Transacción
Una vez que hayas construido una transacción, puedes firmarla usando el método
sign
.val aliceAuthenticator = aptos.sign(sender = aliceAccount,transaction = txn,) -
Enviar la Transacción
Finalmente, puedes enviar la transacción a la red usando el método
submitTransaction.simple
.val committedTransaction = aptos.submitTransaction.simple(transaction = signedTransaction,senderAuthenticator = aliceAuthenticator,) -
Esperar a que la Transacción se Ejecute
Luego puedes esperar a que la transacción sea ejecutada usando el método
waitForTransaction
.val executedTransaction = aptos.waitForTransaction(HexInput.fromString(committedTransaction.expect("Transaction failed").hash))
-