<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Iván Vázquez - Cripsis XyZ - Your Gateway to IT, Web3 and Blockchain]]></title><description><![CDATA[Discover the best about IT Technologies and Blockchain, learn with practical examples and stay updated on the future of technology. Dive into the tech revolution today!]]></description><link>https://www.cripsis.xyz/</link><image><url>https://www.cripsis.xyz/favicon.png</url><title>Iván Vázquez - Cripsis XyZ - Your Gateway to IT, Web3 and Blockchain</title><link>https://www.cripsis.xyz/</link></image><generator>Ghost 5.17</generator><lastBuildDate>Sun, 07 Jun 2026 03:17:41 GMT</lastBuildDate><atom:link href="https://www.cripsis.xyz/author/ivan-vazquez/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas]]></title><description><![CDATA[Descubre cómo la observabilidad transforma los negocios digitales mejorando la continuidad operativa, el rendimiento y la satisfacción del cliente. Explora logs, métricas y trazas, y la evolución desde la monitorización tradicional con técnicas avanzadas como el aprendizaje automático y NLP.]]></description><link>https://www.cripsis.xyz/es/la-observabilidad-en-los-entornos-digitales-comprender-y-mejorar-los-sistemas-distribuidos/</link><guid isPermaLink="false">6636875982260b005844f068</guid><category><![CDATA[it]]></category><category><![CDATA[observability]]></category><category><![CDATA[dashboard]]></category><category><![CDATA[grafana]]></category><category><![CDATA[data]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Thu, 13 Jun 2024 06:16:27 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2024/06/header.webp" medium="image"/><content:encoded><![CDATA[<h2 id="introducci%C3%B3n-a-la-observabilidad">Introducci&#xF3;n a la observabilidad</h2><img src="https://www.cripsis.xyz/content/images/2024/06/header.webp" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas"><p>En la vanguardia tecnol&#xF3;gica actual, los complejos sistemas digitalizados detr&#xE1;s de cada negocio demandan herramientas robustas de <strong>observabilidad</strong>. Si uno o varios procesos clave dentro de tu entidad est&#xE1; digitalizado en alguno de sus puntos, significa que ya est&#xE1; orientado hacia la madurez digital y comienza a adoptar un enfoque <em><strong>data-driven</strong></em> (impulsado o orientado por datos). La cuesti&#xF3;n es: &#xBF;Cuenta la organizaci&#xF3;n con los mecanismos y herramientas necesarias para conocer con exactitud c&#xF3;mo se desempe&#xF1;an dichos procesos de negocio?</p><p>En este art&#xED;culo, veremos c&#xF3;mo la observabilidad (o en ingl&#xE9;s observability), siendo un concepto <em>amplio y multifac&#xE9;tico</em>, puede derivar en varias pr&#xE1;cticas y herramientas especializadas para cubrir un amplio abanico de casos de uso; a d&#xED;a de hoy se erige como fundamental para asegurar la continuidad operativa y fomentar una <strong>mejora continua de los negocios</strong> digitales modernos y su objetivo es obtener una <strong>comprensi&#xF3;n profunda del estado interno de los sistemas</strong> a trav&#xE9;s de los datos que generan.</p><p>Cada departamento dentro del negocio es fundamental para su correcto funcionamiento; <em>Ventas y Marketing</em>, <em>Producci&#xF3;n y Operaciones</em>, <em>Finanzas</em>, <em>Gesti&#xF3;n de la Cadena de Suministro</em>, <em>Atenci&#xF3;n al Cliente</em>, <em>Tecnolog&#xED;a de la Informaci&#xF3;n (TI)</em>, etc&#x2026; Aunque probablemente no cuentes con todos o te falten algunos, seguro que puedes conseguir mucho m&#xE1;s de ellos.</p><p>&#xBF;Conoces realmente c&#xF3;mo se desempe&#xF1;an? &#xBF;Cu&#xE1;l es su rendimiento? &#xBF;D&#xF3;nde se encuentran los cuellos de botella m&#xE1;s comunes? &#xBF;Qu&#xE9; impacto econ&#xF3;mico est&#xE1;n infligiendo? &#xBF;Qu&#xE9; incidencias est&#xE1;n experimentando? &#xBF;C&#xF3;mo anticiparse a ellas?</p><p>La observabilidad, como <strong>disciplina dentro del campo IT</strong>, viene a ayudarte a responder a todas estas preguntas.</p><h2 id="fundamentos-de-la-observabilidad">Fundamentos de la Observabilidad</h2><h3 id="definici%C3%B3n-y-concepto">Definici&#xF3;n y Concepto</h3><p>En t&#xE9;rminos generales, se puede definir como la habilidad de <strong>deducir el estado interno de un sistema</strong> a partir <strong>exclusivamente de sus salidas externas</strong>. En el &#xE1;mbito del software, esto se traduce en la capacidad de discernir el funcionamiento y comportamiento de un sistema monol&#xED;tico o distribu&#xED;do mediante la informaci&#xF3;n que &#xE9;l mismo revela; esto implica que, si se conocen las salidas durante un per&#xED;odo de tiempo suficiente y entendemos c&#xF3;mo el sistema responde a las entradas, es posible inferir o reconstruir todos los estados internos posibles del sistema.</p><h3 id="su-impacto-en-el-negocio">Su impacto en el negocio</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdw3UusJoZLYLu4Zu7uH7xVNso5_XR_jJF0w-SMCQv97inwgO7J6PbRxSoUfZ8nR5ISL1-RS-7sx7pknfzN0_DnmKIqz31U_Nik6gbYE6CdC3MdsxDZDjwjTCABqWolZuCHe0Q0cWzU6DpQ0Qf-YKH1k9A?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas" loading="lazy" width="480" height="275"><figcaption>Diagrama que representa el impacto de la observabilidad en las distintas capas de un negocio</figcaption></figure><p>La observabilidad no es solo una herramienta t&#xE9;cnica; es un facilitador estrat&#xE9;gico que impacta profundamente en varios aspectos del negocio y es por eso que es clave en un proceso de transformaci&#xF3;n digital. La observabilidad comienza en la capa de infraestructura de los recursos de la organizaci&#xF3;n, empezando a extraer datos (m&#xE9;tricas, logs) de dichos recursos hardware, hasta llegar a la capa de aplicaci&#xF3;n de la cual tambi&#xE9;n se extraer&#xE1;n trazas.</p><p>A continuaci&#xF3;n, se detallan los principales beneficios y c&#xF3;mo estos se traducen en ventajas competitivas tangibles:</p><h4 id="mejora-en-la-continuidad-operativa">Mejora en la Continuidad Operativa</h4><p>La observabilidad permite identificar y resolver problemas antes de que se conviertan en incidentes cr&#xED;ticos. Al tener una visibilidad clara y en tiempo real de los sistemas, las empresas pueden minimizar el tiempo de inactividad y asegurar la continuidad operativa. Esto es crucial para mantener la confianza del cliente y evitar p&#xE9;rdidas econ&#xF3;micas significativas.</p><h4 id="optimizaci%C3%B3n-del-rendimiento">Optimizaci&#xF3;n del Rendimiento</h4><p>Con herramientas de observabilidad, es posible monitorear y analizar continuamente el rendimiento de las aplicaciones y los procesos. Esto facilita la detecci&#xF3;n de cuellos de botella y &#xE1;reas ineficientes, permitiendo ajustes y mejoras que optimizan el uso de recursos y mejoran la eficiencia operativa.</p><h4 id="reducci%C3%B3n-de-costos">Reducci&#xF3;n de Costos</h4><p>La capacidad de identificar problemas r&#xE1;pidamente y optimizar los recursos contribuye a una reducci&#xF3;n significativa de costos operativos. Menos interrupciones y una mejor asignaci&#xF3;n de recursos tecnol&#xF3;gicos y humanos resultan en ahorros que pueden reinvertirse en otras &#xE1;reas del negocio.</p><h4 id="aumento-de-la-satisfacci%C3%B3n-del-cliente">Aumento de la Satisfacci&#xF3;n del Cliente</h4><p>Un sistema altamente observable puede asegurar un mejor rendimiento y disponibilidad de los servicios, lo que se traduce en una experiencia de cliente m&#xE1;s positiva. La capacidad de resolver problemas r&#xE1;pidamente y mantener una operaci&#xF3;n fluida aumenta la satisfacci&#xF3;n y lealtad del cliente.</p><h4 id="mejora-en-la-toma-de-decisiones">Mejora en la Toma de Decisiones</h4><p>La observabilidad proporciona datos valiosos y accionables que informan las decisiones estrat&#xE9;gicas. Los l&#xED;deres empresariales pueden basar sus decisiones en informaci&#xF3;n precisa sobre el rendimiento y el estado de los sistemas, mejorando la planificaci&#xF3;n y ejecuci&#xF3;n de estrategias.</p><h4 id="fomento-de-la-innovaci%C3%B3n">Fomento de la Innovaci&#xF3;n</h4><p>Con una visi&#xF3;n clara del funcionamiento interno de los sistemas, los equipos de desarrollo y operaciones pueden experimentar y probar nuevas ideas con mayor confianza. La r&#xE1;pida identificaci&#xF3;n y resoluci&#xF3;n de problemas permite un ciclo de desarrollo m&#xE1;s &#xE1;gil y una innovaci&#xF3;n continua.</p><h4 id="cumplimiento-y-seguridad">Cumplimiento y Seguridad</h4><p>La observabilidad tambi&#xE9;n juega un papel cr&#xED;tico en el cumplimiento normativo y la seguridad. Permite un monitoreo detallado de las actividades y accesos dentro del sistema, ayudando a detectar y responder r&#xE1;pidamente a posibles amenazas de seguridad y garantizar el cumplimiento de las regulaciones.</p><h3 id="evoluci%C3%B3n-desde-la-supervisi%C3%B3n-tradicional">Evoluci&#xF3;n desde la Supervisi&#xF3;n Tradicional</h3><p>Muchas veces se escucha que la observabilidad es una evoluci&#xF3;n significativa de la supervisi&#xF3;n o monitorizaci&#xF3;n tradicional en varios aspectos clave y es el caso. Herramientas como <strong>Nagios</strong>, Icinga, Pandora FMS, y un largo etc&#x2026; han sido clave en la historia moderna y el sustento y correcto diagn&#xF3;stico de las incidencias en el mundo IT. Esto no significa que la observabilidad sustituye directamente a la monitorizaci&#xF3;n tradicional, sino que viene a completarla y hace parte de ella; se podr&#xED;a incluso decir que es la primera fase dentro de su implementaci&#xF3;n.</p><p>Aqu&#xED; est&#xE1;n los detalles de c&#xF3;mo la observabilidad se construye y expande sobre la base de la monitorizaci&#xF3;n tradicional:</p><h4 id="amplitud-y-profundidad-de-datos">Amplitud y Profundidad de Datos</h4><p><strong>Monitorizaci&#xF3;n Tradicional</strong></p><p>Se centra principalmente en indicadores preestablecidos y m&#xE9;tricas de salud del sistema, como CPU, memoria, y tiempos de respuesta.</p><p>Recolecta datos basados en umbrales conocidos para activar alertas.</p><p><strong>Observabilidad</strong></p><p>Recopila no solo m&#xE9;tricas, sino tambi&#xE9;n trazas y logs exhaustivos que proporcionan una visi&#xF3;n detallada de todas las operaciones del sistema.</p><p>Permite el an&#xE1;lisis retrospectivo para entender por qu&#xE9; ocurrieron ciertos comportamientos, no solo cu&#xE1;ndo se desviaron de la norma.</p><h4 id="interrogabilidad-y-diagn%C3%B3sticos">Interrogabilidad y Diagn&#xF3;sticos</h4><p><strong>Monitorizaci&#xF3;n Tradicional</strong></p><ul><li>Ofrece una visi&#xF3;n limitada y a menudo reactiva, adecuada para problemas conocidos y definidos previamente.</li><li>Limitada en capacidad para explorar o investigar problemas sin definiciones previas de qu&#xE9; buscar.</li></ul><p><strong>Observabilidad</strong></p><ul><li>Dise&#xF1;ada para permitir a los operadores hacer preguntas ad-hoc sobre el comportamiento del sistema, incluso preguntas que no se hab&#xED;an considerado antes de que surgiera un problema.</li><li>Facilita una comprensi&#xF3;n profunda del &quot;c&#xF3;mo&quot; y &quot;por qu&#xE9;&quot; detr&#xE1;s de los estados del sistema, no solo el &quot;qu&#xE9;&quot;.</li></ul><h4 id="enfoque-en-la-experiencia-del-usuario">Enfoque en la Experiencia del Usuario</h4><p><strong>Monitorizaci&#xF3;n Tradicional</strong></p><p>Principalmente orientada a asegurar que los sistemas funcionen dentro de los par&#xE1;metros operativos.</p><ul><li>Menos enfoque en c&#xF3;mo las interacciones espec&#xED;ficas del usuario afectan o se ven afectadas por la infraestructura subyacente.</li></ul><p><strong>Observabilidad</strong></p><ul><li>Incluye un fuerte enfoque en la experiencia del usuario final, evaluando el rendimiento del sistema desde la perspectiva del usuario a trav&#xE9;s de monitorizaci&#xF3;n end-to-end y trazas distribuidas.</li><li>Identifica c&#xF3;mo las falencias en el sistema afectan las transacciones y flujos de usuario reales.</li></ul><h4 id="uso-de-tecnolog%C3%ADa-avanzada">Uso de Tecnolog&#xED;a Avanzada</h4><p><strong>Monitorizaci&#xF3;n Tradicional</strong></p><p>Depende en gran medida de herramientas est&#xE1;ticas con poco aprendizaje o adaptaci&#xF3;n autom&#xE1;tica.</p><ul><li>Requiere configuraci&#xF3;n y ajustes manuales frecuentes.</li></ul><p><strong>Observabilidad</strong></p><ul><li>Emplea t&#xE9;cnicas avanzadas como inteligencia artificial y machine learning para an&#xE1;lisis predictivo y detecci&#xF3;n de anomal&#xED;as.</li><li>Se adapta continuamente a cambios en el entorno del sistema, mejorando la detecci&#xF3;n y la respuesta a incidentes.</li></ul><h4 id="escalabilidad-y-dinamismo">Escalabilidad y Dinamismo</h4><p><strong>Monitorizaci&#xF3;n Tradicional</strong></p><p>A menudo se enfrenta a dificultades para escalar o adaptarse a sistemas grandes y distribuidos.</p><ul><li>Puede ser ineficaz en entornos din&#xE1;micos o de r&#xE1;pida evoluci&#xF3;n.</li></ul><p><strong>Observabilidad</strong></p><ul><li>Ideal para entornos de microservicios y arquitecturas distribuidas, donde los componentes pueden cambiar o escalar din&#xE1;micamente.</li><li>Proporciona herramientas para sincronizar y correlacionar datos a trav&#xE9;s de una variedad de fuentes y servicios.</li></ul><p>En conjunto, la observabilidad no solo mejora la monitorizaci&#xF3;n tradicional sino que redefine la gesti&#xF3;n de sistemas al proporcionar herramientas y t&#xE9;cnicas m&#xE1;s sofisticadas, adecuadas para el panorama tecnol&#xF3;gico actual, complejo y en constante cambio.</p><h3 id="los-3-pilares-fundamentales-de-la-observabilidad">Los 3 pilares fundamentales de la observabilidad</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXf9bMTWDnwMRVc0gWtk8eXeXKU8mgh8DIrrAsOQsvCjKsA8QTJMcbFOPrMh7V8F08T3TWAnlkVHClX_xS9dpukr7W0epFsuvOsFKzJPiK571qGl15nuDy86MoBEgdGQ_5SB3QgVdA8yC26zEHq8epZtswOn?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas" loading="lazy" width="396" height="345"><figcaption>Representaci&#xF3;n abstracta de los 3 pilares de la observabilidad</figcaption></figure><p>A nivel t&#xE9;cnico, se fundamenta en tres pilares principales: <strong>logs</strong>, <strong>m&#xE9;tricas </strong>y <strong>trazas</strong>. Cada uno de estos elementos proporciona una visi&#xF3;n &#xFA;nica y complementaria del comportamiento del sistema, facilitando una comprensi&#xF3;n integral de su estado y rendimiento.</p><h4 id="logs">Logs</h4><p>Los logs son registros detallados de eventos que ocurren dentro de un sistema. Se generan autom&#xE1;ticamente por aplicaciones, servicios y componentes de infraestructura, y son esenciales para el diagn&#xF3;stico de problemas y el an&#xE1;lisis post-mortem. Los logs pueden ser de varios tipos, como logs de errores, de acceso, de auditor&#xED;a, entre otros.</p><p><strong>Ejemplo</strong>:</p><p>Supongamos que tenemos una aplicaci&#xF3;n web que gestiona pedidos en l&#xED;nea. Si un usuario intenta realizar un pedido y la operaci&#xF3;n falla, el log podr&#xED;a contener una entrada como esta:</p><pre><code class="language-log">2024-05-20 14:35:22 ERROR PedidoService - Error al procesar el pedido #12345: Conexi&#xF3;n con la base de datos fallida.</code></pre><p>Este registro proporciona informaci&#xF3;n crucial sobre el momento y la naturaleza del error, ayudando a los desarrolladores a identificar y solucionar el problema.</p><h4 id="metrics">Metrics</h4><p>Las metrics son datos cuantitativos que representan el rendimiento y el estado de diferentes componentes del sistema. Se recopilan y almacenan a intervalos regulares, y permiten a los equipos de operaciones monitorear la salud del sistema y detectar anomal&#xED;as en tiempo real.<br></p><p><strong>Ejemplo</strong>:</p><p>Continuando con nuestro ejemplo de la aplicaci&#xF3;n de pedidos en l&#xED;nea, una m&#xE9;trica relevante podr&#xED;a ser el n&#xFA;mero de pedidos procesados por minuto. Si normalmente se procesan 100 pedidos por minuto, pero de repente esta cifra cae a 20, esto indica un posible problema que necesita ser investigado.</p><pre><code class="language-json">{
  &quot;timestamp&quot;: &quot;2024-05-20T14:35:00Z&quot;,
  &quot;metric&quot;: &quot;pedidos_procesados&quot;,
  &quot;value&quot;: 20
}</code></pre><p>Adem&#xE1;s, otras m&#xE9;tricas como el uso de CPU, la latencia de las solicitudes y la memoria disponible tambi&#xE9;n son cruciales para evaluar el rendimiento general del sistema.</p><h4 id="traces">Traces</h4><p>Los traces proporcionan una visi&#xF3;n detallada del recorrido de una solicitud a trav&#xE9;s de varios servicios y componentes de una arquitectura distribuida. Son esenciales para entender el flujo de las transacciones y para identificar cuellos de botella o fallos en la cadena de servicios.</p><p><strong>Ejemplo</strong>:</p><p>Imaginemos que un usuario realiza un pedido en nuestra aplicaci&#xF3;n de pedidos en l&#xED;nea. Un trace podr&#xED;a mostrar c&#xF3;mo esta solicitud viaja desde el front-end al servicio de autenticaci&#xF3;n, luego al servicio de procesamiento de pedidos, y finalmente a la base de datos. Si hay una demora en el procesamiento del pedido, el trace puede revelar que el cuello de botella est&#xE1; en el servicio de autenticaci&#xF3;n, que tarda m&#xE1;s de lo esperado en verificar al usuario.</p><pre><code class="language-log">TraceID: 5f3c1e2d9a3b
---
Inicio: 2024-05-20T14:35:22Z
Duraci&#xF3;n: 3.2s
Pasos:
1. Autenticaci&#xF3;n (0.8s)
2. Procesamiento de Pedido (2.0s)
3. Actualizaci&#xF3;n de Base de Datos (0.4s)</code></pre><h4 id="la-correlaci%C3%B3n-entre-logs-metrics-y-traces">La Correlaci&#xF3;n entre Logs, Metrics y Traces</h4><p>La verdadera potencia de la observabilidad radica en la capacidad de correlacionar logs, metrics y traces para obtener una visi&#xF3;n hol&#xED;stica del sistema. Mientras que los logs ofrecen un registro detallado de eventos y errores espec&#xED;ficos, las metrics proporcionan una visi&#xF3;n cuantitativa del rendimiento en tiempo real, y los traces revelan el recorrido y la latencia de las solicitudes a trav&#xE9;s de los servicios. La combinaci&#xF3;n de estos datos permite a los equipos de operaciones y desarrollo conectar puntos y entender el contexto completo de los problemas. Por ejemplo, un pico en la latencia de una m&#xE9;trica de solicitud puede correlacionarse con un error espec&#xED;fico registrado en los logs, y el trace correspondiente puede identificar exactamente en qu&#xE9; parte del flujo de la aplicaci&#xF3;n ocurri&#xF3; el retraso. Esta correlaci&#xF3;n no solo acelera la identificaci&#xF3;n y resoluci&#xF3;n de problemas, sino que tambi&#xE9;n facilita la implementaci&#xF3;n de mejoras proactivas en la infraestructura y el c&#xF3;digo.</p><h2 id="el-stack-de-observabilidad">El stack de observabilidad</h2><p>A d&#xED;a de hoy se pueden encontrar m&#xFA;ltiples &#x201C;stacks&#x201D; o frameworks que nos facilitan la extracci&#xF3;n, el procesamiento y la ingesta de informaci&#xF3;n en lagos de datos estructurados. Esto permite implementar la observabilidad con integraciones ya existentes para muchas tecnolog&#xED;as y de forma m&#xE1;s sencilla que tener que desarrollar manualmente &#x201C;conectores&#x201D; para cada aplicaci&#xF3;n. Sin embargo, una vez obtenidos los datos suele ser necesario moldearlos o bien cruzarlos con otros datos, a&#xF1;adir informaci&#xF3;n, quitarla, etc.. todo eso se consigue con herramientas de manipulaci&#xF3;n de datos que suelen ofrecer los propios stacks de Observabilidad. Suelen ser un conjunto de herramientas y tecnolog&#xED;as que permiten monitorear, analizar y gestionar el estado de los sistemas digitales, proporcionando visibilidad completa y en tiempo real del rendimiento, disponibilidad y comportamiento de las aplicaciones y la infraestructura. </p><h3 id="su-estructura">Su estructura</h3><p>Actualmente los stacks de observabilidad modernos suelen contar con los siguientes elementos o funcionalidades:</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2024/06/observability-full.png" class="kg-image" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas" loading="lazy" width="2000" height="1477" srcset="https://www.cripsis.xyz/content/images/size/w600/2024/06/observability-full.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2024/06/observability-full.png 1000w, https://www.cripsis.xyz/content/images/size/w1600/2024/06/observability-full.png 1600w, https://www.cripsis.xyz/content/images/size/w2400/2024/06/observability-full.png 2400w" sizes="(min-width: 1200px) 1200px"><figcaption>Diagrama que representa un stack de observabilidad moderno, con todos los elementos desde los tipos de datos, como se correlan, hasta la capa de representaci&#xF3;n</figcaption></figure><h4 id="dashboarding-y-monitoreo">Dashboarding y Monitoreo</h4><p>La observabilidad permite la capacidad de visualizar y monitorizar datos de forma efectiva. Los <strong>dashboards</strong> proporcionan una interfaz visual donde se pueden presentar datos en gr&#xE1;ficos y tablas, facilitando la interpretaci&#xF3;n r&#xE1;pida de la informaci&#xF3;n. Las <strong>visualizaciones de extremo a extremo (E2E)</strong> permiten comprender el flujo completo de datos a trav&#xE9;s del sistema, mientras que el <strong>an&#xE1;lisis de causa ra&#xED;z (RCA)</strong> es crucial para identificar la causa subyacente de los problemas. Herramientas de <strong>consulta de datos</strong> y bases de datos tradicionales junto con <strong>data lakes</strong> para almacenamiento no estructurado complementan esta secci&#xF3;n, ofreciendo un acceso r&#xE1;pido y flexible a la informaci&#xF3;n.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfBwuDBEWAKTY5RePhoacqFfESHYD6BLn2aIQkJEGgRe7sd107ISbIwLBZ5CnPfS3VIFMl2E4Ci_8oUbEj4tdgrnQ-d2gpturhWKjabl011NOcJOJcPoQ4iqFG9D5-wgwZ5lXND6zv-LmqP4oav4esxSbc?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas" loading="lazy" width="642" height="291"><figcaption>Dashboard funcional customizado creado sobre Grafana, a partir de m&#xFA;ltiples fuentes de datos, con detecci&#xF3;n de anomal&#xED;as en alg&#xFA;n panel.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdA--z-uStorXR5I6GMdudIMiYHx30EEoNhptzJ_rj6VUznJqUmC4U0uq53GQKsKrTqWIclfLTM7g605gDv9ODUFonQxNDPOg6BUsNLFGnsD5S32Fk-L7EHoKAi89qpQTjaBO2Dk_xr9CIyxhB2SeAOvB8?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas" loading="lazy" width="643" height="322"><figcaption>Dashboard t&#xE9;cnico customizado creado sobre Grafana que muestra el rendimiento de un Redis</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdjIurNFHmukaVm5RdS-v4fRdXZTlU13T3WEccAk6OtH_FWCvUhGlOn1SUAoufmGkrE3pkfkZA0tkAnzfg46Tk8e3wyMwg7SVos0So3wfHGO9YaxRIEFvCYIYsTtomQt6Y2z9KLaG9UQqmosXiU-y0jP7ej?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="La Observabilidad en Sistemas Digitales: Fundamentos, Beneficios y Estrategias Avanzadas" loading="lazy" width="655" height="339"><figcaption>Dashboard mixto customizado creado sobre Grafana, con KPIs t&#xE9;cnicos y otros funcionales que muestran el estado de un servicio online, a partir de m&#xFA;ltiples fuentes de datos.</figcaption></figure><h4 id="alertas-y-notificaciones">Alertas y Notificaciones</h4><p>La capacidad de recibir alertas y notificaciones en tiempo real es vital para una respuesta r&#xE1;pida y efectiva ante incidentes. Estas notificaciones se logran mediante integraciones API que permiten la comunicaci&#xF3;n instant&#xE1;nea entre sistemas, as&#xED; como notificaciones por correo electr&#xF3;nico que aseguran que los equipos relevantes est&#xE9;n siempre informados. </p><h4 id="slas">SLAs</h4><p>Los acuerdos de nivel de servicio (SLAs) juegan un papel crucial en este proceso, estableciendo m&#xE9;tricas y umbrales que aseguran que las alertas sean tanto relevantes como accionables. Estas m&#xE9;tricas y umbrales est&#xE1;n dise&#xF1;ados para minimizar el ruido y evitar falsas alarmas, permitiendo a los equipos de TI concentrarse en los incidentes m&#xE1;s cr&#xED;ticos y urgentes.</p><h4 id="recolecci%C3%B3n-y-procesamiento-de-datos">Recolecci&#xF3;n y Procesamiento de Datos</h4><p>La base de la observabilidad radica en la recolecci&#xF3;n y el procesamiento eficiente de datos. Esto implica varias etapas: el almacenamiento seguro y escalable de los datos recogidos, la normalizaci&#xF3;n para estandarizar los formatos y facilitar su an&#xE1;lisis, el filtrado para eliminar el ruido y centrarse en los datos m&#xE1;s relevantes, y el enriquecimiento que a&#xF1;ade contexto &#xFA;til a los datos crudos. La correlaci&#xF3;n de eventos y datos es esencial para descubrir patrones y relaciones ocultas, facilitando una comprensi&#xF3;n m&#xE1;s profunda de los problemas. Esta capacidad de correlaci&#xF3;n permite a las organizaciones no solo detectar problemas r&#xE1;pidamente, sino tambi&#xE9;n comprender sus causas ra&#xED;z, mejorando as&#xED; la eficacia de las respuestas y las soluciones implementadas.</p><h4 id="aiops">AIOps</h4><p>La inteligencia artificial para operaciones de TI (AIOps) representa la pr&#xF3;xima frontera en la gesti&#xF3;n de operaciones tecnol&#xF3;gicas. Aplicando algoritmos avanzados y t&#xE9;cnicas de aprendizaje autom&#xE1;tico, AIOps mejora las operaciones mediante el an&#xE1;lisis continuo de datos y la automatizaci&#xF3;n de respuestas. Esto permite una gesti&#xF3;n proactiva y predictiva, reduciendo significativamente el tiempo de inactividad y mejorando la eficiencia operativa.</p><p>El uso de aprendizaje autom&#xE1;tico para la detecci&#xF3;n de anomal&#xED;as permite identificar problemas antes de que afecten al usuario final. Algoritmos de <strong>Machine Learning</strong> (<strong>ML</strong>) supervisados y no supervisados son capaces de aprender patrones normales de comportamiento en los sistemas y detectar desviaciones que podr&#xED;an indicar fallos o vulnerabilidades inminentes. Estos algoritmos pueden analizar grandes vol&#xFA;menes de datos en tiempo real, identificando comportamientos an&#xF3;malos como picos inusuales en el tr&#xE1;fico de red, <strong>errores frecuentes en aplicaciones</strong> o <strong>degradaci&#xF3;n en el rendimiento</strong> del sistema. La detecci&#xF3;n de anomal&#xED;as basada en aprendizaje autom&#xE1;tico no solo alerta a los equipos de TI sobre problemas potenciales, sino que tambi&#xE9;n puede desencadenar autom&#xE1;ticamente acciones correctivas, como el reequilibrio de cargas de trabajo o la aplicaci&#xF3;n de parches de seguridad.</p><p>El procesamiento del lenguaje natural (<strong>NLP</strong>) puede analizar logs y alertas, clasific&#xE1;ndolos y proporcionando contexto adicional, lo que permite una b&#xFA;squeda de datos m&#xE1;s efectiva y una resoluci&#xF3;n de problemas m&#xE1;s r&#xE1;pida. NLP es especialmente &#xFA;til para manejar grandes vol&#xFA;menes de datos no estructurados, como los generados por sistemas de monitoreo y registros de eventos. A trav&#xE9;s del an&#xE1;lisis sem&#xE1;ntico y la comprensi&#xF3;n contextual, NLP puede transformar estos datos en informaci&#xF3;n accionable. Por ejemplo, puede identificar y correlacionar eventos similares, agrupar alertas relacionadas, y sugerir soluciones basadas en incidentes previos.</p><p>Adem&#xE1;s, NLP facilita la interacci&#xF3;n entre los sistemas de AIOps y los operadores humanos mediante interfaces conversacionales o chatbots, que pueden responder preguntas, proporcionar informes de estado y ejecutar acciones espec&#xED;ficas basadas en comandos de lenguaje natural. Esto no solo mejora la accesibilidad y usabilidad de las herramientas de monitoreo y gesti&#xF3;n, sino que tambi&#xE9;n permite a los equipos de TI resolver problemas de manera m&#xE1;s r&#xE1;pida y eficiente.</p><p>En conjunto, el aprendizaje autom&#xE1;tico y el procesamiento del lenguaje natural en el contexto de AIOps permiten una observabilidad avanzada, donde los sistemas no solo son monitoreados pasivamente, sino que son capaces de aprender, adaptarse y responder de manera aut&#xF3;noma a las condiciones cambiantes y a los desaf&#xED;os emergentes. La detecci&#xF3;n de anomal&#xED;as juega un papel crucial en este proceso, proporcionando una capa adicional de seguridad y resiliencia. Esto lleva a una infraestructura de TI m&#xE1;s resiliente, con una capacidad mejorada para mantener la continuidad del negocio y ofrecer experiencias de usuario optimizadas.</p><h4 id="fuentes-y-tipos-de-datos">Fuentes y Tipos de Datos</h4><p>En un entorno digitalizado, los datos provienen de diversas fuentes, como servidores on-premise y servicios en la nube. Los tipos de datos recolectados incluyen m&#xE9;tricas cuantitativas sobre rendimiento y estado, trazas de transacciones y solicitudes, y logs de eventos y mensajes del sistema. Verificaciones como los TCP checks y HTTP checks aseguran la conectividad y disponibilidad. Adem&#xE1;s, el monitoreo sint&#xE9;tico simula transacciones de usuarios, y el monitoreo de usuarios reales analiza la experiencia real de los usuarios, proporcionando informaci&#xF3;n cr&#xED;tica para la mejora continua.</p><h4 id="an%C3%A1lisis-y-optimizaci%C3%B3n">An&#xE1;lisis y Optimizaci&#xF3;n</h4><p>Los datos funcionales derivados de la observabilidad son esenciales para realizar an&#xE1;lisis detallados del rendimiento del sistema (<strong>profiling</strong>) y la optimizaci&#xF3;n financiera de los recursos en la nube (<strong>FinOps</strong>). Estos an&#xE1;lisis permiten a las organizaciones optimizar sus operaciones, reduciendo costos y mejorando la eficiencia. El profiling ayuda a identificar cuellos de botella y oportunidades de mejora en el rendimiento, mientras que FinOps se enfoca en maximizar el valor de la inversi&#xF3;n en infraestructura en la nube, balanceando el costo y el rendimiento.</p><h2 id="conclusi%C3%B3n">Conclusi&#xF3;n</h2><p>La observabilidad se ha convertido en una piedra angular para la gesti&#xF3;n de sistemas digitales en el contexto de la transformaci&#xF3;n digital. Su capacidad para proporcionar una visibilidad integral y en tiempo real del estado y el rendimiento de los sistemas no solo mejora la continuidad operativa y la eficiencia, sino que tambi&#xE9;n facilita una toma de decisiones m&#xE1;s informada y estrat&#xE9;gica. Al integrar logs, m&#xE9;tricas y trazas, y apoyarse en tecnolog&#xED;as avanzadas como el aprendizaje autom&#xE1;tico y el procesamiento del lenguaje natural, la observabilidad ofrece una perspectiva hol&#xED;stica que permite identificar, diagnosticar y resolver problemas de manera proactiva.</p><p>La evoluci&#xF3;n desde la monitorizaci&#xF3;n tradicional hacia la observabilidad ha ampliado significativamente las capacidades de las organizaciones para gestionar infraestructuras complejas y distribuidas, mejorando no solo la resiliencia y la seguridad, sino tambi&#xE9;n la experiencia del usuario final. Los stacks modernos de observabilidad, con sus herramientas avanzadas de dashboarding, alertas, recolecci&#xF3;n y procesamiento de datos, y AIOps, representan un avance crucial en la gesti&#xF3;n de operaciones tecnol&#xF3;gicas, asegurando que las organizaciones puedan adaptarse y prosperar en un entorno digital din&#xE1;mico y competitivo.</p><p>En &#xFA;ltima instancia, la implementaci&#xF3;n de pr&#xE1;cticas de observabilidad permite a las empresas no solo reaccionar ante incidentes, sino anticiparse a ellos, optimizando recursos, reduciendo costos y fomentando una cultura de mejora continua e innovaci&#xF3;n. La observabilidad no es solo una herramienta t&#xE9;cnica; es un facilitador estrat&#xE9;gico esencial para cualquier organizaci&#xF3;n que busque mantener su relevancia y competitividad en el mercado actual.<br></p>]]></content:encoded></item><item><title><![CDATA[Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies]]></title><description><![CDATA[Learn how observability transforms digital businesses by enhancing operational continuity, performance, and customer satisfaction. Explore logs, metrics, and traces, and the evolution from traditional monitoring using advanced techniques like machine learning and NLP.]]></description><link>https://www.cripsis.xyz/observability-in-digital-systems-fundamentals-benefits-and-advanced-strategies/</link><guid isPermaLink="false">666a873879f4740058f36b72</guid><category><![CDATA[it]]></category><category><![CDATA[observability]]></category><category><![CDATA[dashboard]]></category><category><![CDATA[grafana]]></category><category><![CDATA[data]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Thu, 13 Jun 2024 06:15:39 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2024/06/header-1.webp" medium="image"/><content:encoded><![CDATA[<h2 id="introduction-to-observability">Introduction to Observability</h2><img src="https://www.cripsis.xyz/content/images/2024/06/header-1.webp" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies"><p>In today&apos;s technological forefront, the complex digitalized systems behind every business demand robust <strong>observability</strong> tools. If one or more key processes within your entity are digitalized at any point, it means that you are already oriented towards digital maturity and beginning to adopt a <strong><em>data-driven</em></strong> approach. The question is: Does the organization have the mechanisms and tools necessary to know precisely how these business processes are performing?</p><p>In this article, we will see how observability, being a broad and multifaceted concept, can lead to various specialized practices and tools to cover a wide range of use cases. Today, it stands as fundamental to ensuring operational continuity and <strong>fostering continuous improvement</strong> of modern digital businesses. Its goal is to obtain a <strong>deep understanding of the internal state of systems</strong> through the data they generate.</p><p>Every department within the business is essential for its proper functioning: Sales and Marketing, Production and Operations, Finance, Supply Chain Management, Customer Service, Information Technology (IT), etc. Even if you don&apos;t have all of them or are missing some, you can surely get much more out of them. Do you really know how they perform? What is their performance? Where are the most common bottlenecks? What economic impact are they having? What incidents are they experiencing? How can you anticipate them? </p><p>Observability, as a<strong> discipline within the IT field</strong>, helps you answer all these questions.</p><h2 id="fundamentals-of-observability">Fundamentals of Observability</h2><h3 id="definition-and-concept">Definition and Concept</h3><p>In general terms, it can be defined as the ability to <strong>deduce the internal state of a system</strong> solely <strong>from its external outputs</strong>. In the realm of software, this translates to the ability to discern the functioning and behavior of a monolithic or distributed system through the information it reveals. This implies that if the outputs are known over a sufficient period and we understand how the system responds to inputs, it is possible to infer or reconstruct all possible internal states of the system.</p><h3 id="its-impact-on-business">Its Impact on Business</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2024/06/image-3.png" class="kg-image" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies" loading="lazy" width="528" height="303"><figcaption>Diagram representing the impact of observability on different layers of a business</figcaption></figure><p>Observability is not just a technical tool; it is a strategic facilitator that profoundly impacts various aspects of the business and is therefore key in a digital transformation process. Observability begins at the infrastructure layer of the organization&apos;s resources, starting to extract data (metrics, logs) from these hardware resources, up to the application layer from which traces will also be extracted.</p><p>Below are the main benefits and how they translate into tangible competitive advantages:</p><h4 id="improvement-in-operational-continuity">Improvement in Operational Continuity</h4><p>Observability allows identifying and solving problems before they become critical incidents. By having clear and real-time visibility of systems, companies can minimize downtime and ensure operational continuity. This is crucial to maintaining customer trust and avoiding significant economic losses.</p><h4 id="performance-optimization">Performance Optimization</h4><p>With observability tools, it is possible to continuously monitor and analyze the performance of applications and processes. This facilitates the detection of bottlenecks and inefficient areas, allowing adjustments and improvements that optimize resource usage and enhance operational efficiency.</p><h4 id="cost-reduction">Cost Reduction</h4><p>The ability to quickly identify problems and optimize resources contributes to a significant reduction in operating costs. Fewer interruptions and better allocation of technological and human resources result in savings that can be reinvested in other business areas.</p><h4 id="increase-in-customer-satisfaction">Increase in Customer Satisfaction</h4><p>A highly observable system can ensure better performance and service availability, which translates to a more positive customer experience. The ability to quickly resolve problems and maintain smooth operations increases customer satisfaction and loyalty.</p><h4 id="improved-decision-making">Improved Decision-Making</h4><p>Observability provides valuable and actionable data that inform strategic decisions. Business leaders can base their decisions on accurate information about system performance and state, improving the planning and execution of strategies.</p><h4 id="promotion-of-innovation">Promotion of Innovation</h4><p>With a clear view of the internal functioning of systems, development and operations teams can experiment and test new ideas with greater confidence. The rapid identification and resolution of problems allow for a more agile development cycle and continuous innovation.</p><h4 id="compliance-and-security">Compliance and Security</h4><p>Observability also plays a critical role in regulatory compliance and security. It allows detailed monitoring of activities and accesses within the system, helping to quickly detect and respond to potential security threats and ensure regulatory compliance.</p><h3 id="evolution-from-traditional-monitoring">Evolution from Traditional Monitoring</h3><p>Observability is often heard as a significant evolution from traditional monitoring in several key aspects, and it is the case. Tools like Nagios, Icinga, Pandora FMS, etc., have been key in modern history and the foundation and proper diagnosis of incidents in the IT world. This does not mean that observability directly replaces traditional monitoring; instead, it complements and is part of it. It could even be said that it is the first phase within its implementation.</p><p>Here are the details of how observability builds and expands on the foundation of traditional monitoring:</p><h4 id="breadth-and-depth-of-data">Breadth and Depth of Data</h4><p><strong>Traditional Monitoring:</strong></p><ul><li>Focuses mainly on pre-established indicators and system health metrics such as CPU, memory, and response times.</li><li>Collects data based on known thresholds to trigger alerts.</li></ul><p><strong>Observability:</strong></p><ul><li>Collects not only metrics but also exhaustive traces and logs that provide a detailed view of all system operations.</li><li>Allows retrospective analysis to understand why certain behaviors occurred, not just when they deviated from the norm.</li></ul><h4 id="interrogability-and-diagnostics">Interrogability and Diagnostics</h4><p><strong>Traditional Monitoring:</strong></p><ul><li>Offers a limited and often reactive view, suitable for known and previously defined problems.</li><li>Limited in capacity to explore or investigate issues without prior definitions of what to look for.</li></ul><p><strong>Observability:</strong></p><ul><li>Designed to allow operators to ask ad-hoc questions about system behavior, even questions that had not been considered before a problem arose.</li><li>Facilitates a deep understanding of the &quot;how&quot; and &quot;why&quot; behind system states, not just the &quot;what.&quot;</li></ul><h4 id="focus-on-user-experience">Focus on User Experience</h4><p><strong>Traditional Monitoring:</strong></p><ul><li>Mainly oriented to ensure systems operate within operational parameters.</li><li>Less focus on how specific user interactions affect or are affected by the underlying infrastructure.</li></ul><p><strong>Observability:</strong></p><ul><li>Includes a strong focus on the end-user experience, evaluating system performance from the user&apos;s perspective through end-to-end monitoring and distributed traces.</li><li>Identifies how system shortcomings affect real user transactions and flows.</li></ul><h4 id="use-of-advanced-technology">Use of Advanced Technology</h4><p><strong>Traditional Monitoring:</strong></p><ul><li>Relies heavily on static tools with little learning or automatic adaptation.</li><li>Requires frequent manual configuration and adjustments.</li></ul><p><strong>Observability:</strong></p><ul><li>Employs advanced techniques such as artificial intelligence and machine learning for predictive analysis and anomaly detection.</li><li>Continuously adapts to changes in the system environment, improving incident detection and response.</li></ul><h4 id="scalability-and-dynamism">Scalability and Dynamism</h4><p><strong>Traditional Monitoring:</strong></p><ul><li>Often faces difficulties scaling or adapting to large and distributed systems.</li><li>Can be ineffective in dynamic or rapidly evolving environments.</li></ul><p><strong>Observability:</strong></p><ul><li>Ideal for microservices environments and distributed architectures, where components can change or scale dynamically.</li><li>Provides tools to synchronize and correlate data across a variety of sources and services.</li></ul><p>In summary, observability not only enhances traditional monitoring but also redefines system management by providing more sophisticated tools and techniques suitable for the current complex and ever-changing technological landscape.</p><h2 id="the-3-fundamental-pillars-of-observability">The 3 Fundamental Pillars of Observability</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXf9bMTWDnwMRVc0gWtk8eXeXKU8mgh8DIrrAsOQsvCjKsA8QTJMcbFOPrMh7V8F08T3TWAnlkVHClX_xS9dpukr7W0epFsuvOsFKzJPiK571qGl15nuDy86MoBEgdGQ_5SB3QgVdA8yC26zEHq8epZtswOn?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies" loading="lazy" width="396" height="345"><figcaption>Abstract representation of the 3 pillars of observability</figcaption></figure><p>Technically, observability is based on three main pillars: logs, metrics, and traces. Each of these elements provides a unique and complementary view of the system&apos;s behavior, facilitating a comprehensive understanding of its state and performance.</p><h3 id="logs">Logs</h3><p>Logs are detailed records of events that occur within a system. They are automatically generated by applications, services, and infrastructure components and are essential for problem diagnosis and post-mortem analysis. Logs can be of various types, such as error logs, access logs, audit logs, among others.</p><p><strong>Example:</strong>Suppose we have a web application that manages online orders. If a user tries to place an order and the operation fails, the log might contain an entry like this:</p><pre><code class="language-log">2023-06-12 14:22:30 ERROR OrderService - Order ID: 12345 failed due to payment processing error. User ID: 67890</code></pre><p>This record provides crucial information about the timing and nature of the error, helping developers identify and resolve the issue.</p><h3 id="metrics">Metrics</h3><p>Metrics are quantitative data representing the performance and state of different system components. They are collected and stored at regular intervals, allowing operations teams to monitor system health and detect anomalies in real time.</p><p><strong>Example:</strong></p><p>Continuing with our online order application example, a relevant metric could be the number of orders processed per minute. If normally 100 orders are processed per minute, but suddenly this figure drops to 20, it indicates a possible issue that needs investigation.</p><pre><code class="language-json">{
  &quot;timestamp&quot;: &quot;2024-05-20T14:35:00Z&quot;,
  &quot;metric&quot;: &quot;pedidos_procesados&quot;,
  &quot;value&quot;: 20
}</code></pre><p>Additionally, other metrics such as CPU usage, request latency, and available memory are also crucial for assessing the overall system performance.</p><h3 id="traces">Traces</h3><p>Traces provide a detailed view of the path of a request through various services and components of a distributed architecture. They are essential for understanding transaction flows and identifying bottlenecks or failures in the service chain.</p><p><strong>Example:</strong></p><p>Imagine a user places an order in our online order application. A trace could show how this request travels from the front-end to the authentication service, then to the order processing service, and finally to the database. If there is a delay in order processing, the trace can reveal that the bottleneck is in the authentication service, which takes longer than expected to verify the user.</p><pre><code class="language-log">TraceID: 5f3c1e2d9a3b
---
Start: 2024-05-20T14:35:22Z
Duration: 3.2s
Steps:
1. Authentication (0.8s)
2. Order Processing (2.0s)
3. Database Update (0.4s)</code></pre><h3 id="correlation-between-logs-metrics-and-traces">Correlation between Logs, Metrics, and Traces</h3><p>The true power of observability lies in the ability to correlate logs, metrics, and traces to gain a holistic view of the system. While logs offer a detailed record of specific events and errors, metrics provide a quantitative view of real-time performance, and traces reveal the path and latency of requests across services. Combining these data allows operations and development teams to connect the dots and understand the full context of issues. For example, a spike in request latency metrics can correlate with a specific error recorded in the logs, and the corresponding trace can identify exactly where in the application&apos;s flow the delay occurred. This correlation not only accelerates problem identification and resolution but also facilitates proactive improvements in infrastructure and code.</p><h2 id="the-observability-stack">The Observability Stack</h2><p>Today, multiple &quot;stacks&quot; or frameworks facilitate the extraction, processing, and ingestion of information in structured data lakes. This allows implementing observability with existing integrations for many technologies and more straightforwardly than manually developing &quot;connectors&quot; for each application. However, once data is obtained, it is often necessary to shape it or cross it with other data, add information, remove it, etc. All of this is achieved with data manipulation tools usually offered by the observability stacks themselves. They are typically a set of tools and technologies that enable monitoring, analyzing, and managing the state of digital systems, providing complete and real-time visibility into the performance, availability, and behavior of applications and infrastructure.</p><h3 id="structure">Structure</h3><p>Currently, modern observability stacks typically include the following elements or functionalities:</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2024/06/observability-full.png" class="kg-image" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies" loading="lazy" width="2000" height="1477" srcset="https://www.cripsis.xyz/content/images/size/w600/2024/06/observability-full.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2024/06/observability-full.png 1000w, https://www.cripsis.xyz/content/images/size/w1600/2024/06/observability-full.png 1600w, https://www.cripsis.xyz/content/images/size/w2400/2024/06/observability-full.png 2400w" sizes="(min-width: 1200px) 1200px"><figcaption>Diagram that represents a modern observability stack, with all elements from data types, how they correlate, to the presentation layer</figcaption></figure><h4 id="dashboarding-and-monitoring">Dashboarding and Monitoring</h4><p>Observability allows the ability to visualize and monitor data effectively. <strong>Dashboards</strong> provide a visual interface where data can be presented in graphs and tables, facilitating quick interpretation of information. <strong>End-to-end (E2E) visualizations</strong> help understand the complete data flow through the system, while <strong>root cause analysis (RCA)</strong> is crucial for identifying the underlying cause of problems. Traditional <strong>data query tools</strong> and databases, along with <strong>data lakes</strong> for unstructured storage, complement this section, offering quick and flexible access to information.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfBwuDBEWAKTY5RePhoacqFfESHYD6BLn2aIQkJEGgRe7sd107ISbIwLBZ5CnPfS3VIFMl2E4Ci_8oUbEj4tdgrnQ-d2gpturhWKjabl011NOcJOJcPoQ4iqFG9D5-wgwZ5lXND6zv-LmqP4oav4esxSbc?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies" loading="lazy" width="642" height="291"><figcaption>Functional custom dashboard created on Grafana, from multiple data sources, with anomaly detection in some panel.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdA--z-uStorXR5I6GMdudIMiYHx30EEoNhptzJ_rj6VUznJqUmC4U0uq53GQKsKrTqWIclfLTM7g605gDv9ODUFonQxNDPOg6BUsNLFGnsD5S32Fk-L7EHoKAi89qpQTjaBO2Dk_xr9CIyxhB2SeAOvB8?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies" loading="lazy" width="643" height="322"><figcaption>Customized technical dashboard created on Grafana that shows the performance of a Redis</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdjIurNFHmukaVm5RdS-v4fRdXZTlU13T3WEccAk6OtH_FWCvUhGlOn1SUAoufmGkrE3pkfkZA0tkAnzfg46Tk8e3wyMwg7SVos0So3wfHGO9YaxRIEFvCYIYsTtomQt6Y2z9KLaG9UQqmosXiU-y0jP7ej?key=pZzm98KY8r5cgzFLFsNP5Q" class="kg-image" alt="Observability in Digital Systems: Fundamentals, Benefits, and Advanced Strategies" loading="lazy" width="655" height="339"><figcaption>Customized mixed dashboard created on Grafana, with technical and functional KPIs showing the status of an online service, from multiple data sources.</figcaption></figure><h4 id="alerts-and-notifications">Alerts and Notifications</h4><p>The ability to receive real-time alerts and notifications is vital for a quick and effective response to incidents. These notifications are achieved through API integrations that enable instant communication between systems, as well as email notifications that ensure relevant teams are always informed.</p><h4 id="slas">SLAs</h4><p>Service level agreements (SLAs) play a crucial role in this process, establishing metrics and thresholds that ensure alerts are both relevant and actionable. These metrics and thresholds are designed to minimize noise and avoid false alarms, allowing IT teams to focus on the most critical and urgent incidents.</p><h4 id="data-collection-and-processing">Data Collection and Processing</h4><p>The foundation of observability lies in the efficient collection and processing of data. This involves several stages: secure and scalable storage of collected data, normalization to standardize formats and facilitate analysis, filtering to eliminate noise and focus on the most relevant data, and enrichment that adds useful context to raw data. Event and data correlation is essential for uncovering hidden patterns and relationships, facilitating a deeper understanding of issues. This correlation capability allows organizations not only to detect problems quickly but also to understand their root causes, thereby improving the effectiveness of responses and implemented solutions.</p><h4 id="aiops">AIOps</h4><p>Artificial intelligence for IT operations (AIOps) represents the next frontier in technology operations management. Applying advanced algorithms and machine learning techniques, AIOps enhances operations by continuously analyzing data and automating responses. This enables proactive and predictive management, significantly reducing downtime and improving operational efficiency.</p><p>The use of <strong>Machine Learning (ML)</strong> for anomaly detection helps identify problems before they affect the end-user. Supervised and unsupervised machine learning algorithms can learn normal behavioral patterns in systems and detect deviations that could indicate imminent failures or vulnerabilities. These algorithms can analyze large volumes of data in real-time, identifying anomalous behaviors such as unusual traffic spikes, <strong>frequent application errors</strong>, or <strong>system performance degradation</strong>. Anomaly detection based on machine learning not only alerts IT teams to potential problems but can also automatically trigger corrective actions, such as workload rebalancing or security patching.</p><p><strong>Natural language processing (NLP)</strong> can analyze logs and alerts, classifying them and providing additional context, enabling more effective data search and faster problem resolution. NLP is especially useful for handling large volumes of unstructured data, such as those generated by monitoring systems and event logs. Through semantic analysis and contextual understanding, NLP can transform this data into actionable information. For example, it can identify and correlate similar events, group related alerts, and suggest solutions based on previous incidents.</p><p>Additionally, NLP facilitates interaction between AIOps systems and human operators through conversational interfaces or chatbots, which can answer questions, provide status reports, and execute specific actions based on natural language commands. This not only improves the accessibility and usability of monitoring and management tools but also allows IT teams to resolve issues more quickly and efficiently.</p><p>Overall, machine learning and natural language processing in the context of AIOps enable advanced observability, where systems are not only passively monitored but are capable of learning, adapting, and autonomously responding to changing conditions and emerging challenges. Anomaly detection plays a crucial role in this process, providing an additional layer of security and resilience. This leads to a more resilient IT infrastructure, with enhanced capacity to maintain business continuity and deliver optimized user experiences.</p><h3 id="sources-and-types-of-data">Sources and Types of Data</h3><p>In a digitized environment, data comes from various sources, such as on-premise servers and cloud services. The types of data collected include quantitative metrics on performance and state, transaction and request traces, and event logs and system messages. Checks such as TCP checks and HTTP checks ensure connectivity and availability. Additionally, synthetic monitoring simulates user transactions, and real user monitoring analyzes the actual user experience, providing critical information for continuous improvement.</p><h3 id="analysis-and-optimization">Analysis and Optimization</h3><p>The functional data derived from observability is essential for performing detailed system performance analysis (profiling) and financial optimization of cloud resources (FinOps). These analyses allow organizations to optimize their operations, reducing costs and improving efficiency. Profiling helps identify bottlenecks and opportunities for performance improvement, while FinOps focuses on maximizing the value of investment in cloud infrastructure, balancing cost and performance.</p><h2 id="conclusion">Conclusion</h2><p>Observability has become a cornerstone for managing digital systems in the context of digital transformation. Its ability to provide comprehensive and real-time visibility into the state and performance of systems not only improves operational continuity and efficiency but also facilitates more informed and strategic decision-making. By integrating logs, metrics, and traces, and leveraging advanced technologies such as machine learning and natural language processing, observability offers a holistic perspective that allows identifying, diagnosing, and resolving issues proactively.</p><p>The evolution from traditional monitoring to observability has significantly expanded organizations&apos; capabilities to manage complex and distributed infrastructures, improving not only resilience and security but also the end-user experience. Modern observability stacks, with their advanced dashboarding, alerting, data collection and processing tools, and AIOps, represent a crucial advancement in technology operations management, ensuring that organizations can adapt and thrive in a dynamic and competitive digital environment.</p><p>Ultimately, the implementation of observability practices allows companies not only to react to incidents but also to anticipate them, optimizing resources, reducing costs, and fostering a culture of continuous improvement and innovation. Observability is not just a technical tool; it is an essential strategic enabler for any organization seeking to maintain its relevance and competitiveness in today&apos;s market.</p>]]></content:encoded></item><item><title><![CDATA[Tangem Wallet V2 - Discover the new version!]]></title><description><![CDATA[Discover the new version of Tangem Wallet: an innovative hardware wallet for cryptocurrencies that combines the robust security of a cold wallet with the agile convenience of a bank card. Explore its advanced features and get your questions answered in our detailed analysis.]]></description><link>https://www.cripsis.xyz/tangem-wallet-v2-revision-new-version/</link><guid isPermaLink="false">6536b86d683eb60070510a06</guid><category><![CDATA[token]]></category><category><![CDATA[web3]]></category><category><![CDATA[hardware wallet]]></category><category><![CDATA[bitcoin]]></category><category><![CDATA[chia]]></category><category><![CDATA[ethereum]]></category><category><![CDATA[open source]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Mon, 23 Oct 2023 18:26:19 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/10/20231023_194730-1.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="introduction">Introduction </h2><img src="https://www.cripsis.xyz/content/images/2023/10/20231023_194730-1.jpg" alt="Tangem Wallet V2 - Discover the new version!"><p>We are back! And today, we bring something extremely exciting for cryptocurrency enthusiasts &#x1F680;. Just as we promised, we have stayed updated on the latest developments in the world of hardware wallets. Tangem Wallet has returned with a revamped version, and we are here to discover together what new surprises this version 2.0 brings! </p><p><strong><a href="https://www.cripsis.xyz/en/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/">In our last review</a></strong>, we unraveled the original version of Tangem Wallet, a physical wallet that already seemed quite innovative. Well, prepare your expectations, because Tangem has upped the ante with a series of updates and improvements.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">Don&apos;t loose our <a href="https://www.cripsis.xyz/en/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/">complete review</a> of Tangem Wallet!</div></div><!--kg-card-begin: html--><div class="w-full p-4 flex flex-col md:flex-row justify-between items-center" style="background: linear-gradient(90deg, black 0%, #2c89a8 100%); color: white; font-weight: bold;">
    <!-- Discount Message -->
    <div class="flex flex-col md:flex-row items-center w-full mb-2 md:mb-0 md:w-3/5">
        <span class="block md:inline-block w-full text-center md:text-left" style="margin-right: 16px;">Get a 10% discount when purchasing Tangem Wallet using the code!</span>
        <!-- Newspaper-styled Coupon -->
        <div class="flex items-center self-center md:self-auto mt-2 md:mt-0 ml-0 md:ml-16" style="border: 2px dashed white; padding: 8px 16px; font-size: 1.2rem; cursor: pointer;" onclick="copyToClipboard(&apos;CRIPSIS-XYZ&apos;)">
            CRIPSIS-XYZ
           <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-clipboard" viewbox="0 0 30 30" style="margin-left: 5px;">
                <path d="M4 1.5a.5.5 0 0 1 .5-.5h3a2 2 0 0 1 4 0h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H1.5a.5.5 0 0 1-.5-.5v-1zm0 1v12a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-12H4z"/>
           </svg>
        </div>
    </div>

    <!-- Buttons with Icons and Links -->
    <div class="flex mt-2 md:mt-0 md:w-2/5 justify-end">
        <a href="https://www.cripsis.xyz/en/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/" class="flex items-center mr-4" style="text-decoration: none; padding: 8px 16px; color: white; min-width: 130px;">
            <img src="https://tangem.com/img/favicon/favicon.png" alt="Tangem Wallet V2 - Discover the new version!" style="margin-right: 8px; width: 20px; height: 20px;">
            Read Review
        </a>
        <a href="https://tangem.com/en/?promocode=CRIPSIS-XYZ#pricing" class="flex items-center" style="text-decoration: none; padding: 8px 16px; background-color: white; color: #2c89a8; border-radius: 5px; transition: background-color 0.3s ease; min-width: 100px;">
            Try it
        </a>
    </div>
