Crear y Gestionar Cuentas
Hay varias formas de generar credenciales de cuenta usando el SDK de TypeScript. Puedes usar:
Account.generate()
Account.fromPrivateKey()
Account.fromDerivationPath()
Account.generate()
es el método más comúnmente usado para crear claves para una nueva cuenta.
Por defecto usa codificaciones de clave ED25519
, pero también puedes especificar manualmente qué esquema de firma prefieres así:
const account = Account.generate(); // por defecto Legacy Ed25519const account = Account.generate({ scheme: SigningSchemeInput.Secp256k1Ecdsa }); // Single Sender Secp256k1const account = Account.generate({ scheme: SigningSchemeInput.Ed25519, legacy: false,}); // Single Sender Ed25519
Una vez que hayas generado credenciales, debes financiarla para que la red sepa que existe.
En localnet / devnet esto se puede hacer con un faucet ejecutando el siguiente comando:
const transaction = await aptos.fundAccount({ accountAddress: account.accountAddress, amount: 100,});
Para testnet puedes usar la página de acuñación aquí.
Otras Formas de Representar Cuentas
Sección titulada «Otras Formas de Representar Cuentas»Si tienes una clave privada, o representación equivalente, puedes usar eso para crear un objeto Account
para gestionar esas credenciales mientras usas el SDK de TypeScript.
Aquí hay varios ejemplos que muestran cómo hacerlo con esquemas de codificación específicos.
Derivar una cuenta desde clave privada
Sección titulada «Derivar una cuenta desde clave privada»El SDK soporta derivar una cuenta desde una clave privada con el método estático fromPrivateKey()
.
Además, este método soporta derivar una cuenta desde una clave privada y dirección de cuenta.
Este método usa un cálculo local y por lo tanto se usa para derivar una Account
que no ha tenido su clave de autenticación rotada.
// para derivar una cuenta con un esquema de clave legacy Ed25519const privateKey = new Ed25519PrivateKey(privateKeyBytes);const account = Account.fromPrivateKey({ privateKey });
// para derivar una cuenta con un esquema de clave Single Sender Ed25519const privateKey = new Ed25519PrivateKey(privateKeyBytes);const account = Account.fromPrivateKey({ privateKey, legacy: false });
// para derivar una cuenta con un esquema de clave Single Sender Secp256k1const privateKey = new Secp256k1PrivateKey(privateKeyBytes);const account = Account.fromPrivateKey({ privateKey });
// para derivar una cuenta con una clave privada y dirección de cuentaconst privateKey = new Ed25519PrivateKey(privateKeyBytes);const address = AccountAddress.from(address);const account = Account.fromPrivateKey({ privateKey, address });
Derivar una cuenta desde path de derivación
Sección titulada «Derivar una cuenta desde path de derivación»El SDK soporta derivar una cuenta desde path de derivación con el método estático fromDerivationPath()
.
// para derivar una cuenta con un esquema de clave legacy Ed25519const { mnemonic, address, path } = wallet;const account = Account.fromDerivationPath({ path, mnemonic, scheme: SigningSchemeInput.Ed25519,});
// para derivar una cuenta con un esquema de clave Single Sender Ed25519const { mnemonic, address, path } = wallet;const account = Account.fromDerivationPath({ path, mnemonic, scheme: SigningSchemeInput.Ed25519, legacy: false,});
// para derivar una cuenta con un esquema de clave Single Sender Secp256k1const { mnemonic, address, path } = wallet;const account = Account.fromDerivationPath({ path, mnemonic, scheme: SigningSchemeInput.Secp256k1Ecdsa,});