Saltar al contenido principal

Puntos finales de Horizon

Horizon proporciona una API HTTP para acceder a los datos almacenados en la red Stellar. Esta API actúa como un puente entre las aplicaciones y Stellar Core. El Explorador de API del Stellar Lab ofrece una interfaz de usuario para los puntos finales de Horizon, permitiendo a los desarrolladores interactuar con Horizon en Futurenet, Testnet, Mainnet y redes personalizadas. Los desarrolladores pueden usar Stellar Lab para crear y enviar transacciones, consultar saldos de cuentas y transmitir eventos como transacciones para una cuenta.

información

El 1 de agosto de 2024, Horizon, alojado por SDF y de acceso público, tuvo sus datos históricos truncados a un año. Esa actualización optimizó el rendimiento de Horizon de acceso público y aseguró una experiencia optimizada para todos los usuarios. Considera a los proveedores de ecosistema de terceros de Horizon, que pueden ofrecer una ventana de retención de historial más larga, así como otras características.

Los datos en el ledger de Stellar están organizados en recursos: Cuentas, Activos, Saldos reclamables, Efectos, Ledgers, Fondos de Liquidez, Ofertas, Operaciones, Negociaciones y Transacciones. Cada recurso tiene múltiples puntos finales. Los puntos finales que agregan datos de ledger (también conocidos como agregaciones) incluyen recursos como Libros de órdenes, Rutas, Agregaciones de comercio y Estadísticas de tarifas.

Los puntos finales de Horizon del Stellar Lab enumeran cada tipo de recurso en el menú lateral, permitiendo a los desarrolladores interactuar con sus respectivos puntos finales.

Lab: Página de Horizon

información

Para obtener información detallada sobre cada punto final en una página, haz clic en el enlace Ver Docs en el encabezado para acceder a su documentación de referencia de API.

Lab: Horizon - Ver Docs

Ejemplos de puntos finales de Horizon

Exploraremos varias ejemplos de puntos finales de Horizon en Testnet y Mainnet. También tenemos documentación sobre cómo configurar un entorno local de red Stellar si estás interesado en usar un entorno local. Esto demostrará cómo usar el Lab para acceder a estos puntos finales.

Cuenta única

El punto final de cuenta única /accounts/:account-id proporciona información sobre una cuenta específica. Este ejemplo usa una cuenta GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F en Testnet.

Lab: Horizon - Cuenta única

Cuando hago clic en el botón Enviar, el punto final de cuenta devuelve los detalles de la cuenta en formato JSON. Los desarrolladores pueden usar la funcionalidad Copiar JSON para copiar y pegar la respuesta. Junto con los detalles de la cuenta, como id, balances de la cuenta, incluyendo los activos a los que la cuenta tiene establecida su trustline, thresholds, flags y signers (3 signers en la cuenta de ejemplo).

El punto final también proporciona enlaces a páginas de recursos relacionados en el Stellar Lab para la cuenta consultada. Por ejemplo, la respuesta incluye transactions, operations, payments y más bajo _links. Al hacer clic en un href de transacción lleva a los desarrolladores a la Página de Transacciones para Cuenta en el Stellar Lab donde los desarrolladores pueden consultar transacciones para esa cuenta de inmediato.

Lab: Horizon - Respuesta de Cuenta Única

  "_links": {
"self": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F"
},
"transactions": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/transactions{?cursor,limit,order}",
"templated": true
},
"operations": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/operations{?cursor,limit,order}",
"templated": true
},
"payments": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments{?cursor,limit,order}",
"templated": true
},
"effects": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/effects{?cursor,limit,order}",
"templated": true
},
"offers": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/offers{?cursor,limit,order}",
"templated": true
},
"trades": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/trades{?cursor,limit,order}",
"templated": true
},
"data": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/data/{key}",
"templated": true
}
},
"id": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"account_id": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"sequence": "4113457683103748",
"sequence_ledger": 958608,
"sequence_time": "1731620848",
"subentry_count": 3,
"last_modified_ledger": 958608,
"last_modified_time": "2024-11-14T21:47:28Z",
"thresholds": {
"low_threshold": 5,
"med_threshold": 5,
"high_threshold": 5
},
"flags": {
"auth_required": false,
"auth_revocable": false,
"auth_immutable": false,
"auth_clawback_enabled": false
},
"balances": [
{
"balance": "0.0000000",
"limit": "922337203685.4775807",
"buying_liabilities": "0.0000000",
"selling_liabilities": "0.0000000",
"last_modified_ledger": 958608,
"is_authorized": true,
"is_authorized_to_maintain_liabilities": true,
"asset_type": "credit_alphanum4",
"asset_code": "USDC",
"asset_issuer": "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"
},
{
"balance": "9990.9999400",
"buying_liabilities": "0.0000000",
"selling_liabilities": "0.0000000",
"asset_type": "native"
}
],
"signers": [
{
"weight": 2,
"key": "GAGOOY3NKKNEXDOVKTKIP2AUCT6ZOQD4SMWAB54TSHTAXATLJSVVDJCZ",
"type": "ed25519_public_key"
},
{
"weight": 1,
"key": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"type": "ed25519_public_key"
},
{
"weight": 2,
"key": "GDFHN4ILDFEBM5YHW6MYOQIRNY3EQ7VV72IW3YIAZNXDW363SUAK7BBL",
"type": "ed25519_public_key"
}
],
"data": {},
"num_sponsoring": 0,
"num_sponsored": 0,
"paging_token": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F"
}