</div><!--kg-card-end: html--><h2 id="whats-new">What&apos;s New? </h2><ol><li><strong>Seed Phrase Option</strong>: Tangem has incorporated a crucial feature: the seed phrase. This allows a more secure and versatile generation of private keys, and the option to import and export wallets with this technology, providing an additional layer of security and flexibility. </li><li><strong>Card Designs</strong>: The new designs are more elegant and sophisticated, opting for a matte black finish that radiates a sleek modernity. Aesthetics are also a priority, and Tangem knows it!</li></ol><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/10/image-2.png" class="kg-image" alt="Tangem Wallet V2 - Discover the new version!" loading="lazy" width="1600" height="2109" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/10/image-2.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/10/image-2.png 1000w, https://www.cripsis.xyz/content/images/2023/10/image-2.png 1600w" sizes="(min-width: 720px) 720px"></figure><h2 id="app-features">App Features: </h2><ul><li>The application has been renewed with a modern logo and a new color palette. </li><li>Now, it features a dark mode, facilitating its use in different lighting environments. In addition, the organization and display of tokens and balances have been improved, as well as the user interface for more intuitive and quick access to functionalities. </li></ul><ol><li><strong>Future Updates</strong>: Tangem has hinted that more features like market data, cross-chain exchange, and support for more blockchains are coming. We will stay alert!</li><li><strong>Commitment to the Community</strong>: A heartfelt thank you and promise to continue working hard to make cryptocurrencies more accessible and secure for everyone. </li></ol><h2 id="our-opinion">Our Opinion </h2><p>Tangem Wallet v2 seems to have taken our feedback and that of the community seriously, bringing with it changes and enhancements that boost user experience and the level of security and functionality. </p><ul><li><strong>Added Value</strong>: The seed phrase option is a big step forward. It not only offers more control and security but also adaptability that allows users to manage their private keys in a more personalized way. </li><li><strong>Aesthetics and Functionality</strong>: The new card designs and app updates, such as dark mode, are not only aesthetically pleasing but also enhance the user experience, making interaction more comfortable and enjoyable. </li><li><strong>Ongoing Commitment</strong>: We feel a strong dedication from Tangem to continue innovating and improving, ensuring a bright future and many more interesting updates and improvements. </li></ul><h2 id="conclusions">Conclusions </h2><p>The updated version of Tangem Wallet has impressed us, and we are excited to see how this wallet will continue to evolve. Their commitment to continuous improvement and adaptability to the changing needs of the crypto community is evident and commendable. We are expectant and attentive to discover the next innovations that Tangem will bring to the world of cryptocurrency hardware wallets. </p><p>Until the next review!</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Thank you for taking the time to read this article.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">I hope you liked it and that you found useful and valuable information in it.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you have any type of suggestion or want me to talk about a specific topic, let me know!</font></font></em></div></div>]]></content:encoded></item><item><title><![CDATA[Tangem Wallet V2 - Descubre la nueva versión!]]></title><description><![CDATA[Descubre la nueva versión de Tangem Wallet: una cartera hardware innovadora para criptomonedas, que fusiona la seguridad robusta de un monedero frío con la conveniencia ágil de una tarjeta bancaria. Explora sus avanzadas características y resuelve tus dudas en nuestro análisis detallado.]]></description><link>https://www.cripsis.xyz/es/tangem-wallet-v2-revision-nueva-version/</link><guid isPermaLink="false">6536b377683eb600705109bc</guid><category><![CDATA[token]]></category><category><![CDATA[web3]]></category><category><![CDATA[hardware wallet]]></category><category><![CDATA[bitcoin]]></category><category><![CDATA[chia]]></category><category><![CDATA[ethereum]]></category><category><![CDATA[open source]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Mon, 23 Oct 2023 18:13:45 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/10/20231023_194730.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="introducci%C3%B3n">Introducci&#xF3;n</h2><img src="https://www.cripsis.xyz/content/images/2023/10/20231023_194730.jpg" alt="Tangem Wallet V2 - Descubre la nueva versi&#xF3;n!"><p>&#xA1;Estamos de vuelta! Y hoy, traemos algo sumamente emocionante para los entusiastas de las criptomonedas &#x1F680;. Tal como prometimos, nos hemos mantenido al tanto de las &#xFA;ltimas actualizaciones en el mundo de las billeteras de hardware. Tangem Wallet ha vuelto con una versi&#xF3;n renovada, &#xA1;y estamos aqu&#xED; para descubrir juntos qu&#xE9; nuevas sorpresas nos trae esta versi&#xF3;n 2.0!</p><p><a href="https://www.cripsis.xyz/es/tangem-wallet-analisis-detallado-del-hardware-wallet/">En nuestra &#xFA;ltima revisi&#xF3;n</a>, desentra&#xF1;amos la versi&#xF3;n original de Tangem Wallet, una billetera f&#xED;sica que ya nos pareci&#xF3; bastante innovadora. Pues bien, preparen sus expectativas, porque Tangem ha subido la apuesta con una serie de actualizaciones y mejoras.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">No te pierdas el art&#xED;culo con <a href="https://www.cripsis.xyz/es/tangem-wallet-analisis-detallado-del-hardware-wallet/">la review completa</a> de Tangem Wallet!</div></div><!--kg-card-begin: html--><div class="w-full p-4 flex flex-col md:flex-row justify-between items-center" style="background: linear-gradient(90deg, black 0%, #2c89a8 100%); color: white; font-weight: bold;">
    <!-- Discount Message -->
    <div class="flex flex-col md:flex-row items-center w-full mb-2 md:mb-0 md:w-3/5">
        <span class="block md:inline-block w-full text-center md:text-left" style="margin-right: 16px;">Consigue un 10% de descuento en Tangem Wallet utilizando el c&#xF3;digo!</span>
        <!-- Newspaper-styled Coupon -->
        <div class="flex items-center self-center md:self-auto mt-2 md:mt-0 ml-0 md:ml-16" style="border: 2px dashed white; padding: 8px 16px; font-size: 1.2rem; cursor: pointer;" onclick="copyToClipboard(&apos;CRIPSIS-XYZ&apos;)">
            CRIPSIS-XYZ
           <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-clipboard" viewbox="0 0 30 30" style="margin-left: 5px;">
                <path d="M4 1.5a.5.5 0 0 1 .5-.5h3a2 2 0 0 1 4 0h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H1.5a.5.5 0 0 1-.5-.5v-1zm0 1v12a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-12H4z"/>
           </svg>
        </div>
    </div>

    <!-- Buttons with Icons and Links -->
    <div class="flex mt-2 md:mt-0 md:w-2/5 justify-end">
        <a href="https://www.cripsis.xyz/en/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/" class="flex items-center mr-4" style="text-decoration: none; padding: 8px 16px; color: white; min-width: 130px;">
            <img src="https://tangem.com/img/favicon/favicon.png" alt="Tangem Wallet V2 - Descubre la nueva versi&#xF3;n!" style="margin-right: 8px; width: 20px; height: 20px;">
            Read Review
        </a>
        <a href="https://tangem.com/en/?promocode=CRIPSIS-XYZ#pricing" class="flex items-center" style="text-decoration: none; padding: 8px 16px; background-color: white; color: #2c89a8; border-radius: 5px; transition: background-color 0.3s ease; min-width: 100px;">
            Try it
        </a>
    </div>
