{"id":16275,"date":"2024-09-11T15:45:28","date_gmt":"2024-09-11T22:45:28","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16275"},"modified":"2024-09-26T10:31:41","modified_gmt":"2024-09-26T17:31:41","slug":"query-stellar-blockchain-trades-couchbase-capella-python","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/query-stellar-blockchain-trades-couchbase-capella-python\/","title":{"rendered":"Consulta de operaciones de la cadena de bloques Stellar con Couchbase Capella"},"content":{"rendered":"<p>Anteriormente, compartimos un post sobre <a href=\"https:\/\/www.couchbase.com\/blog\/es\/monitor-stellar-assets-using-couchbase-python\/\">c\u00f3mo controlar los activos Stellar<\/a> utilizando Couchbase. En este seguimiento, demostraremos c\u00f3mo cargar transacciones recientes de Stellar blockchain (por ejemplo, operaciones) en nuestra Capella DBaaS, haci\u00e9ndolas f\u00e1cilmente accesibles para su uso en aplicaciones de ejemplo. Con la interfaz de usuario de gesti\u00f3n web incorporada de Capella, puede ejecutar consultas de prueba, explorar documentos y realizar varias otras tareas para interactuar con los datos de blockchain sin problemas.<\/p>\n<h2>\u00bfQu\u00e9 son las operaciones Stellar?<\/h2>\n<p>Stellar es una plataforma de cadena de bloques descentralizada dise\u00f1ada para transacciones r\u00e1pidas, seguras y de bajo coste. Para desarrolladores e ingenieros de bases de datos, Stellar ofrece una oportunidad \u00fanica para crear aplicaciones financieras que puedan gestionar pagos transfronterizos, micropagos y activos tokenizados a escala. Lo que diferencia a Stellar es su algoritmo de consenso, el Protocolo de Consenso Stellar (SCP), que proporciona una alternativa m\u00e1s eficiente energ\u00e9ticamente que las cadenas de bloques tradicionales de prueba de trabajo. Esto permite a los desarrolladores integrar la funcionalidad de blockchain sin comprometer la velocidad o la escalabilidad.<\/p>\n<p>La API y los SDK de Stellar son compatibles con una amplia gama de lenguajes de programaci\u00f3n, lo que facilita la creaci\u00f3n, conexi\u00f3n y gesti\u00f3n de aplicaciones respaldadas por blockchain dentro de las infraestructuras de bases de datos existentes. Aprovechando Stellar, los desarrolladores pueden llevar el poder de las finanzas descentralizadas (DeFi) a sus sistemas con la m\u00ednima fricci\u00f3n y el m\u00e1ximo impacto.<\/p>\n<p>Estelar <em>comercios<\/em> son operaciones que se producen en la blockchain de Stellar, facilitando la transferencia de activos entre cuentas o interactuando con la red de diversas formas. Cada transacci\u00f3n se compone de un conjunto de operaciones y requiere la autorizaci\u00f3n del titular de la cuenta que la inicia mediante una firma digital. Stellar admite varios tipos de operaciones dentro de una misma transacci\u00f3n, lo que le confiere una gran versatilidad.<\/p>\n<p>Los aspectos clave de las transacciones Stellar incluyen:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Transferencia de activos<\/strong>: Stellar permite la transferencia de cualquier tipo de activo, incluyendo XLM nativo (Lumens) y monedas fiduciarias tokenizadas, entre cuentas.<\/li>\n<li><strong>Pagos por trayecto<\/strong>: Esta funci\u00f3n permite a los usuarios enviar un tipo de activo mientras el destinatario recibe otro. El intercambio descentralizado de Stellar (DEX) encuentra autom\u00e1ticamente la mejor ruta de intercambio para facilitar la conversi\u00f3n.<\/li>\n<li><strong>Creaci\u00f3n y gesti\u00f3n de cuentas<\/strong>: Las transacciones pueden crear nuevas cuentas, asignar saldos iniciales y establecer diversos par\u00e1metros de cuenta, como l\u00edneas de confianza (para aceptar nuevos tipos de activos).<\/li>\n<li><strong>Contratos inteligentes (Multi-Sig)<\/strong>: Aunque Stellar no tiene contratos inteligentes tradicionales como Ethereum, admite transacciones con varias firmas y operaciones bloqueadas en el tiempo, lo que permite escenarios de transacciones m\u00e1s complejos, como configuraciones tipo escrow.<\/li>\n<li><strong>Emisi\u00f3n y negociaci\u00f3n de activos<\/strong>: Stellar permite a cualquiera emitir activos personalizados (como tokens) y negociarlos en su DEX. Los desarrolladores pueden tokenizar activos y proporcionar liquidez para pares comerciales.<\/li>\n<li><strong>Estructura de las tasas<\/strong>: Las transacciones de Stellar est\u00e1n dise\u00f1adas para ser r\u00e1pidas y de bajo coste, con comisiones de solo fracciones de c\u00e9ntimo (denominadas en XLM). Esto es especialmente beneficioso para las aplicaciones que requieren un alto rendimiento de las transacciones y unos gastos generales m\u00ednimos.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Para los desarrolladores, las transacciones de Stellar ofrecen una forma sencilla de interactuar con activos digitales e integrar funciones descentralizadas en las aplicaciones, al tiempo que se benefician de los r\u00e1pidos tiempos de confirmaci\u00f3n y las bajas comisiones de la cadena de bloques.<\/p>\n<h2>C\u00f3mo cargar datos hist\u00f3ricos de Stellar desde Horizon Server utilizando Python<\/h2>\n<p>El servicio Stellar Horizon desempe\u00f1a un papel vital en el ecosistema Stellar, sirviendo de puente entre los desarrolladores y la red Stellar. Al proporcionar una API RESTful, permite a las aplicaciones interactuar f\u00e1cilmente con la cadena de bloques de Stellar sin necesidad de acceder directamente a los nodos subyacentes de Stellar Core. Esta abstracci\u00f3n simplifica el proceso para los desarrolladores, facilitando la creaci\u00f3n e integraci\u00f3n de funciones basadas en la cadena de bloques.<\/p>\n<p>Horizon gestiona varias funciones clave esenciales para la interacci\u00f3n de blockchain. Permite a los desarrolladores enviar transacciones, validarlas y reenviarlas a Stellar Core para su procesamiento. Adem\u00e1s, ofrece acceso a informaci\u00f3n detallada de la cuenta, como saldos, historial de transacciones y l\u00edneas de fideicomiso, lo que simplifica la recuperaci\u00f3n y visualizaci\u00f3n de datos. Horizon tambi\u00e9n permite a los desarrolladores consultar el libro mayor de Stellar en busca de transacciones pasadas y detalles operativos, sirviendo como una puerta de entrada f\u00e1cil de usar para acceder a datos de blockchain tanto en tiempo real como hist\u00f3ricos.<\/p>\n<p>En este ejemplo s\u00f3lo vamos a ver las operaciones y los precios de los activos basados en operaciones hist\u00f3ricas. Los documentos de operaciones, devueltos desde Horizon como JSON, tienen este aspecto:<\/p>\n<div>\n<pre class=\"lang:js decode:true\">{\r\n    \"_links\": {\r\n        \"self\": {\r\n            \"href\": \"\"\r\n        },\r\n        \"base\": {\r\n            \"href\": \"https:\/\/horizon.stellar.org\/liquidity_pools\/94b45fd827c6d0a420032d600e8738625efd0ee7c6e4d6345cb184ee6e153ebb\"\r\n        },\r\n        \"counter\": {\r\n            \"href\": \"https:\/\/horizon.stellar.org\/accounts\/GD65FION32RSQYIHDSQU3ZNMHWCFQ4KVILQYDFGFWI3NCCZXQG265EXP\"\r\n        },\r\n        \"operation\": {\r\n            \"href\": \"https:\/\/horizon.stellar.org\/operations\/202488814445412353\"\r\n        }\r\n    },\r\n    \"id\": \"202488814445412353-0\",\r\n    \"paging_token\": \"202488814445412353-0\",\r\n    \"ledger_close_time\": \"2023-07-11T02:54:21Z\",\r\n    \"trade_type\": \"liquidity_pool\",\r\n    \"liquidity_pool_fee_bp\": 30,\r\n    \"base_liquidity_pool_id\": \"94b45fd827c6d0a420032d600e8738625efd0ee7c6e4d6345cb184ee6e153ebb\",\r\n    \"base_amount\": \"0.0000003\",\r\n    \"base_asset_type\": \"native\",\r\n    \"counter_offer_id\": \"4814174832872800257\",\r\n    \"counter_account\": \"GD65FION32RSQYIHDSQU3ZNMHWCFQ4KVILQYDFGFWI3NCCZXQG265EXP\",\r\n    \"counter_amount\": \"11.0000000\",\r\n    \"counter_asset_type\": \"credit_alphanum4\",\r\n    \"counter_asset_code\": \"wSHX\",\r\n    \"counter_asset_issuer\": \"GDAPJ5EVAXUU5ZLDHBUQF3MA5EV7S44T3AJPY42LMSD6ZZKQOQIAWSHX\",\r\n    \"base_is_seller\": true,\r\n    \"price\": {\r\n        \"n\": \"110000000\",\r\n        \"d\": \"3\"\r\n    }\r\n}<\/pre>\n<p>Nuestro script en Python descargar\u00e1 las operaciones m\u00e1s recientes y cargar\u00e1 los documentos en Capella.<\/p>\n<\/div>\n<h2>Requisitos para conectarse a Horizon y Couchbase<\/h2>\n<p>Tanto Couchbase como Stellar tienen un par de requisitos antes de que podamos ejecutar nuestro script:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Utilizamos el programa Python <em><a href=\"https:\/\/stellar-sdk.readthedocs.io\/en\/stable\/\">stellar_sdk<\/a> <\/em>. En ejemplos anteriores utilizamos peticiones HTTP b\u00e1sicas, pero de esta forma podemos mantener el c\u00f3digo simple y utilizar las librer\u00edas soportadas. Instalar con <code>pip install stellar-sdk<\/code>.<\/li>\n<li>Si s\u00f3lo desea consultar las operaciones relacionadas con determinados activos, tendr\u00e1 que conocer los <em>identificadores de activos<\/em> de antemano. En <em>c\u00f3digo_activo<\/em> identifica el activo espec\u00edfico que se negocia, mientras que el <em>emisor_de_activos<\/em> especifica la cuenta Stellar que emiti\u00f3 el activo, garantizando su autenticidad y origen.\n<ul>\n<li>Cuidado: \u00a1ambos elementos son fundamentales para identificar el activo correcto a la hora de operar!<\/li>\n<\/ul>\n<\/li>\n<li>Para conectarse a Capella, debe tener una cuenta - <a href=\"https:\/\/cloud.couchbase.com\">Reg\u00edstrese hoy mismo para obtener una cuenta gratuita en Capella<\/a>sin ning\u00fan compromiso.<\/li>\n<li>Su cluster debe tener un bucket llamado <em>estelar<\/em>.<\/li>\n<li>Tambi\u00e9n debe conocer la URL de conexi\u00f3n al cubo con el que est\u00e1 trabajando.<\/li>\n<li>El acceso al cl\u00faster tambi\u00e9n debe habilitarse con un nombre y una contrase\u00f1a.<\/li>\n<li>Estos ajustes son accesibles a trav\u00e9s de la interfaz de gesti\u00f3n de Capella.<\/li>\n<li>Guarde estos ajustes en un archivo local_settings.py que llamaremos con nuestro script:\n<pre class=\"nums:false lang:default decode:true\">endpoint = \"couchbases:\/\/cb.xlzvmx....jom.cloud.couchbase.com\"\r\nusername = \"clusterusername\"\r\npassword = \"clusterpassword\"\r\nbucket = \"stellar\"\r\n<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Acceso a los datos de Stellar Horizon con Python<\/h2>\n<p>Con lo anterior en su lugar, aqu\u00ed est\u00e1 una muestra de la funci\u00f3n de c\u00f3digo b\u00e1sico para tomar las operaciones, filtrando opcionalmente por <em>c\u00f3digo_activo<\/em> o <em>emisor_activos:<\/em><\/p>\n<pre class=\"lang:python decode:true\">def fetch_and_store_trades(asset_code=None, asset_issuer=None):\r\n    server = Server(horizon_url=HORIZON_URL)\r\n    trades_call_builder = server.trades().limit(MAX_TRANSACTIONS)\r\n\r\n    try:\r\n        trades_response = trades_call_builder.call()\r\n        trades = trades_response['_embedded']['records']\r\n\r\n        # Filter trades manually based on asset code and issuer\r\n        if asset_code and asset_issuer:\r\n            filtered_trades = [\r\n                trade for trade in trades\r\n                if (\r\n                    (trade.get('base_asset_code') == asset_code and trade.get('base_asset_issuer') == asset_issuer) or\r\n                    (trade.get('counter_asset_code') == asset_code and trade.get('counter_asset_issuer') == asset_issuer)\r\n                )\r\n            ]\r\n        else:\r\n            filtered_trades = trades\r\n\r\n        # Compute price as a floating-point number\r\n        for trade in filtered_trades:\r\n            price_n = float(trade['price']['n'])\r\n            price_d = float(trade['price']['d'])\r\n            trade['price_number'] = price_n \/ price_d\r\n\r\n        upload_to_couchbase(filtered_trades, COUCHBASE_BUCKET)\r\n    except Exception as e:\r\n        print(f\"An error occurred while fetching trades: {e}\")<\/pre>\n<h2>Descifrando el precio de negociaci\u00f3n del activo Stellar<\/h2>\n<p>Para este ejemplo nos interesan espec\u00edficamente tres conjuntos de informaci\u00f3n que aparecen en el documento de muestra anterior:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>asset_code &amp; asset_issuer - l\u00edneas 28-29 en el documento de muestra<\/li>\n<li>importe negociado - l\u00ednea 26<\/li>\n<li>precios de la operaci\u00f3n - l\u00edneas 31-34 nos indican el precio del activo durante la operaci\u00f3n y se guardan en un objeto JSON llamado <em>precio:{}<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Los dos primeros conjuntos de datos son atributos sencillos que podemos utilizar tal cual. Pero los precios son un poco m\u00e1s complicados. Los precios en Stellar tienen una precisi\u00f3n muy alta y no s\u00f3lo utilizan valores flotantes. En su lugar, utilizan un numerador y un denominador que se dividen, seg\u00fan sea necesario, para producir un precio en coma flotante. As\u00ed que, como se muestra en el ejemplo de c\u00f3digo, en la l\u00ednea 25, calculamos un nuevo atributo que se guardar\u00e1 en el documento antes de que se cargue en la base de datos.<\/p>\n<p style=\"padding-left: 40px;\"><code>comercio['n\u00famero_precio'] = precio_n \/ precio_d<\/code><\/p>\n<p>Puedes utilizar el mismo patr\u00f3n para a\u00f1adir cualquier tipo de atributo que necesites, como la fecha de descarga, el nombre del proyecto, etc.<\/p>\n<p>Ahora que tenemos el documento comercial, a\u00f1adido nuestro n\u00famero de precio de aspecto normal, podemos cargarlo en la base de datos con nuestro c\u00f3digo de funci\u00f3n de carga.<\/p>\n<h2>Carga de documentos en Capella con Python<\/h2>\n<p>Existen varios m\u00e9todos para cargar y\/o actualizar documentos en Capella. En este caso utilizamos la funci\u00f3n upsert para a\u00f1adir o sustituir documentos con el mismo ID. Tomamos el ID directamente del atributo ID de la operaci\u00f3n, por lo que nuestra clave personalizada flexible para nuestros documentos puede reflejar exactamente Horizon. Esto es \u00fatil para la futura alineaci\u00f3n con los datos hist\u00f3ricos de Horizon a medida que ampl\u00eda su sistema.<\/p>\n<pre class=\"lang:python decode:true\">def upload_to_couchbase(data, bucket_name):\r\n    try:\r\n        # Connect to Couchbase cluster\r\n        timeout_options = ClusterTimeoutOptions(kv_timeout=timedelta(seconds=10))\r\n        cluster = Cluster(\r\n            COUCHBASE_CLUSTER,\r\n            ClusterOptions(PasswordAuthenticator(COUCHBASE_USERNAME, COUCHBASE_PASSWORD), timeout_options=timeout_options)\r\n        )\r\n        bucket = cluster.bucket(bucket_name)\r\n        collection = bucket.default_collection()\r\n\r\n        # Upsert the data (overwrite if key exists)\r\n        for trade in data:\r\n            key = trade['id']\r\n            collection.upsert(key, trade)\r\n\r\n        print(f\"Data has been uploaded to Couchbase bucket '{bucket_name}'\")\r\n\r\n    except CouchbaseException as e:\r\n        print(f\"An error occurred while uploading to Couchbase: {e}\")\r\n<\/pre>\n<p>El gui\u00f3n completo se incluye aqu\u00ed, haga clic para ampliar:<\/p>\n<pre class=\"font-size:10 line-height:12 toolbar-overlay:false striped:false nums:false minimize:true lang:python decode:true\" title=\"&gt;&gt; Click to see full Python script \">import argparse\r\nimport requests\r\nimport json\r\nfrom datetime import timedelta\r\nfrom couchbase.cluster import Cluster\r\nfrom couchbase.auth import PasswordAuthenticator\r\nfrom couchbase.options import ClusterOptions, ClusterTimeoutOptions\r\nfrom couchbase.exceptions import CouchbaseException\r\nfrom stellar_sdk.server import Server\r\nimport local_settings as capella\r\n\r\n# Define the Horizon API endpoint\r\nHORIZON_URL = \"https:\/\/horizon.stellar.org\"\r\nMAX_TRANSACTIONS = 100  # Number of transactions to retrieve\r\nBATCH_SIZE = 200  # Number of transactions per request (maximum allowed by the API)\r\n\r\n# Couchbase connection details\r\nCOUCHBASE_CLUSTER = capella.endpoint\r\nCOUCHBASE_BUCKET =  capella.bucket\r\nCOUCHBASE_USERNAME = capella.username\r\nCOUCHBASE_PASSWORD = capella.password\r\n\r\ndef fetch_and_store_trades(asset_code=None, asset_issuer=None):\r\n    server = Server(horizon_url=HORIZON_URL)\r\n    trades_call_builder = server.trades().limit(MAX_TRANSACTIONS)\r\n\r\n    try:\r\n        trades_response = trades_call_builder.call()\r\n        trades = trades_response['_embedded']['records']\r\n\r\n        # Filter trades manually based on asset code and issuer\r\n        if asset_code and asset_issuer:\r\n            filtered_trades = [\r\n                trade for trade in trades\r\n                if (\r\n                    (trade.get('base_asset_code') == asset_code and trade.get('base_asset_issuer') == asset_issuer) or\r\n                    (trade.get('counter_asset_code') == asset_code and trade.get('counter_asset_issuer') == asset_issuer)\r\n                )\r\n            ]\r\n        else:\r\n            filtered_trades = trades\r\n\r\n        # Compute price as a floating-point number\r\n        for trade in filtered_trades:\r\n            price_n = float(trade['price']['n'])\r\n            price_d = float(trade['price']['d'])\r\n            trade['price_number'] = price_n \/ price_d\r\n\r\n        upload_to_couchbase(filtered_trades, COUCHBASE_BUCKET)\r\n    except Exception as e:\r\n        print(f\"An error occurred while fetching trades: {e}\")\r\n\r\ndef upload_to_couchbase(data, bucket_name):\r\n    try:\r\n        # Connect to Couchbase cluster\r\n        timeout_options = ClusterTimeoutOptions(kv_timeout=timedelta(seconds=10))\r\n        cluster = Cluster(\r\n            COUCHBASE_CLUSTER,\r\n            ClusterOptions(PasswordAuthenticator(COUCHBASE_USERNAME, COUCHBASE_PASSWORD), timeout_options=timeout_options)\r\n        )\r\n        bucket = cluster.bucket(bucket_name)\r\n        collection = bucket.default_collection()\r\n\r\n        # Upsert the data (overwrite if key exists)\r\n        for trade in data:\r\n            key = trade['id']\r\n            collection.upsert(key, trade)\r\n\r\n        print(f\"Data has been uploaded to Couchbase bucket '{bucket_name}'\")\r\n\r\n    except CouchbaseException as e:\r\n        print(f\"An error occurred while uploading to Couchbase: {e}\")\r\n\r\ndef main():\r\n    parser = argparse.ArgumentParser(description=\"Fetch trades from Stellar and store in Couchbase.\")\r\n    parser.add_argument('--asset_code', type=str, help='The asset code to filter trades by.')\r\n    parser.add_argument('--asset_issuer', type=str, help='The asset issuer to filter trades by.')\r\n    args = parser.parse_args()\r\n\r\n    fetch_and_store_trades(args.asset_code, args.asset_issuer)\r\n\r\nif __name__ == \"__main__\":\r\n    main()\r\n<\/pre>\n<h2>Ver documentos en Capella<\/h2>\n<p>Ir a la <strong>Herramientas de datos<\/strong> en Capella y establezca el <em>Cubo<\/em> desplegable a\u00a0<em>estelar<\/em> y utilizar\u00a0<em>Por defecto <\/em>para el \u00e1mbito y la colecci\u00f3n.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16277 size-full\" style=\"border: solid 1px black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM.png\" alt=\"\" width=\"3410\" height=\"1838\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM.png 2560w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM-300x162.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM-1024x552.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM-768x414.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM-1536x828.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM-2048x1104.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.38.45\u202fPM-1320x711.png 1320w\" sizes=\"auto, (max-width: 3410px) 100vw, 3410px\" \/><\/a><\/p>\n<p>Los documentos aparecen en una lista y puede hacer clic en el n\u00famero azul <strong>DOC ID<\/strong> para ver el documento completo y, a continuaci\u00f3n, despl\u00e1cese hacia abajo para ver la informaci\u00f3n sobre precios:<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16279 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-917x1024.png\" alt=\"\" width=\"900\" height=\"1005\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-917x1024.png 917w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-269x300.png 269w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-768x858.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-1376x1536.png 1376w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-300x335.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM-1320x1474.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-3.41.31\u202fPM.png 1784w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h3>Consulta de operaciones de la cadena de bloques Stellar en Capella<\/h3>\n<p>Ahora que los datos est\u00e1n en Capella podemos indexarlos y consultarlos. Pero vamos a intentarlo de una forma ligeramente no convencional, ejecutando primero nuestra consulta. Capella es inteligente y puede sugerir qu\u00e9 \u00edndices deben realizarse. As\u00ed que cuando ejecutas una consulta y se da cuenta de que podr\u00edas optimizarla m\u00e1s, te har\u00e1 sugerencias. Usted acepta la sugerencia y puede entonces continuar.<\/p>\n<p>Ir a la<strong> Herramientas de datos -&gt; Consulta<\/strong> y seleccione el cubo Stellar en el men\u00fa desplegable situado encima de la ventana de consulta.<\/p>\n<p>Borre la consulta por defecto e introduzca \u00e9sta para obtener una lista de operaciones con sus IDs, precio y el precio que Python calcul\u00f3, junto con los c\u00e1lculos de precios sobre la marcha dentro del lenguaje de consulta SQL++ de Capella:<\/p>\n<div>\n<pre class=\"nums:false lang:default decode:true\">SELECT \r\n  id, \r\n  price, \r\n  price.n AS price_number, \r\n  TONUMBER(price.n) \/ TONUMBER(price.d) AS price_calc\r\nFROM stellar._default._default\r\n<\/pre>\n<p>Como se puede ver, este SQL b\u00e1sico, aunque se puede ver en el\u00a0<em>DESDE\u00a0<\/em>declaraci\u00f3n de que podr\u00edamos tener \u00e1mbito y colecciones y subconjuntos de documentos si quisi\u00e9ramos.<\/p>\n<p>Los resultados se muestran en JSON por defecto, a continuaci\u00f3n, o puede optar por verlos en una tabla. Capella es potente porque puede mostrarle objetos JSON dentro de los documentos y no s\u00f3lo los tipos de campo b\u00e1sicos que se utilizan normalmente en las bases de datos SQL, tenga en cuenta la <em>precio<\/em> objeto.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16280 size-large\" style=\"border: solid 1px black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM-1024x652.png\" alt=\"\" width=\"900\" height=\"573\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM-1024x652.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM-300x191.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM-768x489.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM-1536x978.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM-1320x841.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.08.16\u202fPM.png 1784w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h3><span style=\"color: #343e47; font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 40px;\">Crear \u00edndices para las operaciones<\/span><\/h3>\n<\/div>\n<p>Capella proporciona autom\u00e1ticamente consejos de indexaci\u00f3n en la esquina superior derecha. Tambi\u00e9n hay una pesta\u00f1a en la parte central derecha de la pantalla por si se te esconde.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-16281\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-1024x663.png\" alt=\"\" width=\"900\" height=\"583\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-1024x663.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-300x194.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-768x497.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-1536x995.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-2048x1326.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Screenshot-2024-09-11-at-4.10.45\u202fPM-1320x855.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p>Elija\u00a0<strong>Construcci\u00f3n Sugerida<\/strong> y sus consultas se ejecutar\u00e1n mucho m\u00e1s r\u00e1pido - la m\u00eda pas\u00f3 de 600ms a 6ms despu\u00e9s de la indexaci\u00f3n.<\/p>\n<p>Este v\u00eddeo muestra una interacci\u00f3n similar en una vista en directo, para que pueda verla en acci\u00f3n, aunque utiliza un conjunto de datos diferente:<\/p>\n<p><iframe loading=\"lazy\" title=\"Gesti\u00f3n de documentos con Couchbase Capella\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/MH8p-xrEyeM?list=PLcspbWiU9RuuvaTJHQv9Nijq7f9wKYcdt\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>\u00bfY ahora qu\u00e9?<\/h2>\n<p>Siga creando sus aplicaciones utilizando la versi\u00f3n gratuita de Capella con s\u00f3lo <a href=\"https:\/\/cloud.couchbase.com\">inscribirse<\/a> o recoger un <a href=\"https:\/\/info.couchbase.com\/CouchbaseCapella_StarterKit.html?_gl=1*7vjb6s*_gcl_au*MTA2MTAyNjUyNS4xNzIyMzYwNjgy\">paquete de inicio<\/a> y tambi\u00e9n obtendr\u00e1s importantes descuentos en cr\u00e9ditos en la nube y un potente soporte por parte del equipo de Couchbase.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/get-started\/intro.html\">Documentos de introducci\u00f3n a Capella<\/a><\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html\">SDK de Couchbase para Python<\/a> y <a href=\"https:\/\/github.com\/couchbase-examples\/python-quickstart\">Tutorial de inicio r\u00e1pido en Python<\/a><\/li>\n<li><a href=\"https:\/\/stellar-sdk.readthedocs.io\/en\/stable\/\">SDK de Stellar para Python<\/a><\/li>\n<li><a href=\"https:\/\/stellar-sdk.readthedocs.io\/en\/latest\/querying_horizon.html\">Documentos de consulta del servidor Horizon<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Previously, we shared a post on how to monitor Stellar assets using Couchbase. In this follow-up, we\u2019ll demonstrate how to load recent Stellar blockchain transactions (e.g., trades) into our Capella DBaaS, making them easily accessible for use in sample applications. [&hellip;]<\/p>","protected":false},"author":75185,"featured_media":16284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,2225,1816,9139,1812,2201],"tags":[8388,9520],"ppma_author":[9163],"class_list":["post-16275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-cloud","category-couchbase-server","category-python","category-n1ql-query","category-tools-sdks","tag-blockchain","tag-stellar"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Query Stellar Blockchain Trades With Couchbase Capella - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Discover how to load and query Stellar blockchain transactions with Couchbase Capella and Python\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/query-stellar-blockchain-trades-couchbase-capella-python\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Query Stellar Blockchain Trades With Couchbase Capella\" \/>\n<meta property=\"og:description\" content=\"Discover how to load and query Stellar blockchain transactions with Couchbase Capella and Python\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/query-stellar-blockchain-trades-couchbase-capella-python\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-11T22:45:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-26T17:31:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tyler Mitchell - Senior Product Marketing Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@1tylermitchell\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tyler Mitchell - Senior Product Marketing Manager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/\"},\"author\":{\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0\"},\"headline\":\"Query Stellar Blockchain Trades With Couchbase Capella\",\"datePublished\":\"2024-09-11T22:45:28+00:00\",\"dateModified\":\"2024-09-26T17:31:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/\"},\"wordCount\":1571,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png\",\"keywords\":[\"blockchain\",\"stellar\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Capella\",\"Couchbase Server\",\"Python\",\"SQL++ \/ N1QL Query\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/\",\"name\":\"Query Stellar Blockchain Trades With Couchbase Capella - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png\",\"datePublished\":\"2024-09-11T22:45:28+00:00\",\"dateModified\":\"2024-09-26T17:31:41+00:00\",\"description\":\"Discover how to load and query Stellar blockchain transactions with Couchbase Capella and Python\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png\",\"width\":2400,\"height\":1256,\"caption\":\"Screenshot of crypto trading. Tutorial on accessing Stellar horizon with Python and querying in Capella database. Dylan Calluy on Unsplash.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Query Stellar Blockchain Trades With Couchbase Capella\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0\",\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d8a7c532bf2b94b7a2fe7a8439aafd75\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g\",\"caption\":\"Tyler Mitchell - Senior Product Marketing Manager\"},\"description\":\"Works as Senior Product Marketing Manager at Couchbase, helping bring knowledge about products into the public limelight while also supporting our field teams with valuable content. His personal passion is all things geospatial, having worked in GIS for half his career. Now AI and Vector Search is top of mind.\",\"sameAs\":[\"https:\/\/linkedin.com\/in\/tylermitchell\",\"https:\/\/x.com\/1tylermitchell\",\"https:\/\/www.youtube.com\/channel\/UCBZFuoiTcg0f3lGSQwLjeTg\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/tylermitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Query Stellar Blockchain Trades With Couchbase Capella - The Couchbase Blog","description":"Discover how to load and query Stellar blockchain transactions with Couchbase Capella and Python","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/query-stellar-blockchain-trades-couchbase-capella-python\/","og_locale":"es_MX","og_type":"article","og_title":"Query Stellar Blockchain Trades With Couchbase Capella","og_description":"Discover how to load and query Stellar blockchain transactions with Couchbase Capella and Python","og_url":"https:\/\/www.couchbase.com\/blog\/es\/query-stellar-blockchain-trades-couchbase-capella-python\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-09-11T22:45:28+00:00","article_modified_time":"2024-09-26T17:31:41+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png","type":"image\/png"}],"author":"Tyler Mitchell - Senior Product Marketing Manager","twitter_card":"summary_large_image","twitter_creator":"@1tylermitchell","twitter_misc":{"Written by":"Tyler Mitchell - Senior Product Marketing Manager","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/"},"author":{"name":"Tyler Mitchell - Senior Product Marketing Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0"},"headline":"Query Stellar Blockchain Trades With Couchbase Capella","datePublished":"2024-09-11T22:45:28+00:00","dateModified":"2024-09-26T17:31:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/"},"wordCount":1571,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png","keywords":["blockchain","stellar"],"articleSection":["Best Practices and Tutorials","Couchbase Capella","Couchbase Server","Python","SQL++ \/ N1QL Query","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/","url":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/","name":"Query Stellar Blockchain Trades With Couchbase Capella - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png","datePublished":"2024-09-11T22:45:28+00:00","dateModified":"2024-09-26T17:31:41+00:00","description":"Discover how to load and query Stellar blockchain transactions with Couchbase Capella and Python","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/blog_couchbase_stellar_horizon_python-2.png","width":2400,"height":1256,"caption":"Screenshot of crypto trading. Tutorial on accessing Stellar horizon with Python and querying in Capella database. Dylan Calluy on Unsplash."},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/query-stellar-blockchain-trades-couchbase-capella-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Query Stellar Blockchain Trades With Couchbase Capella"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0","name":"Tyler Mitchell - Director de Marketing de Producto","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d8a7c532bf2b94b7a2fe7a8439aafd75","url":"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g","caption":"Tyler Mitchell - Senior Product Marketing Manager"},"description":"Trabaja como Gerente Senior de Marketing de Producto en Couchbase, ayudando a llevar el conocimiento sobre los productos a la luz p\u00fablica, mientras que tambi\u00e9n apoya a nuestros equipos de campo con contenido valioso. Su pasi\u00f3n personal es todo lo geoespacial, habiendo trabajado en GIS durante la mitad de su carrera. Ahora la IA y la b\u00fasqueda vectorial son lo primero en lo que piensa.","sameAs":["https:\/\/linkedin.com\/in\/tylermitchell","https:\/\/x.com\/1tylermitchell","https:\/\/www.youtube.com\/channel\/UCBZFuoiTcg0f3lGSQwLjeTg"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/tylermitchell\/"}]}},"authors":[{"term_id":9163,"user_id":75185,"is_guest":0,"slug":"tylermitchell","display_name":"Tyler Mitchell - Senior Product Marketing Manager","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/876da1e4284f1832c871b3514caf7867357744b8c0a370ef6f53a79dee2f379e?s=96&d=mm&r=g","author_category":"","last_name":"Mitchell - Senior Product Marketing Manager","first_name":"Tyler","job_title":"Senior Product Marketing Manager","user_url":"","description":"Trabaja como Gerente Senior de Marketing de Producto en Couchbase, ayudando a llevar el conocimiento sobre los productos a la luz p\u00fablica, mientras que tambi\u00e9n apoya a nuestros equipos de campo con contenido valioso. Su pasi\u00f3n personal es todo lo geoespacial, habiendo trabajado en GIS durante la mitad de su carrera. Ahora la IA y la b\u00fasqueda vectorial son lo primero en lo que piensa."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/75185"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=16275"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16275\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/16284"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=16275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=16275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=16275"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=16275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}