Core cautivo
Core cautivo invoca el binario stellar-core
como un subproceso para transmitir ledgers desde la red Stellar. Se puede utilizar para transmitir un rango de ledgers del pasado o para transmitir nuevos ledgers siempre que sean confirmados por la red.
Requisitos previos
Usar Core cautivo requiere que el binario stellar-core esté instalado primero.
Instalación
-
Instalar Stellar Core:
- Opción 1: Compila desde el código fuente siguiendo la Guía de instalación
- Opción 2: Instala a través de un gestor de paquetes refiriéndote a la Guía de instalación basada en paquetes
-
Verificar instalación:
./stellar-core version
Configuración y uso
Establece la configuración del core cautivo para la red Stellar objetivo en formato TOML. Esta configuración requiere como mínimo:
- La frase de paso de la red Stellar a la que deseas conectarte.
- La ruta a los archivos de historial, necesarios para la inicialización.
Paso 1: Generar una configuración CaptiveCoreToml
captiveCoreToml, err := ledgerbackend.NewCaptiveCoreTomlFromData(
ledgerbackend.PubnetDefaultConfig,
ledgerbackend.CaptiveCoreTomlParams{
NetworkPassphrase: network.PublicNetworkPassphrase,
HistoryArchiveURLs: network.PublicNetworkhistoryArchiveURLs,
},
)
if err != nil {
// Handle error
}
Paso 2: Construir un objeto CaptiveCoreConfig
A continuación, crea un objeto CaptiveCoreConfig. Este objeto combina la configuración CaptiveCoreToml con la ruta a tu binario stellar-core y otros parámetros necesarios.
config := ledgerbackend.CaptiveCoreConfig{
BinaryPath: "/usr/local/bin/stellar-core", // Adjust to your stellar-core binary path
NetworkPassphrase: network.PublicNetworkPassphrase,
HistoryArchiveURLs: network.PublicNetworkhistoryArchiveURLs,
Toml: captiveCoreToml,
}
Paso 3: Instanciar CaptiveStellarCore
Finalmente, crea una instancia de CaptiveStellarCore
utilizando la función NewCaptive
. Esta función gestiona el ciclo de vida completo del proceso stellar-core, incluida la comunicación con tu aplicación.
captiveStellarCoreBackend, err := ledgerbackend.NewCaptive(config)
if err != nil {
// Handle error
}
El captiveStellarCoreBackend
ahora se puede usar para recuperar datos de ledger dentro de un rango especificado. Para un uso detallado, consulta los ejemplos de código.