</div><!--kg-card-end: html--><h2 id="%C2%BFqu%C3%A9-hay-de-nuevo">&#xBF;Qu&#xE9; Hay de Nuevo?</h2><ol><li><strong>Opci&#xF3;n de Frase Semilla (Seed Phrase):</strong> Tangem ha incorporado una caracter&#xED;stica crucial: la frase semilla. Esto permite una generaci&#xF3;n m&#xE1;s segura y vers&#xE1;til de claves privadas, y la opci&#xF3;n de importar y exportar billeteras con esta tecnolog&#xED;a, brindando una capa adicional de seguridad y flexibilidad.</li><li><strong>Dise&#xF1;os de Tarjetas:</strong> &#xA0;Los nuevos dise&#xF1;os son m&#xE1;s elegantes y sofisticados, optando por una terminaci&#xF3;n en negro mate que irradia una modernidad elegante. La est&#xE9;tica tambi&#xE9;n es una prioridad, &#xA1;y Tangem lo sabe!</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/10/image-1.png" class="kg-image" alt="Tangem Wallet V2 - Descubre la nueva versi&#xF3;n!" loading="lazy" width="1600" height="2109" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/10/image-1.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/10/image-1.png 1000w, https://www.cripsis.xyz/content/images/2023/10/image-1.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Nuevo aspecto de la tarjeta V2</figcaption></figure><h2 id="caracter%C3%ADsticas-de-la-aplicaci%C3%B3n">Caracter&#xED;sticas de la Aplicaci&#xF3;n: </h2><ul><li>La aplicaci&#xF3;n se ha renovado con un logo moderno y una nueva paleta de colores.</li><li>Ahora, presenta un modo oscuro, facilitando su uso en diferentes entornos de iluminaci&#xF3;n.</li><li>Adem&#xE1;s, se ha mejorado la organizaci&#xF3;n y visualizaci&#xF3;n de los tokens y saldos, y tambi&#xE9;n la interfaz de usuario para un acceso m&#xE1;s intuitivo y r&#xE1;pido a las funcionalidades.</li></ul><ol><li><strong>Futuras Actualizaciones:</strong> Tangem ha adelantado que vienen m&#xE1;s caracter&#xED;sticas como datos de mercado, intercambio entre cadenas y soporte para m&#xE1;s blockchains. &#xA1;Nos mantendremos alerta!</li><li><strong>Compromiso con la Comunidad:</strong> Un sentido agradecimiento y promesa de mantenerse trabajando arduamente para hacer las criptomonedas m&#xE1;s accesibles y seguras para todos.</li></ol><h2 id="nuestra-opini%C3%B3n">Nuestra Opini&#xF3;n</h2><p>Tangem Wallet v2 parece haber tomado nuestra retroalimentaci&#xF3;n y la de la comunidad en serio, trayendo consigo cambios y mejoras que potencian la experiencia del usuario y el nivel de seguridad y funcionalidad.</p><ul><li><strong>El Valor Agregado:</strong> La opci&#xF3;n de frase semilla es un gran paso adelante. No solo ofrece m&#xE1;s control y seguridad, sino tambi&#xE9;n una adaptabilidad que permite a los usuarios manejar sus claves privadas de una manera m&#xE1;s personalizada.</li><li><strong>Est&#xE9;tica y Funcionalidad:</strong> Los nuevos dise&#xF1;os de las tarjetas y las actualizaciones de la aplicaci&#xF3;n, como el modo oscuro, no solo son est&#xE9;ticamente agradables, sino que tambi&#xE9;n mejoran la experiencia de usuario, haciendo que la interacci&#xF3;n sea m&#xE1;s c&#xF3;moda y agradable.</li><li><strong>Compromiso Continuo:</strong> Sentimos una fuerte dedicaci&#xF3;n por parte de Tangem para continuar innovando y mejorando, asegurando un futuro brillante y muchas m&#xE1;s actualizaciones y mejoras interesantes.</li></ul><h2 id="conclusiones">Conclusiones</h2><p>La versi&#xF3;n actualizada de Tangem Wallet nos ha impresionado y estamos emocionados de ver c&#xF3;mo esta billetera continuar&#xE1; evolucionando. Su compromiso con la mejora continua y la adaptabilidad a las necesidades cambiantes de la comunidad cripto son evidentes y aplaudibles. Estamos expectantes y atentos para descubrir las pr&#xF3;ximas innovaciones que Tangem traer&#xE1; al mundo de las billeteras de hardware de criptomonedas.</p><p>&#xA1;Hasta la pr&#xF3;xima revisi&#xF3;n! </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em>Gracias por tomarte el tiempo de leer este art&#xED;culo. Espero que haya sido de tu agrado y que hayas encontrado en &#xE9;l informaci&#xF3;n &#xFA;til y valiosa. </em><br><br><em>Si tienes cualquier tipo de sugerencia o quieres que hable de alg&#xFA;n tema en concreto, &#xA1;h&#xE1;zmelo saber!</em></div></div>]]></content:encoded></item><item><title><![CDATA[Tangem Wallet - Detailed analysis of the new hardware wallet]]></title><description><![CDATA[Detailed review of Tangem Wallet, an innovative cryptocurrency hardware wallet that combines the security of a cold wallet with the convenience of a bank card. Discover its features, operation and solve your most frequently asked questions.]]></description><link>https://www.cripsis.xyz/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/</link><guid isPermaLink="false">64f212459461d90058ed09cb</guid><category><![CDATA[token]]></category><category><![CDATA[web3]]></category><category><![CDATA[hardware wallet]]></category><category><![CDATA[chia]]></category><category><![CDATA[bitcoin]]></category><category><![CDATA[ethereum]]></category><category><![CDATA[open source]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Fri, 01 Sep 2023 16:41:03 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/09/header-tangem-min.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">Tangem has updated this wallet, take a look to <a href="https://www.cripsis.xyz/es/tangem-wallet-v2-revision-new-version/"><strong>Tangem Wallet V2 - Discover the new version!</strong></a></div></div><!--kg-card-begin: html--><div class="w-full p-4 flex flex-col md:flex-row justify-between items-center" style="background: linear-gradient(90deg, black 0%, #2c89a8 100%); color: white; font-weight: bold;">
    <!-- Discount Message -->
    <div class="flex flex-col md:flex-row items-center w-full mb-2 md:mb-0 md:w-3/5">
        <span class="block md:inline-block w-full text-center md:text-left" style="margin-right: 16px;">Get a 10% discount when purchasing Tangem Wallet using the code!</span>
        <!-- Newspaper-styled Coupon -->
        <div class="flex items-center self-center md:self-auto mt-2 md:mt-0 ml-0 md:ml-16" style="border: 2px dashed white; padding: 8px 16px; font-size: 1.2rem; cursor: pointer;" onclick="copyToClipboard(&apos;CRIPSIS-XYZ&apos;)">
            CRIPSIS-XYZ
           <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-clipboard" viewbox="0 0 30 30" style="margin-left: 5px;">
                <path d="M4 1.5a.5.5 0 0 1 .5-.5h3a2 2 0 0 1 4 0h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H1.5a.5.5 0 0 1-.5-.5v-1zm0 1v12a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-12H4z"/>
           </svg>
        </div>
    </div>

    <!-- Buttons with Icons and Links -->
    <div class="flex mt-2 md:mt-0 md:w-2/5 justify-end">
        <a href="https://www.cripsis.xyz/en/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/" class="flex items-center mr-4" style="text-decoration: none; padding: 8px 16px; color: white; min-width: 130px;">
            <img src="https://tangem.com/img/favicon/favicon.png" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" style="margin-right: 8px; width: 20px; height: 20px;">
            Read Review
        </a>
        <a href="https://tangem.com/en/?promocode=CRIPSIS-XYZ#pricing" class="flex items-center" style="text-decoration: none; padding: 8px 16px; background-color: white; color: #2c89a8; border-radius: 5px; transition: background-color 0.3s ease; min-width: 100px;">
            Try it
        </a>
    </div>
