Puntos finales de Horizon
Horizon proporciona una API de 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 de Stellar Lab ofrece una interfaz de usuario de 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.
El 1 de agosto de 2024, el SDF truncó los datos históricos en sus instancias de Horizon a un año. Esta actualización nos permite optimizar el rendimiento y garantizar una experiencia fluida para todos los usuarios. Te animamos a explorar proveedores del 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, Trades, 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 Trades, y Estadísticas de Tarifas.
Los Puntos finales de Horizon de Stellar Lab enumeran cada tipo de recurso en el menú lateral, permitiendo a los desarrolladores interactuar con sus respectivos puntos finales.
Para 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.
Ejemplos de Puntos finales de Horizon
Exploremos varias ejemplos de puntos finales de Horizon en Testnet y Mainnet. También tenemos documentación sobre cómo configurar un entorno de red local de 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:
/accounts/:account-id
- Pagos por Cuenta:
/accounts/:account-id/payments
- Todos los Activos:
/assets
Cuenta Única
El punto final de cuenta única /accounts/:account-id
proporciona información sobre una cuenta específica. Este ejemplo utiliza una cuenta GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F
en Testnet.
Cuando hago clic en el botón Enviar, el punto final de la 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
, balanzas
de la cuenta, incluidos los activos que la cuenta ha configurado su línea de confianza, umbrales
, flags
, y firmantes
(3 firmantes en la cuenta de ejemplo).
El punto final también proporciona enlaces a páginas de recursos relacionadas en Stellar Lab para la cuenta consultada. Por ejemplo, la respuesta incluye transacciones
, operaciones
, pagos
, y más bajo _links
. Hacer clic en el href
de una transacción lleva a los desarrolladores a la Página de Transacciones por Cuenta en Stellar Lab donde los desarrolladores pueden consultar transacciones para esa cuenta de inmediato.
"_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 por Cuenta
El punto final Pagos por Cuenta /accounts/:account-id/payments
proporciona pagos exitosos para una cuenta dada y se puede usar en modo de transmisión. Vamos a usar la misma cuenta que usamos en el ejemplo anterior: GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F
.
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 se enviaron exitosamente en la cuenta en formato JSON
.
{
"_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, usaremos el Horizon Mainnet de SDF para recuperar la información más reciente sobre el activo.
Consultemos sobre uno de los activos más populares en la red Stellar: USDC de Circle. Para hacerlo, ingresa USDC
como el Código de Activo y GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
como el Emisor del Activo.
Cuando hago clic en el botón Enviar, el punto final /assets
devuelve los detalles del activo USDC
en formato JSON
.
La respuesta en 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 de Stellar), el número de saldos reclamables, fondos de liquidez, contratos, cuentas, saldos y flags.
Muestra que auth_revocable
está configurado como true
bajo flags
, indicando que esta cuenta (en este caso, el emisor USDC
) puede congelar el saldo de un tenedor 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 permite copiar un URL a su página, que redirige a los usuarios a un formulario con el URL del punto final y los valores de parámetros pre-llenados. Esta función facilita la colaboración con otros.
Por ejemplo, al hacer clic en el icono de compartir en la página de Pagos por Cuenta con el ID de cuenta GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F
, se copia un URL que incluye el parámetro del ID de cuenta y la configuración de red. Un ejemplo de un URL copiado es este enlace.
Solicitudes Guardadas
El icono al lado del icono de Función de 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 cambiarse utilizando el menú en la esquina superior derecha.
Hacer clic en el icono abre un modal. Te recomendamos proporcionar un nombre identificable para facilitar la búsqueda más tarde.
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.
En la página de Solicitudes Guardadas, puedes actualizar el nombre de una solicitud en cualquier momento haciendo clic en el botón de edición y guardando el nuevo nombre. El botón Ver te redirige a la página correspondiente del punto final en Stellar Lab, mientras que el icono de copiar sirve como la función de compartir que discutimos anteriormente. También puedes eliminar solicitudes guardadas desde esta página.