Comenzar
Esta guía está disponible en cuatro lenguajes de programación diferentes: Typescript, Kotlin, Flutter (Dart) y Swift. 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 la billetera se puede configurar aún más. Por ejemplo, para conectarte 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 la billetera proporciona algunas funcionalidades adicionales además del SDK Horizon existente. Para interactuar con la red Stellar, el SDK de la billetera solo cubre los conceptos básicos utilizados en un flujo típico de billetera. Para casos de uso más avanzados, se debe utilizar el SDK Horizon subyacente en su lugar.
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 por defecto se conecta a la instancia pública de Horizon de Stellar. Puedes cambiar este comportamiento como se describe arriba.
Puedes leer más sobre cómo trabajar con la red Stellar en la sección respectiva.
Conceptos básicos de anchor
El uso principal del SDK es proporcionar una forma sencilla de conectarse a los anchors a través de un conjunto de protocolos conocidos como SEPs. Veamos cómo conectar 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 recuperación de un SEP-1: Archivo de información de Stellar:
- TypeScript
let resp = await anchor.sep1();
A continuación se pueden encontrar todos los SEPs que actualmente admite la clase anchor:
- SEP-1: Archivo de información de Stellar como se mostró 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 Cotización
Además de los SEPs admitidos por la clase anchor, el SDK de la billetera también tiene soporte para el protocolo SEP-7 que se explora en la sección Esquema de URI para facilitar la firma delegada.