</div><!--kg-card-end: html--><h2 id="introduction"><strong>Introduction</strong></h2><img src="https://www.cripsis.xyz/content/images/2023/09/header-tangem-min.png" alt="Tangem Wallet - Detailed analysis of the new hardware wallet"><p>Today we will carry out an analysis a little different from what we are used to, less technical but just as interesting &#x1F609;, since this product is quite different from what we know today in the world of cryptocurrency hardware <strong>wallets</strong> .</p><blockquote><em>In a world where technology and digital currency are advancing by leaps and bounds, the <strong>security</strong> of our <strong>digital assets</strong> has become a primary concern. It is not enough to have a simple digital wallet; The real peace of mind lies in how and where we store those precious coins or <strong>tokens</strong> .</em></blockquote><p>Do you know <strong><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://tangem.com/en/?promocode%3DCRIPSIS-XYZ">Tangem Wallet</a></strong> ? This is where the hardware wallet takes center stage, emerging as a robust and secure solution to protect our assets. In this article I will introduce you to Tangem Wallet, a revolution in the world of cold wallets that combines the familiarity of a bank card with advanced cryptographic security.</p><h2 id="presentation"><strong>Presentation</strong></h2><p>The cards are presented as bank cards with a &quot;traditional&quot; format. Their use should not be confused, since they are not contactless payment <em>per se</em> , that is, they cannot be used in a conventional POS to make payments in any business.</p><p><strong>Although they do not have the same employability, this card also comes with an NFC</strong> chip that is what allows us to interact with the <em>Tangem Wallet</em> mobile application , available for both <strong><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://play.google.com/store/apps/details?id%3Dcom.tangem.wallet%26hl%3Den_US">Android</a></strong> and <strong><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://apps.apple.com/us/app/tangem-crypto-wallet/id1354868448">iOS</a></strong> devices .</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.cripsis.xyz/content/images/2023/08/image-2.png" class="kg-image" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" loading="lazy" width="291" height="353"></figure><p>There are different packs to choose from on the website, in which we can get from one to three cards. You may wonder, why do I need 3 cards? The answer: for a very interesting functionality that we will discuss in the following points.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://www.cripsis.xyz/content/media/2023/08/20230821_172119_1--2-.webm" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://www.cripsis.xyz/content/images/2023/08/media-thumbnail-ember286.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Unboxing of the original pack of 3 cards</figcaption></figure><h2 id="functioning"><strong>Functioning</strong></h2><h3 id="access-to-the-app"><strong>Access to the App</strong></h3><p>Accessing your crypto assets thanks to the Tangem Wallet application is ridiculously simple. It is enough to have the card and a mobile phone and the application installed to start using it. Once installed, we bring the card closer to the NFC reader. The location of the chip (generally on the back of the terminal) may vary slightly in position between one mobile model or another.</p><p>It is also possible to directly open the application and access the assets using PIN or fingerprint, which will take us to the overview of our assets.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">To carry out any outgoing movement of tokens, it will always be necessary to pass the card through the reader to sign the transactions.</font></font></div></div><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://www.cripsis.xyz/content/media/2023/08/ezgif-2-64614750b4.webm" poster="https://img.spacergif.org/v1/756x1344/0a/spacer.png" width="756" height="1344" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://www.cripsis.xyz/content/images/2023/08/media-thumbnail-ember339.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Access to the application by card from the home screen of the terminal</figcaption></figure><h3 id="receive-funds"><strong>Receive funds</strong></h3><p>Receiving funds is very simple, since like any wallet it is enough to know our public address.</p><p>We select the desired token from the main screen to find out the address of our wallet created in the pertinent network by default.</p><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/08/image-5.png" class="kg-image" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" loading="lazy" width="345" height="659"></figure><h3 id="send-funds"><strong>Send funds</strong></h3><p>Sending funds is just as simple as with any other wallet. It is necessary to know the destination address within the relevant network, select the number of tokens to transfer and validate.</p><p>The only difference is that to sign said transaction it will be necessary to swipe the card again.</p><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/08/image-4.png" class="kg-image" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" loading="lazy" width="351" height="672"></figure><h3 id="create-one-or-more-backup-cards"><strong>Create one or more <em>backup cards</em></strong></h3><p>As we have mentioned before, why do we need several cards? It is not mandatory, but the concept is the same as for house keys, how many do you need? As many as you consider necessary so as not to be in trouble if they are lost or stolen.</p><p>Here the concept is very similar. You can create copies of your master key to keep in multiple places, or have a spare card in case the master card is damaged.</p><div class="kg-card kg-callout-card kg-callout-card-rgb(255, 255, 255)"><div class="kg-callout-emoji">&#x1F9D0;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">From my point of view, I wouldn&apos;t have just one copy of my house keys, and I wouldn&apos;t have just one copy of my hardware wallet, although I would buy just one if I wanted to give someone a gift, for example.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you intend to store considerable amounts of tokens, do not hesitate to purchase several cards.</font></font></div></div><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/08/image-7.png" class="kg-image" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" loading="lazy" width="386" height="789"></figure><h2 id="frequently-asked-questions"><strong>Frequently asked questions</strong></h2><h3 id="what-exactly-does-the-card-contain"><strong>What exactly does the card contain?</strong></h3><p>The first thing that might come to mind is that our crypto assets are directly stored inside the card (or rather in its NFC chip) but this is not the case. What the card contains are the <strong>private keys</strong> that will be used to create the wallets within the different supported networks and that will allow us to carry out transactions by scanning the card. With this we come to the conclusion that these keys will never be stored on our mobile device.</p><h3 id="what-tokens-are-supported-by-tangem"><strong>What tokens are supported by Tangem?</strong></h3><p>Today the tokens supported by Tangem are many, starting with the main ones:</p><ul><li><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://bitcoin.org/">Bitcoin</a> (BTC)</li><li><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://ethereum.org/">Ethereum</a> (ETH)</li><li><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://tron.network/">Tron Network</a> (TRC20)</li><li>Tether (USDT)</li></ul><p>But the list expands to <strong>more than 6000 tokens</strong> !</p><p>It is also compatible with <strong>more than 35 networks</strong> , including: Arbitrum, Avalanche C-Chain, Azero, BNB Beacon Chain, BNB Smart Chain, Bitcoin, Bitcoin Cash, Cronos. <a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://tangem.com/en/help_center/supported-assets/%23a5728040199453">See the full list</a> .</p><div class="kg-card kg-callout-card kg-callout-card-#F1F3F4"><div class="kg-callout-emoji">&#x1F6A8;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">As of today,<span>&#xA0;</span></font></font><strong style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; font-weight: bolder;"><a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://www.chia.net/" style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; text-decoration: underline; color: rgb(255, 255, 255);"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Chia Network</font></font></a></strong><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><span>&#xA0;</span>is already compatible with<span>&#xA0;</span></font></font><strong style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; font-weight: bolder;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">XCH</font></font></strong><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><span>&#xA0;</span>!</font></font></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/09/image-1.png" class="kg-image" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" loading="lazy" width="462" height="934"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Screenshot of supported tokens</font></font></figcaption></figure><h3 id="is-it-safe-to-store-large-amounts-of-cryptocurrency-in-the-tangem-wallet"><strong>Is it safe to store large amounts of cryptocurrency in the Tangem Wallet?</strong></h3><p>The security of the Tangem Wallet lies in the fact that the private key never leaves the NFC chip of the card. This means that as long as you keep the physical card secure and don&apos;t share its information with anyone, your assets will be protected. However, for very large quantities it is always advisable to diversify storage and not depend on a single solution.</p><h3 id="if-i-lose-my-phone-do-i-also-lose-my-crypto-assets"><strong>If I lose my phone, do I also lose my crypto assets?</strong></h3><p>No! Even if you lose your phone, your crypto assets are safe. The Tangem Wallet card stores the private keys, not the phone. You&apos;ll need the card to access your funds, and if you lose your phone, you can simply download the app to another device and continue using your card as before.</p><h2 id="advantages-and-disadvantages"><strong>Advantages and disadvantages</strong></h2><h3 id="advantages"><strong>Advantages</strong></h3><ol><li><strong>Portability:</strong> The size and design of a bank card makes it easy to carry in wallets, bags and even a shirt pocket.</li><li><strong>Security:</strong> By having the private key on an NFC chip and not on a device connected to the internet, the risk of hacking is significantly reduced.</li><li><strong>Intuitive interface:</strong> The combination of the card with the mobile application makes its use simple and friendly.</li><li><strong>Multiple backups:</strong> The option to have multiple backup cards offers an extra layer of security in case of loss or theft.</li></ol><h3 id="disadvantages"><strong>Disadvantages</strong></h3><ol><li><strong>Limitation on supported cryptocurrencies:</strong> Although it supports the main cryptocurrencies, there are many others on the market that cannot be stored with Tangem Wallet.</li><li><strong>Mobile device dependency:</strong> It is necessary to have a smartphone with NFC and the application installed to access the funds.</li><li><strong>Cost:</strong> Purchasing multiple cards for backup can increase the initial investment cost.</li></ol><h2 id="security-at-tangem-wallet"><strong>Security at Tangem Wallet</strong></h2><p>In today&apos;s world of cryptocurrencies and digital assets, security has become a fundamental pillar. As the value and adoption of cryptocurrencies grows, so does the need for more sophisticated and transparent security measures. Tangem Wallet stands out for its commitment to security, demonstrated through its various features and security protocols.</p><h3 id="open-source"><strong>Open Source</strong></h3><p>Transparency is essential when it comes to trust in technological solutions. Tangem Wallet has chosen to make its source completely open. This means that anyone can access, review, and contribute to its source code available on <a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://github.com/tangem/">GitHub</a> . Being <em>open source</em> allows for constant and exhaustive review by the global community, ensuring that any potential vulnerabilities can be quickly identified and corrected.</p><p><strong>Advantages of Open Source:</strong></p><ul><li><strong>Transparency:</strong> Users can verify for themselves exactly how the software works and make sure there are no hidden &quot;tricks&quot; in the code.</li><li><strong>Continuous Development:</strong> Being accessible to the public, developers from all over the world can contribute with improvements and corrections, constantly enhancing and improving the software.</li><li><strong>Reinforced Security:</strong> Constant reviews by a broad community of security experts guarantee rapid detection of vulnerabilities.</li></ul><h3 id="eal6-certification"><strong>EAL6+ certification</strong></h3><p>Tangem Wallet not only relies on the community to ensure its security, but has also obtained EAL6+ (Assurance Assessment Level 6+) certification. This is one of the highest and most recognized certifications in the digital security industry, which ensures that the device has passed rigorous testing and evaluation to ensure its resistance against physical and logical attacks.</p><p><strong>Advantages of EAL6+ Certification:</strong></p><ul><li><strong>Trust:</strong> The certification is a testament to the robustness of the device against attacks and vulnerabilities, providing peace of mind to users.</li><li><strong>Attack Resistance:</strong> The EAL6+ level guarantees that the device can resist highly sophisticated attacks.</li><li><strong>Industry Standard:</strong> By adhering to this high standard, Tangem positions itself at the forefront of security measures, aligning itself with the best practices in the sector.</li></ul><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.cripsis.xyz/content/images/2023/08/image-8.png" class="kg-image" alt="Tangem Wallet - Detailed analysis of the new hardware wallet" loading="lazy" width="1268" height="357" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/08/image-8.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/08/image-8.png 1000w, https://www.cripsis.xyz/content/images/2023/08/image-8.png 1268w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="conclusions"><strong>Conclusions</strong></h2><p>The Tangem Wallet is an innovative solution that stands out for combining the familiarity of a bank card with the security of a cold wallet. Although it has some limitations, its advantages make it an excellent option for those looking for a secure and convenient way to store their crypto assets.</p><h2 id="recommendations"><strong>Recommendations</strong></h2><ol><li>Constant updates: It is advisable to keep an eye on updates to both the application and the card to guarantee the highest level of security and compatibility with new tokens.</li><li>Education: Before making any transaction, it is vital to familiarize yourself with how the wallet works, private key management, and security best practices.</li></ol><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Thank you for taking the time to read this article.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">I hope you liked it and that you found useful and valuable information in it.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you have any type of suggestion or want me to talk about a specific topic, let me know!</font></font></em></div></div>]]></content:encoded></item><item><title><![CDATA[Tangem Wallet - Análisis detallado de la nueva cartera física]]></title><description><![CDATA[Análisis detallado de Tangem Wallet, una innovadora cartera hardware para criptomonedas que combina la seguridad de un monedero frío con la comodidad de una tarjeta bancaria. Descubre sus características, funcionamiento y resuelve tus dudas más frecuentes.]]></description><link>https://www.cripsis.xyz/es/tangem-wallet-analisis-detallado-del-hardware-wallet/</link><guid isPermaLink="false">64e38aa89461d90058ed0601</guid><category><![CDATA[token]]></category><category><![CDATA[web3]]></category><category><![CDATA[hardware wallet]]></category><category><![CDATA[chia]]></category><category><![CDATA[bitcoin]]></category><category><![CDATA[ethereum]]></category><category><![CDATA[open source]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Fri, 01 Sep 2023 16:31:00 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/08/header-tangem-min-min.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">Tangem ha actualizado su tarjeta, no te pierdas <strong><a href="https://www.cripsis.xyz/es/tangem-wallet-v2-revision-nueva-version/">Tangem Wallet V2 - Descubre la nueva versi&#xF3;n!</a></strong></div></div><!--kg-card-begin: html--><div class="w-full p-4 flex flex-col md:flex-row justify-between items-center" style="background: linear-gradient(90deg, black 0%, #2c89a8 100%); color: white; font-weight: bold;">
    <!-- Discount Message -->
    <div class="flex flex-col md:flex-row items-center w-full mb-2 md:mb-0 md:w-3/5">
        <span class="block md:inline-block w-full text-center md:text-left" style="margin-right: 16px;">Consigue un 10% de descuento en Tangem Wallet utilizando el c&#xF3;digo!</span>
        <!-- Newspaper-styled Coupon -->
        <div class="flex items-center self-center md:self-auto mt-2 md:mt-0 ml-0 md:ml-16" style="border: 2px dashed white; padding: 8px 16px; font-size: 1.2rem; cursor: pointer;" onclick="copyToClipboard(&apos;CRIPSIS-XYZ&apos;)">
            CRIPSIS-XYZ
           <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-clipboard" viewbox="0 0 30 30" style="margin-left: 5px;">
                <path d="M4 1.5a.5.5 0 0 1 .5-.5h3a2 2 0 0 1 4 0h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H1.5a.5.5 0 0 1-.5-.5v-1zm0 1v12a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-12H4z"/>
           </svg>
        </div>
    </div>

    <!-- Buttons with Icons and Links -->
    <div class="flex mt-2 md:mt-0 md:w-2/5 justify-end">
        <a href="https://www.cripsis.xyz/en/tangem-wallet-detailed-analysis-of-the-new-hardware-wallet/" class="flex items-center mr-4" style="text-decoration: none; padding: 8px 16px; color: white; min-width: 130px;">
            <img src="https://tangem.com/img/favicon/favicon.png" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" style="margin-right: 8px; width: 20px; height: 20px;">
            Read Review
        </a>
        <a href="https://tangem.com/en/?promocode=CRIPSIS-XYZ#pricing" class="flex items-center" style="text-decoration: none; padding: 8px 16px; background-color: white; color: #2c89a8; border-radius: 5px; transition: background-color 0.3s ease; min-width: 100px;">
            Try it
        </a>
    </div>
</div><!--kg-card-end: html--><h2 id="introducci%C3%B3n">Introducci&#xF3;n</h2><img src="https://www.cripsis.xyz/content/images/2023/08/header-tangem-min-min.png" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica"><p>Hoy realizaremos una <strong>review</strong> un poco distinta a lo que estamos acostumbrados, menos t&#xE9;cnico pero igual de interesante &#x1F609;, ya que este producto es bastante diferente a lo que conocemos a d&#xED;a de hoy en el mundo de las <strong>carteras hardware de criptomonedas</strong>.</p><blockquote><em>En un mundo donde la tecnolog&#xED;a y la moneda digital avanzan a pasos agigantados, la <strong>seguridad</strong> de nuestros <strong>activos digitales</strong> se ha convertido en una preocupaci&#xF3;n primordial. No basta con tener un simple monedero digital; la verdadera tranquilidad radica en c&#xF3;mo y d&#xF3;nde almacenamos<strong> </strong>esas<strong> </strong>preciadas<strong> </strong>monedas o <strong>tokens</strong>. </em></blockquote><p>&#xBF;Conoces <strong><a href="https://tangem.com/en/?promocode=CRIPSIS-XYZ">Tangem Wallet</a></strong>? Es aqu&#xED; donde el hardware wallet toma protagonismo, emergiendo como una soluci&#xF3;n robusta y segura para proteger nuestros activos. En este art&#xED;culo te presentar&#xE9; a Tangem Wallet, una revoluci&#xF3;n en el mundo de los monederos fr&#xED;os que combina la familiaridad de una tarjeta bancaria con la seguridad criptogr&#xE1;fica avanzada. </p><h2 id="presentaci%C3%B3n">Presentaci&#xF3;n</h2><p>Las tarjetas se presentan como tarjetas bancarias con formato &quot;tradicional&quot;. No hay que confundir su uso, ya que no son de pago contactless <em>per se</em>, es decir, no se pueden usar en un TPV convencional para realizar pagos en cualquier comercio. </p><p>Aunque no tengan la misma empleabilidad, esta tarjeta viene tambi&#xE9;n con un chip<strong> NFC</strong> que es el que nos permite interacturar con la aplicaci&#xF3;n m&#xF3;vil <em>Tangem Wallet</em>, disponible tanto para dispositivos <strong><a href="https://play.google.com/store/apps/details?id=com.tangem.wallet&amp;hl=en_US">Android</a></strong> como <strong><a href="https://apps.apple.com/us/app/tangem-crypto-wallet/id1354868448">iOS</a></strong>. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.cripsis.xyz/content/images/2023/08/image-2.png" class="kg-image" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" loading="lazy" width="291" height="353"></figure><p>Existen distintos packs a elegir desde la web, en la cual podemos conseguir desde una a tres tarjetas. Os preguntar&#xE9;is, &#xBF;para qu&#xE9; necesito 3 tarjetas? La respuesta: para una funcionalidad muy interesante que comentaremos en los siguientes puntos.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://www.cripsis.xyz/content/media/2023/08/20230821_172119_1--2-.webm" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://www.cripsis.xyz/content/images/2023/08/media-thumbnail-ember286.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Unboxing del pack original de 3 tarjetas</figcaption></figure><h2 id="funcionamiento">Funcionamiento</h2><h3 id="acceso-a-la-app">Acceso a la App</h3><p>Acceder a tus criptoactivos gracias a la aplicaci&#xF3;n de Tangem Wallet es rid&#xED;culamente sencillo. Basta con tener la tarjeta y un m&#xF3;vil y la aplicaci&#xF3;n instalada para empezar a usarla. Una vez instalada, acercamos la tarjeta al lector NFC. La ubicaci&#xF3;n del chip (generalmente en la parte trasera del terminal) puede variar ligeramente su posici&#xF3;n entre un modelo de m&#xF3;vil u otro. </p><p>Tambi&#xE9;n es posible abrir directamente la aplicaci&#xF3;n y acceder a los activos mediante PIN o huella, lo que nos llevar&#xE1; a la vista general de nuestros activos. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">Para realizar cualquier movimiento saliente de tokens siempre ser&#xE1; necesario pasar la tarjeta por el lector para firmar las transacciones.</div></div><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://www.cripsis.xyz/content/media/2023/08/ezgif-2-64614750b4.webm" poster="https://img.spacergif.org/v1/756x1344/0a/spacer.png" width="756" height="1344" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://www.cripsis.xyz/content/images/2023/08/media-thumbnail-ember339.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Acceso a la aplicaci&#xF3;n mediante tarjeta desde la pantalla de inicio del terminal</figcaption></figure><h3 id="recibir-fondos">Recibir fondos</h3><p>Recibir fondos es muy sencillo, ya que como cualquier billetera es suficiente con conocer nuestra direcci&#xF3;n p&#xFA;blica. </p><p>Seleccionamos el token deseado desde la pantalla principal para conocer la direcci&#xF3;n de nuestra wallet creada en la red pertinente por defecto. </p><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/08/image-5.png" class="kg-image" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" loading="lazy" width="345" height="659"></figure><h3 id="enviar-fondos">Enviar fondos</h3><p>Enviar fondos es igual de simple que con cualquier otro wallet. Es necesario conocer la direcci&#xF3;n de destino dentro de la red pertinente, seleccionar la cantidad de tokens a transferir y validar. </p><p>La &#xFA;nica diferencia es que para firmar dicha transacci&#xF3;n ser&#xE1; necesario otra vez volver a pasar la tarjeta. </p><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/08/image-4.png" class="kg-image" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" loading="lazy" width="351" height="672"></figure><h3 id="crear-una-o-varias-tarjetas-de-backup">Crear una o varias tarjetas de <em>backup</em></h3><p>Como hemos comentado antes, &#xBF;para qu&#xE9; necesitamos varias tarjetas? No es obligatorio, pero el concepto es el mismo que para las llaves de casa, &#xBF;cu&#xE1;ntas necesitas? Tantas como consideres necesario para no estar en un problema en caso de que las pierdas o te las roben. </p><p>Aqu&#xED; el concepto es de lo m&#xE1;s similar. Puedes crear copias de tu llave maestra para resguardarlas en varios sitios, o bien, tener una tarjeta de repuesto en caso de que se te da&#xF1;e la tarjeta maestra.</p><div class="kg-card kg-callout-card kg-callout-card-white"><div class="kg-callout-emoji">&#x1F9D0;</div><div class="kg-callout-text">Desde mi punto de vista, no tendr&#xED;a solo una copia de las llaves de casa, y tampoco solo una copia de mi hardware wallet aunque s&#xED; comprar&#xED;a solo una si quisiera hacerle un regalo a alguien, por ejemplo. Si tienes intenci&#xF3;n de almacenar cantidades considerables de tokens no dudes en adquirir varias tarjetas.</div></div><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2023/08/image-7.png" class="kg-image" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" loading="lazy" width="386" height="789"></figure><h2 id="dudas-frecuentes">Dudas frecuentes</h2><h3 id="%C2%BFqu%C3%A9-contiene-exactamente-la-tarjeta">&#xBF;Qu&#xE9; contiene exactamente la tarjeta?</h3><p>Lo primero que se nos puede pasar por la cabeza es que nuestros criptoactivos est&#xE1;n directamente almacenados en el interior de la tarjeta (o mejor dicho en su chip NFC) pero no es el caso. Lo que contiene la tarjeta son las <strong>claves privadas</strong> que se utilizar&#xE1;n para crear las carteras dentro de las distintas redes soportadas y que nos permitir&#xE1;n realizar transacciones escaneando la tarjeta. Con esto llegamos a la conclusi&#xF3;n de que dichas claves nunca se almacenar&#xE1;n en nuestro dispositivo m&#xF3;vil.</p><h3 id="%C2%BFque-tokens-son-los-soportados-por-tangem">&#xBF;Que tokens son los soportados por Tangem?</h3><p>A d&#xED;a de hoy los tokens soportados por Tangem son muchos, empezando por los principales:</p><ul><li><a href="https://bitcoin.org/">Bitcoin</a> (BTC)</li><li><a href="https://ethereum.org/">Ethereum</a> (ETH)</li><li><a href="https://tron.network/">Tron Network</a> (TRC20)</li><li>Tether (USDT)</li></ul><p>Pero la lista se expande a <strong>m&#xE1;s de 6000 tokens</strong>!</p><p>Es adem&#xE1;s compatible con <strong>m&#xE1;s de 35 redes</strong> (Networks), entre las cuales: Arbitrum, Avalanche C-Chain, Azero, BNB Beacon Chain, BNB Smart Chain, Bitcoin, Bitcoin Cash, Cronos. <a href="https://tangem.com/en/help_center/supported-assets/#a5728040199453">Ver la lista completa</a>.</p><div class="kg-card kg-callout-card kg-callout-card-accent"><div class="kg-callout-emoji">&#x1F6A8;</div><div class="kg-callout-text">A d&#xED;a de hoy, &#xA1;<strong><a href="https://www.chia.net/">Chia Network</a></strong> ya es compatible con <strong>XCH</strong>!</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/09/image-1.png" class="kg-image" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" loading="lazy" width="462" height="934"><figcaption>Captura de pantalla de tokens soportados</figcaption></figure><h3 id="%C2%BFes-seguro-guardar-grandes-cantidades-de-criptomonedas-en-tangem-wallet">&#xBF;Es seguro guardar grandes cantidades de criptomonedas en Tangem Wallet? </h3><p>La seguridad del Tangem Wallet radica en que la clave privada nunca sale del chip NFC de la tarjeta. Esto significa que, siempre y cuando mantengas la tarjeta f&#xED;sica segura y no compartas su informaci&#xF3;n con nadie, tus activos estar&#xE1;n protegidos. Sin embargo, para cantidades muy elevadas siempre es aconsejable diversificar el almacenamiento y no depender de una &#xFA;nica soluci&#xF3;n.</p><h3 id="si-pierdo-mi-tel%C3%A9fono-%C2%BFpierdo-tambi%C3%A9n-mis-criptoactivos">Si pierdo mi tel&#xE9;fono, &#xBF;pierdo tambi&#xE9;n mis criptoactivos?</h3><p>&#xA1;No! Aunque pierdas tu tel&#xE9;fono, tus criptoactivos est&#xE1;n seguros. La tarjeta Tangem Wallet almacena las claves privadas, no el tel&#xE9;fono. Necesitar&#xE1;s la tarjeta para acceder a tus fondos, y, en caso de p&#xE9;rdida del m&#xF3;vil, simplemente puedes descargar la aplicaci&#xF3;n en otro dispositivo y continuar usando tu tarjeta como antes.</p><h2 id="ventajas-y-desventajas">Ventajas y Desventajas</h2><h3 id="ventajas">Ventajas</h3><ol><li><strong>Portabilidad:</strong> El tama&#xF1;o y dise&#xF1;o de una tarjeta bancaria facilita su transporte en carteras, bolsos e incluso en el bolsillo de la camisa.</li><li><strong>Seguridad:</strong> Al tener la clave privada en un chip NFC y no en un dispositivo conectado a internet, el riesgo de hackeos se reduce significativamente.</li><li><strong>Interfaz intuitiva:</strong> La combinaci&#xF3;n de la tarjeta con la aplicaci&#xF3;n m&#xF3;vil hace que su uso sea sencillo y amigable.</li><li><strong>M&#xFA;ltiples respaldos:</strong> La opci&#xF3;n de tener varias tarjetas de backup ofrece una capa extra de seguridad en caso de p&#xE9;rdida o robo.</li></ol><h3 id="desventajas">Desventajas</h3><ol><li><strong>Limitaci&#xF3;n en criptomonedas soportadas:</strong> Aunque soporta las principales criptomonedas, hay muchas otras en el mercado que no se pueden almacenar con Tangem Wallet.</li><li><strong>Dependencia del dispositivo m&#xF3;vil:</strong> Es necesario tener un smartphone con NFC y la aplicaci&#xF3;n instalada para acceder a los fondos.</li><li><strong>Costo:</strong> Adquirir m&#xFA;ltiples tarjetas para backup puede incrementar el costo inicial de inversi&#xF3;n.</li></ol><h2 id="seguridad-en-tangem-wallet">Seguridad en Tangem Wallet</h2><p>En el mundo actual de las criptomonedas y los activos digitales, la seguridad se ha convertido en un pilar fundamental. A medida que el valor y la adopci&#xF3;n de las criptodivisas crecen, tambi&#xE9;n lo hace la necesidad de medidas de seguridad m&#xE1;s sofisticadas y transparentes. Tangem Wallet se destaca por su compromiso con la seguridad, demostrado a trav&#xE9;s de sus diversas caracter&#xED;sticas y protocolos de seguridad.</p><h3 id="c%C3%B3digo-abierto">C&#xF3;digo Abierto</h3><p>La transparencia es esencial cuando se trata de confianza en las soluciones tecnol&#xF3;gicas. Tangem Wallet ha optado por hacer que su c&#xF3;digo sea completamente abierto. Esto significa que cualquier persona puede acceder, revisar y contribuir a su c&#xF3;digo fuente disponible en <a href="https://github.com/tangem/">GitHub</a>. Al ser <em>opensource,</em> se permite una revisi&#xF3;n constante y exhaustiva por parte de la comunidad global, asegurando que cualquier vulnerabilidad potencial pueda ser identificada y corregida r&#xE1;pidamente.</p><p><strong>Ventajas del C&#xF3;digo Abierto:</strong></p><ul><li><strong>Transparencia:</strong> Los usuarios pueden verificar por s&#xED; mismos c&#xF3;mo funciona exactamente el software y asegurarse de que no hay &quot;trucos&quot; ocultos en el c&#xF3;digo.</li><li><strong>Desarrollo Continuo:</strong> Al ser accesible al p&#xFA;blico, desarrolladores de todo el mundo pueden contribuir con mejoras y correcciones, potenciando y mejorando constantemente el software.</li><li><strong>Seguridad Reforzada:</strong> Las constantes revisiones por una amplia comunidad de expertos en seguridad garantizan una detecci&#xF3;n r&#xE1;pida de vulnerabilidades.</li></ul><h3 id="certificaci%C3%B3n-eal6">Certificaci&#xF3;n EAL6+</h3><p>Tangem Wallet no solo se apoya en la comunidad para garantizar su seguridad, sino que tambi&#xE9;n ha obtenido la certificaci&#xF3;n EAL6+ (Evaluaci&#xF3;n de Aseguramiento de Nivel 6+). Esta es una de las certificaciones m&#xE1;s altas y reconocidas en la industria de seguridad digital, que asegura que el dispositivo ha pasado rigurosas pruebas y evaluaciones para garantizar su resistencia contra ataques f&#xED;sicos y l&#xF3;gicos.</p><p><strong>Ventajas de la Certificaci&#xF3;n EAL6+:</strong></p><ul><li><strong>Confianza:</strong> La certificaci&#xF3;n es un testimonio de la robustez del dispositivo frente a ataques y vulnerabilidades, proporcionando tranquilidad a los usuarios.</li><li><strong>Resistencia a Ataques:</strong> El nivel EAL6+ garantiza que el dispositivo puede resistir ataques de alta sofisticaci&#xF3;n.</li><li><strong>Est&#xE1;ndar de Industria:</strong> Al adherirse a este alto est&#xE1;ndar, Tangem se posiciona a la vanguardia en cuanto a medidas de seguridad, aline&#xE1;ndose con las mejores pr&#xE1;cticas del sector.</li></ul><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.cripsis.xyz/content/images/2023/08/image-8.png" class="kg-image" alt="Tangem Wallet - An&#xE1;lisis detallado de la nueva cartera f&#xED;sica" loading="lazy" width="1268" height="357" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/08/image-8.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/08/image-8.png 1000w, https://www.cripsis.xyz/content/images/2023/08/image-8.png 1268w" sizes="(min-width: 1200px) 1200px"></figure><h2 id="conclusiones">Conclusiones</h2><p>La Tangem Wallet es una soluci&#xF3;n innovadora que destaca por combinar la familiaridad de una tarjeta bancaria con la seguridad de un monedero fr&#xED;o. Aunque presenta algunas limitaciones, sus ventajas hacen que sea una excelente opci&#xF3;n para aquellos que buscan una forma segura y conveniente de almacenar sus criptoactivos.</p><h2 id="recomendaciones">Recomendaciones</h2><ol><li><strong></strong>Actualizaciones constantes: Es recomendable estar pendiente de las actualizaciones tanto de la aplicaci&#xF3;n como de la tarjeta para garantizar el m&#xE1;ximo nivel de seguridad y compatibilidad con nuevos tokens.</li><li>Educaci&#xF3;n: Antes de realizar cualquier transacci&#xF3;n, es vital familiarizarse con el funcionamiento de la billetera, el manejo de la clave privada y las pr&#xE1;cticas recomendadas de seguridad.</li></ol><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em>Gracias por tomarte el tiempo de leer este art&#xED;culo. Espero que haya sido de tu agrado y que hayas encontrado en &#xE9;l informaci&#xF3;n &#xFA;til y valiosa. </em><br><br><em>Si tienes cualquier tipo de sugerencia o quieres que hable de alg&#xFA;n tema en concreto, &#xA1;h&#xE1;zmelo saber!</em></div></div>]]></content:encoded></item><item><title><![CDATA[Chia 🌱 - DataLayer, the large general purpose decentralized database]]></title><description><![CDATA[Allows you to create data repositories with any type of content and for it to be replicated to other nodes that have subscribed to said datastore]]></description><link>https://www.cripsis.xyz/chia-datalayer-the-large-general-purpose-decentralized-database/</link><guid isPermaLink="false">64d0e8ea09956f005929bbd7</guid><category><![CDATA[chia]]></category><category><![CDATA[blockchain]]></category><category><![CDATA[decentralization]]></category><category><![CDATA[web3]]></category><category><![CDATA[xch]]></category><category><![CDATA[bbdd]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[p2p]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Mon, 07 Aug 2023 14:00:14 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/08/header-blog-chia-datalayer-8.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.cripsis.xyz/content/images/2023/08/header-blog-chia-datalayer-8.jpg" alt="Chia &#x1F331; - DataLayer, the large general purpose decentralized database"><p><a href="https://www-cripsis-xyz.translate.goog/chia-en-que-consiste-y-lugar-web3/?_x_tr_sl=es&amp;_x_tr_tl=en&amp;_x_tr_hl=es&amp;_x_tr_pto=wapp"><strong>The Chia project</strong></a> not only surprises us with the future utility of the projects that are being built on the network, but also with the functionalities that it offers us natively for the<em> chain of blocks</em> itself .</p><p>A few months ago, Chia&apos;s team <a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://www.chia.net/2022/09/20/enabling-data-for-web3-announcing-chia-datalayer/">announced a <em>feature</em></a> that will open new horizons for the world of blockchain development.</p><h2 id="definition"><strong>Definition</strong></h2><p><strong><a href="https://www.chia.net/datalayer/">Chia DataLayer</a></strong> is defined as a <strong>decentralized database</strong> that allows Chia users to create <strong>data repositories with any type of content</strong> and have it replicated to other nodes that have subscribed to said repository. The data travels between nodes using a <strong><em>peer-to-peer</em> protocol</strong> but governed by the blockchain itself <em>. </em>In other words, the data does not travel within the blockchain, but it is in charge of controlling the authenticity and integrity of the data by storing <em>hashes</em> with the version and validation tests on the last published data.</p><p>By default we can already store small amounts of data through smart contracts as it is a <a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://docs.chia.net/docs/04coin-set-model/intro/%23coin-set-summary"><em>coin-set</em> model</a> blockchain , but in general they are not enough for projects with a large data density and that need to move real-world data out of the chain. blocks. A block of transactions in Chia is generated every 52 seconds and generally weigh around 400KB. Being able to store more would compromise the performance of the blockchain and it would be inefficient for all the nodes to have to store and synchronize the huge amount of data from all the projects, since one of Chia&apos;s premises is that it be very efficient and <strong>lightweight</strong> and that can run on low-performance devices (such as raspberry pi).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2022/10/datalayer-1-1.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, the large general purpose decentralized database" loading="lazy" width="328" height="356"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Chia DataLayer architecture diagram</font></font></figcaption></figure><h2 id="architecture"><strong>Architecture</strong></h2><p>It is presented as a <strong>layer above the blockchain</strong> , which in this context the chain of blocks is responsible for <strong>storing in a <em>singleton</em></strong> (a type of currency with a unique identifier and that can be spent and recreated multiple times) <strong>all the information related to the published data</strong> (metadata), which will be updated each time a new <em>update</em> is confirmed , thus offering a tree with the history of all updates.</p><p>The original data remains stored locally and when the <em>hash</em> of the data stored locally matches that stored in the chain, the original data is guaranteed to be accurate and ready to be synced. With this we get a shared data network without central government.</p><p>It allows off-chain data to be tested on the chain and provided to the <em>Chialisp</em> code , making it an active part of the transaction.</p><div class="kg-card kg-callout-card kg-callout-card-rgba(124, 139, 154, 0.13)"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">The most interesting part of this whole scenario is that the metadata published on the blockchain<span>&#xA0;</span></font></font><strong style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; font-weight: bolder;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">is accessible at the Chia smart contract level</font></font></strong><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><span>&#xA0;</span>since Chialisp can read and write directly to the DataLayer, opening up an infinite range of possibilities for developments based on exchange or<span>&#xA0;</span></font></font><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">buying and selling</font></font></em><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><span>&#xA0;</span>data.</font></font></div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2022/10/block_dl_scnario-1.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, the large general purpose decentralized database" loading="lazy" width="1009" height="480" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/block_dl_scnario-1.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/block_dl_scnario-1.png 1000w, https://www.cripsis.xyz/content/images/2022/10/block_dl_scnario-1.png 1009w" sizes="(min-width: 720px) 720px"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Chia DataLayer Replication Diagram</font></font></figcaption></figure><h3 id="roles"><strong>Roles</strong></h3><p><strong>Publisher</strong> (Owner): is the one who has the original data and the only person responsible with the right to modify or update the data as of today.</p><p><strong>Observer</strong> (Subscribers): is the one that observes the changes in the chain of blocks about a certain <em>datastore</em> to which it has previously subscribed. If you have specified the URL of a mirror accessible to that data when you subscribe, it will be downloaded and made available on that host.</p><h3 id="wallets"><strong>Wallets</strong></h3><p>One of the elements participating in this game are the <strong>chia wallets</strong> since they are the intermediary elements between the user, the blockchain and the data. It is necessary to use a special wallet of type <em>data_layer</em> that will be created automatically when enabling the Datalayer services in our Chia installation.</p><h3 id="mirror"><strong>Mirror</strong></h3><p>The <strong>mirrors</strong> (mirrors) are responsible for &quot;making available&quot; the data. In order for the data to be propagated to other hosts, <strong>it will always be necessary for there to be at least one mirror</strong> available. In general, the publisher also creates a mirror, since without it the <em>observers</em> could only consult the changes in the blockchain but could not access the data. A mirror raises an http server to perform the transmission, which is transmitted by default on port 8575.</p><h3 id="datastore"><strong>Datastore</strong></h3><p>A <em>datastore</em> is the data space that will be <strong>created and shared with the other hosts</strong> . To register it, it is necessary to &quot;spend&quot; 0.1 XCH (100000000000 <em>Mojo</em> ) which is the minimum value that a <em>Singleton</em> needs to be stored in the chain of blocks. When you destroy the <em>datastore</em> , that amount is returned to the original wallet.</p><p>When a <em>datastore is created, a </em><strong>unique identifier</strong> will be generated that will always be used to refer to or subscribe to a particular data container. If at the time of subscribing to a <em>datastore</em> we specify the URL of a mirror, it is when we will really have the ability to replicate the data.</p><h2 id="main-features"><strong>Main features</strong></h2><h3 id="auditable"><strong>Auditable</strong></h3><p>Subscribers can always review the <strong>immutable change</strong> history applied to data tables. Each change records a proof of the existence of the data at a given moment.</p><h3 id="transparency"><strong>Transparency</strong></h3><p>The data is only modifiable by the <em>owner</em> and all changes are immutable on the blockchain. The source of a change is public and undoubted and can be verified by anyone with access to the <em>datastore</em> .</p><h3 id="data-persistence"><strong>Data persistence</strong></h3><p>The data in the Chia DataLayer will live as long as there is a host that provides a mirror of that data, provided by the original publisher of the data or other interested parties. Even if the original publisher of the data in Chia DataLayer decides to stop publishing the data, any other interested party can <strong>ensure the survival of the data</strong> by publishing another mirror.</p><h3 id="integrable"><strong>Integrable</strong></h3><p>It is a native Chia functionality and offers unique capabilities that only an integrated solution can provide. Some third-party solution providers &quot;anchor&quot; databases to the blockchain for <strong>auditing</strong> purposes , but these third-party solutions are not integrated into the blockchain itself.</p><h3 id="sovereignty-and-equality-between-peers"><strong>Sovereignty and equality between peers</strong></h3><p>All participants in a Chia DataLayer-based application are equal. No entity can update the records of the others, creating a true and sovereign way of storing data. <strong>There is no central party</strong> to host data that can censor or change the data of other participants.</p><h2 id="conclusion">Conclusion</h2><p>In conclusion, the Chia DataLayer revolutionizes the world of decentralized data storage and handling. It provides a new means for users to create, store, and share data repositories on the blockchain in a secure, transparent, and auditable way, thus making it an excellent solution for applications that require large-scale, reliable data handling. Chia&apos;s innovative approach also ensures a level of equality, as no single entity can modify the records of others, creating a truly sovereign and democratic data management system. This kind of functionality allows the blockchain to not just be a platform for financial transactions, but a robust system for diverse data-centric applications. As the blockchain technology continues to evolve, the Chia DataLayer serves as an example of how to seamlessly integrate off-chain data into blockchain operations, without compromising on speed or security, making it an exciting milestone in the future of blockchain development.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Thanks for taking the time to read this article.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">I hope you liked it and that you found useful and valuable information in it.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Creating and sharing quality content takes time and effort.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you appreciate my work and would like to see more of it, please consider making a small donation.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Every contribution, however small, makes a big difference and helps me continue this work that I enjoy so much.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you have any kind of suggestion or would like me to talk about a specific topic, let me know!</font></font></em></div></div><!--kg-card-begin: html--><!DOCTYPE html>
<html>
<head>
    <title>XCH Donation Button</title>
    <style>
        #donationButton {
            background-color: #4CAF50; /* verde */
            border: none;
            color: white;
            text-align: center;
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            font-size: 20px;
            transition-duration: 0.4s; /* duración de la transición al pasar el ratón */
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 5px;
            flex-grow: 1;
        }

        #donationButton img {
            height: 32px;
            margin-right: 15px;
        }

        #donationButton:hover {
            background-color: #45a049; /* verde oscuro */
        }

        .donationForm {
            display: flex;
            align-items: center;
        }

        .donationForm input {
            margin-right: 10px;
            width: 80px; /* tamaño ampliado del input */
        }

        .donationForm label {
            margin-right: 10px;
        }

        #mobileMessage {
            display: none;
            text-align: center;
            color: red;
            margin-top: 10px;
        }

        @media only screen and (max-width: 600px) {
            #donationButton, #amount {
                display: none;
            }
            #mobileMessage {
                display: block;
            }
        }
    </style>
    <script>
        function isMobileDevice() {
            return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1);
        }

        window.onload = function() {
            if (isMobileDevice()) {
                document.getElementById('donationButton').style.display = 'none';
                document.getElementById('amount').style.display = 'none';
                document.getElementById('mobileMessage').style.display = 'block';
            } else {
                document.getElementById('donationForm').onsubmit = function(event) {
                    event.preventDefault(); // previene el comportamiento por defecto del formulario

                    let amount = document.getElementById('amount').value;
                    amount = parseFloat(amount) * 1000000000000; // Convertir XCH a Mojos
                    const params = {
                        "to": "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605",
                        "amount": amount.toString(),
                        "memos": [toHex("Thank you for your donation!!")], 
                        "assetId": "",
                    };
                    window.chia.request({ method: "transfer", params });
                }
            }

            function toHex(txt) {
                const encoder = new TextEncoder();
                return Array
                    .from(encoder.encode(txt))
                    .map(b => b.toString(16).padStart(2, '0'))
                    .join('')
            }
        }
    </script>
