<?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[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>Cripsis XyZ - Your Gateway to IT, Web3 and Blockchain</title><link>https://www.cripsis.xyz/</link></image><generator>Ghost 5.17</generator><lastBuildDate>Wed, 06 May 2026 10:27:35 GMT</lastBuildDate><atom:link href="https://www.cripsis.xyz/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><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 - 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[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 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 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[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><item><title><![CDATA[Chia 🌱 - DataLayer, getting started tutorial using the CLI on Linux]]></title><description><![CDATA[It's time to get down to work and start working on a data replication scenario between two Chia hosts with Data Layer]]></description><link>https://www.cripsis.xyz/chia-datalayer-getting-started-tutorial-using-cli/</link><guid isPermaLink="false">63714a83657c0600679e2165</guid><category><![CDATA[blockchain]]></category><category><![CDATA[chia]]></category><category><![CDATA[Chia Datalayer]]></category><category><![CDATA[decentralization]]></category><category><![CDATA[bbdd]]></category><category><![CDATA[xch]]></category><category><![CDATA[web3]]></category><category><![CDATA[p2p]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Thu, 27 Oct 2022 09:28:00 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2022/11/dl_tutorial_header.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.cripsis.xyz/content/images/2022/11/dl_tutorial_header.png" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux"><p>In <a href="https://www.cripsis.xyz/es/chia-datalayer-base-datos-descentralizada/">the last article</a>, we talked about Chia DataLayer, a general use and public decentralized database that means a technological paradigm little seen since then.</p><h2 id="introduction">Introduction</h2><p>It&#x2019;s the moment to get down to work and start working on a basic stage where we have two hosts with an <strong>installation of the <a href="https://github.com/Chia-Network/chia-blockchain">official blockchain of Chia</a></strong>. </p><p>The steps will be realized through a <strong>Command-line interface (CLI) in a Linux environment</strong>. </p><p>One of the hosts will be shaped as a publisher and create a datastore and a mirror when we post raw data. The other host will be shaped as an observer and will be subscribed to the previously created datastore, then, we realized tests to check the data synchronisation.</p><h2 id="1-requirements">1. Requirements</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.cripsis.xyz/content/images/2022/11/image-2.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="569" height="456"><figcaption>Tutorial final scenario</figcaption></figure><blockquote><em>Instructions for <strong>both hosts</strong></em></blockquote><ul><li>Two Linux machines with the distribution of your choice, prepared with the latest available version of the Chia blockchain. Clone the <u><a href="https://github.com/Chia-Network/chia-blockchain">Chia-Network/chia-blockchain</a></u>&#x2003;git repository to a directory (e.g. in /etc).</li></ul><pre><code class="language-bash">sudo git clone https://github.com/Chia-Network/chia-blockchain.git /etc/chia-blockchain</code></pre><ul><li>Install it following the <a href="https://github.com/Chia-Network/chia-blockchain/wiki/INSTALL">instructions of the wiki</a> depending on the distribution that corresponds.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text">Always verify that we are using the <a href="https://github.com/Chia-Network/chia-blockchain">official repository</a> to install Chia, in order to avoid downloading malicious code</div></div><ul><li>For each Chia installation, have a <strong>standard wallet synchronized </strong>(it is not necessary to have a synchronized full node).</li><li>Choose the host and wallet that will create the datastore and make sure you have at least 0.1 XCH (100000000000 Mojo) in it as they will be needed to create the datastore. If the amount is not available, it is recommended to <u><a href="https://www.cripsis.xyz/es/chia-la-forma-facil-de-comprar-xch-y-transferirlos-a-tu-propia-wallet/">follow the instructions below</a></u> to achieve this in approximately 10min.</li><li>A mirror will be available on the publisher machine for the data publishing process, make sure there is no firewall interrupting incoming communications to <strong>TCP port 8575</strong> on that machine.</li></ul><p>As an example, the galixeon machine will assume the role of publisher and galichia will become a subscriber.</p><p>We access the publisher machine via a command-line interface, locate ourselves in the directory where the chia-blockchain repository was cloned, and activate the Python virtual environment with the command <code>. ./activate</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/11/image-3.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="501" height="45"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text">If this is a new Chia installation, it will be necessary to pre-execute the <code>chia init</code> command and follow the instructions to generate the initial configuration and generate the key strings necessary for blockchain operation.</div></div><h2 id="2-enable-services">2. Enable services</h2><blockquote><em>Instructions for <strong>both hosts</strong></em></blockquote><p>To interact with the parties involved inDataLayerfunctioning, it is necessary to enable wallet and data services, using the following command:</p><pre><code class="language-bash">chia start data wallet</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-2.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="585" height="59"></figure><h2 id="3-wallets-check">3. Wallets check</h2><blockquote><em>Instructions for <strong>both hosts</strong></em></blockquote><p>Once the services are started, we verify that we have two wallets: A STANDARD WALLET and a Data LAYER wallet. The wallets must be synchronized with the Chia network, otherwise,it will not be possible to perform network operations. We execute the following command:</p><pre><code class="language-bash">chia wallet show</code></pre><p>If the word Synced appears we are ready to operate, in case the status wasSyncing, it is necessary to wait for it to finish synchronise.</p><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-3.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="938" height="359" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-3.png 600w, https://www.cripsis.xyz/content/images/2022/10/image-3.png 938w" sizes="(min-width: 720px) 720px"></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">As we have mentioned in the <u><a href="#1-requisitos">Requirements section</a></u>, verify that the standard wallet of the Publisher machine contains at least 0.1 XCH since otherwise, it will not be possible to create datastores, remember that this amount will be returned to the wallet when the datastore will be removed. If the required quantity is not available it is recommended to follow the <a href="https://www.cripsis.xyz/chia-la-forma-facil-de-comprar-xch-y-transferirlos-a-tu-propia-wallet/">i<u>nstructions below</u></a> to achieve this in approximately 10min.</div></div><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F331;</div><div class="kg-callout-text">All wallets operate with the same address or public key. If it is necessary to know the address to send XCH simply execute: <code>chia wallet get_address</code>.</div></div><h2 id="4-create-a-datastore">4. Create a datastore</h2><blockquote><em>Instructions for <strong>publisher host</strong></em></blockquote><p>Okay! We are ready to create our first Chia datastore. We have just to execute the following command:</p><pre><code class="language-bash">chia data create_data_store</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-4.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1559" height="525" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-4.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-4.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-4.png 1559w" sizes="(min-width: 720px) 720px"></figure><p>We&apos;ll see a lot of information in the output; if everything went right, it will be very similar to the previous capture. We&apos;ll just keep the datastore ID, copy it and save it.</p><p>If you need to consult again the datastore ID, run <code>chia data get_owned_stores</code>.</p><h2 id="5-hello-world">5. Hello World</h2><h3 id="data-publication">Data publication</h3><blockquote><em>Instruction for <strong>publisher host</strong></em></blockquote><p>We return to our Publisher host and we will try to create a dataset to test the replication process. To do this we will publish a key-valuedata set. Data travelling through the Data Layer can <strong>only be of a hexadecimal type</strong> so everything we want to publishonthe data repository will need to be transformed before sending it.</p><p>Simply adapt the <code>DATASTORE ID</code>, <code>KEY</code> and <code>VALUE</code> variables to the desired values, copy and paste the instructions to create a simple data entry. The <code>xxd</code> command is responsible for converting to hexadecimal in the correct format.</p><pre><code class="language-bash">DATASTORE_ID=&quot;ddc4b7bd618cfdaba43c467d26b20677d2874fe23b883deefae1bb524ddd5ad2&quot;
CLAVE=&quot;CRIPSISXYZ&quot;
VALOR=&quot;HOLA MUNDO!&quot;

chia data update_data_store --id=$DATASTORE_ID -d &quot;[{\&quot;action\&quot;:\&quot;insert\&quot;, \&quot;key\&quot;:\&quot;$(xxd -pu &lt;&lt;&lt; $CLAVE)\&quot;, \&quot;value\&quot;:\&quot;$(xxd -pu &lt;&lt;&lt; $VALOR)\&quot;}]&quot;</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-6.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1347" height="97" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-6.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-6.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-6.png 1347w" sizes="(min-width: 720px) 720px"></figure><p>The output must contain the field <code>{&apos;success&apos;: True}</code>. We can observe the key tx id that indicates the transaction identifier, which is public within the blockchain.</p><p>You can view the transaction status and related details by searching for the transaction ID on <u><a href="https://xchscan.com/">xchscan.com</a></u>.</p><h3 id="data-inclusion-check">Data inclusion check</h3><blockquote><em>Instruction for <strong>publisher host</strong></em></blockquote><p>We will verify that the data has been included in the blockchain and that the unique hash that identifies the change and its content have been generated:</p><pre><code class="language-bash">chia data get_root_history --id=DATASTORE_ID</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-7.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1047" height="110" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-7.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-7.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-7.png 1047w" sizes="(min-width: 720px) 720px"></figure><p>As we can see in the output, we have a json with three elements (the first element is the root and always autogenerated), which are the number of transactions that have been generated for that datastore and each element, if the transaction is confirmed, the <strong>inclusion proof</strong> (the hash) and a timestamp of when the transaction was validated.</p><h2 id="6-mirror-creation">6. Mirror creation</h2><p>Now that we know how to log transactions within the blockchain and check their inclusion, it is time for the data from the datastore willbe replicable to other chia nodes. To do this it is necessary to create a mirror that pointsto the identifier of the datastore which we will connect retrospectively from the host subscriber.</p><h3 id="start-the-service">Start the service</h3><p>We start by <strong>starting the mirror service</strong> called <code>data_layer_http</code> which will be available through TCP port 8575. If you have a domain name that points to the publisher machine, you can use that name. Otherwise, use the public IP directly.</p><pre><code class="language-bash">chia start data_layer_http</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-9.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="644" height="41" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-9.png 600w, https://www.cripsis.xyz/content/images/2022/10/image-9.png 644w"></figure><h3 id="add-the-mirror">Add the mirror</h3><p>We run the following command in which we specify whit <code>-i</code> the ID of the datastore, with <code>-u</code> the FQDN or IP that points to the host and whit <code>-a</code> small number of Mojos. This parameter serves to decide the choosing priority of the mirror in the case of having multiple mirrors for a datastore.</p><pre><code class="language-bash">chia data add_mirror -i DATASTORE_ID -u http://NOMBRE_O_IP:8575 -a 1000</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-8.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1568" height="40" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-8.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-8.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-8.png 1568w" sizes="(min-width: 720px) 720px"></figure><h2 id="7-subscribe-to-the-datastore">7. Subscribe to the datastore</h2><blockquote><em>Instruction for <strong>subscriber host</strong></em></blockquote><p>Now it is the turn of the subscriber machine to subscribe to the newly created datastore and mirror. To do this, run the following command and replace STORE ID with the previously created datastore ID:</p><pre><code class="language-bash">chia data subscribe -store STORE_ID -u http://NOMBRE_O_IP:8575</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-10.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="936" height="57" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-10.png 600w, https://www.cripsis.xyz/content/images/2022/10/image-10.png 936w" sizes="(min-width: 720px) 720px"></figure><h3 id="data-inclusion-test">Data inclusion test</h3><p>Let&apos;s verify that the data has been successfully replicated through DataLayer, from the subscriber host. We run again:</p><pre><code class="language-bash">chia data get_root_history --id=DATASTORE_ID</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-11.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1092" height="110" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-11.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-11.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-11.png 1092w" sizes="(min-width: 720px) 720px"></figure><p>As we can see in the output, we have the same json with the root element and the two transactions that we have previously generated. That means that the changes are already spread to our node.</p><h2 id="8-reading-data">8. Reading data</h2><p>Now that we know the data is available, let&apos;s try to visualize it. Using the following command we will see the raw data in hexadecimal:</p><pre><code class="language-bash">chia data get_keys_values --id=STORE_ID</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-12.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1353" height="78" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-12.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-12.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-12.png 1353w" sizes="(min-width: 720px) 720px"></figure><p>We see two elements inside the json array, with their key-value relationship. If we wanted to view only the available keys, run:</p><pre><code class="language-bash">chia data get_keys --id=STORE_ID</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-13.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="1172" height="43" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-13.png 600w, https://www.cripsis.xyz/content/images/size/w1000/2022/10/image-13.png 1000w, https://www.cripsis.xyz/content/images/2022/10/image-13.png 1172w" sizes="(min-width: 720px) 720px"></figure><p>If we want to know quickly the decryption value of a hexadecimal field, simply run the <code>xxd</code> command again with the parameters to revert. For example:</p><pre><code class="language-bash">echo 0x4352495053495358595a0a | xxd -r -p</code></pre><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/image-14.png" class="kg-image" alt="Chia &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux" loading="lazy" width="752" height="75" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/image-14.png 600w, https://www.cripsis.xyz/content/images/2022/10/image-14.png 752w" sizes="(min-width: 720px) 720px"></figure><p>And ready! Now we understand how Chia data replication works.</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 &#x1F331; - DataLayer, getting started tutorial using the CLI on Linux">
            Donate some Chias :)
        </button>
    </form>