Pagos para Cuenta

El punto final de pagos para cuenta /accounts/:account-id/payments proporciona pagos exitosos para una cuenta dada y puede ser usado en modo de transmisión. Vamos a usar la misma cuenta que usamos en el ejemplo anterior: GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F.

Lab: Horizon - Pagos

Cuando hago clic en el botón Enviar, el punto final devuelve los registros de pagos (consulta la referencia de API para más información sobre el formato de respuesta) incluyendo el objeto de pago que fueron enviados exitosamente en la cuenta en formato JSON.

Lab: Horizon - Respuesta de Pagos

{
"_links": {
"self": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments?cursor=&limit=10&order=asc"
},
"next": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments?cursor=4115390418391041&limit=10&order=asc"
},
"prev": {
"href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments?cursor=4113457683111937&limit=10&order=desc"
}
},
"_embedded": {
"records": [
{
"_links": {
"self": {
"href": "https://horizon-testnet.stellar.org/operations/4113457683111937"
},
"transaction": {
"href": "https://horizon-testnet.stellar.org/transactions/b86ad0433bd024d37739b803529e77601bceb83976d6ae328a61f8f0f8300cb6"
},
"effects": {
"href": "https://horizon-testnet.stellar.org/operations/4113457683111937/effects"
},
"succeeds": {
"href": "https://horizon-testnet.stellar.org/effects?order=desc&cursor=4113457683111937"
},
"precedes": {
"href": "https://horizon-testnet.stellar.org/effects?order=asc&cursor=4113457683111937"
}
},
"id": "4113457683111937",
"paging_token": "4113457683111937",
"transaction_successful": true,
"source_account": "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR",
"type": "create_account",
"type_i": 0,
"created_at": "2024-11-14T20:34:58Z",
"transaction_hash": "b86ad0433bd024d37739b803529e77601bceb83976d6ae328a61f8f0f8300cb6",
"starting_balance": "10000.0000000",
"funder": "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR",
"account": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F"
},
{
"_links": {
"self": {
"href": "https://horizon-testnet.stellar.org/operations/4113586532130817"
},
"transaction": {
"href": "https://horizon-testnet.stellar.org/transactions/bbc6b423efb9c5a8ebb1ac72437a326ffd4b8a202782157f9a9bca38f742f7d7"
},
"effects": {
"href": "https://horizon-testnet.stellar.org/operations/4113586532130817/effects"
},
"succeeds": {
"href": "https://horizon-testnet.stellar.org/effects?order=desc&cursor=4113586532130817"
},
"precedes": {
"href": "https://horizon-testnet.stellar.org/effects?order=asc&cursor=4113586532130817"
}
},
"id": "4113586532130817",
"paging_token": "4113586532130817",
"transaction_successful": true,
"source_account": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"type": "payment",
"type_i": 1,
"created_at": "2024-11-14T20:37:28Z",
"transaction_hash": "bbc6b423efb9c5a8ebb1ac72437a326ffd4b8a202782157f9a9bca38f742f7d7",
"asset_type": "native",
"from": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"to": "GDE25LQ34AFCSDMYTOI6AVVEHRXFRJI4MOAVIUGUDUQEC5ZWN5OZDLAZ",
"amount": "4.0000000"
},
{
"_links": {
"self": {
"href": "https://horizon-testnet.stellar.org/operations/4115390418391041"
},
"transaction": {
"href": "https://horizon-testnet.stellar.org/transactions/6de546bd7702f1590f21928e6aa1329582b436f11d9fc9bcce304ea51f1893b0"
},
"effects": {
"href": "https://horizon-testnet.stellar.org/operations/4115390418391041/effects"
},
"succeeds": {
"href": "https://horizon-testnet.stellar.org/effects?order=desc&cursor=4115390418391041"
},
"precedes": {
"href": "https://horizon-testnet.stellar.org/effects?order=asc&cursor=4115390418391041"
}
},
"id": "4115390418391041",
"paging_token": "4115390418391041",
"transaction_successful": true,
"source_account": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"type": "payment",
"type_i": 1,
"created_at": "2024-11-14T21:12:31Z",
"transaction_hash": "6de546bd7702f1590f21928e6aa1329582b436f11d9fc9bcce304ea51f1893b0",
"asset_type": "native",
"from": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F",
"to": "GCNJ2TA24PJNDPE2JF3BYVLUTJX2GLRDGGBG4SYMQHKHYDHSMAPRZXWC",
"amount": "5.0000000"
}
]
}
}