</head>
<body>
    <form id="donationForm" class="donationForm">
        <label for="amount">Quantity (XCH): </label>
        <input type="number" id="amount" name="amount" min="0.1" step="0.1" value="0.1" placeholder="Amount of XCH">
        <button id="donationButton">
            <img src="https://docs.goby.app/favicon-32x32.png" alt="Chia &#x1F331; - DataLayer, the large general purpose decentralized database">
            Donate some Chias :)
        </button>
    </form>
    <p id="mobileMessage">The donation button is not available on this device. Please use a desktop device to make a donation :)</p>
</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Chia - What is a DID (Decentralized ID)? Basic notions to understand them]]></title><description><![CDATA[Explore how Decentralized Identifiers (DID) are revolutionizing asset and NFT management in Chia. Discover the difference between DID Wallet and Traditional Wallet, and how the DID Wallet offers greater flexibility, control, and security in the transfer of NFTs]]></description><link>https://www.cripsis.xyz/chia-what-is-a-did-decentralized-id-basic-notions-to-understand-them/</link><guid isPermaLink="false">64ca4ccdc42d870059f087b4</guid><category><![CDATA[chia]]></category><category><![CDATA[blockchain]]></category><category><![CDATA[web3]]></category><category><![CDATA[decentralization]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Wed, 02 Aug 2023 12:35:45 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/08/did_header-1.png" medium="image"/><content:encoded><![CDATA[<h2 id="introduction"><strong>Introduction</strong></h2><img src="https://www.cripsis.xyz/content/images/2023/08/did_header-1.png" alt="Chia - What is a DID (Decentralized ID)? Basic notions to understand them"><p>Many times we have heard the <strong>acronym DID,</strong> but do you really know what it is for?</p><p>Welcome to this new article, where we will dive into the world of Decentralized Identifiers, or DID. Today, we will explore not only the fundamentals of this technology, but also how <strong>Chia</strong> , the green cryptocurrency, uses DIDs in <strong>its ecosystem</strong> .</p><p>Chia, known for its innovations in blockchain technology, has already implemented DIDs in the past; a secure and decentralized way to manage identity online.</p><p>This technology is not only exciting in terms of security and privacy, but also opens doors to new ways of interacting online. And when we combine it with Chia, the possibilities are even more powerful.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F440;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Interested in learning more about DIDs and how Chia is taking this to the next level?<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Then keep reading, because this article is made for you.</font></font></div></div><h2 id="general-use-of-dids-in-blockchains"><strong>General Use of DIDs in Blockchains</strong></h2><p>Decentralized Identifiers (DIDs) are transforming the way we interact online.</p><p>A DID acts as <strong>a bridge between the user and the blockchain</strong> , allowing the user to perform tasks such as authentication, credential verification, and personal data management without having to deal directly with the blockchain.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/07/image-2.png" class="kg-image" alt="Chia - What is a DID (Decentralized ID)? Basic notions to understand them" loading="lazy" width="367" height="289"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Diagram that represents in a simplified way how a user is at the center of various interactions but isolated with DID.</font></font></figcaption></figure><ul><li><strong>User</strong>: The person or entity that uses a DID.</li><li><strong>DID</strong>: The system for creating and managing decentralized identifiers.</li><li><strong>Blockchain</strong>: The technology that records and confirms DIDs.</li><li><strong>Service</strong>: Represents the authentication and access to online services.</li><li><strong>Verification</strong>: Symbolizes the verification of credentials and consents.</li><li><strong>Data</strong>: Represents the management and control of personal data.</li></ul><h3 id="what-exactly-are-dids"><strong>What exactly are DIDs?</strong></h3><p>DIDs allow us to control our online identity in a decentralized way. Think of them as your digital identity card, but where you have full control.</p><h3 id="structure-of-the-uri-of-a-did"><strong>Structure of the URI of a DID</strong></h3><p>A DID URI is basically the unique address that identifies an entity in the decentralized digital world. Think of it like someone&apos;s email address or phone number, but in the context of blockchain technology.</p><p>The URI of a DID is made up of three main parts:</p><ol><li><strong>Scheme</strong> : It will always start with &quot;did:&quot; to indicate that it is a Decentralized Identifier.</li><li><strong>Method</strong> : Next, we find the method, which specifies the blockchain technology or protocol that is used. It could be something like &quot;ethereum&quot; or &quot;chia&quot;.</li><li><strong>Identifier</strong> : Finally, there is a unique string that represents the entity itself, such as a wallet or a user. This string is unique within the specified method and points to entity information on that particular blockchain.</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/08/did_normal.png" class="kg-image" alt="Chia - What is a DID (Decentralized ID)? Basic notions to understand them" loading="lazy" width="1143" height="148" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/08/did_normal.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/08/did_normal.png 1000w, https://www.cripsis.xyz/content/images/2023/08/did_normal.png 1143w" sizes="(min-width: 720px) 720px"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Example of the composition of a Chia Wallet URI as a DID in its different parts</font></font></figcaption></figure><ul><li><code>did</code>: Indicates that the URI is a Decentralized Identifier, a standard for identifiers that are not tied to a centralized authority.</li><li><code>chia</code>: The method or blockchain network associated with the DID, indicating that the identifier belongs to the Chia network.</li><li><code>13p5fdxgm8e2png...</code>: The unique identifier of the wallet within the Chia network.</li></ul><p>Therefore, this specific DID represents a unique wallet on the Chia blockchain, and can be used to authenticate and access the wallet, manage its assets, perform transactions, and other related purposes.</p><h3 id="the-technology-behind-did"><strong>The Technology behind DID</strong></h3><p>Using blockchain technology, DIDs provide a transparent and secure way to register and verify identity without revealing sensitive data.</p><h3 id="applications-and-use"><strong>Applications and Use</strong></h3><ul><li><strong>Authentication</strong>: A secure, password-free way to access online services.</li><li><strong>Credential Verification</strong>: Check titles, certifications and skills without intermediaries.</li><li><strong>Consent Management</strong>: Control who has access to your personal data and how it is used.</li><li><strong>Secure Data Exchange</strong>: Share information in a secure and controlled manner between parties.</li><li><strong>Digital Notarization</strong>: Create reliable and verifiable records of documents and transactions.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">In the world of Decentralized Identifiers (DIDs), <strong>each entity</strong>, be it <strong>a person</strong>, <strong>organization</strong>, or <strong>device</strong>, typically has its own <strong>unique DID</strong> .<br><br>This uniqueness makes it possible to isolate and manage identity securely and efficiently, ensuring that each entity has <strong>full control over their information</strong> and how it is shared.</div></div><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/08/1.png" class="kg-image" alt="Chia - What is a DID (Decentralized ID)? Basic notions to understand them" loading="lazy" width="569" height="184"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">In this diagram, the relationship between the blockchain and the DID is described as an &quot;abstraction&quot;, and the relationship between the DID and the user as an &quot;interaction&quot;.</font></font></figcaption></figure><h2 id="interoperability-between-blockchains"><strong>Interoperability between blockchains</strong></h2><p>Imagine that blockchains are like different highway systems in different countries. Each has its own rules and signs, and it is not always easy to drive from one country to another. This is where Decentralized Identifiers or DIDs come in, acting as a universal GPS that allows you to seamlessly navigate all of these road systems.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/08/image.png" class="kg-image" alt="Chia - What is a DID (Decentralized ID)? Basic notions to understand them" loading="lazy" width="1116" height="420" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/08/image.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/08/image.png 1000w, https://www.cripsis.xyz/content/images/2023/08/image.png 1116w"><figcaption><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Diagram representing interoperability between different blockchains</font></font></figcaption></figure><ul><li><strong>Uniform Standard:</strong> DIDs provide a common rule that is recognizable and usable on different blockchains.</li><li><strong>Cross-Platform Authentication:</strong> DIDs enable a form of authentication and access control that can be used across multiple networks, keeping data and identity secure.</li><li><strong>Support for Multiple Methods:</strong> DIDs are customizable and can be adjusted to different blockchain technologies.</li><li><strong>Make Portability Easy:</strong> With DIDs, you can easily move from one network to another, without hassle or delay.</li><li><strong>User Control and Privacy:</strong> DIDs give you full control over your identity on different networks.</li><li><strong>Facilitates the Composition of Services:</strong> DIDs allow access to different services and destinations without having to leave the system.</li><li><strong>Reduced Fragmentation:</strong> DIDs make everyone play by the same rules, simplifying movement between different networks.</li><li><strong>Challenges and Considerations:</strong> There are obstacles and bumps in the road that need to be addressed in DID implementation, but they are being worked on.</li></ul><h2 id="use-of-dids-in-chia"><strong>Use of DIDs in Chia</strong></h2><p>DIDs in Chia provide a way to manage decentralized identities, offering full user control over their identity and associated data. Its Chia integration enables a variety of applications, including authentication, asset management, linking with NFTs, and more.</p><h3 id="did-wallet-vs-traditional-wallet"><strong>DID Wallet vs Traditional Wallet</strong></h3><p><strong>DID Wallet for the Transfer of NFTs</strong> :</p><ul><li><strong>Advanced Control</strong>: The DID wallet allows for more precise ownership management and control over NFTs. You can include custom rules and conditions that determine how NFTs can be transferred.</li><li><strong>Interoperability</strong>: The DID wallet is designed to be compatible with different standards and blockchains, facilitating the transfer of NFTs between different systems.</li><li><strong>Enhanced Security</strong>: DID-based authentication and authorization adds an extra layer of security to NFT transfers, which can reduce the risk of attacks and fraud.</li></ul><p><strong>Traditional Wallet</strong> :</p><ul><li><strong>Simpler</strong>: A traditional wallet is used to manage funds and basic token transfers, but may lack the flexibility and advanced functionality needed to manage complex NFTs.</li></ul><h3 id="why-use-did-wallet-instead-of-traditional-wallet"><strong>Why Use DID Wallet Instead of Traditional Wallet</strong></h3><ul><li><strong>Flexibility</strong>: The DID wallet allows greater customization and adaptability in the management of NFTs, including the definition of custom rules and transfer conditions.</li><li><strong>Improved Privacy</strong>: The DID wallet can offer better control over privacy and access to personal information.</li><li><strong>Facilitates Decentralized Authentication</strong>: Enables secure authentication without the need for a centralized third party, which is critical in unique asset transfers like NFTs.</li><li><strong>Alignment with Decentralized Principles</strong>: The DID wallet is in line with the principles of decentralization and self-sovereignty that are fundamental in Chia and in the blockchain philosophy in general.</li></ul><p>In summary, the use of the DID wallet instead of the traditional wallet in the transfer of NFTs in Chia is due to the greater flexibility, control, security and alignment with the decentralized principles that it provides. It allows for more advanced and personalized management of NFTs and other digital assets, improving the user experience and expanding the possibilities within the Chia ecosystem.</p><h2 id="conclusion"><strong>Conclusion</strong></h2><p>That has been all in this introduction to Decentralized Identifiers (DID) and their role in interoperability in the world of blockchains. If you&apos;re interested in going even deeper, especially about how DIDs are used in the Chia ecosystem, make sure you don&apos;t tune out. There are many exciting and advanced aspects to explore in this ever-evolving field. Until next time!</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Thanks for taking the time to read this article.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">I hope you liked it and that you found useful and valuable information in it.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Creating and sharing quality content takes time and effort.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you appreciate my work and would like to see more of it, please consider making a small donation.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Every contribution, however small, makes a big difference and helps me continue this work that I enjoy so much.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you have any kind of suggestion or would like me to talk about a specific topic, let me know!</font></font></em></div></div><!--kg-card-begin: html--><!DOCTYPE html>
<html>
<head>
    <title>Bot&#xF3;n de Donaci&#xF3;n XCH</title>
    <script src="https://cdn.jsdelivr.net/npm/@gobyhq/goby-wallet@latest/dist/browser.js"></script>
    <style>
        #donationButton {
            background-color: #4CAF50; /* verde */
            border: none;
            color: white;
            text-align: center;
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            font-size: 20px;
            transition-duration: 0.4s; /* duración de la transición al pasar el ratón */
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 5px;
            flex-grow: 1;
        }

        #donationButton img {
            height: 32px;
            margin-right: 15px;
        }

        #donationButton:hover {
            background-color: #45a049; /* verde oscuro */
        }

        .donationForm {
            display: flex;
            align-items: center;
        }

        .donationForm input {
            margin-right: 10px;
            width: 80px; /* tamaño ampliado del input */
        }

        .donationForm label {
            margin-right: 10px;
        }
    </style>
    <script>
        window.onload = function() {
            document.getElementById('donationForm').onsubmit = function(event) {
                event.preventDefault(); // previene el comportamiento por defecto del formulario

                let amount = document.getElementById('amount').value;
                amount = parseFloat(amount) * 1000000000000; // Convertir XCH a Mojos
                const params = {
                    "to": "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605",
                    "amount": amount.toString(),
                    "memos": [toHex("Gracias por su donación!!")], 
                    "assetId": "",
                };
                window.chia.request({ method: "transfer", params });
            }

            function toHex(txt) {
                const encoder = new TextEncoder();
                return Array
                    .from(encoder.encode(txt))
                    .map(b => b.toString(16).padStart(2, '0'))
                    .join('')
            }
        }
    </script>
</head>
<body>
    <form id="donationForm" class="donationForm">
        <label for="amount">Quantity (XCH): </label>
        <input type="number" id="amount" name="amount" min="0.1" step="0.1" value="0.1" placeholder="Cantidad de XCH">
        <button id="donationButton">
            <img src="https://docs.goby.app/favicon-32x32.png" alt="Chia - What is a DID (Decentralized ID)? Basic notions to understand them">
            Donate some Chias :)
        </button>
    </form>
