Obtener Datos con el SDK de Kotlin
Kaptos expone APIs de lectura sobre endpoints REST de fullnode, endpoints respaldados por indexer y funciones view de Move.
Manejo basado en Result
Sección titulada «Manejo basado en Result»Las llamadas de red retornan Result<Ok, Err>, así que puedes elegir entre control explícito o fail-fast.
val ledgerInfoResult = aptos.getLedgerInfo()
when (ledgerInfoResult) { is Result.Ok -> println("Ledger version: ${ledgerInfoResult.value.ledgerVersion}") is Result.Err -> println("Failed to read ledger info: ${ledgerInfoResult.error.message}")}Si prefieres fail-fast:
val ledgerInfo = aptos.getLedgerInfo().expect("Failed to fetch ledger info")Para más patrones de manejo, revisa Manejar respuestas de consulta del SDK.
Leer datos generales de la cadena
Sección titulada «Leer datos generales de la cadena»val chainId = aptos.getChainId().expect("Failed to fetch chain id")val latestBlock = aptos.getBlockByHeight(ledgerHeight = 1, withTransactions = true) .expect("Failed to fetch latest block")Leer datos de cuenta
Sección titulada «Leer datos de cuenta»val address = AccountAddress.fromString("0x1")
val accountInfo = aptos.getAccountInfo(address).expect("Failed to fetch account info")val modules = aptos.getAccountModules(address) { limit = 20 }.expect("Failed to fetch modules")val resources = aptos.getAccountResources(address) { limit = 50 }.expect("Failed to fetch resources")Leer balances
Sección titulada «Leer balances»Balance de APT vía indexer:
val aptBalance = aptos.getAccountAPTAmount(address).expect("Failed to fetch APT balance")Ruta view de smart contract para un coin type específico:
val aptBalanceFromView = aptos .getAccountCoinAmountFromSmartContract( accountAddress = address, coinType = MoveValue.MoveStructId("0x1::aptos_coin::AptosCoin"), ) .expect("Failed to fetch coin balance from smart contract")Leer con funciones view de Move
Sección titulada «Leer con funciones view de Move»Usa view<T>() para llamadas de solo lectura personalizadas.
val payload = InputViewFunctionData( function = "0x1::chain_id::get", typeArguments = emptyList(), functionArguments = emptyList(), )
val viewResult = aptos .view<List<MoveValue.MoveUint8Type>>(payload) .expect("Failed to execute view")
val chainIdFromView = viewResult.first().value