<?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>Developers Forum for XinFin XDC Network: Salomon Morales</title>
    <description>The latest articles on Developers Forum for XinFin XDC Network by Salomon Morales (@mrblockchain22).</description>
    <link>https://www.xdc.dev/mrblockchain22</link>
    <image>
      <url>https://www.xdc.dev/images/YR8_LkB9uxSuitxKO9ygHA1KtCihA9A8lEyMss_pQXQ/rs:fill:90:90/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL3VzZXIvcHJv/ZmlsZV9pbWFnZS82/Ny8zODVhM2NjZS1k/YjcwLTQ3ZGUtYmQx/Ny1iZjZmMmUzNWFm/YWIuanBn</url>
      <title>Developers Forum for XinFin XDC Network: Salomon Morales</title>
      <link>https://www.xdc.dev/mrblockchain22</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.xdc.dev/feed/mrblockchain22"/>
    <language>en</language>
    <item>
      <title>Unstaking &amp; Withdrawal Process (XDC 2.0)</title>
      <dc:creator>Salomon Morales</dc:creator>
      <pubDate>Sun, 22 Jun 2025 13:05:51 +0000</pubDate>
      <link>https://www.xdc.dev/mrblockchain22/unstaking-withdrawal-process-xdc-20-25</link>
      <guid>https://www.xdc.dev/mrblockchain22/unstaking-withdrawal-process-xdc-20-25</guid>
      <description>&lt;p&gt;&lt;strong&gt;XDC Network – Unstaking &amp;amp; Withdrawal Process (XDC 2.0)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This document provides a technical overview of the XDC Network's unstaking and withdrawal process under the XDC 2.0 protocol. It explains how the 30-day lock period is implemented and enforced within the smart contract, with code references to illustrate each step. It also addresses how unstaking timing interacts with block and epoch boundaries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Overview of Unstaking and Withdrawal&lt;/strong&gt;&lt;br&gt;
In XDC 2.0, when a validator or delegator initiates an unstake, the XDC tokens are not immediately available for withdrawal. Instead, they enter a 30-day time-locked state. After this period elapses, the user must manually invoke a withdrawal function to retrieve their tokens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Definition of the 30-Day Lock&lt;/strong&gt;&lt;br&gt;
The lock duration is defined in the smart contract as a constant using Solidity's time literal. The relevant line is:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;uint256 public constant UNSTAKING_LOCK_TIME = 30 days;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This line defines the lock period using Solidity's built-in time unit. The value translates to 2,592,000 seconds (30 * 24 * 60 * 60).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Unstaking Logic – Where the Lock Is Set&lt;/strong&gt;&lt;br&gt;
When a user unstakes, the contract schedules a future withdrawal by creating an entry with a calculated unlock time:&lt;/p&gt;

&lt;p&gt;pendingWithdrawals[msg.sender].push(WithdrawEntry({&lt;br&gt;
    amount: _amount,&lt;br&gt;
    unlockTime: block.timestamp + UNSTAKING_LOCK_TIME,&lt;br&gt;
    withdrawn: false&lt;br&gt;
}));&lt;/p&gt;

&lt;p&gt;This entry is stored in a mapping of arrays and marks the amount, unlock timestamp, and withdrawal status.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Withdrawal Execution – How Tokens Are Claimed&lt;/strong&gt;&lt;br&gt;
After 30 days have passed, the user can call the withdrawStaking() function. The contract checks each entry in the user's withdrawal queue:&lt;/p&gt;