</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Chia -¿Qué es un DID (Decentralized ID)? Nociones básicas para entenderlos]]></title><description><![CDATA[Explora cómo los Identificadores Descentralizados (DID) están revolucionando la gestión de activos y NFTs en Chia. Descubre la diferencia entre DID Wallet y Wallet Tradicional, y cómo la DID Wallet ofrece mayor flexibilidad, control, y seguridad en la transferencia de NFTs]]></description><link>https://www.cripsis.xyz/404/</link><guid isPermaLink="false">64c52f4bc42d870059f086b8</guid><category><![CDATA[blockchain]]></category><category><![CDATA[chia]]></category><category><![CDATA[open source]]></category><category><![CDATA[web3]]></category><category><![CDATA[decentralization]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Wed, 02 Aug 2023 12:26:27 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/08/did_header.png" medium="image"/><content:encoded><![CDATA[<h2 id="introducci%C3%B3n">Introducci&#xF3;n</h2><img src="https://www.cripsis.xyz/content/images/2023/08/did_header.png" alt="Chia -&#xBF;Qu&#xE9; es un DID (Decentralized ID)? Nociones b&#xE1;sicas para entenderlos"><p>Muchas veces hemos escuchado el <strong>acr&#xF3;nimo</strong> <strong>DID,</strong> pero realmente sabes para que sirve?</p><p>Bienvenidos a este nuevo art&#xED;culo, donde nos sumergiremos en el mundo de los Identificadores Descentralizados, o DID. Hoy, exploraremos no solo los fundamentos de esta tecnolog&#xED;a, sino tambi&#xE9;n c&#xF3;mo <strong>Chia</strong>, la criptomoneda verde, utiliza los DID en <strong>su ecosistema</strong>.</p><p>Chia, conocida por sus innovaciones en tecnolog&#xED;a blockchain, ya ha implementado en el pasado los DID; una forma segura y descentralizada de manejar la identidad en l&#xED;nea. </p><p>Esta tecnolog&#xED;a no solo es fascinante en t&#xE9;rminos de seguridad y privacidad, sino que tambi&#xE9;n abre puertas a nuevas formas de interacci&#xF3;n en l&#xED;nea. Y cuando lo combinamos con Chia, las posibilidades son a&#xFA;n m&#xE1;s potentes.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F440;</div><div class="kg-callout-text">&#xBF;Te interesa conocer m&#xE1;s sobre los DID y c&#xF3;mo Chia est&#xE1; llevando esto al siguiente nivel? Entonces sigue leyendo, porque este art&#xED;culo est&#xE1; hecho para ti.</div></div><h2 id="el-uso-general-de-los-did-en-las-blockchains">El Uso general de los DID en las blockchains</h2><p>Los Identificadores Descentralizados (DID) est&#xE1;n transformando la forma en que interactuamos en l&#xED;nea.</p><p>Un DID act&#xFA;a como <strong>un puente entre el usuario y la cadena de bloques</strong>, permitiendo al usuario realizar tareas como la autenticaci&#xF3;n, la verificaci&#xF3;n de credenciales y la gesti&#xF3;n de datos personales sin tener que lidiar directamente con la blockchain.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/07/image-2.png" class="kg-image" alt="Chia -&#xBF;Qu&#xE9; es un DID (Decentralized ID)? Nociones b&#xE1;sicas para entenderlos" loading="lazy" width="367" height="289"><figcaption>Diagrama que representa de manera simplificada c&#xF3;mo un usuario est&#xE1; en el centro de varias interacciones pero aislado con DID.</figcaption></figure><ul><li><strong>Usuario</strong>: La persona o entidad que utiliza un DID.</li><li><strong>DID</strong>: El sistema para crear y gestionar identificadores descentralizados.</li><li><strong>Blockchain</strong>: La tecnolog&#xED;a que registra y confirma los DIDs.</li><li><strong>Servicio</strong>: Representa la autenticaci&#xF3;n y acceso a servicios en l&#xED;nea.</li><li><strong>Verificaci&#xF3;n</strong>: Simboliza la verificaci&#xF3;n de credenciales y consentimientos.</li><li><strong>Datos</strong>: Representa la gesti&#xF3;n y control de datos personales.</li></ul><h3 id="%C2%BFqu%C3%A9-son-exactamente-los-did">&#xBF;Qu&#xE9; son exactamente los DID?</h3><p>Los DID permiten controlar nuestra identidad en l&#xED;nea de manera descentralizada. Piensa en ellos como tu carn&#xE9; de identidad digital, pero donde t&#xFA; tienes el control total.</p><h3 id="estructura-de-la-uri-de-un-did">Estructura de la URI de un DID</h3><p>Una URI de un DID es b&#xE1;sicamente la direcci&#xF3;n &#xFA;nica que identifica una entidad en el mundo digital descentralizado. Piensa en ello como la direcci&#xF3;n de correo electr&#xF3;nico o el n&#xFA;mero de tel&#xE9;fono de alguien, pero en el contexto de la tecnolog&#xED;a blockchain.</p><p>La URI de un DID se compone de tres partes principales:</p><ol><li><strong>Esquema</strong>: Siempre comenzar&#xE1; con &quot;did:&quot; para indicar que es un Identificador Descentralizado.</li><li><strong>M&#xE9;todo</strong>: A continuaci&#xF3;n, encontramos el m&#xE9;todo, que especifica la tecnolog&#xED;a de blockchain o el protocolo que se utiliza. Podr&#xED;a ser algo como &quot;ethereum&quot; o &quot;chia&quot;.</li><li><strong>Identificador</strong>: Finalmente, hay una cadena &#xFA;nica que representa la entidad en s&#xED;, como una billetera o un usuario. Esta cadena es exclusiva dentro del m&#xE9;todo especificado y apunta a la informaci&#xF3;n de la entidad en esa blockchain en particular.</li></ol><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/08/did_normal.png" class="kg-image" alt="Chia -&#xBF;Qu&#xE9; es un DID (Decentralized ID)? Nociones b&#xE1;sicas para entenderlos" loading="lazy" width="1143" height="148" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/08/did_normal.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/08/did_normal.png 1000w, https://www.cripsis.xyz/content/images/2023/08/did_normal.png 1143w"><figcaption>Ejemplo de la composici&#xF3;n de una URI de una Wallet de Chia como un DID en sus distintas partes</figcaption></figure><ul><li><code>did</code>: Indica que la URI es un Identificador Descentralizado, un est&#xE1;ndar para identificadores que no est&#xE1;n vinculados a una autoridad centralizada.</li><li><code>chia</code>: El m&#xE9;todo o la red de blockchain asociada con el DID, se&#xF1;alando que el identificador pertenece a la red de Chia.</li><li><code>13p5fdxgm8e2pngdwp8m088t0etp7rgzx9ye2ju8v5ackcyg7t9nqx2um83</code>: El identificador &#xFA;nico de la wallet dentro de la red de Chia.</li></ul><p>Por lo tanto, este DID espec&#xED;fico representa una wallet &#xFA;nica en la blockchain de Chia, y puede ser utilizado para autenticar y acceder a la wallet, gestionar sus activos, realizar transacciones y otros fines relacionados.</p><h3 id="la-tecnolog%C3%ADa-detr%C3%A1s-de-did">La Tecnolog&#xED;a detr&#xE1;s de DID</h3><p>Utilizando la tecnolog&#xED;a blockchain, los DID proporcionan una forma transparente y segura de registrar y verificar la identidad sin revelar datos sensibles.</p><h3 id="aplicaciones-y-uso">Aplicaciones y Uso</h3><ul><li><strong>Autenticaci&#xF3;n</strong>: Una forma segura y sin contrase&#xF1;as de acceder a servicios en l&#xED;nea.</li><li><strong>Verificaci&#xF3;n de Credenciales</strong>: Comprobar t&#xED;tulos, certificaciones y habilidades sin intermediarios.</li><li><strong>Gesti&#xF3;n de Consentimientos</strong>: Controlar qui&#xE9;n tiene acceso a tus datos personales y c&#xF3;mo se utilizan.</li><li><strong>Intercambio Seguro de Datos</strong>: Compartir informaci&#xF3;n de forma segura y controlada entre partes.</li><li><strong>Notarizaci&#xF3;n Digital</strong>: Crear registros confiables y verificables de documentos y transacciones.</li></ul><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">En el mundo de los Identificadores Descentralizados (DID), <strong>cada entidad</strong>, ya sea <strong>una persona</strong>, <strong>organizaci&#xF3;n</strong> o <strong>dispositivo</strong>, suele tener su propio <strong>DID &#xFA;nico</strong>. <br><br>Esta singularidad permite aislar y gestionar la identidad de manera segura y eficiente, garantizando que cada entidad tenga <strong>control total sobre su informaci&#xF3;n</strong> y c&#xF3;mo se comparte.</div></div><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/08/1.png" class="kg-image" alt="Chia -&#xBF;Qu&#xE9; es un DID (Decentralized ID)? Nociones b&#xE1;sicas para entenderlos" loading="lazy" width="569" height="184"><figcaption>En este diagrama, la relaci&#xF3;n entre la blockchain y el DID se describe como una &quot;abstracci&#xF3;n&quot;, y la relaci&#xF3;n entre el DID y el usuario como una &quot;interacci&#xF3;n&quot;</figcaption></figure><h2 id="la-interoperabilidad-entre-blockchains">La interoperabilidad entre blockchains</h2><p>Imagina que las blockchains son como diferentes sistemas de carreteras en diferentes pa&#xED;ses. Cada uno tiene sus propias reglas y se&#xF1;ales, y no siempre es f&#xE1;cil conducir de un pa&#xED;s a otro. Aqu&#xED; es donde entran los Identificadores Descentralizados o DID, actuando como un GPS universal que te permite navegar sin problemas por todos estos sistemas de carreteras.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/08/image.png" class="kg-image" alt="Chia -&#xBF;Qu&#xE9; es un DID (Decentralized ID)? Nociones b&#xE1;sicas para entenderlos" loading="lazy" width="1116" height="420" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/08/image.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/08/image.png 1000w, https://www.cripsis.xyz/content/images/2023/08/image.png 1116w"><figcaption>Diagrama que representa la interoperabilidad entre distintas cadenas de bloque</figcaption></figure><ul><li><strong>Est&#xE1;ndar Uniforme:</strong> Los DID proporcionan una regla com&#xFA;n que es reconocible y utilizable en diferentes blockchains.</li><li><strong>Autenticaci&#xF3;n Multiplataforma:</strong> Los DID permiten una forma de autenticaci&#xF3;n y control de acceso que se puede utilizar en diversas redes, manteniendo seguros los datos e identidad.</li><li><strong>Soporte para M&#xFA;ltiples M&#xE9;todos:</strong> Los DID son adaptables y pueden ajustarse a diferentes tecnolog&#xED;as de blockchain.</li><li><strong>Facilita la Portabilidad:</strong> Con los DID, puedes moverte f&#xE1;cilmente de una red a otra, sin problemas ni demoras.</li><li><strong>Control y Privacidad del Usuario:</strong> Los DID te dan control total sobre tu identidad en diferentes redes.</li><li><strong>Facilita la Composici&#xF3;n de Servicios:</strong> Los DID permiten acceder a diferentes servicios y destinos sin tener que salir del sistema.</li><li><strong>Reducci&#xF3;n de la Fragmentaci&#xF3;n:</strong> Los DID hacen que todos jueguen con las mismas reglas, simplificando el movimiento entre diferentes redes.</li><li><strong>Desaf&#xED;os y Consideraciones:</strong> Hay obst&#xE1;culos y baches en el camino que deben abordarse en la implementaci&#xF3;n de DID, pero se est&#xE1; trabajando en ellos.</li></ul><h2 id="uso-de-los-dids-en-chia">Uso de los DIDs en Chia</h2><p>Los DIDs en Chia proporcionan una forma de manejar identidades descentralizadas, ofreciendo control total al usuario sobre su identidad y datos asociados. Su integraci&#xF3;n en Chia permite una variedad de aplicaciones, incluyendo la autenticaci&#xF3;n, la gesti&#xF3;n de activos, la vinculaci&#xF3;n con NFTs, y m&#xE1;s.</p><h3 id="did-wallet-vs-wallet-tradicional">DID Wallet vs Wallet Tradicional</h3><p><strong>DID Wallet para la Transferencia de NFTs</strong>:</p><ul><li><strong>Control Avanzado</strong>: La DID wallet permite una gesti&#xF3;n m&#xE1;s precisa de la propiedad y control sobre los NFTs. Puede incluir reglas y condiciones personalizadas que determinan c&#xF3;mo se pueden transferir los NFTs.</li><li><strong>Interoperabilidad</strong>: La DID wallet est&#xE1; dise&#xF1;ada para ser compatible con diferentes est&#xE1;ndares y blockchains, facilitando la transferencia de NFTs entre diferentes sistemas.</li><li><strong>Seguridad Mejorada</strong>: La autenticaci&#xF3;n y autorizaci&#xF3;n basada en DID a&#xF1;ade una capa adicional de seguridad en la transferencia de NFTs, lo que puede reducir el riesgo de ataques y fraudes.</li></ul><p><strong>Wallet Tradicional</strong>:</p><ul><li><strong>M&#xE1;s Simple</strong>: Una wallet tradicional se utiliza para gestionar fondos y transferencias b&#xE1;sicas de tokens, pero puede carecer de la flexibilidad y funcionalidad avanzada necesaria para gestionar NFTs complejos.</li></ul><h3 id="por-qu%C3%A9-usar-did-wallet-en-lugar-de-wallet-tradicional">Por Qu&#xE9; Usar DID Wallet en Lugar de Wallet Tradicional</h3><ul><li><strong>Flexibilidad</strong>: La DID wallet permite una mayor personalizaci&#xF3;n y adaptabilidad en el manejo de NFTs, incluyendo la definici&#xF3;n de reglas personalizadas y condiciones de transferencia.</li><li><strong>Mejora la Privacidad</strong>: La DID wallet puede ofrecer un mejor control sobre la privacidad y el acceso a la informaci&#xF3;n personal.</li><li><strong>Facilita la Autenticaci&#xF3;n Descentralizada</strong>: Permite una autenticaci&#xF3;n segura sin la necesidad de un tercero centralizado, lo cual es fundamental en la transferencia de activos &#xFA;nicos como NFTs.</li><li><strong>Alineaci&#xF3;n con Principios Descentralizados</strong>: La DID wallet est&#xE1; en l&#xED;nea con los principios de descentralizaci&#xF3;n y auto-soberan&#xED;a que son fundamentales en Chia y en la filosof&#xED;a blockchain en general.</li></ul><p>En resumen, el uso de la DID wallet en lugar de la wallet tradicional en la transferencia de NFTs en Chia se debe a la mayor flexibilidad, control, seguridad y alineaci&#xF3;n con los principios descentralizados que proporciona. Permite una gesti&#xF3;n m&#xE1;s avanzada y personalizada de NFTs y otros activos digitales, mejorando la experiencia del usuario y expandiendo las posibilidades dentro del ecosistema de Chia.</p><h2 id="conclusi%C3%B3n">Conclusi&#xF3;n</h2><p>Eso ha sido todo en esta introducci&#xF3;n a los Identificadores Descentralizados (DID) y su papel en la interoperabilidad en el mundo de las blockchains. Si est&#xE1;s interesado en profundizar a&#xFA;n m&#xE1;s, especialmente sobre c&#xF3;mo se utilizan los DIDs en el ecosistema de Chia, aseg&#xFA;rate de no desconectar. Hay muchos aspectos emocionantes y avanzados por explorar en este campo en constante evoluci&#xF3;n. &#xA1;Hasta la pr&#xF3;xima!<br></p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em>Gracias por tomar el tiempo de leer este art&#xED;culo. Espero que haya sido de tu agrado y que hayas encontrado en &#xE9;l informaci&#xF3;n &#xFA;til y valiosa. </em><br><br><em>Crear y compartir contenido de calidad requiere tiempo y esfuerzo. Si aprecias mi trabajo y te gustar&#xED;a ver m&#xE1;s de &#xE9;l, considera hacer una peque&#xF1;a donaci&#xF3;n. </em><br><br><em>Cada contribuci&#xF3;n, por peque&#xF1;a que sea, hace una gran diferencia y me ayuda a continuar con este trabajo que tanto disfruto.</em><br><br><em>Si tienes cualquier tipo de sugerencia o quisieras que hablara de alg&#xFA;n tema en concreto, &#xA1;h&#xE1;zmelo saber!</em></div></div><!--kg-card-begin: html--><!DOCTYPE html>
<html>
<head>
    <title>Bot&#xF3;n de Donaci&#xF3;n XCH</title>
    <script src="https://cdn.jsdelivr.net/npm/@gobyhq/goby-wallet@latest/dist/browser.js"></script>
    <style>
        #donationButton {
            background-color: #4CAF50; /* verde */
            border: none;
            color: white;
            text-align: center;
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            font-size: 20px;
            transition-duration: 0.4s; /* duración de la transición al pasar el ratón */
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 5px;
            flex-grow: 1;
        }

        #donationButton img {
            height: 32px;
            margin-right: 15px;
        }

        #donationButton:hover {
            background-color: #45a049; /* verde oscuro */
        }

        .donationForm {
            display: flex;
            align-items: center;
        }

        .donationForm input {
            margin-right: 10px;
            width: 80px; /* tamaño ampliado del input */
        }

        .donationForm label {
            margin-right: 10px;
        }
    </style>
    <script>
        window.onload = function() {
            document.getElementById('donationForm').onsubmit = function(event) {
                event.preventDefault(); // previene el comportamiento por defecto del formulario

                let amount = document.getElementById('amount').value;
                amount = parseFloat(amount) * 1000000000000; // Convertir XCH a Mojos
                const params = {
                    "to": "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605",
                    "amount": amount.toString(),
                    "memos": [toHex("Gracias por su donación!!")], 
                    "assetId": "",
                };
                window.chia.request({ method: "transfer", params });
            }

            function toHex(txt) {
                const encoder = new TextEncoder();
                return Array
                    .from(encoder.encode(txt))
                    .map(b => b.toString(16).padStart(2, '0'))
                    .join('')
            }
        }
    </script>
</head>
<body>
    <form id="donationForm" class="donationForm">
        <label for="amount">Cantidad (XCH): </label>
        <input type="number" id="amount" name="amount" min="0.1" step="0.1" value="0.1" placeholder="Cantidad de XCH">
        <button id="donationButton">
            <img src="https://docs.goby.app/favicon-32x32.png" alt="Chia -&#xBF;Qu&#xE9; es un DID (Decentralized ID)? Nociones b&#xE1;sicas para entenderlos">
            Donar un poco de Chia :)
        </button>
    </form>
</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Chia DataLayer - How does the integration with Amazon S3 work?]]></title><description><![CDATA[Discover the useful integration of Chia DataLayer and Amazon S3. Improve efficiency and reduce costs with this new storage plugin]]></description><link>https://www.cripsis.xyz/chia-datalayer-integration-amazon-s3/</link><guid isPermaLink="false">64ad40bca9679f0058ffe9e6</guid><category><![CDATA[amazon s3]]></category><category><![CDATA[bbdd]]></category><category><![CDATA[blockchain]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[decentralization]]></category><category><![CDATA[integration]]></category><category><![CDATA[chia]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Tue, 11 Jul 2023 13:17:35 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/07/plugins_tutorial_header-1.png" medium="image"/><content:encoded><![CDATA[<h2 id="introduction"><strong>Introduction</strong></h2><img src="https://www.cripsis.xyz/content/images/2023/07/plugins_tutorial_header-1.png" alt="Chia DataLayer - How does the integration with Amazon S3 work?"><p>Welcome to a new article, where we will explore the exciting updates to <strong>Chia DataLayer</strong> . </p><p>Today, we&apos;re going to dive into the newly released plugin integration, a hot and recent innovation from the Chia development team.</p><p>As it has been made known very recently, Chia has released <a href="https://translate.google.com/website?sl=es&amp;tl=en&amp;hl=es&amp;client=webapp&amp;u=https://docs.chia.net/guides/datalayer-permissions/">a new functionality</a> that allows the development of an additional logical layer to DataLayer that allows the development of <strong>plugins in Python</strong> in order to synchronize data between Chia DL and other more traditional data sources to facilitate the strengthening and availability of said data, or to give it the use that the user deems necessary.</p><p>The first plugin developed by the Chia team allows us to use Amazon S3 as additional storage for our DataLayer datastores.</p><p>This synergy between the cloud and DL is highly beneficial in terms of operational efficiency and cost reduction as it is possible to adjust cloud resources according to demand without having to invest in expensive physical infrastructure.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F440;</div><div class="kg-callout-text">For more information about how DataLayer works, <a href="https://www.cripsis.xyz/en/chia-datalayer-getting-started-tutorial-using-cli/">read the Chia DataLayer Getting Started Tutorial</a></div></div><h2 id="amazon-s3"><strong>Amazon S3</strong></h2><p>The first <a href="https://github.com/Chia-Network/chia-blockchain/blob/main/chia/data_layer/s3_plugin_service.py">plugin developed by Chia&apos;s Core Team</a> is an integration with Amazon S3 buckets, which allows us to work with data between both technologies in both a push and pull model, that is, we can use <em>an</em> S3 <em>bucket</em> to download data to DL or use it on the contrary to upload data from DL to S3.</p><p>This allows us to easily have a <strong>managed replica of our Datalayer repository</strong>, with all the advantages that having it in a cloud offers us.</p><h3 id="data-structure-of-an-s3-bucket"><strong>Data structure of an S3 bucket</strong></h3><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/07/mermaid-diagram-2023-07-11-135152.png" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="1116" height="538" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/07/mermaid-diagram-2023-07-11-135152.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/07/mermaid-diagram-2023-07-11-135152.png 1000w, https://www.cripsis.xyz/content/images/2023/07/mermaid-diagram-2023-07-11-135152.png 1116w"><figcaption>S3 bucket structure diagram</figcaption></figure><p>The diagram illustrates the structure and components of an object stored in an Amazon S3 bucket. Parts of the diagram:<br></p><ul><li><strong>S3 Bucket</strong> &#x2013; At the top of the diagram, we have the S3 Bucket. A bucket is like a container in Amazon S3 where data is stored in the form of objects. Buckets are useful for organizing storage and controlling access to data.<br></li><li><strong>Object (Blob)</strong> : Inside the bucket, we find an Object, also known as a Blob. Objects are the fundamental units of storage in Amazon S3. Each object consists of data and a set of metadata that describes the object.<br></li><li><strong>Blob metadata</strong> : Metadata is associated with the object and is a set of additional information about the object. Metadata includes:<br></li><li><strong>Key</strong> : The key is the file name of the object and is unique for each object within a bucket. It is used to access the object in Amazon S3.<br></li><li><strong>File Size</strong> : The metadata includes information about the file size of the object.<br></li><li><strong>Content Type (MIME)</strong> : The metadata also contains the content type of the object, which specifies the format of the data.<br></li><li><strong>Last Modified Date</strong> : The metadata contains the date the object was last modified.<br></li><li><strong>Data in Binary</strong> : The data of the object is stored in binary format. The data can be any type of content.</li></ul><h2 id="chia-datalayer"><strong>Chia DataLayer</strong></h2><h3 id="data-structure-of-a-chia-datalayer-datastore"><strong>Data structure of a Chia DataLayer datastore</strong><br></h3><p><br>The diagram provides a schematic view of how a Datastore works within the Chia DataLayer, here are the components presented in the diagram:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/07/mermaid-diagram-2023-07-11-135233.png" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="930" height="767" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/07/mermaid-diagram-2023-07-11-135233.png 600w, https://www.cripsis.xyz/content/images/2023/07/mermaid-diagram-2023-07-11-135233.png 930w" sizes="(min-width: 720px) 720px"><figcaption>Chia Datalayer datastore diagram</figcaption></figure><ul><li><strong>DataLayer Datastore</strong> : At the top of the diagram is the DataLayer Datastore. A Datastore acts as a repository to store information in the form of key and value pairs.<br></li><li><strong>Key/Value</strong> : Within the Datastore, data is stored as key and value pairs. Each stored item has a unique key that is used to access and retrieve the associated value.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/SRuBwjAn8Yx3xmyyq5hyghwiBHVsIhEls6pGkcK48tQjCvveV76lvwxf0d_wLJUWoNrnW9KPO6jsp-y6IT77qzuQrwARj99Jpl_x4DA2P_egos1V8DO6Ya-E1T3annUmLm_8js-n4ZjHKTm11DB8byc" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="615" height="91"></figure><ul><li><strong>Data in Hexadecimal</strong> : The stored values &#x200B;&#x200B;are in hexadecimal format. This means that the data is represented using a base 16 numbering system that includes the numbers 0 through 9 and the letters A through F.<br></li><li><strong>File, Image, Video, etc</strong> .: Data in hexadecimal can represent various types of content, such as files, images, videos, and more.<br></li><li><strong>Files .dat (Filesystem)</strong> : The content, such as files, images, videos, etc., is stored in files with a .dat extension within the file system. .dat files are binary data containers and are used to store information.<br></li></ul><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/yNe01Y8MF2FCnUl53CGP2v6TeCY5C_BspQ780mAlaDK3RHtZ4Tuq8u9Z0bgM6plVmY6ClLMjijMjvQCtaIdFttl-zvv5LQSyMCAeroIDFEc6s0MNyxyMhyKjNQ3WR7Kgc9u8XL3i9_JmLN52_xxW7x4" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="743" height="236"></figure><h2 id="common-things"><strong>Common things</strong></h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/07/mermaid-diagram-2023-07-11-135550.png" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="1116" height="299" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/07/mermaid-diagram-2023-07-11-135550.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/07/mermaid-diagram-2023-07-11-135550.png 1000w, https://www.cripsis.xyz/content/images/2023/07/mermaid-diagram-2023-07-11-135550.png 1116w"><figcaption>DataLayer vs S3 comparison</figcaption></figure><ul><li><strong>Data Containers</strong> : Both Amazon S3 and Chia DataLayer act as containers to store data. Amazon S3 uses &quot;Buckets&quot; while Chia DataLayer uses &quot;Datastores&quot;.<br></li><li><strong>Storage Structure</strong> : In both systems, data is stored in a structured way. Amazon S3 stores data in the form of &quot;Objects (Blobs)&quot;, while Chia DataLayer stores data in pairs of &quot;Key / Value&quot; although they finally end up in .DAT files at the filesystem level, this suggests that both systems allow organizing and storing data in a structured way.<br></li><li><strong>The .DAT files</strong> are the ones that will be stored within the S3 blobs.</li></ul><h3 id="requirements-to-use-amazon-s3-as-a-replica-of-a-datalayer-repository"><strong>Requirements to use Amazon S3 as a replica of a DataLayer repository</strong><br></h3><ol><li>Create/reuse an AWS <strong>IAM user</strong></li><li><strong>Provide you with the level of permissions necessary</strong> to be able to interact with S3 buckets</li></ol><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/uiOkpPFlHUm73PcT9342p9Xk_Cq7kaGYDZB9IFeq3Bz8pIhy5CfD7Aaq8uPD802eh6AXdDIp3WBiJqibiJmpt7rdlwxP9RqSaiKY7gUF_PPQe_RtB76Ga8259JGfIh-aNxYEMdx6q6gybGizcX3B_rs" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="652" height="253"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">In this case, being only for test purposes, I have used the &quot;AmazonS3FullAccess&quot; policy, although it is recommended to give the minimum necessary permissions!</font></font></div></div><p>3. &#xA0; <strong>Create an Access Key</strong> and write down the tokens to be able to use them later when configuring the plugin</p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/61Z-3LUHi26ab5U3d6j4dVJGeUQyvlAsUuvEVQLx2-jHLDe-CuLETv1hxHzyi9RZaPfGctuLhzyRb0sSvU0Ygrze0SB9U90CztdlduZIDosxhi4QKIjZgucJV2HUfxVb92b7IguLpy9C3oXugMLMBbI" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="643" height="367"></figure><p>4. Go to the Amazon S3 interface and <strong>create an empty Bucket</strong> (in my case I named it test-datalayer)</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/8Zk2RbcJfHi7W3Fdc7YeJyx0iBJQyV5JAbZRqRAFJd1WlV6nXAQxlIDgyxcLgMfyTHPuBUDmVoICA7meWS2jKR4l9YxFlnnABMCbii56i6rnoVeRhWDp90-9DMf2sfE5C59uVsWdM2vcVDet1eHBkFk" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="718" height="166"></figure><h3 id="identify-dependencies"><strong>Identify dependencies</strong><br></h3><ol><li>Go to the directory. <strong>/chia/data_layer</strong> from an official <strong>chia-blockchain</strong> installation .</li><li>Locate the following files:</li></ol><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/5gzuZkpsV_3u9P6IOtFGc5pIw4FtUecdZT_v00PWfHxpa2wUJsYiXU2MtM9lqKB7mfLAcll-3pemE_tpGUgMzazoPL5-wgKgJBum551TDqi15-__mAg8TS_eVMPujKCWMfmWsViP6sk3XqJLjWDky6k" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="470" height="268"></figure><p>3. &#xA0; <strong>s3_plugin_config.yml</strong> : It is the configuration file where the parameters to configure the plugin are indicated, as well as the secrets to authenticate with Amazon S3.</p><p>4. &#xA0; <strong>s3_plugin_service.py</strong> : It is the plugin script that interacts with S3 and DataLayer, reading the data from the s3_plugin_config.yml configuration file.</p><h3 id="prepare-the-configuration"><strong>Prepare the configuration</strong><br></h3><p>Edit the <strong>s3_plugin_config.yml</strong> file and adapt it as needed. The following example will be used to upload files from an existing DL datastore to the previously created Amazon S3 bucket.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/vrKU88ecruiWY3txtrJIcpAtVA-sUM6TfSM9oIlTKezGGDWQhenhNfelLu6Cx2jCpzRR3YKWFZnssLsKApU9kgtizg2A_IhqRMT5A2LRIhJ1fDjHC3hu3utxiZC0dHC9LYPNkCiasmXN8u23sZTDX3w" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="602" height="204"></figure><pre><code class="language-yaml"># This is the beginning of a block called &quot;instance-1&quot;, which groups specific configuration for an instance.
instance-1:
  # Defines the file name where the logs will be saved.
  log_filename: &quot;s3_plugin.log&quot;
  # Defines the logging level.
  log_level: DEBUG
  # Specifies the file system path where the server DAT files will be located.
  server_files_location: &quot;/root/.chia/mainnet/data_layer/db/server_files_location_mainnet&quot;
  # Defines the port on which the service or application will run.
  port: 8998
  # Credentials with privileges to access the AWS S3 service.
  aws_credentials:
    # Access key ID to authenticate with AWS.
    access_key_id: &quot;xxxxxxxxx&quot;
    # Secret access key to authenticate with AWS.
    secret_access_key: &quot;xxxxxxxxxxx&quot;
    # AWS region to connect to.
    region: &quot;eu-west-3&quot;
  # Block containing the configuration to work with a DataLayer datastore.
  # If a value is provided for upload_bucket, the .DAT files from the datastore specified below in store_id will be uploaded to that bucket.
  # If an S3 bucket is provided in download_urls, it will download files from one of those sources. It must contain the s3 schema. Example:
  # download_urls: [&quot;s3://cripsis-xyz-1&quot;, &quot;s3://cripsis-xyz-2&quot;]
  # This is an item in a list. It can contain various elements.
  # Unique identifier of the storage.
  stores:
    - store_id: &quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58&quot;
  # Specifies the name of the AWS S3 bucket to which files will be uploaded.
  upload_bucket: &quot;test-datalayer&quot;
  # A list of URLs from where files can be downloaded. It is empty in this example.
  download_urls: []</code></pre><h3 id="boot-the-instance"><strong>Boot the instance</strong></h3><p>We proceed to start the <code>instance-1</code> instance that we have defined within our configuration file with the following command:</p><pre><code class="language-bash">python3 s3_plugin_service.py instance-1</code></pre><p>As we can see, the instance identifier must be specified as the first parameter of the script</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/OEmQ3sLM6a_FR2WQN0n857Edo3xMR4It03_o-pM_IAhT9L-qeA4qjqUAFLgyXvjaSHPy7oWFWlgYjcMNnWGumhjmBc5-u1D-jU8TJyyFHu2sEjl7nun9bk39Tr7_Br9bOaNa9LigsgBTRR7hxOSXcGI" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="602" height="71"></figure><p>Now that we know that it has been started and without errors, we proceed to run it in the background with nohup:</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/TJqshXmZiYNNggAN_bPVzVVNPxkDNt0GgWuOd8g4ca_sWxaKxx5bKPNNho0DXzc7O0sNAGdMHKlq0EbW_Ap-BJ74jMLJgDDXnDqog0GD-_aDSXFNobOB1hTM6lgk0fOwbLeVf-wOF2-cr5JwXlguz7o" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="678" height="44"></figure><pre><code class="language-bash">nohup python3 s3_plugin_service.py instance-1 &amp;</code></pre><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">This is not a good way to maintain a service in a productive environment.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If it is going to be used in production, it is better to maintain the service with systemd or docker, for example.</font></font></div></div><h3 id="start-the-climb"><strong>start the climb</strong><br></h3><ul><li>Based on the Chia Rest API, we can start uploading the files with the following HTTP request with curl:</li></ul><pre><code class="language-bash">curl -X POST -d &apos;{&quot;store_id&quot;: &quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58&quot;}&apos; http://127.0.0.1:8998/handle_upload</code></pre><ul><li>Modify store_id with the ID of the desired datastore.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/6NUnPeHIIGC1xzr7qdb2iFIiFUxWxbNfnj03MNQpVVQUga0u84XsMM4yxB2gTBBWcoHsipfaylJzesHyUyf6VfkypCbB85a32mWTAuz8f_BZ3YyvGvM85dTxRbaNuYqD9IxyfxEBBAOo7OvjDOqR_ug" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="667" height="40"></figure><ul><li>Verify that the answer is true.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If your data repository already existed previously, as in my case, it is necessary to carry out an intermediate step through the &apos;<span>&#xA0;</span></font></font><strong style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; font-weight: bolder;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">add_missing_files</font></font></strong><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><span>&#xA0;</span>&apos; endpoint, listing the existing .DAT files one by one.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Example:</font></font></div></div><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/T45h5kARlx3V9FFkqRJhjFxjtaqpeet0J6FyYWBUgKzSdgzroFgaN6UBCMAnn1YqymL3ldJ4PQtZOM8hZhfZGuK9Ezduz-Fs1vRDlWNnKNpYlrK2Xe_XRAVCIKa71S5UdIn1p0WdsDbJov7cEfHX6S8" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="602" height="263"></figure><pre><code class="language-bash">curl -X POST http://127.0.0.1:8998/add_missing_files -H &apos;Content-Type: application/json&apos; -d &apos;{&quot;store_id&quot;: &quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58&quot;, &quot;files&quot;: &quot;[\&quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58-167b588260e9d2f5f48adedb52af84e48b5a047fdfb862bb9836a8a2ae984ff5-delta-7-v1.0.dat\&quot;, \&quot;etc.dat\&quot;]&quot;}&apos;</code></pre><p>The new files that are generated should be uploaded after re-executing the command <code>handle_upload</code>seen above.</p><h3 id="verify-data-in-s3"><strong>Verify data in S3</strong></h3><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/9ZhreQO8M3LRJtI9PP_LN_P-lIyyRZ0yglTULJ8X1puyF57W0kY160fow7o08pOViR5soqJE2pyCMYbawxqyPhWxqLi4V7-0ULt06Mk5g3xL_v74QvB1vvrkkYorn137Y614-l33EWVkK86MxbbcrgQ" class="kg-image" alt="Chia DataLayer - How does the integration with Amazon S3 work?" loading="lazy" width="631" height="331"></figure><p>We can see that the data has already been uploaded correctly!</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Thanks for taking the time to read this article.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">I hope you liked it and that you found useful and valuable information in it.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Creating and sharing quality content takes time and effort.<span>&#xA0;</span></font><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you appreciate my work and would like to see more of it, please consider making a small donation.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">Every contribution, however small, makes a big difference and helps me continue this work that I enjoy so much.</font></font></em><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><br style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><em style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;"><font style="border-width: 0px; border-style: solid; border-color: var(--gray-200); border-image: initial; box-sizing: border-box; --tw-shadow:0 0 #0000; --tw-ring-inset:var(--tw-empty, ); --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(59,130,246,0.5); --tw-ring-offset-shadow:0 0 #0000; --tw-ring-shadow:0 0 #0000; vertical-align: inherit;">If you have any kind of suggestion or would like me to talk about a specific topic, let me know!</font></font></em></div></div><!--kg-card-begin: html--><!DOCTYPE html>
