<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mandy</title>
    <description>The latest articles on DEV Community by Mandy (@mandee).</description>
    <link>https://dev.to/mandee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2906555%2Fab92c5dc-ed62-450b-a36c-61ed1fe2d54e.jpeg</url>
      <title>DEV Community: Mandy</title>
      <link>https://dev.to/mandee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mandee"/>
    <language>en</language>
    <item>
      <title>Deep Dive: Understanding CrossFi’s Governance Parameters</title>
      <dc:creator>Mandy</dc:creator>
      <pubDate>Mon, 03 Mar 2025 10:41:41 +0000</pubDate>
      <link>https://dev.to/mandee/deep-dive-understanding-crossfis-governance-parameters-eb2</link>
      <guid>https://dev.to/mandee/deep-dive-understanding-crossfis-governance-parameters-eb2</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;CrossFi’s governance system allows token holders to propose and vote on changes to the network, ensuring decentralization and community-driven decision-making. However, to participate effectively, it’s crucial to understand how governance proposals work and what parameters influence their outcomes.&lt;/p&gt;

&lt;p&gt;In this guide, we will explore:&lt;br&gt;
✅ &lt;strong&gt;How governance works in CrossFi&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Key governance parameters and their impact&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Querying governance settings using the CLI&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Real-world examples of governance decisions&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;Let’s dive in! 🚀&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;1. How Governance Works in CrossFi&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;CrossFi follows an &lt;strong&gt;on-chain governance model&lt;/strong&gt;, allowing token holders to vote on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Protocol upgrades&lt;/strong&gt; (e.g., software updates)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Economic policies&lt;/strong&gt; (e.g., inflation rates, staking rewards)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community fund spending&lt;/strong&gt; (e.g., funding ecosystem development)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Governance proposals follow these &lt;strong&gt;stages&lt;/strong&gt;:&lt;br&gt;
1️⃣ &lt;strong&gt;Proposal Submission:&lt;/strong&gt; A user submits a proposal with a required deposit.&lt;br&gt;&lt;br&gt;
2️⃣ &lt;strong&gt;Deposit Period:&lt;/strong&gt; If the minimum deposit is met, the proposal enters the voting period.&lt;br&gt;&lt;br&gt;
3️⃣ &lt;strong&gt;Voting Period:&lt;/strong&gt; Token holders vote using &lt;code&gt;yes&lt;/code&gt;, &lt;code&gt;no&lt;/code&gt;, &lt;code&gt;no_with_veto&lt;/code&gt;, or &lt;code&gt;abstain&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
4️⃣ &lt;strong&gt;Tallying &amp;amp; Execution:&lt;/strong&gt; If the proposal meets the required votes, it is enacted.  &lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;2. Key Governance Parameters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;CrossFi’s governance system has several parameters that define how proposals are handled.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Deposit Parameters&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;🔹 Minimum Deposit (&lt;code&gt;min_deposit&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The amount of &lt;strong&gt;XFI&lt;/strong&gt; required for a proposal to enter the voting period. If the deposit isn’t met, the proposal is rejected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔹 Max Deposit Period (&lt;code&gt;max_deposit_period&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The time limit for meeting the deposit threshold. If the deposit isn’t completed within this period, the proposal fails.&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Query deposit parameters:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid query gov params deposit &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"min_deposit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"100000000mpx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"max_deposit_period"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"172800s"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Voting Parameters&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;🔹 Voting Period (&lt;code&gt;voting_period&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The duration (in seconds) during which token holders can vote on a proposal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔹 Threshold (&lt;code&gt;threshold&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The percentage of &lt;code&gt;yes&lt;/code&gt; votes required for a proposal to pass.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔹 Veto Threshold (&lt;code&gt;veto_threshold&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If a proposal gets this percentage of &lt;code&gt;no_with_veto&lt;/code&gt; votes, it is rejected.&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Query voting parameters:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid query gov params voting &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"voting_period"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"604800s"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"threshold"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.50"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"veto_threshold"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.334"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;3. Real-World Examples of Governance Decisions&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Understanding how governance parameters work helps users make informed decisions. Let’s look at &lt;strong&gt;three real-world scenarios:&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Scenario 1: Proposal Fails Due to Low Deposit&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;📌 &lt;strong&gt;Proposal:&lt;/strong&gt; A developer submits a proposal to increase the validator set but only deposits &lt;code&gt;50,000,000mpx&lt;/code&gt;, while the minimum deposit is &lt;code&gt;100,000,000mpx&lt;/code&gt;. The proposal gets rejected.&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;How to check proposal status:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid query gov proposal &amp;lt;proposal-id&amp;gt; &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;Scenario 2: Proposal Passes with Enough Yes Votes&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;📌 &lt;strong&gt;Proposal:&lt;/strong&gt; A proposal to increase staking rewards receives &lt;strong&gt;60% yes votes&lt;/strong&gt;, passing successfully as it meets the &lt;strong&gt;50% threshold&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;How to check voting results:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid query gov tally &amp;lt;proposal-id&amp;gt; &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;Scenario 3: Proposal Rejected by Veto&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;📌 &lt;strong&gt;Proposal:&lt;/strong&gt; A proposal suggests a drastic reduction in staking rewards. More than &lt;strong&gt;33.4%&lt;/strong&gt; vote &lt;code&gt;no_with_veto&lt;/code&gt;, rejecting the proposal.&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;How to check vetoed proposals:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid query gov proposals &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet | &lt;span class="nb"&gt;grep &lt;/span&gt;veto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;4. How to Change Governance Parameters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Governance parameters can be adjusted through proposals. If the community wants to lower the deposit requirement, for example, they can submit a &lt;strong&gt;parameter change proposal&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Submitting a Parameter Change Proposal&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;📌 &lt;strong&gt;Step 1: Create a proposal JSON file (e.g., &lt;code&gt;change-threshold.json&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Lower Voting Threshold to 45%"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"This proposal lowers the voting threshold from 50% to 45% to encourage participation."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"changes"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"subspace"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gov"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"threshold"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"value"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.45"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"deposit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"100000000mpx"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 &lt;strong&gt;Step 2: Submit the proposal&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid tx gov submit-proposal param-change change-threshold.json &lt;span class="nt"&gt;--from&lt;/span&gt; &amp;lt;your-wallet-name&amp;gt; &lt;span class="nt"&gt;--chain-id&lt;/span&gt; crossfi-1 &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet &lt;span class="nt"&gt;--gas&lt;/span&gt; auto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 &lt;strong&gt;Step 3: Track proposal status&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid query gov proposals &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;5. Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;🎉 You’ve successfully learned about &lt;strong&gt;CrossFi governance parameters&lt;/strong&gt; and how they impact decision-making!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Key Takeaways:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Deposit parameters&lt;/strong&gt; ensure proposals meet a minimum threshold before voting.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Voting parameters&lt;/strong&gt; define how many votes are needed for a proposal to pass.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Veto power&lt;/strong&gt; allows the community to block harmful proposals.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Governance parameters can be changed&lt;/strong&gt; through proposals.  &lt;/p&gt;

&lt;p&gt;Understanding these parameters helps you &lt;strong&gt;make informed governance decisions&lt;/strong&gt; and contribute effectively to the CrossFi ecosystem. 🚀&lt;/p&gt;

&lt;p&gt;For more details, refer to the &lt;a href="https://github.com/crossfichain/crossfi-node" rel="noopener noreferrer"&gt;official CrossFi GitHub repository&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Setting Up a Full Node on CrossFi: A Beginner-Friendly Guide</title>
      <dc:creator>Mandy</dc:creator>
      <pubDate>Sun, 02 Mar 2025 09:35:07 +0000</pubDate>
      <link>https://dev.to/mandee/mastering-crossfi-node-setup-a-beginner-friendly-guide-24fc</link>
      <guid>https://dev.to/mandee/mastering-crossfi-node-setup-a-beginner-friendly-guide-24fc</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Running a &lt;strong&gt;full node&lt;/strong&gt; on the CrossFi blockchain allows you to participate in network validation, verify transactions, and contribute to decentralization. Whether you’re a developer, validator, or blockchain enthusiast, setting up a node is a great way to interact with the CrossFi ecosystem.&lt;/p&gt;

&lt;p&gt;This guide will walk you through every step of setting up a CrossFi full node, from installation to synchronization.&lt;/p&gt;

&lt;p&gt;By the end of this tutorial, you’ll learn how to:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Install and configure a CrossFi full node&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Connect to the CrossFi network and sync with the blockchain&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Monitor your node’s status and logs&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Troubleshoot common setup issues&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s get started! 🚀&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;1. Prerequisites&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before installing the CrossFi node software, ensure you have:&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;System Requirements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; 4+ cores&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; 8GB minimum (16GB recommended)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage:&lt;/strong&gt; 500GB+ SSD&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OS:&lt;/strong&gt; Ubuntu 20.04+ (or any Linux distribution with systemd)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internet:&lt;/strong&gt; A stable high-speed connection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📝 &lt;strong&gt;Installed dependencies:&lt;/strong&gt;&lt;br&gt;
Run the following command to update your system and install required tools:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;build-essential git curl jq &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;2. Installing the CrossFi Node Software&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The official CrossFi node software (&lt;code&gt;crossfid&lt;/code&gt;) is available on GitHub. Let’s install it step by step.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Download and Install CrossFi Node Software&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Download the prebuilt binary from the official CrossFi GitHub releases:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wget https://github.com/crossfichain/crossfi-node/releases/download/v0.3.0-prebuild3/crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2️⃣ &lt;strong&gt;Extract the downloaded file:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xf&lt;/span&gt; crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3️⃣ &lt;strong&gt;Clone the CrossFi testnet repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/crossfichain/testnet.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4️⃣ &lt;strong&gt;Start the node using the extracted binary:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid start &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if the installation was successful, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the installation was successful, you should see output similar to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;v0.3.0-prebuild3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;3. Initializing Your CrossFi Node&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that &lt;code&gt;crossfid&lt;/code&gt; is installed, it’s time to initialize your node.&lt;/p&gt;

&lt;p&gt;🔹 Run the following command to initialize your node:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid init my-node &lt;span class="nt"&gt;--chain-id&lt;/span&gt; crossfi-1 &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates necessary configuration files inside &lt;code&gt;./testnet&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Prepares your node to connect to the CrossFi blockchain&lt;/li&gt;
&lt;li&gt;Assigns a unique identifier (&lt;code&gt;my-node&lt;/code&gt;) to your node (you can change this name)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;4. Configuring the Node&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To connect your node to the CrossFi network, you must configure its settings.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Connect to Peers&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;🔹 Open the configuration file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano ./testnet/config/config.toml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 Locate the &lt;code&gt;seeds&lt;/code&gt; and &lt;code&gt;persistent_peers&lt;/code&gt; sections and add official peer addresses (check the &lt;a href="https://github.com/crossfichain/crossfi-node" rel="noopener noreferrer"&gt;CrossFi documentation&lt;/a&gt; for the latest peer list).&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;seeds = "&amp;lt;seed-node-address&amp;gt;"
persistent_peers = "&amp;lt;peer-node-address&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save the file (&lt;code&gt;CTRL + X&lt;/code&gt;, then &lt;code&gt;Y&lt;/code&gt;, and &lt;code&gt;ENTER&lt;/code&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Configure Minimum Gas Prices&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To set minimum gas prices, edit the &lt;code&gt;app.toml&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano ./testnet/config/app.toml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Find the &lt;code&gt;minimum-gas-prices&lt;/code&gt; setting and update it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;minimum-gas-prices = "0.0025mpx"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save and exit.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;5. Running and Syncing Your Node&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now it’s time to start your node and sync it with the blockchain.&lt;/p&gt;

&lt;p&gt;🔹 Run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid start &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your node will begin downloading blockchain data. &lt;strong&gt;This process may take several hours, depending on your system’s performance and internet speed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To check if your node is syncing, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid status &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet | jq .sync_info
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"latest_block_height"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"563902"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"catching_up"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 When &lt;code&gt;catching_up&lt;/code&gt; becomes &lt;code&gt;false&lt;/code&gt;, your node is fully synced!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;6. Monitoring Your Node&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To ensure your node is running smoothly, use the following commands:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Check Logs in Real-Time&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; ./testnet/logs/crossfid.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Check Sync Status&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid status &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet | jq .sync_info
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Check Node ID&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid tendermint show-node-id &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;7. Troubleshooting Common Issues&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you encounter problems, here are some common solutions:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Node Won’t Start&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Check the logs for errors:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; ./testnet/logs/crossfid.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;2. Node is Stuck Syncing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Try resetting your node and restarting:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid unsafe-reset-all &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
./bin/crossfid start &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;3. Validator Got Jailed?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you are running a validator and it gets jailed, unjail it with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./bin/crossfid tx slashing unjail &lt;span class="nt"&gt;--from&lt;/span&gt; &amp;lt;your-wallet-name&amp;gt; &lt;span class="nt"&gt;--chain-id&lt;/span&gt; crossfi-1 &lt;span class="nt"&gt;--home&lt;/span&gt; ./testnet &lt;span class="nt"&gt;--gas&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;auto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;8. Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;🎉 Congratulations! You’ve successfully set up a full node on the CrossFi blockchain.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
