Saltearse al contenido

Crear y Gestionar Cuentas

Kaptos proporciona algunas formas de generar credenciales de cuenta, tanto legacy como SingleKeyAccounts. Puedes generar una nueva cuenta o derivar una cuenta desde una clave privada.

Kaptos ofrece un método directo para generar una cuenta legacy usando la clase Account. Al invocar el método estático generate(), puedes crear una nueva cuenta legacy ya sea pasando ningún argumento o estableciendo explícitamente el scheme a SigningSchemeInput.Ed25519 y la propiedad legacy a true como se muestra abajo.

Para crear una nueva cuenta legacy, puedes generar una nueva credencial de cuenta usando el método Account.generate(). Este método creará una nueva cuenta con un nuevo par de claves.

val account = Account.generate()

También puedes usar la clase Ed25519Account que proporciona un método nullary, generate(), para crear una nueva cuenta:

val account = Ed25519Account.generate()

Si tienes una clave privada, puedes usarla para crear un objeto Account para gestionar esas credenciales.

val privateKey = Ed25519PrivateKey("myEd25519privatekeystring")
val account = Account.fromPrivateKey(privateKey)

El SDK ofrece dos formas de generar una cuenta de clave única: usando ya sea la clase SingleKeyAccount o la clase Account. En ambos casos, puedes crear una nueva cuenta llamando al método estático generate(). Necesitarás especificar el scheme, y para la clase Account, puedes opcionalmente establecer la propiedad legacy a false.

val secp256k1SKAccount = SingleKeyAccount.generate(SigningSchemeInput.Secp256k1)
val ed25519SKAccount = SingleKeyAccount.generate(SigningSchemeInput.Ed25519)

Usando la clase Account, puedes crear una nueva cuenta de clave única estableciendo el scheme a SigningSchemeInput.Secp256k1 y opcionalmente estableciendo la propiedad legacy a false. Alternativamente, puedes establecer el scheme a SigningSchemeInput.Ed25519 y asegurar que la propiedad legacy también esté establecida a false.

val secp256k1SKAccount = Account.generate(scheme = SigningSchemeInput.Secp256k1)
val ed25519SKAccount = Account.generate(scheme = SigningSchemeInput.Ed25519, legacy = false)

También vale la pena notar que la generación de Cuenta no crea la cuenta en cadena. Debes financiar la cuenta en cadena para usarla para transacciones. En redes de prueba, puedes financiar una cuenta programáticamente pidiendo a un “faucet” tokens de prueba. Puedes hacer esto como se muestra abajo:

val fundedAccount = aptos.fundAccount(aliceAccount.accountAddress, FUNDING_AMOUNT)

Esto solo funciona en devnet. En testnet puedes acuñar en la página de acuñar.