<html>
<head>
    <title>Bot&#xF3;n de Donaci&#xF3;n XCH</title>
    <script src="https://cdn.jsdelivr.net/npm/@gobyhq/goby-wallet@latest/dist/browser.js"></script>
    <style>
        #donationButton {
            background-color: #4CAF50; /* verde */
            border: none;
            color: white;
            text-align: center;
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            font-size: 20px;
            transition-duration: 0.4s; /* duración de la transición al pasar el ratón */
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 5px;
            flex-grow: 1;
        }

        #donationButton img {
            height: 32px;
            margin-right: 15px;
        }

        #donationButton:hover {
            background-color: #45a049; /* verde oscuro */
        }

        .donationForm {
            display: flex;
            align-items: center;
        }

        .donationForm input {
            margin-right: 10px;
            width: 80px; /* tamaño ampliado del input */
        }

        .donationForm label {
            margin-right: 10px;
        }
    </style>
    <script>
        window.onload = function() {
            document.getElementById('donationForm').onsubmit = function(event) {
                event.preventDefault(); // previene el comportamiento por defecto del formulario

                let amount = document.getElementById('amount').value;
                amount = parseFloat(amount) * 1000000000000; // Convertir XCH a Mojos
                const params = {
                    "to": "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605",
                    "amount": amount.toString(),
                    "memos": [toHex("Gracias por su donación!!")], 
                    "assetId": "",
                };
                window.chia.request({ method: "transfer", params });
            }

            function toHex(txt) {
                const encoder = new TextEncoder();
                return Array
                    .from(encoder.encode(txt))
                    .map(b => b.toString(16).padStart(2, '0'))
                    .join('')
            }
        }
    </script>
</head>
<body>
    <form id="donationForm" class="donationForm">
        <label for="amount">Quantity (XCH): </label>
        <input type="number" id="amount" name="amount" min="0.1" step="0.1" value="0.1" placeholder="Cantidad de XCH">
        <button id="donationButton">
            <img src="https://docs.goby.app/favicon-32x32.png" alt="Chia DataLayer - How does the integration with Amazon S3 work?">
            Donate some Chias :)
        </button>
    </form>
</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Chia DataLayer - ¿Cómo funciona la integración con Amazon S3?]]></title><description><![CDATA[Descubre la revolucionaria integración de Chia DataLayer y Amazon S3. Mejora la eficiencia y reduce costos con este nuevo plugin de almacenamiento]]></description><link>https://www.cripsis.xyz/es/chia-datalayer-integracion-amazon-s3/</link><guid isPermaLink="false">64a6f35fa9679f0058ffe873</guid><category><![CDATA[bbdd]]></category><category><![CDATA[blockchain]]></category><category><![CDATA[chia]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[decentralization]]></category><category><![CDATA[amazon s3]]></category><category><![CDATA[integration]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Tue, 11 Jul 2023 11:41:17 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/07/plugins_tutorial_header.png" medium="image"/><content:encoded><![CDATA[<h2 id="introducci%C3%B3n">Introducci&#xF3;n</h2><img src="https://www.cripsis.xyz/content/images/2023/07/plugins_tutorial_header.png" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?"><p>Bienvenidos a nuestro nuevo art&#xED;culo, donde exploraremos las emocionantes actualizaciones de <strong>Chia DataLayer</strong>. Hoy, nos adentraremos en la reci&#xE9;n lanzada integraci&#xF3;n con plugins, una innovaci&#xF3;n caliente y reciente del equipo de desarrollo de Chia.</p><p>Como se ha hecho saber muy recientemente, Chia ha estrenado <a href="https://docs.chia.net/guides/datalayer-permissions/">una nueva funcionalidad</a> que permite desarrollar una capa l&#xF3;gica adicional a DataLayer que permite desarrollar <strong>plugins en Python </strong>de cara a sincronizar datos entre Chia DL y otras fuentes de datos m&#xE1;s tradicionales para facilitar el robustecimiento y la disponibilidad de de dichos datos, o bien para darle el uso que el usuario considere necesario.</p><p>El primer plugin desarrollado por el equipo de Chia nos permite utilizar Amazon S3 como almacenamiento adicional para nuestros datastores de DataLayer.</p><p>Esta sinergia entre la nube y DL resulta muy beneficiosa en t&#xE9;rminos de eficiencia operativa y reducci&#xF3;n de costos ya que es posible ajustar los recursos de la nube seg&#xFA;n la demanda sin tener que invertir en infraestructura f&#xED;sica costosa.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F440;</div><div class="kg-callout-text">Para m&#xE1;s informaci&#xF3;n acerca del funcionamiento de DataLayer, <a href="https://www.cripsis.xyz/es/chia-datalayer-tutorial-de-iniciacion-cli/">leer el tutorial de iniciaci&#xF3;n a Chia DataLayer</a></div></div><h2 id="amazon-s3">Amazon S3</h2><p>El primer plugin que ha desarrollado el Core Team de Chia se trata de una integraci&#xF3;n con buckets de Amazon S3, que nos permite trabajar con datos entre ambas tecnolog&#xED;as tanto en un modelo <em>push</em> como <em>pull</em>, es decir, que podemos usar un bucket de S3 para descargar datos hacia DL o bien usarlo al contrario para subir datos desde DL hacia S3. </p><p>Esto nos permite tener de forma sencilla una <strong>r&#xE9;plica administrada de nuestro repositorio de Datalayer</strong>, con las todas las ventajas que nos ofrece tenerlo en una cloud.</p><h3 id="estructura-de-datos-de-un-bucket-de-s3">Estructura de datos de un bucket de S3</h3><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.cripsis.xyz/content/images/2023/07/s3-2.png" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="1116" height="399" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/07/s3-2.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/07/s3-2.png 1000w, https://www.cripsis.xyz/content/images/2023/07/s3-2.png 1116w"></figure><p>El diagrama ilustra la estructura y componentes de un objeto almacenado en un bucket de Amazon S3. Partes del diagrama:<br></p><ul><li><strong>Bucket de S3</strong>: En la parte superior del diagrama, tenemos el Bucket de S3. Un bucket es como un contenedor en Amazon S3 donde los datos se almacenan en forma de objetos. Los buckets son &#xFA;tiles para organizar el almacenamiento y controlar el acceso a los datos.<br></li><li><strong>Objeto (Blob)</strong>: Dentro del bucket, encontramos un Objeto, tambi&#xE9;n conocido como Blob. Los objetos son las unidades fundamentales de almacenamiento en Amazon S3. Cada objeto consiste en datos y un conjunto de metadatos que describe el objeto.<br></li><li><strong>Metadatos del Blob</strong>: Los metadatos est&#xE1;n asociados con el objeto y son un conjunto de informaci&#xF3;n adicional sobre el objeto. Los metadatos incluyen:<br></li><li><strong>Clave</strong>: La clave es el nombre del archivo del objeto y es &#xFA;nica para cada objeto dentro de un bucket. Se utiliza para acceder al objeto en Amazon S3.<br></li><li><strong>Tama&#xF1;o del archivo</strong>: Los metadatos incluyen informaci&#xF3;n sobre el tama&#xF1;o del archivo del objeto.<br></li><li><strong>Tipo de contenido (MIME)</strong>: Los metadatos tambi&#xE9;n contienen el tipo de contenido del objeto, que especifica el formato de los datos.<br></li><li><strong>Fecha de la &#xFA;ltima modificaci&#xF3;n</strong>: Los metadatos contienen la fecha en que el objeto fue modificado por &#xFA;ltima vez.<br></li><li><strong>Datos en Binario</strong>: Los datos del objeto est&#xE1;n almacenados en formato binario. Los datos pueden ser cualquier tipo de contenido.</li></ul><h2 id="chia-datalayer">Chia DataLayer</h2><h3 id="estructura-de-datos-de-un-datastore-de-chia-datalayer">Estructura de datos de un datastore de Chia DataLayer<br></h3><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/69bHAM0ObLih0RkvGx_nEDWI4ylbZuQGC15dwu78llFiGk6055zKb9nVEauvqUFefV6cDoKGTj4uI6jk-UzSw9zVhGJNdmUOQppIWd6K2gRCx7Z97P-v6ZguwNeeSVG-F7OowJKwGFN-6G3lqJY7w38" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="602" height="448"></figure><p><br>El diagrama proporciona una visi&#xF3;n esquem&#xE1;tica de c&#xF3;mo funciona un Datastore dentro de Chia DataLayer, aqu&#xED; se detallan los componentes que se presentan en el diagrama:</p><ul><li><strong>Datastore de DataLayer</strong>: Al inicio del diagrama, se encuentra el Datastore de DataLayer. Un Datastore act&#xFA;a como un repositorio para almacenar informaci&#xF3;n en forma de pares de clave y valor.<br></li><li><strong>Clave / Valor</strong>: Dentro del Datastore, los datos se almacenan como pares de clave y valor. Cada elemento almacenado tiene una clave &#xFA;nica que se utiliza para acceder y recuperar el valor asociado.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/SRuBwjAn8Yx3xmyyq5hyghwiBHVsIhEls6pGkcK48tQjCvveV76lvwxf0d_wLJUWoNrnW9KPO6jsp-y6IT77qzuQrwARj99Jpl_x4DA2P_egos1V8DO6Ya-E1T3annUmLm_8js-n4ZjHKTm11DB8byc" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="615" height="91"></figure><ul><li><strong>Datos en Hexadecimal</strong>: Los valores almacenados est&#xE1;n en formato hexadecimal. Esto significa que los datos se representan usando un sistema de numeraci&#xF3;n de base 16 que incluye los n&#xFA;meros del 0 al 9 y las letras de la A a la F.<br></li><li><strong>Archivo, Imagen, Video, etc</strong>.: Los datos en hexadecimal pueden representar diversos tipos de contenido, como archivos, im&#xE1;genes, videos, y m&#xE1;s. <br></li><li><strong>Ficheros .dat (Filesystem)</strong>: El contenido, como archivos, im&#xE1;genes, videos, etc., se almacena en ficheros con extensi&#xF3;n .dat dentro del sistema de archivos. Los archivos .dat son contenedores de datos binarios y se utilizan para almacenar informaci&#xF3;n.<br></li></ul><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/yNe01Y8MF2FCnUl53CGP2v6TeCY5C_BspQ780mAlaDK3RHtZ4Tuq8u9Z0bgM6plVmY6ClLMjijMjvQCtaIdFttl-zvv5LQSyMCAeroIDFEc6s0MNyxyMhyKjNQ3WR7Kgc9u8XL3i9_JmLN52_xxW7x4" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="743" height="236"></figure><h2 id="puesta-en-com%C3%BAn">Puesta en com&#xFA;n</h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.cripsis.xyz/content/images/2023/07/s3vsdl.png" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="1116" height="179" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/07/s3vsdl.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/07/s3vsdl.png 1000w, https://www.cripsis.xyz/content/images/2023/07/s3vsdl.png 1116w"></figure><ul><li><strong>Contenedores de Datos</strong>: Tanto Amazon S3 como Chia DataLayer act&#xFA;an como contenedores para almacenar datos. Amazon S3 utiliza &quot;Buckets&quot; mientras que Chia DataLayer utiliza &quot;Datastores&quot;.<br></li><li><strong>Estructura de Almacenamiento</strong>: En ambos sistemas, los datos se almacenan en una forma estructurada. Amazon S3 almacena datos en forma de &quot;Objetos (Blobs)&quot;, mientras que Chia DataLayer almacena datos en pares de &quot;Clave / Valor&quot; aunque finalmente terminan en ficheros .DAT a nivel de filesystem, esto sugiere que ambos sistemas permiten organizar y almacenar datos de manera estructurada.<br></li><li><strong>Los ficheros .DAT</strong> Son los que se almacenar&#xE1;n dentro de los blobs de S3.</li></ul><h3 id="requisitos-para-utilizar-amazon-s3-como-r%C3%A9plica-de-un-repositorio-de-datalayer">Requisitos para utilizar Amazon S3 como r&#xE9;plica de un repositorio de DataLayer<br></h3><ol><li><strong>Crear / reutilizar un usuario de IAM</strong> de AWS</li><li><strong>Proporcionarle el nivel de permisos necesarios</strong> para poder interactuar con los buckets de S3</li></ol><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/uiOkpPFlHUm73PcT9342p9Xk_Cq7kaGYDZB9IFeq3Bz8pIhy5CfD7Aaq8uPD802eh6AXdDIp3WBiJqibiJmpt7rdlwxP9RqSaiKY7gUF_PPQe_RtB76Ga8259JGfIh-aNxYEMdx6q6gybGizcX3B_rs" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="652" height="253"></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text">En este caso al ser solamente con fines de test he utilizado la pol&#xED;tica &#x201C;AmazonS3FullAccess&#x201D;, aunque se recomienda dar los permisos m&#xED;nimos necesarios!</div></div><p>3. &#xA0; <strong>Crear un Access Key</strong> y apuntar los tokens para poder usarlos a posteriori cuando se configure el plugin</p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/61Z-3LUHi26ab5U3d6j4dVJGeUQyvlAsUuvEVQLx2-jHLDe-CuLETv1hxHzyi9RZaPfGctuLhzyRb0sSvU0Ygrze0SB9U90CztdlduZIDosxhi4QKIjZgucJV2HUfxVb92b7IguLpy9C3oXugMLMBbI" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="643" height="367"></figure><p>4. &#xA0; Ir a la interfaz de Amazon S3 y <strong>crear un Bucket vac&#xED;o</strong> (en mi caso lo he llamado test-datalayer)</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/8Zk2RbcJfHi7W3Fdc7YeJyx0iBJQyV5JAbZRqRAFJd1WlV6nXAQxlIDgyxcLgMfyTHPuBUDmVoICA7meWS2jKR4l9YxFlnnABMCbii56i6rnoVeRhWDp90-9DMf2sfE5C59uVsWdM2vcVDet1eHBkFk" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="718" height="166"></figure><h3 id="identificar-las-dependencias">Identificar las dependencias<br></h3><ol><li>Ubicarse en el directorio .<strong>/chia/data_layer</strong> de una instalaci&#xF3;n oficial de <strong>chia-blockchain</strong>. </li><li>Localizar los siguientes ficheros:</li></ol><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/5gzuZkpsV_3u9P6IOtFGc5pIw4FtUecdZT_v00PWfHxpa2wUJsYiXU2MtM9lqKB7mfLAcll-3pemE_tpGUgMzazoPL5-wgKgJBum551TDqi15-__mAg8TS_eVMPujKCWMfmWsViP6sk3XqJLjWDky6k" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="470" height="268"></figure><p>3. &#xA0;<strong> s3_plugin_config.yml</strong>: Es el archivo de configuraci&#xF3;n donde se indican los par&#xE1;metros para configurar el plugin, adem&#xE1;s de los secretos para autenticarse con Amazon S3.</p><p>4. &#xA0; <strong>s3_plugin_service.py</strong>: Es el script del plugin que interact&#xFA;a con S3 y DataLayer, leyendo los datos del archivo de configuraci&#xF3;n s3_plugin_config.yml.</p><h3 id="preparar-la-configuraci%C3%B3n">Preparar la configuraci&#xF3;n <br></h3><p>Editar el fichero <strong>s3_plugin_config.yml </strong>y adaptarlo seg&#xFA;n necesidad. El siguiente ejemplo se utilizar&#xE1; para subir archivos desde un datastore de DL existente hacia el bucket de Amazon S3 creado previamente.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/vrKU88ecruiWY3txtrJIcpAtVA-sUM6TfSM9oIlTKezGGDWQhenhNfelLu6Cx2jCpzRR3YKWFZnssLsKApU9kgtizg2A_IhqRMT5A2LRIhJ1fDjHC3hu3utxiZC0dHC9LYPNkCiasmXN8u23sZTDX3w" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="602" height="204"></figure><pre><code class="language-yaml"># Este es el comienzo de un bloque llamado &quot;instance-1&quot;, que agrupa una configuraci&#xF3;n espec&#xED;fica para una instancia.
instance-1:
  # Define el nombre del archivo en el que se guardar&#xE1;n los registros (logs).
  log_filename: &quot;s3_plugin.log&quot;
  # Define el nivel de logging
  log_level: DEBUG
  # Especifica la ruta en el sistema de archivos donde se ubicar&#xE1;n los archivos DAT del servidor.
  server_files_location: &quot;/root/.chia/mainnet/data_layer/db/server_files_location_mainnet&quot;
  # Define el puerto en el que se ejecutar&#xE1; el servicio o la aplicaci&#xF3;n.
  port: 8998
  # Credenciales con privilegios para acceder al servicio de AWS S3
  aws_credentials:
  # ID de la clave de acceso para autenticarse en AWS.
  access_key_id: &quot;xxxxxxxxx&quot;
  # Clave de acceso secreta para autenticarse en AWS.
  secret_access_key: &quot;xxxxxxxxxxx&quot;
  # Regi&#xF3;n de AWS a la que se quiere conectar.
  region: &quot;eu-west-3&quot;
  # Bloque que contiene la configuraci&#xF3;n para trabajar con un datastore de DataLayer.
  # Si se indica un valor en upload_bucket, los archivos .DAT del datastore indicado abajo en la key store_id se subir&#xE1;n a ese bucket.
  # Si se indica un bucket de S3 en download_urls, descargar&#xE1; los archivos desde uno de esos or&#xED;genes. Debe contener el esquema de s3. Ejemplo:  
  # download_urls: [&quot;s3://cripsis-xyz-1&quot;, &quot;s3://cripsis-xyz-2&quot;]
  # Este es un elemento en una lista. Puede contener var
  # Identificador &#xFA;nico del almacenamiento.
  stores:
    - store_id: &quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58&quot;
  # Especifica el nombre del bucket en AWS S3 al cual se subir&#xE1;n archivos.
  upload_bucket: &quot;test-datalayer&quot;
  # Es una lista de URLs desde donde se pueden descargar archivos. Est&#xE1;  vac&#xED;a en este ejemplo.
  download_urls: []</code></pre><h3 id="arrancar-la-instancia">Arrancar la instancia<br></h3><p>Procedemos a arrancar la instancia instance-1 que hemos definido dentro de nuestro archivo de configuraci&#xF3;n con el siguiente comando: </p><p>python3 s3_plugin_service.py instance-1</p><pre><code class="language-bash">chia data create_data_store</code></pre><p>Como podemos observar, se debe de especificar el identificador de la instancia como primer par&#xE1;metro del script</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/OEmQ3sLM6a_FR2WQN0n857Edo3xMR4It03_o-pM_IAhT9L-qeA4qjqUAFLgyXvjaSHPy7oWFWlgYjcMNnWGumhjmBc5-u1D-jU8TJyyFHu2sEjl7nun9bk39Tr7_Br9bOaNa9LigsgBTRR7hxOSXcGI" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="602" height="71"></figure><p>Ahora que sabemos que se ha arrancado y sin errores, procedemos a ejecutarlo en segundo plano con nohup:</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/TJqshXmZiYNNggAN_bPVzVVNPxkDNt0GgWuOd8g4ca_sWxaKxx5bKPNNho0DXzc7O0sNAGdMHKlq0EbW_Ap-BJ74jMLJgDDXnDqog0GD-_aDSXFNobOB1hTM6lgk0fOwbLeVf-wOF2-cr5JwXlguz7o" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="678" height="44"></figure><pre><code class="language-bash">nohup python3 s3_plugin_service.py instance-1 &amp;</code></pre><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text">Esto no es una buena forma de mantener un servicio en un entorno productivo. Si se va a utilizar en producci&#xF3;n mejor mantener el servicio con systemd o docker por ejemplo.</div></div><h3 id="comenzar-la-subida">Comenzar la subida<br></h3><ul><li>Atendiendo a la API Rest de Chia, podemos subir iniciar la subida de los archivos con la siguiente petici&#xF3;n HTTP con curl:</li></ul><pre><code class="language-bash">curl -X POST -d &apos;{&quot;store_id&quot;: &quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58&quot;}&apos; http://127.0.0.1:8998/handle_upload</code></pre><ul><li>Modificar store_id con el ID del datastore deseado.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/6NUnPeHIIGC1xzr7qdb2iFIiFUxWxbNfnj03MNQpVVQUga0u84XsMM4yxB2gTBBWcoHsipfaylJzesHyUyf6VfkypCbB85a32mWTAuz8f_BZ3YyvGvM85dTxRbaNuYqD9IxyfxEBBAOo7OvjDOqR_ug" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="667" height="40"></figure><ul><li>Verificar que la respuesta es true.</li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x2139;&#xFE0F;</div><div class="kg-callout-text">Si tu repositorio de datos ya exist&#xED;a previamente como en mi caso, es necesario realizar un paso intermedio mediante el endpoint &#x2018;<strong>add_missing_files</strong>&#x2019;, enumerando uno a uno los archivos .DAT existentes. Ejemplo:</div></div><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/T45h5kARlx3V9FFkqRJhjFxjtaqpeet0J6FyYWBUgKzSdgzroFgaN6UBCMAnn1YqymL3ldJ4PQtZOM8hZhfZGuK9Ezduz-Fs1vRDlWNnKNpYlrK2Xe_XRAVCIKa71S5UdIn1p0WdsDbJov7cEfHX6S8" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="602" height="263"></figure><pre><code class="language-bash">curl -X POST http://127.0.0.1:8998/add_missing_files -H &apos;Content-Type: application/json&apos; -d &apos;{&quot;store_id&quot;: &quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58&quot;, &quot;files&quot;: &quot;[\&quot;c789a1dfe9cf9b5e1650cabd2b3eb96451806bc0961a0e9e3611ac9bf9909f58-167b588260e9d2f5f48adedb52af84e48b5a047fdfb862bb9836a8a2ae984ff5-delta-7-v1.0.dat\&quot;, \&quot;etc.dat\&quot;]&quot;}&apos;</code></pre><p>Los nuevos archivos que se vayan generando deber&#xED;an de subirse tras volver a ejecutar el commando <code>handle_upload</code> visto anteriormente.</p><h3 id="verificar-los-datos-en-s3">Verificar los datos en S3</h3><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/9ZhreQO8M3LRJtI9PP_LN_P-lIyyRZ0yglTULJ8X1puyF57W0kY160fow7o08pOViR5soqJE2pyCMYbawxqyPhWxqLi4V7-0ULt06Mk5g3xL_v74QvB1vvrkkYorn137Y614-l33EWVkK86MxbbcrgQ" class="kg-image" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?" loading="lazy" width="631" height="331"></figure><p>Podemos ver que los datos ya se han subido de forma correcta!</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text"><em>Gracias por tomar el tiempo de leer este art&#xED;culo. Espero que haya sido de tu agrado y que hayas encontrado en &#xE9;l informaci&#xF3;n &#xFA;til y valiosa. </em><br><br><em>Crear y compartir contenido de calidad requiere tiempo y esfuerzo. Si aprecias mi trabajo y te gustar&#xED;a ver m&#xE1;s de &#xE9;l, considera hacer una peque&#xF1;a donaci&#xF3;n. </em><br><br><em>Cada contribuci&#xF3;n, por peque&#xF1;a que sea, hace una gran diferencia y me ayuda a continuar con este trabajo que tanto disfruto.</em><br><br><em>Si tienes cualquier tipo de sugerencia o quisieras que hablara de alg&#xFA;n tema en concreto, &#xA1;h&#xE1;zmelo saber!</em></div></div><!--kg-card-begin: html--><!DOCTYPE html>