Todos los activos

El punto final /assets de Horizon proporciona información sobre un activo. Dado que no estamos interesados en datos históricos, utilizaremos el Horizon de Mainnet de SDF para recuperar la información más reciente sobre el activo.

Lab: Horizon - Página de Activos

Inquiramos sobre uno de los activos más populares de la red Stellar: USDC de Circle. Para hacer esto, ingresa USDC como el Código del Activo y GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN como el Emisor del Activo.

Lab: Horizon - Página de Activos

Cuando hago clic en el botón Enviar, el punto final /assets devuelve los detalles del activo USDC en formato JSON.

Lab: Horizon - Página de Activos

La respuesta JSON para el activo USDC incluye el objeto de activo, que contiene detalles sobre USDC, como el archivo TOML del activo (también conocido como el archivo de información Stellar), el número de saldos reclamables, fondos de liquidez, contratos, cuentas, saldos y flags.

Muestra que auth_revocable está establecido en true bajo flags, indicando que esta cuenta (en este caso, el emisor de USDC) puede congelar el saldo de un titular de un activo que ha emitido.

{
"_links": {
"self": {
"href": "https://horizon.stellar.org/assets?asset_code=USDC&asset_issuer=GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&cursor=&limit=10&order=asc"
},
"next": {
"href": "https://horizon.stellar.org/assets?asset_code=USDC&asset_issuer=GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&cursor=USDC_GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN_credit_alphanum4&limit=10&order=asc"
},
"prev": {
"href": "https://horizon.stellar.org/assets?asset_code=USDC&asset_issuer=GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&cursor=USDC_GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN_credit_alphanum4&limit=10&order=desc"
}
},
"_embedded": {
"records": [
{
"_links": {
"toml": {
"href": "https://centre.io/.well-known/stellar.toml"
}
},
"asset_type": "credit_alphanum4",
"asset_code": "USDC",
"asset_issuer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
"paging_token": "USDC_GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN_credit_alphanum4",
"contract_id": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75",
"num_claimable_balances": 449,
"num_liquidity_pools": 645,
"num_contracts": 388,
"num_archived_contracts": 18,
"accounts": {
"authorized": 1058053,
"authorized_to_maintain_liabilities": 0,
"unauthorized": 0
},
"claimable_balances_amount": "8567.4304807",
"liquidity_pools_amount": "6154162.8631633",
"contracts_amount": "2734426.6007745",
"archived_contracts_amount": "26.3776599",
"balances": {
"authorized": "121258232.6884846",
"authorized_to_maintain_liabilities": "0.0000000",
"unauthorized": "0.0000000"
},
"flags": {
"auth_required": false,
"auth_revocable": true,
"auth_immutable": false,
"auth_clawback_enabled": false
}
}
]
}
}

Función de compartir

El Stellar Lab ofrece una función de compartir que te permite copiar una URL a su página, la cual redirige a los usuarios a un formulario con la URL del punto final y los valores de parámetro prellenados. Esta función facilita la colaboración con otros.

Por ejemplo, al hacer clic en el ícono de compartir en la página de Pagos para Cuenta con el ID de cuenta GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F, copia una URL que incluye el parámetro de ID de cuenta y la configuración de red. Un ejemplo de una URL copiada es este enlace.

Lab: Horizon - Función Compartir

Solicitudes Guardadas

El ícono junto al ícono de Función Compartir te permite guardar un punto final con sus parámetros en el almacenamiento local de tu navegador. Muestra el punto final para la red seleccionada, que puede ser cambiada usando el menú en la esquina superior derecha.

Lab: Horizon - Guardar

Hacer clic en el ícono abre un modal. Recomendamos proporcionar un nombre identificable para facilitar la búsqueda posterior.

Lab: Horizon - Modal

Los puntos finales guardados se encuentran en la parte superior izquierda del menú lateral. Incluyen solicitudes tanto para los Métodos RPC como para los Puntos Finales de Horizon.

Lab: Horizon - Página de Solicitudes Guardadas

En la página de Solicitudes Guardadas, puedes actualizar un nombre de solicitud en cualquier momento haciendo clic en el botón de editar y guardando el nuevo nombre. El botón Ver te redirige a la página del punto final respectivo en el Stellar Lab, mientras que el ícono de copiar sirve como la Función Compartir que discutimos anteriormente. También puedes eliminar solicitudes guardadas desde esta página.