Comenzar
Esta guía está disponible en tres lenguajes de programación diferentes: Typescript, Kotlin y Flutter (Dart). Puedes cambiar la versión mostrada en cada página mediante los botones de arriba.
Instalación
Primero, necesitas agregar la dependencia del SDK a tu proyecto.
- bash
yarn add @stellar/typescript-wallet-sdk
Trabajando con el SDK
Comencemos con la clase principal que proporciona toda la funcionalidad del SDK. Se recomienda tener un objeto billetera singleton compartido en toda la aplicación. Crear una billetera con una configuración predeterminada conectada al Testnet de Stellar es simple:
- TypeScript
let wallet = walletSdk.Wallet.TestNet();
La instancia de billetera puede configurarse aún más. Por ejemplo, para conectarse a la red pública:
- TypeScript
let wallet = new Wallet({
stellarConfiguration: StellarConfiguration.MainNet(),
});
Configurando el Cliente
El SDK de billetera de Typescript usa el cliente axios para todas las solicitudes de red. Puedes leer más sobre cómo configurar el cliente axios aquí.
Por ejemplo, podemos configurar nuestro cliente axios para que esté configurado globalmente con un tiempo de espera:
- TypeScript
const customClient: AxiosInstance = axios.create({
timeout: 1000,
});
let appConfig = new ApplicationConfiguration(DefaultSigner, customClient);
let wal = new Wallet({
stellarConfiguration: StellarConfiguration.TestNet(),
applicationConfiguration: appConfig,
});
Puedes encontrar más opciones de configuración aquí.
Conceptos Básicos de Stellar
El SDK de billetera proporciona alguna funcionalidad extra sobre el SDK de Horizon existente. Para interactuar con la red de Stellar, el SDK de billetera solo cubre lo básico usado en un flujo típico de billetera. Para casos de uso más avanzados, se debe utilizar el SDK de Horizon subyacente.
Para interactuar con la instancia de Horizon configurada en los pasos anteriores, simplemente haz:
- TypeScript
const stellar = wallet.stellar();
Este ejemplo creará una clase Stellar que gestiona la conexión al servicio de Horizon.
La configuración predeterminada se conecta a la instancia pública de Stellar Horizon. Puedes cambiar este comportamiento como se describe arriba.
Puedes leer más sobre trabajar con la red Stellar en la sección respectiva.
Conceptos Básicos de Anchor
El uso principal del SDK es proporcionar una forma fácil de conectarse a los anchors a través de conjuntos de protocolos conocidos como SEPs. Veamos cómo conectarse al anchor de prueba de Stellar:
- TypeScript
let anchor = wallet.anchor({ homeDomain: "testanchor.stellar.org" });
Si el dominio de inicio del anchor utiliza http, entonces necesitas configurar el flag allowHttp
al crear el anchor:
- TypeScript
let anchor = wallet.anchor({ homeDomain: "example.com", allowHttp: true });
Esto solo se puede usar en Testnet.
Y la interacción más básica de obtener un SEP-1: Archivo de Información Stellar:
- TypeScript
let resp = await anchor.sep1();
A continuación, puedes encontrar todos los SEPs que la clase anchor actualmente admite:
- SEP-1: Archivo de Información Stellar como se muestra arriba
- SEP-10: explorado en la sección Autenticación Stellar
- SEP-24: explorado en la sección Depósito y Retirada Alojados
- SEP-6: explorado en la sección Depósito y Retirada Programáticos
- SEP-12: explorado en la subsección Proporcionando información KYC
- SEP-38: explorado en la sección Cita
Además de los SEPs admitidos por la clase anchor, el SDK de billetera también tiene soporte para el protocolo SEP-7, que se explora en la sección Esquema URI para facilitar la firma delegada.