</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Chia 🌱 - ¿What is the project about and what is its place on the web3?]]></title><description><![CDATA[Chia is a blockchain that has continued to surprise the entire community since its debut thanks to its versatility and decentralization]]></description><link>https://www.cripsis.xyz/chia-what-is-project-about-and-what-is-its-place-on-web3/</link><guid isPermaLink="false">63839d4057e851005850070c</guid><category><![CDATA[chia]]></category><category><![CDATA[blockchain]]></category><category><![CDATA[xch]]></category><category><![CDATA[web3]]></category><category><![CDATA[decentralization]]></category><category><![CDATA[token]]></category><dc:creator><![CDATA[Iván Vázquez]]></dc:creator><pubDate>Thu, 13 Oct 2022 17:53:00 GMT</pubDate><media:content url="https://www.cripsis.xyz/content/images/2022/11/web-voici-internet-futur-2.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.cripsis.xyz/content/images/2022/11/web-voici-internet-futur-2.jpg" alt="Chia &#x1F331; - &#xBF;What is the project about and what is its place on the web3?"><p>Today we use the web to carry out <strong>complex tasks</strong> such as interacting with each other, doing business, shopping, creating, publishing and sharing content among ourselves, etc.The centralized model that we use today, generally client-server, allows us to realize it since it is the server entity that is in charge of carrying out all these actions but always with the inconvenience that the agreements between those interactions are directed and controlled by the same entities that will decide on the<strong> storage and use of our data</strong> so we will never really have control over them and we pay the price imposed.</p><p>The <strong>web3</strong> is the evolution of the web2 that comes to break the barriers of our <strong>own sovereignty in the network</strong>, as it applies a revolution of its own infrastructure, going from a centralized to a <strong>decentralized</strong> model and all this is being achieved by blockchain technologies.</p><p>The way to decouple from third parties and position ourselves at the centre of our operations and decisions is to build applications and move to decentralized architectures. That movement is gradually being naturalized step by step thanks to projects that give us something really useful, and not with more speculative tools.</p><p>One of the problems is that most blockchain projects operate only through <strong>tokens</strong> that are usually limited to issuing <em>NFTs</em>, <em>trading</em>, <em>bridging</em> <em>between blockchains, lending and locking assets, swapping,</em> etc. when the token model allows us much more power used in the right way. The financial world is very powerful, It does not arrive to cover all the needs of our <strong>current world based on people, business and data.</strong></p><h2 id="the-chia-project">The Chia Project</h2><figure class="kg-card kg-image-card"><img src="https://www.cripsis.xyz/content/images/2022/10/chiacoin.jpg" class="kg-image" alt="Chia &#x1F331; - &#xBF;What is the project about and what is its place on the web3?" loading="lazy" width="659" height="315" srcset="https://www.cripsis.xyz/content/images/size/w600/2022/10/chiacoin.jpg 600w, https://www.cripsis.xyz/content/images/2022/10/chiacoin.jpg 659w"></figure><p>The <strong><a href="https://www.chia.net/">Chia Network</a></strong> project, created by BitTorrent founder Bram Cohen, is a <strong>Layer 1</strong> blockchain that has not stopped surprising the whole community since its launch on May 4, 2021, thanks to its potential in which decentralization enhanced by the ease of use of its Proof-of-Space (<strong>PoST</strong>) consensus stands out, the capability of operation, a lisp-based programming language that is <em>turing-complete</em> called <strong>Chipalisp</strong> and that is excessively functional as it leaves open in the long term a capacity of expansion of its own &quot;core&quot; functionalities. That is when a new <em>feature</em> is implemented it will always be retro compatible with what was previously implemented and it will not be necessary to make constant revisions as has happened countless times with other projects (see <em>Ethereum</em>).</p><p>Chia allows us to perform financial transactions using XCH, run programs within the network with its smart contracts written in Chiplips, mint new tokens using its named <strong>CAT</strong> (<em>Chia Asset Token</em>), create <strong>NFT&#xB4;s</strong>, thanks to new functionality, decentralized data transfer with DataLayer.</p><h3 id="chia-nodes">Chia nodes</h3><p>The nodes that shape Chia&apos;s network are designed to run on <strong>very low-power</strong> systems and require very little hardware to operate. What makes it a sustainable project for the environment as well as access to most people in case they want to be part of their validation consensus that is what is colloquially known as <strong>farming</strong> (<em>mining in other cryptocurrencies</em>), in which a small amount is received in XCH (the native token of the network) each time the node successfully validates transactions within the network.</p><h3 id="security">Security</h3><p>The network is secured by thousands of Chia nodes that transmit and relay all new transactions and blocks to other nodes to each other.</p><p>Since the hashes of <em>XCH</em> and <em>Cats</em> are not reversible, it is infeasible for someone with malicious intent to analyze the blockchain to determine what type of currency it is, and not to see its source code. Chia says this is a superior solution to Ethereum, where the source code of an intelligent contract can be viewed easily and publicly.</p><p>The <em>Pooling</em> concept also exists in Chia as it is possible for nodes to join other nodes to gain weight in the network and a block will more likely have to be resolved. The operators of the Chia pools are only responsible for distributing the rewards and cannot modify the chain of blocks, making it impossible for miners to collude.</p><h3 id="post-agreement-test">PoST agreement test</h3><p>Chia&apos;s combined <strong>space test + time test</strong> consensus is more energy efficient than <em>PoW</em> and allows anyone with a connection and free space on a hard drive to participate as a node. Chia says this makes the network the most decentralized worldwide, with hundreds of thousands of nodes participating in its security.</p><p>Farming requires nodes to locally store large files called plots. These consist of random data and are at the core of Chia&apos;s space test consensus mechanism. These files are used to solve a challenge similar to the proof-of-work (Pow) as it requires miners to perform computational work. They function as a lottery ticket for a block reward for solving the puzzle. The more space the nodes provide on their computers, the greater the chance of winning the block reward.</p>]]></content:encoded></item></channel></rss>