<html>
<head>
    <title>Bot&#xF3;n de Donaci&#xF3;n XCH</title>
    <style>
        /* Estilos adicionales para mejorar la usabilidad móvil */
        @media screen and (max-width: 600px) {
            body {
                font-size: 16px;
            }

            #donationButton {
                font-size: 18px;
                margin-top: 10px;
            }

            .donationForm input {
                font-size: 16px;
                margin-right: 10px;
                margin-bottom: 10px;
            }

            #donationButton img {
                height: 24px;
                width: 24px;
            }
        }

        /* Estilos comunes para dispositivos móviles y escritorio */
        #donationButton {
            background-color: #4CAF50;
            /* Resto de estilos */
        }

        /* Resto de estilos */
    </style>
    <script>
        // Función para cargar los scripts solo en dispositivos no móviles
        function loadScripts() {
            const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
            if (!isMobile) {
                const script = document.createElement('script');
                script.src = "https://cdn.jsdelivr.net/npm/@gobyhq/goby-wallet@latest/dist/browser.js";
                document.head.appendChild(script);
            }
        }

        // Ejecutar la función al cargar la página
        window.onload = function() {
            loadScripts();

            document.getElementById('donationForm').onsubmit = function(event) {
                event.preventDefault(); // previene el comportamiento por defecto del formulario

                let amount = document.getElementById('amount').value;
                amount = parseFloat(amount) * 1000000000000; // Convertir XCH a Mojos
                const params = {
                    "to": "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605",
                    "amount": amount.toString(),
                    "memos": [toHex("Gracias por su donación!!")], 
                    "assetId": "",
                };
                window.chia.request({ method: "transfer", params });
            }

            function toHex(txt) {
                const encoder = new TextEncoder();
                return Array
                    .from(encoder.encode(txt))
                    .map(b => b.toString(16).padStart(2, '0'))
                    .join('')
            }
        };
    </script>
</head>
<body>
    <form id="donationForm" class="donationForm">
        <label for="amount">Quantity (XCH): </label>
        <input type="number" id="amount" name="amount" min="0.1" step="0.1" value="0.1" placeholder="Cantidad de XCH">
        <button id="donationButton">
            <img src="https://docs.goby.app/favicon-32x32.png" alt="Chia DataLayer - &#xBF;C&#xF3;mo funciona la integraci&#xF3;n con Amazon S3?">
            Donate some Chias :)
        </button>
    </form>
</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Chia XCH Wallet Dealer: An Essential Tool for Co-Farming Projects]]></title><description><![CDATA[This project is particularly well-suited for co-farming scenarios where there's a need to distribute mined XCH among several participants. ]]></description><link>https://www.cripsis.xyz/chia-xch-wallet-dealer-an-essential-tool-for-co-farming-projects/</link><guid isPermaLink="false">646a2734a9679f0058ffe841</guid><category><![CDATA[chia]]></category><category><![CDATA[xch]]></category><category><![CDATA[python]]></category><category><![CDATA[blockchain]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Tue, 30 May 2023 16:31:51 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/05/chia-wallet-dealer.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.cripsis.xyz/content/images/2023/05/chia-wallet-dealer.png" alt="Chia XCH Wallet Dealer: An Essential Tool for Co-Farming Projects"><p>Greetings to all blockchain enthusiasts and especially those involved in co-farming projects!</p><p>Today, I&apos;m excited to introduce a new utility designed specifically to streamline the management of your Chia XCH co-farming rewards. Meet the <strong>Chia RPC XCH Wallet Dealer</strong>. </p><p>This project is particularly well-suited for <strong><em>co-farming</em> scenarios</strong> where there&apos;s a need to distribute mined XCH among several participants. The tool fractionates and dispatches XCH from an existing, synced chia wallet to multiple wallet destinations, doing so in line with partition rules set in a configuration file. This enables you to define the precise distribution percentages for each participant, based on the agreed terms. </p><p>Please note that this tool is currently developed and tested exclusively with the official chia-blockchain project.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">&#x1F98A;</div><div class="kg-callout-text">To start with this tool, go to the next github repository:<br><a href="https://github.com/cripsisxyz/chia-wallet-rpc-xch-dealer">https://github.com/cripsisxyz/chia-wallet-rpc-xch-dealer</a> and clone it!</div></div><p>In order to get started, you will need a wallet listening via RPC Protocol, built with a default installation, as well as the Python interpreter (3.x) installed on your system. It&apos;s recommended to use pipenv for installing all necessary library dependencies, which you can install with <code>pip3 install pipenv</code>.</p><p>The usage is straightforward. Install the environment with <code>pipenv install</code>, then enter the environment with <code>pipenv shell</code>. You can also execute <code>xchdealer</code> without entering the environment by using <code>pipenv run python xchdealer.py [params]</code>.</p><p>The configuration of the tool involves editing the <code>config_example.yaml</code> file to suit your needs. You can then simulate the transactions to display dealing results, check the configuration, or identify the id of the source wallet by running <code>python xchdealer.py -f config_example.yaml -m simulate</code>. If you&apos;re happy with the simulated results, you can execute the real transactions by running <code>python xchdealer.py -f config_example.yaml -m execute</code>.</p><p>But this is just the beginning. We are committed to making the Chia XCH Wallet Dealer even more versatile and user-friendly, and are thrilled to announce that we are currently working on introducing webhook support. This new feature will allow the tool to interface seamlessly with popular platforms like Telegram and Discord, providing real-time updates and notifications for a more convenient and controllable experience.</p><p>Stay tuned for this exciting update! We are confident that this upcoming feature will further cement the Chia XCH Wallet Dealer as an indispensable tool in the Chia co-farming world. Happy trading, and thank you for your continued support!</p>]]></content:encoded></item><item><title><![CDATA[DBeans 🌱 - Alpha Release announcement]]></title><description><![CDATA[DBeans is an application that seeks to bring the user and the developer of other applications to the Chia ecosystem. It offers them a series of tools to discover new projects built on Chia and DataLayer. ]]></description><link>https://www.cripsis.xyz/dbeans-alpha-release-anunciado/</link><guid isPermaLink="false">642c89aaa9679f0058ffe73f</guid><category><![CDATA[blockchain]]></category><category><![CDATA[chia]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[dbeans]]></category><category><![CDATA[open source]]></category><category><![CDATA[web3]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Wed, 05 Apr 2023 07:19:02 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/04/Captura-de-pantalla-2023-04-04-a-las-22.33.57.png" medium="image"/><content:encoded><![CDATA[<h2 id="introduction">Introduction</h2><img src="https://www.cripsis.xyz/content/images/2023/04/Captura-de-pantalla-2023-04-04-a-las-22.33.57.png" alt="DBeans &#x1F331; - Alpha Release announcement"><p>Welcome to the launch of DBeans Release Alpha!</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x27A1;&#xFE0F;</div><div class="kg-callout-text">Access the application now from <a href="https://dbeans.app">https://dbeans.app</a>!</div></div><p><strong>DBeans</strong> is an application that seeks to bring the <strong>user and the developer</strong> of other applications to the <strong>Chia ecosystem. </strong>It offers them a series of tools to <strong>discover new projects</strong> built on <strong>Chia and DataLayer.</strong> DBeans introduces two new features in this release, that will allow the exploration and scanning of existing projects.</p><p>Very shortly, the idea is that a user, thanks to their portfolio, can <strong>certify the ownership of an application or project within the Chia ecosystem</strong> in exchange for an <strong>NFT</strong> that will give them management privileges on the project. The certification process always requires a &#xA0;full scan of the project or application data store to be performed beforehand. This scanning process is always carried out at the request of the user from the corresponding section within the application.</p><p>These are the features included in this release:</p><h2 id="bulletin-board">Bulletin Board</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/04/image.png" class="kg-image" alt="DBeans &#x1F331; - Alpha Release announcement" loading="lazy" width="1247" height="593" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/04/image.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/04/image.png 1000w, https://www.cripsis.xyz/content/images/2023/04/image.png 1247w" sizes="(min-width: 720px) 720px"><figcaption>Tabl&#xF3;n de anuncios de DBeans</figcaption></figure><p>The first feature available in this release is a &quot;bulletin board&quot; to list <strong>DBeans-certified projects</strong>. This will allow Chia project creators to <strong>promote their projects</strong> and offer a view thanks to which, users can easily find them. In addition, the bulletin board permits users to discover new initiatives and to collaborate with them by knowing the exciting data stores and mirrors.</p><h2 id="datastore-scanning">Datastore scanning</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/04/image-1.png" class="kg-image" alt="DBeans &#x1F331; - Alpha Release announcement" loading="lazy" width="1315" height="716" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/04/image-1.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/04/image-1.png 1000w, https://www.cripsis.xyz/content/images/2023/04/image-1.png 1315w" sizes="(min-width: 720px) 720px"><figcaption>Herramienta de escaneo de datastores de DBeans</figcaption></figure><p>The second feature of the Alpha Release is <strong>examining and scanning</strong> <strong>DataLayer data stores</strong>. This will initially allow the user to send a scan of their data stores by entering only the datastore ID and a mirror. Note that this process may take several minutes before a result is returned and that if the datastore is not correctly available, the operation may not finish.</p><p>These are some of the insights that are collected in the scanning process:</p><ul><li>Number of keys stored</li><li>Keys stored</li><li>Password change history </li><li>Available mirrors</li></ul><h2 id="future">Future</h2><p>In the future, our vision is to be a complete ecosystem of administration and creation of initiatives and documentation on Chia, to facilitate access and understanding of its operation for both, the user and the developer. In addition, we want to be a bridge between Chia and the business world, allowing integrations between Chia and the current needs of the IT world.</p><h2 id="conclusion">Conclusion</h2><p>In short, DBeans is presented as an essential tool for those interested in the Chia ecosystem and the administration and management of Chia projects. </p><p>With its Alpha Release, DBeans offers functionalities for better exploration and management of existing projects and, in the future, promises to be a complete ecosystem of administration and creation of initiatives and documentation on Chia. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F426;</div><div class="kg-callout-text"><a href="https://twitter.com/cripsisxyz">Follow us on Twitter and don&apos;t miss anything!</a></div></div>]]></content:encoded></item><item><title><![CDATA[DBeans 🌱 - Alpha Release anunciado]]></title><description><![CDATA[DBeans es una aplicación que busca acercar al usuario y al desarrollador de otras aplicaciones al ecosistema de Chia, ofreciéndoles una serie de herramientas para descubrir nuevos proyectos construidos sobre Chia y DataLayer.]]></description><link>https://www.cripsis.xyz/es/dbeans-release-alpha-anuncio/</link><guid isPermaLink="false">642aa2fda9679f0058ffe68d</guid><category><![CDATA[blockchain]]></category><category><![CDATA[chia]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[dbeans]]></category><category><![CDATA[open source]]></category><category><![CDATA[web3]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Wed, 05 Apr 2023 07:18:56 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2023/04/dbeans-logo--fondo-2.png" medium="image"/><content:encoded><![CDATA[<h2 id="introducci%C3%B3n">Introducci&#xF3;n</h2><img src="https://www.cripsis.xyz/content/images/2023/04/dbeans-logo--fondo-2.png" alt="DBeans &#x1F331; - Alpha Release anunciado"><p>&#xA1;Bienvenidos al lanzamiento de la Release Alpha de DBeans! </p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x27A1;&#xFE0F;</div><div class="kg-callout-text">Accede ya a la aplicaci&#xF3;n desde <a href="https://dbeans.app">https://dbeans.app</a>!</div></div><p><strong>DBeans</strong> es una aplicaci&#xF3;n que busca acercar al <strong>usuario y al desarrollador</strong> de otras aplicaciones al <strong>ecosistema de Chia</strong>, ofreci&#xE9;ndoles una serie de herramientas <strong>para descubrir nuevos proyectos</strong> construidos <strong>sobre Chia y DataLayer</strong>. En esta versi&#xF3;n, DBeans presenta dos nuevas funcionalidades que permitir&#xE1;n exploraci&#xF3;n y escaneo de proyectos existentes.</p><p>En un futuro muy pr&#xF3;xima, la idea es que un usuario gracias a su cartera pueda <strong>certificar la propiedad de una aplicaci&#xF3;n o proyecto dentro del ecosistema de Chia</strong> a cambio de <strong>un NFT</strong> que le brindar&#xE1; privilegios de administraci&#xF3;n sobre el proyecto. El proceso de certificaci&#xF3;n siempre requiere que se realice previamente un escaneo completo del datastore del proyecto o de la aplicaci&#xF3;n correspondiente. Dicho proceso de escaneo se realiza siempre a petici&#xF3;n del usuario desde el apartado correspondiente dentro de la aplicaci&#xF3;n.</p><p>Estas son las funcionalidades inclu&#xED;das en esta release:</p><h2 id="tabl%C3%B3n-de-anuncios">Tabl&#xF3;n de anuncios</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/04/image.png" class="kg-image" alt="DBeans &#x1F331; - Alpha Release anunciado" loading="lazy" width="1247" height="593" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/04/image.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/04/image.png 1000w, https://www.cripsis.xyz/content/images/2023/04/image.png 1247w" sizes="(min-width: 720px) 720px"><figcaption>Tabl&#xF3;n de anuncios de DBeans</figcaption></figure><p>La primera funcionalidad disponible en esta release es un &quot;tabl&#xF3;n de anuncios&quot; para <strong>listar los proyectos certificados por DBeans</strong>. Esto permitir&#xE1; a los creadores de proyectos de Chia <strong>dar a conocer sus proyectos</strong> y ofrecer una vista para que los usuarios puedan encontrarlos f&#xE1;cilmente. Adem&#xE1;s, el tabl&#xF3;n de anuncios permite a los usuarios descubrir nuevas iniciativas y poder colaborar con ellas al conocer los datastores exitentes y sus espejos.</p><h2 id="escaneo-de-datastores">Escaneo de datastores</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2023/04/image-1.png" class="kg-image" alt="DBeans &#x1F331; - Alpha Release anunciado" loading="lazy" width="1315" height="716" srcset="https://www.cripsis.xyz/content/images/size/w600/2023/04/image-1.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2023/04/image-1.png 1000w, https://www.cripsis.xyz/content/images/2023/04/image-1.png 1315w" sizes="(min-width: 720px) 720px"><figcaption>Herramienta de escaneo de datastores de DBeans</figcaption></figure><p>La segunda funcionalidad de la Release Alpha es la <strong>exploraci&#xF3;n y escaneo de datastores de DataLayer</strong>. Esto le permitir&#xE1; <strong>inicialmente</strong> al usuario lanzar una exploraci&#xF3;n de sus datastores introduciendo &#xFA;nicamente el ID del datastore y un mirror. Tenga en cuenta que este proceso puede durar varios minutos antes de arrojar un resultado y de que de no estar correctamente disponibilizado el datastore es posible que el proceso no finalice.</p><p>Estos son algunos de los insights que se recogen en el proceso de escaneo:</p><ul><li>Cantidad de claves almacenadas</li><li>Claves almacenadas</li><li>Historial de cambios de las claves</li><li>Mirrors disponibles</li></ul><h2 id="futuro">Futuro</h2><p>En el futuro, nuestra visi&#xF3;n es ser un ecosistema completo de administraci&#xF3;n y creaci&#xF3;n de iniciativas y documentaci&#xF3;n sobre Chia, para facilitar el acceso y la comprensi&#xF3;n de su funcionamiento tanto para el usuario como para el desarrollador. Adem&#xE1;s, queremos ser un puente entre Chia y el mundo empresarial, permitiendo integraciones entre Chia y las necesidades actuales del mundo IT.</p><h2 id="conclusi%C3%B3n">Conclusi&#xF3;n</h2><p>En conclusi&#xF3;n, DBeans se presenta como una herramienta imprescindible para aquellos interesados en el ecosistema de Chia y en la administraci&#xF3;n y gesti&#xF3;n de proyectos de Chia. Con su Release Alpha, DBeans ofrece funcionalidades para una mejor exploraci&#xF3;n y administraci&#xF3;n de los proyectos existentes y, en el futuro, promete ser un ecosistema completo de administraci&#xF3;n y creaci&#xF3;n de iniciativas y documentaci&#xF3;n sobre Chia. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F426;</div><div class="kg-callout-text"><a href="https://twitter.com/cripsisxyz">S&#xED;guenos en Twitter y no pierdas el hilo</a>!</div></div>]]></content:encoded></item><item><title><![CDATA[Chia 🌱 - DataPlayer, work with DataLayer like a human]]></title><description><![CDATA[Simplify interaction with Chia DataLayer, encrypt and decrypt your data with a password using this tool]]></description><link>https://www.cripsis.xyz/chia-dataplayer-work-with-datalayer-like-a-human/</link><guid isPermaLink="false">6364feeee5eb59005878a631</guid><category><![CDATA[blockchain]]></category><category><![CDATA[chia]]></category><category><![CDATA[bbdd]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[python]]></category><category><![CDATA[web3]]></category><category><![CDATA[xch]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Sun, 27 Nov 2022 17:56:57 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2022/11/dp_pres_header-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.cripsis.xyz/content/images/2022/11/dp_pres_header-1.png" alt="Chia &#x1F331; - DataPlayer, work with DataLayer like a human"><p></p><ul><li>Working with hexadecimal data is not convenient to manage, both for reading and writing</li><li>That anyone who subscribes to your datastore can see the raw data can be a compromise</li></ul><p><strong>DataPlayer</strong> is a tool that comes to cover these problems, it allows reading and writing data in DataLayer with <strong>human language</strong>, functioning as a <strong>bridge between the user and Chia DL.</strong></p><h2 id="encoding-and-encryption-with-cose">Encoding and encryption with COSE</h2><p><a href="https://pycose.readthedocs.io/en/latest/">(CBOR Object Signing and Encryption)</a> It is a data format for concise message representation. It is optimized for energy-efficient devices. COSE messages can be encrypted, MAC used, and signed. The DataPlayer currently only works with MAC0 encryption. </p><p></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2022/11/image-1.png" class="kg-image" alt="Chia &#x1F331; - DataPlayer, work with DataLayer like a human" loading="lazy" width="668" height="363" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/11/image-1.png 600w, https://www.cripsis.xyz/content/images/2022/11/image-1.png 668w"><figcaption>Operation Diagram of dataplayer</figcaption></figure><h2 id="repository">Repository</h2><p>You can find the repository with the original code on my Github.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F431;</div><div class="kg-callout-text"><a href="https://github.com/cripsisxyz/chia-dataplayer">https://github.com/cripsisxyz/chia-dataplayer</a></div></div><h2 id="requirement">Requirement</h2><p>A <strong>python3</strong> interpreter and the <strong>pipenv</strong> library, to create and use the virtual environment.</p><pre><code class="language-bash">pip3 install pipenv</code></pre><h2 id="use">Use</h2><h3 id="environment">Environment</h3><p>Install the environment with</p><pre><code class="language-bash">pipenv install</code></pre><p>Access the environment with</p><pre><code class="language-bash">pipenv shell</code></pre><p>You can also directly run datalayer without entering the environment:</p><pre><code class="language-bash">pipenv run python dataplayer --help

usage: dataplayer datastore [-h] ...
...</code></pre><h3 id="configuration">Configuration</h3><p>The config.yaml file is loaded (at the root of the project) by default. Edit it if you are not using DataPlayer on the same machine as the Chia operating node.</p><p>Structure <code>config.yaml</code>:</p><pre><code class="language-yaml">---
rpc_connector: 
  host: &quot;localhost&quot; #Host of the wallet
  private_wallet_cert_path: &quot;~/.chia/mainnet/config/ssl/wallet/private_wallet.crt&quot; #Private certificate to connect with RPC
  private_wallet_key_path: &quot;~/.chia/mainnet/config/ssl/wallet/private_wallet.key&quot; #Key of the certificate to connect with RP
  service_ports: 
    wallet: 9256 #TCP Port of wallet RPC
    datalayer: 8562 #TCP Port of datalayer RPC
  service_wallets: 
    chia: 1 #ID of Chia wallet (default)
    datalayer: 2 #ID of datalayer wallet (default)

log_level: &quot;WARNING&quot; #Log level (DEBUG, INFO, WARNING, ERROR) (default WARNING)</code></pre><p><strong>File .env</strong></p><p>If you plan to use the COSE codec, edit the .env file and correctly set the <code>COSE_KEY</code> environment variable, following the same <strong>32 characteres</strong> HMAC-SHA-MD5 key format. </p><pre><code class="language-bash">cat .env
COSE_KEY=03d4f7f0611f28563a318c64f8b0852b</code></pre><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text">If you do not specify an environment variable key, the default key will be use</div></div><h3 id="argument">Argument</h3><pre><code class="language-bash">usage: dataplayer datastore [-h] --id ID [--codec {hex,cose}] --action {update_key,read_key,list_keys} [--key KEY] [--value VALUE]
                            [--cose-ph COSE_PH [COSE_PH ...]] [--cose-uh COSE_UH [COSE_UH ...]]

optional arguments:
  -h, --help            show this help message and exit
  --id ID, -i ID        Datastore ID
  --codec {hex,cose}, -c {hex,cose}
                        Encoding type for reading or updating (default hex)
  --action {update_key,read_key,list_keys}, -a {update_key,read_key,list_keys}
                        Action to execute over datastore (required)
  --key KEY, -k KEY     Key of selection (required for read_key, update_key actions)
  --value VALUE, -v VALUE
                        Value for update_key action (optional)
  --cose-ph COSE_PH [COSE_PH ...], -cph COSE_PH [COSE_PH ...]
                        List of protected headers to store for update_key action and cose codec (optional). Format: FOO=BAR ABC=XYZ
  --cose-uh COSE_UH [COSE_UH ...], -cuh COSE_UH [COSE_UH ...]
                        List of unprotected headers to store for update_key action and cose codec (optional). Format: FOO=BAR ABC=XYZ</code></pre><h3 id="examples-of-use">examples of use</h3><p><strong>List keys from a datastore</strong></p><pre><code class="language-bash">./dataplayer datastore --id=&quot;2530caa7911d0c7c3b93f53927f0fd5bf18b82ac290f4476e26e5b3c32e8526c&quot; -a &quot;list_keys&quot;
{
  &quot;keys&quot;: [
    &quot;key1&quot;,
    &quot;humanized_key&quot;,
    &quot;other_key&quot;,
    &quot;encoded_key&quot;
  ],
  &quot;success&quot;: true
}</code></pre><p><strong>Update keys with default HEX encoding</strong></p><pre><code class="language-bash">./dataplayer datastore --id=&quot;2530caa7911d0c7c3b93f53927f0fd5bf18b82ac290f4476e26e5b3c32e8526c&quot; -a &quot;update_key&quot; -k &quot;humanized_key&quot; -v &quot;hello world&quot; -c hex
</code></pre><pre><code class="language-json">{
  &quot;success&quot;: true,
  &quot;tx_id&quot;: &quot;0x1ba3397f6e51a16e03244d4015bfcce6d598053db91c3ace6c036e038a006f5e&quot;
}</code></pre><p><strong>Update keys with COSE encoding and encryption</strong></p><pre><code class="language-bash">./dataplayer datastore --id=&quot;2530caa7911d0c7c3b93f53927f0fd5bf18b82ac290f4476e26e5b3c32e8526c&quot; -a &quot;update_key&quot; -k &quot;encoded_key&quot; -v &quot;hello worrldd&quot; -c cose -cph a_protected_header=secret_value -cuh an_unprotected_header=public_value
</code></pre><pre><code class="language-json">{
  &quot;success&quot;: true,
  &quot;tx_id&quot;: &quot;0xaecb1953cdbdb5c2294591c0538c6315c5f2fcfe8fcebf1418680b25271943ad&quot;
}
</code></pre><p><strong>Read keys with default HEX encoding</strong></p><pre><code class="language-bash">./dataplayer datastore --id=&quot;2530caa7911d0c7c3b93f53927f0fd5bf18b82ac290f4476e26e5b3c32e8526c&quot; -a &quot;read_key&quot; -k &quot;humanized_key&quot; -c hex</code></pre><pre><code class="language-json">{
  &quot;success&quot;: true,
  &quot;value&quot;: &quot;hello world&quot;
}</code></pre><p><strong>Read keys with COSE encoding and encryption</strong></p><pre><code class="language-bash">./dataplayer datastore --id=&quot;2530caa7911d0c7c3b93f53927f0fd5bf18b82ac290f4476e26e5b3c32e8526c&quot; -a &quot;read_key&quot; -k &quot;encoded_key&quot; -c cose</code></pre><pre><code class="language-json">{
  &quot;success&quot;: true,
  &quot;value&quot;: {
    &quot;payload&quot;: &quot;hello worrldd&quot;,
    &quot;protected_headers&quot;: {
      &quot;a_protected_header&quot;: &quot;secret_value&quot;
    },
    &quot;unprotected_headers&quot;: {
      &quot;an_unprotected_header&quot;: &quot;public_value&quot;
    }
  }
}</code></pre>]]></content:encoded></item></channel></rss>