{"id":12779,"date":"2022-02-15T11:06:46","date_gmt":"2022-02-15T19:06:46","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=12779"},"modified":"2025-06-13T21:25:08","modified_gmt":"2025-06-14T04:25:08","slug":"monitor-stellar-assets-using-couchbase-python","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/monitor-stellar-assets-using-couchbase-python\/","title":{"rendered":"Monitorizaci\u00f3n de activos Stellar con Couchbase y Python"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Este post describe c\u00f3mo construir un cliente b\u00e1sico que registra la actividad en el <\/span><a href=\"https:\/\/stellar.org\"><span style=\"font-weight: 400;\">Cadena de bloques descentralizada Stellar<\/span><\/a><span style=\"font-weight: 400;\">. Stellar alberga una lista creciente de nuevas y diferentes criptomonedas y tokens. Con el c\u00f3digo de este post se puede crear una herramienta de consulta b\u00e1sica de los activos mantenidos en una cuenta Stellar, utilizando Couchbase para el almacenamiento y la consulta.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Lo que necesitas<\/span><\/h4>\n<h5><span style=\"font-weight: 400;\">Couchbase<\/span><\/h5>\n<p><span style=\"font-weight: 400;\">Para seguir adelante, configura una versi\u00f3n reciente de Couchbase que sea igual o superior a 7.0.2. Puedes hacer la mayor\u00eda de las cosas con versiones anteriores, pero en futuras entradas no podr\u00e1s acceder a los gr\u00e1ficos, \u00e1mbitos o colecciones integrados. <\/span><a href=\"https:\/\/cloud.couchbase.com\"><span style=\"font-weight: 400;\">Couchbase Capella<\/span><\/a><span style=\"font-weight: 400;\"> tambi\u00e9n est\u00e1 disponible con una sencilla prueba gratuita, o puede instalar una base de datos on-prem o <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/install\/getting-started-docker.html\"><span style=\"font-weight: 400;\">Versi\u00f3n Docker de Couchbase<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Utilizando la interfaz de administraci\u00f3n integrada de Couchbase, elija la opci\u00f3n <\/span><b>Cubo <\/b><span style=\"font-weight: 400;\">en la barra lateral y el men\u00fa <\/span><b>A\u00f1adir cubo <\/b><span style=\"font-weight: 400;\">(arriba a la derecha).  Cree un cubo llamado <\/span><span style=\"font-weight: 400;\">estelar<\/span><span style=\"font-weight: 400;\">como se muestra en la Figura 1. Necesita una memoria m\u00ednima asignada, la m\u00eda por defecto es de 300MB que ser\u00e1 m\u00e1s que suficiente.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12780\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.11.04-AM.png\" alt=\"Add a new data bucket to the Couchbase cluster\" width=\"1248\" height=\"695\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.11.04-AM.png 1248w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.11.04-AM-300x167.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.11.04-AM-1024x570.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.11.04-AM-768x428.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.11.04-AM-20x11.png 20w\" sizes=\"auto, (max-width: 1248px) 100vw, 1248px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 1. A\u00f1adir un nuevo bucket de datos al cluster de Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tardar\u00e1 un minuto en calentarse antes de ponerse en verde para indicar que est\u00e1 disponible, como se muestra en la figura 2.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12781\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.12.26-AM.png\" alt=\" The new bucket is now available\" width=\"1183\" height=\"282\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.12.26-AM.png 1183w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.12.26-AM-300x72.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.12.26-AM-1024x244.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.12.26-AM-768x183.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.12.26-AM-20x5.png 20w\" sizes=\"auto, (max-width: 1183px) 100vw, 1183px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 2. El nuevo cubo ya est\u00e1 disponible.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Direcci\u00f3n de la Cartera Stellar<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n, necesitar\u00e1s una direcci\u00f3n de monedero Stellar para realizar el seguimiento. Para encontrar una cuenta interesante, utiliza <\/span><a href=\"https:\/\/stellar.expert\/directory?tag[]=wallet\"><span style=\"font-weight: 400;\">Stellar.expert y su navegador de cuentas<\/span><\/a><span style=\"font-weight: 400;\"> para encontrar una identificaci\u00f3n de la cartera.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para mis experimentos, estoy utilizando esta direcci\u00f3n, ya que tiene una peque\u00f1a pero interesante colecci\u00f3n de fichas:\u00a0<\/span><\/p>\n<pre class=\"\">GAF55XSX3WCHWUB6CEGSKKMLPKV56Y5MK4UCBRSSGRBBDENFEXSWWMDQ<\/pre>\n<h4><span style=\"font-weight: 400;\">SDK de Python<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n usaremos Python 3 y el Couchbase Python SDK. Instala el SDK de Python usando el comando <\/span><span style=\"font-weight: 400;\">pip <\/span><span style=\"font-weight: 400;\">como se describe en el <\/span><a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">documentaci\u00f3n<\/span><\/a><span style=\"font-weight: 400;\">. Incluya tambi\u00e9n el <\/span><span style=\"font-weight: 400;\">solicita <\/span><span style=\"font-weight: 400;\">que necesitaremos para descargar desde la API web de Stellar.<\/span><\/p>\n<pre class=\"\">python3 -m pip install --upgrade pip setuptools wheel<\/pre>\n<p><span style=\"font-weight: 400;\">Pruebe la instalaci\u00f3n iniciando Python e importando el m\u00f3dulo Couchbase:<\/span><\/p>\n<pre class=\"decode-attributes:false lang:default decode:true\">tyler@megaserv:python-stellar$ python3\r\nPython 3.8.10 (default, Nov 26 2021, 20:14:08)\r\n[GCC 9.3.0] on linux\r\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n&gt;&gt;&gt; import couchbase<\/pre>\n<p><span style=\"font-weight: 400;\">Si se completa sin errores, entonces estamos listos. Pulse <\/span><em><span style=\"font-weight: 400;\">CTRL+D<\/span><\/em><span style=\"font-weight: 400;\"> para dejarlo.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Conexi\u00f3n a Couchbase<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">En <\/span><a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html#hello-couchbase\"><span style=\"font-weight: 400;\">Hola Couchbase<\/span><\/a><span style=\"font-weight: 400;\"> de la documentaci\u00f3n muestran la informaci\u00f3n b\u00e1sica de conexi\u00f3n que necesitamos a\u00f1adir a nuestro script Python. Como m\u00ednimo, para conectarnos a nuestro nuevo bucket necesitamos:\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">El nombre de usuario\/contrase\u00f1a del administrador (o una persona con derechos de acceso al nuevo cubo)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">El nombre\/IP del servidor\/cluster Couchbase<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">El nombre del nuevo cubo (por ejemplo, <\/span><em><span style=\"font-weight: 400;\">estelar<\/span><span style=\"font-weight: 400;\">)<\/span><\/em><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Cree un script llamado <\/span><em><span style=\"font-weight: 400;\">app.py<\/span><\/em><span style=\"font-weight: 400;\">:<\/span><\/p>\n<pre class=\"decode-attributes:false lang:python decode:true\">from couchbase.cluster import Cluster, ClusterOptions\r\nfrom couchbase.auth import PasswordAuthenticator\r\n\r\ncluster = Cluster('couchbase:\/\/localhost', ClusterOptions(\r\nPasswordAuthenticator('Administrator', 'Administrator')))\r\n\r\ncb = cluster.bucket('stellar')<\/pre>\n<p><span style=\"font-weight: 400;\">Puede ejecutar el script y ver si obtiene alg\u00fan error antes de continuar.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Revisi\u00f3n del esquema de cuentas de Stellar.org<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Para este proyecto, descargaremos la informaci\u00f3n de la cuenta directamente desde el <\/span><b>API web estelar<\/b><span style=\"font-weight: 400;\"> y almacenar los datos JSON en bruto en Couchbase para su posterior consulta.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para acceder a una cuenta Stellar utilizaremos su servicio Horizon y pulsaremos su <\/span><em><span style=\"font-weight: 400;\">\/p\u00fablico\/activo<\/span><\/em><span style=\"font-weight: 400;\"><em> punto final<\/em>. Por ejemplo, yo utilizo <\/span><a href=\"https:\/\/postman.co\"><span style=\"font-weight: 400;\">Cartero.co<\/span><\/a><span style=\"font-weight: 400;\"> para hacer una vista r\u00e1pida del JSON resultante para tener una idea del esquema, como se muestra en la Figura 3.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12782\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.15.40-AM.png\" alt=\" Sample of the Stellar accounts JSON document\" width=\"742\" height=\"843\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.15.40-AM.png 742w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.15.40-AM-264x300.png 264w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.15.40-AM-300x341.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.15.40-AM-18x20.png 18w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 3. Muestra del documento JSON de cuentas Stellar.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En la figura, observa que he contra\u00eddo algunos objetos y listas para ver las cosas con m\u00e1s claridad. Los elementos del nivel ra\u00edz, como <\/span><em><span style=\"font-weight: 400;\">account_id<\/span><span style=\"font-weight: 400;\">,<\/span><span style=\"font-weight: 400;\"> subentry_count<\/span><\/em><span style=\"font-weight: 400;\">y<\/span><em><span style=\"font-weight: 400;\"> \u00faltima_hora_modificada<\/span><\/em><span style=\"font-weight: 400;\"> son potencialmente \u00fatiles. Pero la mayor\u00eda de las entradas est\u00e1n en el <\/span><em><span style=\"font-weight: 400;\">saldos<\/span><\/em><span style=\"font-weight: 400;\"> objeto, casi 1700 l\u00edneas de hecho.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Estos son los elementos esenciales del titular de los activos. Ve\u00e1moslos con m\u00e1s detalle en la Figura 4.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12783\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.17.10-AM.png\" alt=\"Two entries from the balances list\" width=\"531\" height=\"289\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.17.10-AM.png 531w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.17.10-AM-300x163.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.17.10-AM-20x11.png 20w\" sizes=\"auto, (max-width: 531px) 100vw, 531px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 4. Dos entradas de la lista de saldos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En la figura anterior se muestran dos tipos de balanzas. Hay docenas de otros que no se muestran, pero todos son similares al primero que se muestra aqu\u00ed. Se muestra un balance del n\u00famero de fichas (<\/span><em><span style=\"font-weight: 400;\">1.7<\/span><\/em><span style=\"font-weight: 400;\">), el asset_code (<\/span><em><span style=\"font-weight: 400;\">ZDC<\/span><\/em><span style=\"font-weight: 400;\"> son <\/span><a href=\"https:\/\/www.zodiactokens.org\/\"><span style=\"font-weight: 400;\">Fichas del zod\u00edaco<\/span><\/a><span style=\"font-weight: 400;\">), y el<\/span><em><span style=\"font-weight: 400;\"> emisor_de_activos<\/span><\/em><span style=\"font-weight: 400;\"> (ya que muchas cuentas pueden emitir el mismo activo). Tenga en cuenta tambi\u00e9n la <\/span><em><span style=\"font-weight: 400;\">tipo_activo<\/span><\/em><span style=\"font-weight: 400;\"> (<\/span><em><span style=\"font-weight: 400;\">credit_alphanum4<\/span><\/em><span style=\"font-weight: 400;\">).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La segunda entrada anterior es la \u00fanica diferente<\/span><em><span style=\"font-weight: 400;\"> tipo_activo<\/span><\/em><span style=\"font-weight: 400;\"> en la lista (<\/span><em><span style=\"font-weight: 400;\">nativo<\/span><\/em><span style=\"font-weight: 400;\">). En este caso, se trata de un saldo base a nivel de cuenta, el token nativo de la cartera Lobstr del propietario, en este caso <\/span><a href=\"https:\/\/medium.com\/stellar-global\/xlm-he-token-of-the-future-84548b890eb2\"><span style=\"font-weight: 400;\">L\u00famenes estelares<\/span><\/a><span style=\"font-weight: 400;\"> (<\/span><em><span style=\"font-weight: 400;\">XLM<\/span><\/em><span style=\"font-weight: 400;\">). Este saldo puede intercambiarse con saldos de cualquier otro activo y viceversa a trav\u00e9s de la cuenta de negociaci\u00f3n de activos.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Planificaci\u00f3n del flujo de trabajo<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Teniendo en cuenta lo anterior, podemos planificar c\u00f3mo almacenar y acceder a toda la informaci\u00f3n que nos interesa. Entonces, \u00bfqu\u00e9 nos interesa?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En primer lugar, nos interesa una actualizaci\u00f3n diaria de las estad\u00edsticas sobre la cuenta. Por lo tanto, supongamos que ejecutaremos nuestro script diariamente y actualizaremos la informaci\u00f3n en la base de datos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ser\u00e1 bueno conocer los saldos actuales, incluida la cantidad nativa de XLM y los saldos de otros tokens. Mientras conservemos estos detalles en los documentos que almacenamos, podremos consultarlos en cualquier momento. Tambi\u00e9n tendremos que asegurarnos de que nuestra clave sea una especie de marca de tiempo o ID incremental para que nuestros documentos no se sobrescriban con entradas m\u00e1s recientes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tambi\u00e9n podr\u00edamos hacer algunos c\u00e1lculos intermedios para mantener otro documento actualizado con los totales base, etc. pero eso lo dejaremos para un futuro post.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Los dos pasos siguientes son descargar este documento JSON y subirlo a Couchbase. A continuaci\u00f3n, veremos el resultado en la interfaz de usuario de la consola web y probaremos las consultas y los gr\u00e1ficos.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Descarga de datos de cuentas Stellar con Python<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Se trata de un ejemplo muy sencillo que podremos ampliar en las pr\u00f3ximas semanas.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para acceder a una API web utilizamos el m\u00f3dulo requests de Python y almacenamos los resultados en un objeto JSON.<\/span><\/p>\n<pre class=\"\">import requests\r\n\r\nurl = \"https:\/\/horizon.stellar.org\/accounts\/GAF55XSX3WCHWUB6CEGSKKMLPKV56Y5MK4UCBRSSGRBBDENFEXSWWMDQ\/\"\r\n\r\nresponse = requests.request(\"GET\", url)\r\njsondoc = response.json()\r\n\r\n#for key, value in jsondoc.items():\r\n# print(key, \":\", value)<\/pre>\n<p><span style=\"font-weight: 400;\">Incluyo un ejemplo de bucle simple para mostrarte lo f\u00e1cil que es si quieres verlo impreso de una forma muy fea. Hay t\u00e9cnicas de impresi\u00f3n m\u00e1s bonitas pero usaremos las integradas en Couchbase para hacerlo m\u00e1s f\u00e1cil en lugar de escribir m\u00e1s c\u00f3digo aqu\u00ed.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Env\u00edo de documento JSON a Couchbase<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n usamos nuestro objeto bucket de Couchbase y hacemos una llamada upsert. <\/span><em><span style=\"font-weight: 400;\">Upsert<\/span><\/em><span style=\"font-weight: 400;\"> es lo mismo que una sentencia de inserci\u00f3n de documento o base de datos, pero actualizar\u00e1 cualquier documento existente si ya existe. En nuestro caso, tambi\u00e9n queremos generar un ID \u00fanico y utilizarlo para el ID de nuestro documento.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A\u00f1adamos una marca de tiempo unix con la funci\u00f3n <\/span><span style=\"font-weight: 400;\">tiempo<\/span><span style=\"font-weight: 400;\"> y crear una clave, como se muestra en la gu\u00eda de inicio del SDK de Python, que tambi\u00e9n incluye la captura de algunas excepciones b\u00e1sicas.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Ponerlo todo junto<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Ahora demos un paso atr\u00e1s y veamos el ejemplo de c\u00f3digo consolidado construido con varias funciones para ayudar a compartimentar todo y hacerlo un poco m\u00e1s reutilizable.<\/span><\/p>\n<pre class=\"\">import requests, time\r\nfrom couchbase.cluster import Cluster, ClusterOptions\r\nfrom couchbase.auth import PasswordAuthenticator\r\n\r\naccount = 'GAF55XSX3WCHWUB6CEGSKKMLPKV56Y5MK4UCBRSSGRBBDENFEXSWWMDQ'\r\n\r\ndef connect():\r\ncluster = Cluster('couchbase:\/\/localhost', ClusterOptions(PasswordAuthenticator('Administrator', 'Administrator')))\r\nreturn cluster.bucket('stellar')\r\n\r\ndef getjson():\r\nurl = \"https:\/\/horizon.stellar.org\/accounts\/%s\/\" % account\r\nprint(\"Fetching: \" + url)\r\nresponse = requests.request(\"GET\", url)\r\nreturn response.json()\r\n\r\ndef upsert_document(connection, doc):\r\nnow = int( time.time() )\r\ntry:\r\nkey = str(now) + \"_\" + account[:5]\r\nresult = connection.upsert(key, doc)\r\nprint(result)\r\nexcept Exception as e:\r\nprint(\"Error\",e)\r\n\r\ncb = connect()\r\njson = getjson()\r\nupsert_document(cb, json)<\/pre>\n<p><span style=\"font-weight: 400;\">El resultado mostrar\u00e1 la URL de la API web que se utiliz\u00f3 y mostrar\u00e1 un error o el icono <\/span><em><span style=\"font-weight: 400;\">OperationResult<\/span><\/em><span style=\"font-weight: 400;\"> detalles:<\/span><\/p>\n<pre class=\"decode-attributes:false lang:default decode:true\">$ python app.py\r\n\r\nFetching: https:\/\/horizon.stellar.org\/accounts\/GAF55XSX3WCHWUB6CEGSKKMLPKV56Y5MK4UCBRSSGRBBDENFEXSWWMDQ\/\r\nOperationResult&lt;rc=0x0, key='1644906573_GAF55', cas=0x16d3e1d051760000, tracing_context=0, tracing_output=None&gt;<\/pre>\n<h4><span style=\"font-weight: 400;\">Ver los resultados de los tokens en la consola web<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Despu\u00e9s de ejecutar el script unas cuantas veces, deber\u00eda tener algunos documentos en el cubo del proyecto. Cuando haya seleccionado el <\/span><em><span style=\"font-weight: 400;\">estelar<\/span><\/em><span style=\"font-weight: 400;\"> cubo, pulse la tecla <\/span><b>Documentos <\/b><span style=\"font-weight: 400;\">(arriba a la derecha) para ver una lista de documentos con los que puede interactuar, uno de los resultados se muestra en la Figura 5.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12784\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM.png\" alt=\"Sample Stellar account document open in Couchbase web console\" width=\"797\" height=\"803\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM.png 797w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-298x300.png 298w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-150x150.png 150w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-768x774.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-300x302.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.22.08-AM-20x20.png 20w\" sizes=\"auto, (max-width: 797px) 100vw, 797px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 5. Ejemplo de documento de cuenta Stellar abierto en la consola web de Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para habilitar la consulta necesitamos construir algunos \u00edndices. Cambie a la <\/span><b>Consulta <\/b><span style=\"font-weight: 400;\">e introduzca lo siguiente <\/span><a href=\"https:\/\/docs.couchbase.com\/files\/Couchbase-N1QL-CheatSheet.pdf\"><span style=\"font-weight: 400;\">N1QL<\/span><\/a><span style=\"font-weight: 400;\"> para configurar algunos \u00edndices. Tenga en cuenta, estamos utilizando una colecci\u00f3n por defecto de los documentos, por lo que el prefijo el nombre de cubo para denotar que. (En un futuro post segregaremos nuestros documentos para diferentes prop\u00f3sitos y usaremos colecciones para hacerlo).<\/span><\/p>\n<pre class=\"\">create primary index on default:stellar;\r\ncreate index idx_account_id on default:stellar(id);\r\ncreate index idx_modified on default:stellar(last_modified_time);\r\ncreate index idx_entrycount on stellar(subentry_count);<\/pre>\n<p><span style=\"font-weight: 400;\">Para cada uno de los diferentes activos:<\/span><\/p>\n<pre class=\"\">create index idx_asset_code on stellar(balances.asset_code);\r\ncreate index idx_asset_type on stellar(balances.asset_type);\r\ncreate index idx_asset_issuer on stellar(balances.asset_issuer);\r\ncreate index idx_asset_balance on stellar(balances.balance);<\/pre>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n, prueba el \u00edndice con una consulta b\u00e1sica:<\/span><\/p>\n<pre class=\"decode-attributes:false lang:default decode:true\">select count(*) from stellar;<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">En <\/span><b>Resultados <\/b><span style=\"font-weight: 400;\">deber\u00eda mostrar una salida b\u00e1sica con el n\u00famero de documentos en el cubo, en este caso, <\/span><span style=\"font-weight: 400;\">7<\/span><span style=\"font-weight: 400;\"> como se muestra en la Figura 6.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12785\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.23.00-AM.png\" alt=\"Sample query to count the documents in the bucket\" width=\"287\" height=\"307\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.23.00-AM.png 287w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.23.00-AM-280x300.png 280w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.23.00-AM-20x20.png 20w\" sizes=\"auto, (max-width: 287px) 100vw, 287px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 6. Ejemplo de consulta para contar los documentos del bucket.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Consulta de atributos en un conjunto de documentos JSON<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Puedes construir consultas f\u00e1cilmente ya que N1QL es muy similar al SQL est\u00e1ndar pero con inteligencia JSON incorporada. Hay funciones que nos permiten acceder a las entradas del archivo <\/span><span style=\"font-weight: 400;\"><em>saldos<\/em> <\/span><span style=\"font-weight: 400;\">como si fueran columnas. Utilizaci\u00f3n de <\/span><em><span style=\"font-weight: 400;\">UNNEST<\/span><\/em><span style=\"font-weight: 400;\"><em>,<\/em> cada una de las subentradas se convierte en un nombre de campo accesible en la consulta.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por ejemplo, la siguiente consulta enumera todos los activos y saldos:<\/span><\/p>\n<pre class=\"\">SELECT balances.balance AS balance, \r\n       balances.asset_code \r\nFROM stellar UNNEST balances<\/pre>\n<p><span style=\"font-weight: 400;\">La ventana de consulta muestra los resultados en JSON por defecto, pero puedes cambiarla a la opci\u00f3n Tabla y ver nuestros resultados hasta el momento:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12786\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-15-at-10.24.14-AM.png\" alt=\"Table Option View\" width=\"516\" height=\"534\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.24.14-AM.png 516w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.24.14-AM-290x300.png 290w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.24.14-AM-300x310.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/Screen-Shot-2022-02-15-at-10.24.14-AM-20x20.png 20w\" sizes=\"auto, (max-width: 516px) 100vw, 516px\" \/><\/p>\n<h4><span style=\"font-weight: 400;\">Pr\u00f3ximos pasos<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">En nuestro pr\u00f3ximo art\u00edculo, profundizaremos en la creaci\u00f3n de algunos gr\u00e1ficos y utilizaremos m\u00e1s magia de consulta.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Aqu\u00ed tiene otros enlaces para informarse sobre los temas que tratamos:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Empieza a usar el SDK Python de Couchbase<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.couchbase.com\/files\/Couchbase-N1QL-CheatSheet.pdf\"><span style=\"font-weight: 400;\">Hoja de control de Couchbase N1QL (PDF)<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/stellar.org\/\"><span style=\"font-weight: 400;\">Intercambio descentralizado Stellar (stellar.org)<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.stellar.org\/learn\/blockchain-basics\"><span style=\"font-weight: 400;\">Conceptos b\u00e1sicos de Blockchain<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/developers.stellar.org\/api\/resources\/accounts\/object\/\"><span style=\"font-weight: 400;\">Documentaci\u00f3n sobre la API para desarrolladores de Stellar (cuentas)<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/medium.com\/stellar-global\/xlm-he-token-of-the-future-84548b890eb2\"><span style=\"font-weight: 400;\">Stellar Lumens - XLM - el token del futuro<\/span><\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>This post describes how to build a basic client that records activity on the Stellar Decentralized Blockchain. Stellar hosts a growing list of new and different cryptocurrency alt-coins and tokens. With the code from this post you can create a [&hellip;]<\/p>","protected":false},"author":75185,"featured_media":12787,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2225,9139,2201],"tags":[8388,1519,9520],"ppma_author":[9163],"class_list":["post-12779","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-python","category-tools-sdks","tag-blockchain","tag-docker","tag-stellar"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.4 (Yoast SEO v26.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Monitor Stellar Assets using Couchbase &amp; Python - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"This post describes how to build a basic client that records activity on the Stellar Decentralized Blockchain.\" \/>\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\/monitor-stellar-assets-using-couchbase-python\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monitor Stellar Assets using Couchbase &amp; Python\" \/>\n<meta property=\"og:description\" content=\"This post describes how to build a basic client that records activity on the Stellar Decentralized Blockchain.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/monitor-stellar-assets-using-couchbase-python\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-15T19:06:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:25:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/\"},\"author\":{\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0\"},\"headline\":\"Monitor Stellar Assets using Couchbase &#038; Python\",\"datePublished\":\"2022-02-15T19:06:46+00:00\",\"dateModified\":\"2025-06-14T04:25:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/\"},\"wordCount\":1459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg\",\"keywords\":[\"blockchain\",\"docker\",\"stellar\"],\"articleSection\":[\"Couchbase Capella\",\"Python\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/\",\"name\":\"Monitor Stellar Assets using Couchbase & Python - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg\",\"datePublished\":\"2022-02-15T19:06:46+00:00\",\"dateModified\":\"2025-06-14T04:25:08+00:00\",\"description\":\"This post describes how to build a basic client that records activity on the Stellar Decentralized Blockchain.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg\",\"width\":2560,\"height\":1707},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitor Stellar Assets using Couchbase &#038; Python\"}]},{\"@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.\",\"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":"Monitor Stellar Assets using Couchbase & Python - The Couchbase Blog","description":"Este post describe c\u00f3mo construir un cliente b\u00e1sico que registra la actividad en la Blockchain descentralizada de Stellar.","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\/monitor-stellar-assets-using-couchbase-python\/","og_locale":"es_MX","og_type":"article","og_title":"Monitor Stellar Assets using Couchbase & Python","og_description":"This post describes how to build a basic client that records activity on the Stellar Decentralized Blockchain.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/monitor-stellar-assets-using-couchbase-python\/","og_site_name":"The Couchbase Blog","article_published_time":"2022-02-15T19:06:46+00:00","article_modified_time":"2025-06-14T04:25:08+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg","type":"image\/jpeg"}],"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":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/"},"author":{"name":"Tyler Mitchell - Senior Product Marketing Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0"},"headline":"Monitor Stellar Assets using Couchbase &#038; Python","datePublished":"2022-02-15T19:06:46+00:00","dateModified":"2025-06-14T04:25:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/"},"wordCount":1459,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg","keywords":["blockchain","docker","stellar"],"articleSection":["Couchbase Capella","Python","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/","url":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/","name":"Monitor Stellar Assets using Couchbase & Python - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg","datePublished":"2022-02-15T19:06:46+00:00","dateModified":"2025-06-14T04:25:08+00:00","description":"Este post describe c\u00f3mo construir un cliente b\u00e1sico que registra la actividad en la Blockchain descentralizada de Stellar.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/christin-hume-mfB1B1s4sMc-unsplash-scaled.jpg","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/monitor-stellar-assets-using-couchbase-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Monitor Stellar Assets using Couchbase &#038; Python"}]},{"@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":"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.","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\/12779","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=12779"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/12779\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/12787"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=12779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=12779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=12779"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=12779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}