&lt;p&gt;if (!entries[i].withdrawn &amp;amp;&amp;amp; block.timestamp &amp;gt;= entries[i].unlockTime) {&lt;br&gt;
    total = total.add(entries[i].amount);&lt;br&gt;
    entries[i].withdrawn = true;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Only entries that have not yet been claimed and whose unlockTime has been reached are processed for withdrawal. The total eligible amount is then transferred back to the user's wallet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. What Happens if You Unstake Mid-Epoch or Mid-Block?&lt;/strong&gt;&lt;br&gt;
In XDC 2.0, the unstaking lock period is based purely on wall-clock time using block timestamps — not block height or epoch cycles. This means that it doesn't matter whether you unstake at the beginning, middle, or end of an epoch or block; the 30-day timer begins the exact moment the unstake transaction is mined (i.e., when the block.timestamp is recorded).&lt;/p&gt;

&lt;p&gt;Unstaking halfway through an epoch does not shorten or lengthen the lock period. The unlock time is deterministic and tied to when the transaction was processed, not the structure of the network’s epoch system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Summary (Plain Explanation)&lt;/strong&gt;&lt;br&gt;
When you unstake your XDC tokens, they are locked for a full 30 days. This waiting period begins immediately when the unstake transaction is mined. It doesn’t matter what point within the network’s epoch you unstake — the countdown is fixed based on real time. After 30 days, you must manually call the withdraw function to receive your tokens via your wallet. If you don’t withdraw right away, the tokens remain safely locked in the contract until you do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/XinFinOrg/XDPoSChain/blob/master/contracts/validator/contract/XDCValidator.sol#L97"&gt;https://github.com/XinFinOrg/XDPoSChain/blob/master/contracts/validator/contract/XDCValidator.sol#L97&lt;/a&gt;&lt;/p&gt;

</description>
      <category>xdcnetwork</category>
      <category>unstaking</category>
      <category>masternodes</category>
    </item>
    <item>
      <title>Allowing XDC wallet creation via email address</title>
      <dc:creator>Salomon Morales</dc:creator>
      <pubDate>Tue, 10 Dec 2024 03:16:58 +0000</pubDate>
      <link>https://www.xdc.dev/mrblockchain22/allowing-xdc-wallet-creation-via-email-address-106h</link>
      <guid>https://www.xdc.dev/mrblockchain22/allowing-xdc-wallet-creation-via-email-address-106h</guid>
      <description>&lt;p&gt;I have been seeing more and more on some of the successful chains the wallet creation via email address as one of the options.  This allows for new users to onboard the chain via email address which is a known format for many.  At the same time, having the OG method (seed phrase) for those more experienced.  &lt;/p&gt;

&lt;p&gt;I would love to see this as part of the options to create the new wallets for the XDC web wallet.&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/go-XO1658Jep8I67qCfG-vfVw9lAx1UPiCNmYC9MCZM/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzV5cHczaHZxeHVj/NmZjM3d5eTJwLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/go-XO1658Jep8I67qCfG-vfVw9lAx1UPiCNmYC9MCZM/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzV5cHczaHZxeHVj/NmZjM3d5eTJwLnBu/Zw" alt="HBAR steps to create wallet with email address" width="880" height="1135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/T_HkiLd6_mJqfzNYzU36bIE8yrpMzzACoBPxpxtSoPI/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2t0ZTZ2cXg4eWg2/eWlvMWRscnZ4LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/T_HkiLd6_mJqfzNYzU36bIE8yrpMzzACoBPxpxtSoPI/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2t0ZTZ2cXg4eWg2/eWlvMWRscnZ4LnBu/Zw" alt="SUI wallet creation" width="880" height="1423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can we please integrate this as one of the options to create XDC web wallets? &lt;/p&gt;

&lt;p&gt;This will allow users to create a new wallet without having the knowledge of seed phrases thus making it easier onboarding to our XDC Network.&lt;br&gt;&lt;br&gt;
&lt;a class="mentioned-user" href="https://www.xdc.dev/akhekade"&gt;@akhekade&lt;/a&gt; &lt;a class="mentioned-user" href="https://www.xdc.dev/riteshkakkad"&gt;@riteshkakkad&lt;/a&gt; &lt;a class="mentioned-user" href="https://www.xdc.dev/anilchinchawale"&gt;@anilchinchawale&lt;/a&gt; &lt;/p&gt;

</description>
      <category>xdc</category>
      <category>wallet</category>
      <category>email</category>
    </item>
    <item>
      <title>Comparative Analysis: XDC Network Subnets compared to other Layer 1 sidechain Solutions</title>
      <dc:creator>Salomon Morales</dc:creator>
      <pubDate>Tue, 08 Oct 2024 16:44:38 +0000</pubDate>
      <link>https://www.xdc.dev/mrblockchain22/comparative-analysis-xdc-network-subnets-compared-to-layer-1-blockchain-solutions-1ai3</link>
      <guid>https://www.xdc.dev/mrblockchain22/comparative-analysis-xdc-network-subnets-compared-to-layer-1-blockchain-solutions-1ai3</guid>
      <description>&lt;p&gt;XDC Network's Subnets have brought a new level of flexibility and scalability to the ecosystem, enabling developers to deploy private or public subnets while leveraging the security of the XDC Mainnet. XDC Subnets are positioned to support a variety of use cases, from enterprise solutions to decentralized finance applications, by offering customizable governance, tokenomics, and high transaction throughput. This comparison will explore how XDC Subnets differ from other Layer 1 blockchain solutions like Avalanche, Polkadot, and Cosmos, all of which have implemented similar sidechain or subnet structures.&lt;/p&gt;

&lt;h3&gt;
  
  
  XDC Network Subnets
&lt;/h3&gt;

&lt;p&gt;XDC Network’s subnets operate as independent sidechains within the broader XDC ecosystem. Each subnet can have its own rules for governance, privacy, and tokenomics while still inheriting the security of the XDC main chain through relayers and checkpoint contracts. Subnets are designed to offload transactions from the main chain, reducing congestion and maintaining low costs. Unique to XDC Subnets is the ease of deployment: subnets can be set up in under 10 minutes using the provided UI configuration generator and deployment scripts.&lt;/p&gt;

&lt;p&gt;The architecture includes several advanced features such as XDC-Zero for cross-chain interoperability, a Subnet Explorer for real-time data visualization, and a Node Management Interface. These capabilities make XDC Subnets a viable option for both enterprise applications requiring data confidentiality and public blockchain projects aiming for scalability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Avalanche Subnets
&lt;/h3&gt;

&lt;p&gt;Avalanche Subnets are highly customizable blockchains that operate within the Avalanche network. Each subnet can run multiple blockchains with different virtual machines, allowing developers to create bespoke blockchain environments that cater to specific application needs. Validators on Avalanche must first validate the Primary Network, ensuring the robustness of the network’s security model.&lt;/p&gt;

&lt;p&gt;Avalanche’s subnets provide several benefits over traditional L2 solutions like rollups, such as higher transaction throughput and customizable fee structures. Subnets enable parallel processing and independent execution, making them ideal for large-scale applications that require dedicated resources. Due to their flexibility and robust infrastructure, Avalanche subnets are often used for projects in decentralized finance (DeFi) and gaming.&lt;/p&gt;

&lt;h3&gt;
  
  
  Polkadot Parachains
&lt;/h3&gt;

&lt;p&gt;Polkadot’s approach to scalability and interoperability is through parachains, parallelized chains that are secured by the Polkadot Relay Chain. Each parachain benefits from the shared security model of Polkadot while maintaining independence in state transition logic and governance. Parachains can communicate with each other using Cross-Consensus Message (XCM) format, which enables seamless interoperability and asset transfer across the network.&lt;/p&gt;

&lt;p&gt;Parachains have their own validator sets but must secure a slot on the Relay Chain through a parachain auction. This makes parachain deployment resource-intensive and competitive. Despite this, Polkadot's shared security model ensures that all parachains maintain a high level of security without sacrificing the independence of each chain’s execution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cosmos Zones
&lt;/h3&gt;

&lt;p&gt;Cosmos employs a unique model where independent blockchains, known as Zones, communicate through the Inter-Blockchain Communication (IBC) protocol. Each Zone in the Cosmos ecosystem has its own validator set, governance model, and tokenomics. Zones are highly customizable and can operate without the need to share security with other chains, making them ideal for applications that require unique consensus or transaction mechanisms.&lt;/p&gt;

&lt;p&gt;IBC facilitates cross-zone communication and asset transfers, enabling a modular ecosystem where different Zones can specialize in various functions. This model gives developers a high degree of flexibility but requires careful consideration of interoperability and security guarantees between Zones.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences and Use Cases
&lt;/h3&gt;

&lt;p&gt;Each of these Layer 1 blockchain solutions offers its own advantages depending on the use case. &lt;strong&gt;XDC Subnets are particularly well-suited for enterprises looking for private blockchain solutions with minimal deployment complexity and costs&lt;/strong&gt;. Avalanche Subnets are highly flexible and ideal for applications requiring multiple interconnected blockchains with custom virtual machines. Polkadot parachains are optimal for projects that require robust shared security and interoperability with other parachains, while Cosmos Zones are best for developers seeking maximum independence and customizability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrapping things up
&lt;/h3&gt;

&lt;p&gt;XDC Subnets, Avalanche Subnets, Polkadot Parachains, and Cosmos Zones each present distinct solutions to scalability, interoperability, and customization. &lt;strong&gt;XDC Subnets stand out due to their rapid deployment capabilities and cost-effective structure, making them a compelling choice for a wide range of applications&lt;/strong&gt;. As the blockchain landscape continues to evolve, the adaptability and specialized use cases of these networks will be key factors in determining their adoption and success.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.xdc.dev/wanwiset25/xdc-subnet-official-release-4mif"&gt;XDC Subnet Official Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.xinfin.org/xdc-subnet"&gt;XDC Network Tools and Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.avax.network/"&gt;Avalanche Subnets Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.avax.network/subnets"&gt;Introduction to Avalanche Subnets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.avax.network/avalanche-l1s"&gt;Getting Started with Avalanche L1s&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://polkadot.network/technology/"&gt;Polkadot Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.polkadot.network/docs/learn-parachains"&gt;Parachains Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.cosmos.network/"&gt;Cosmos Hub Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cosmos.network/"&gt;Zones and IBC Overview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Request for test XDC via BlocksScan faucet</title>
      <dc:creator>Salomon Morales</dc:creator>
      <pubDate>Sat, 11 Feb 2023 17:06:05 +0000</pubDate>
      <link>https://www.xdc.dev/mrblockchain22/request-for-test-xdc-via-blocksscan-faucet-21h9</link>
      <guid>https://www.xdc.dev/mrblockchain22/request-for-test-xdc-via-blocksscan-faucet-21h9</guid>
      <description>&lt;p&gt;This proposal is to ask BlocksScan for 70,000,000 test XDC via the faucet as per their requirement stipulated &lt;a href="https://medium.com/@blocksscanio/blocksscan-faucet-an-enhanced-faucet-service-for-the-xdc-network-992a3b574b8b"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The protocol team has been working on XDPoS 2.0 and currently they are ready to deploy the upgrade on the Apothem network.  Part of the process will require to stand up additional nodes.  There are currently 7 master nodes (10M staked per node) running XDC 1.0 on Apothem &lt;/p&gt;

&lt;p&gt;The additional nodes plus the 7 already live would be the new Apothem testnet at the hard fork.  Some of them could eventually be taken down but not all of them as it would take down Apothem.&lt;/p&gt;

&lt;p&gt;We have a team that's currently spinning up nodes on Apothem to be staked with test XDC and some of them will remain running on the Apothem network as stated above.  I have spun 2 nodes on Apothem and will keep them running to support the Apothem network going forward. &lt;/p&gt;

&lt;p&gt;The wallet holding the test XDC received by BlocksScan will reside on this wallet for transparency:&lt;br&gt;
xdcADA9dF79C4dE112BDd03dF2Cf44387C84fEC2d35&lt;/p&gt;

&lt;p&gt;The wallet will distribute the XDC to those node operators running the nodes on Apothem. &lt;/p&gt;

&lt;p&gt;Thank you for your support!&lt;/p&gt;

</description>
      <category>xdc</category>
      <category>xdpos20</category>
    </item>
    <item>
      <title>Adding availability to obtain 10 million XDC for testing purposes (XDC node deployment)</title>
      <dc:creator>Salomon Morales</dc:creator>
      <pubDate>Mon, 03 Oct 2022 18:18:29 +0000</pubDate>
      <link>https://www.xdc.dev/mrblockchain22/adding-availability-to-obtain-10-million-xdc-for-testing-purposes-xdc-node-deployment-1jl1</link>
      <guid>https://www.xdc.dev/mrblockchain22/adding-availability-to-obtain-10-million-xdc-for-testing-purposes-xdc-node-deployment-1jl1</guid>
      <description>&lt;p&gt;I have raised an issue on Github &lt;a href="https://github.com/XinFinOrg/Faucet/issues/11"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We used to have the availability to obtain 10 million XDC via faucet for testing node deployment.  Im currently working on documenting node deployment and making YouTube videos for the XDC Community YouTube channel &lt;a href="https://www.youtube.com/channel/UCMLqsQJMOlLEg9VnaB8zS6w"&gt;https://www.youtube.com/channel/UCMLqsQJMOlLEg9VnaB8zS6w&lt;/a&gt;&lt;br&gt;
If you have not subscribed, please do so ;) &lt;/p&gt;

&lt;p&gt;I plan on documenting how to fund a node, and upload KYC for the same and I am stuck waiting to obtain the required amount as currently we can only obtain 1,000 testnet XDC via faucet. &lt;/p&gt;

&lt;p&gt;It will be nice to have that feature again via faucet.  &lt;/p&gt;

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