<?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: Pushkar Mondal</title>
    <description>The latest articles on DEV Community by Pushkar Mondal (@pushkarmondal).</description>
    <link>https://dev.to/pushkarmondal</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%2F1119447%2Fee9005c4-3321-4441-b357-e6e74fade83c.jpeg</url>
      <title>DEV Community: Pushkar Mondal</title>
      <link>https://dev.to/pushkarmondal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pushkarmondal"/>
    <language>en</language>
    <item>
      <title>Let us discuss Proof Of Work In Blockchain⛓️🚀</title>
      <dc:creator>Pushkar Mondal</dc:creator>
      <pubDate>Sat, 10 Feb 2024 04:38:41 +0000</pubDate>
      <link>https://dev.to/pushkarmondal/let-us-discuss-proof-of-work-in-blockchain-154p</link>
      <guid>https://dev.to/pushkarmondal/let-us-discuss-proof-of-work-in-blockchain-154p</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpek1hy8pe8hapbd8171z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpek1hy8pe8hapbd8171z.png" alt="Image description" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So in this blog, we will discuss what is Proof Of Work In Blockchain.&lt;/p&gt;

&lt;p&gt;Imagine you're in a race with a bunch of other people, and the winner gets a reward. In this race, you have to solve a tricky math problem before you can cross the finish line. The problem is tough and takes a lot of time and computer power to solve.&lt;/p&gt;

&lt;p&gt;Now, everyone in the race is competing to solve this math problem as quickly as possible. They do this by using their computers to guess the answer to the problem over and over again. The first person to find the correct answer gets to cross the finish line and claim the reward.&lt;/p&gt;

&lt;p&gt;This is how Proof of Work works in the world of cryptocurrencies like Bitcoin:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Computers (Miners): Instead of people, we have computers called miners. These miners are trying to solve a complex math problem.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Math Problem (Hash Function): The math problem is generated by a special algorithm called a hash function. It's like a puzzle that needs solving.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Competition (Mining): Miners compete against each other to solve this puzzle by guessing different answers. They use their computer's processing power to make these guesses.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finding the Solution (Hash Output): The goal is to find a specific answer, known as a "hash output," that meets certain criteria set by the network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Proof of Success: When a miner finds the correct answer, they announce it to the network. Other miners can quickly verify that the answer is correct.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reward: The miner who solves the puzzle first gets rewarded with newly created cryptocurrency (like Bitcoin) and any transaction fees associated with the block of transactions they've just verified.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Blockchain Security: This process of solving complex math problems to validate transactions and create new blocks is what helps secure the blockchain network. It makes it difficult for anyone to manipulate transactions or create fake transactions.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, in simple terms, Proof of Work is like a competitive race where computers race to solve mathematical problems, and the winner gets rewarded with cryptocurrency. It's a way to ensure the security and integrity of blockchain networks like Bitcoin.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡On September 15/2022, Ethereum moved to Proof Of Stake from Proof Of Work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Consensus in Blockchain&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
In Blockchain, consensus refers to the mechanism by which all participants agree on the validity of transactions and the state of the ledger.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Consensus Protocol&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
A consensus protocol in the context of blockchain is a set of rules and algorithms that enable all participants in a decentralized network to agree on the validity of transactions and achieve a consistent state of the ledger. Popular consensus protocols include Proof of Work (PoW), Proof of Stake (PoS), Delegated Proof of Stake (DPoS), Practical Byzantine Fault Tolerance (PBFT), and many others. These protocols ensure that all nodes in the network agree on the order and validity of transactions without the need for a central authority.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Sybil Attack&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
A Sybil Attack is a problem where one participant or a group of participants pretends to be many different users or groups.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb7wsxho4tyurph9qft49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb7wsxho4tyurph9qft49.png" alt="Image description" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Chain Selection Rules&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
The chain selection rule is the set of criteria or algorithms that nodes in a blockchain network follow to decide which version of the blockchain to accept and continue building upon. It helps ensure that all nodes in the network reach a consensus on the state of the blockchain.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡The Combination of Proof Of Work and the Largest Chain is called Nakamoto Consensus.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a wrap, please like it if you find it useful.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Solidity Saga: Day 2 Dive into the Blockchain Realm Unveiling the Secrets of Smart Contracts 🚀 😎 ⛓️#SoliditySprints #DevJourney"</title>
      <dc:creator>Pushkar Mondal</dc:creator>
      <pubDate>Fri, 12 Jan 2024 05:54:18 +0000</pubDate>
      <link>https://dev.to/pushkarmondal/solidity-saga-day-2-dive-into-the-blockchain-realm-unveiling-the-secrets-of-smart-contracts-soliditysprints-devjourney-o8a</link>
      <guid>https://dev.to/pushkarmondal/solidity-saga-day-2-dive-into-the-blockchain-realm-unveiling-the-secrets-of-smart-contracts-soliditysprints-devjourney-o8a</guid>
      <description>&lt;p&gt;🚀 Introduction to Solidity Variables in Smart Contract Development 🚀&lt;/p&gt;

&lt;p&gt;So there are three types of variables in solidity we can regularly use almost everywhere.&lt;/p&gt;

&lt;p&gt;These are-&lt;br&gt;
          &lt;code&gt;Local Variable&lt;/code&gt;&lt;br&gt;
          &lt;code&gt;State Variable&lt;/code&gt;&lt;br&gt;
          &lt;code&gt;Global Variable&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;(i)Local Variables:&lt;br&gt;
                   Local variables are declared inside a &lt;br&gt;
                   function and exist only for the duration of &lt;br&gt;
                   that function's execution. They are &lt;br&gt;
                   temporary and are discarded once&lt;br&gt;
                   a function is completed.&lt;br&gt;
                   These variables are not stored on the &lt;br&gt;
                   blockchain.&lt;/p&gt;

&lt;p&gt;Reference Code &amp;lt;&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6pht9fz6eany03r3n6v0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6pht9fz6eany03r3n6v0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(ii)State Variables:&lt;br&gt;
                    State variables declare outside functions.&lt;br&gt;
                    Their values persist even when&lt;br&gt;&lt;br&gt;
                    the contract is not actively running.&lt;br&gt;
                    They can have different levels of &lt;br&gt;
                    visibility (public, private, internal) to &lt;br&gt;
                    control access.&lt;br&gt;
                    This variable is stored on the &lt;br&gt;
                    blockchain.&lt;/p&gt;

&lt;p&gt;Reference Code &amp;lt;&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrmuky4sts15ffsp6wue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrmuky4sts15ffsp6wue.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(iii)Global Variables:&lt;br&gt;
                      These variables store information about &lt;br&gt;
                      blockchain.&lt;br&gt;
                      Commonly used variables &lt;code&gt;msg.sender&lt;/code&gt;, &lt;br&gt;
                      &lt;code&gt;block.number&lt;/code&gt;, &lt;code&gt;msg.data&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Source Code &amp;lt;&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgkly8qaz7tkad4l03kk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgkly8qaz7tkad4l03kk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Solidity Saga: Day 1 Dive into the Blockchain Realm Unveiling the Secrets of Smart Contracts 🚀 #SoliditySprints #DevJourney"</title>
      <dc:creator>Pushkar Mondal</dc:creator>
      <pubDate>Wed, 10 Jan 2024 04:52:14 +0000</pubDate>
      <link>https://dev.to/pushkarmondal/solidity-saga-day-1-dive-into-the-blockchain-realm-unveiling-the-secrets-of-smart-contracts-soliditysprints-devjourney-551n</link>
      <guid>https://dev.to/pushkarmondal/solidity-saga-day-1-dive-into-the-blockchain-realm-unveiling-the-secrets-of-smart-contracts-soliditysprints-devjourney-551n</guid>
      <description>&lt;p&gt;We will learn the basics of Solidity, including its basic data types.&lt;br&gt;
Certainly! Let's delve into more detail about &lt;code&gt;uint&lt;/code&gt;, &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;bool&lt;/code&gt;, and &lt;code&gt;address&lt;/code&gt; data types in Solidity:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Uint (Unsigned Integer):
ANS&amp;gt;
   Explanation: The &lt;code&gt;uint&lt;/code&gt; data type represents non- 
   negative whole numbers (positive integers) in Solidity. 
   It can store values from 0 and higher.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sizes of Uint:-&lt;br&gt;
               uint8   ranges from 0 to 2^8-1&lt;br&gt;
               uint16  ranges from 0 to 2^16 - 1&lt;br&gt;
               uint256 ranges from 0 to 2^256 - 1&lt;/p&gt;

&lt;p&gt;Real-life Example: &lt;br&gt;
                  In a cryptocurrency smart contract, you &lt;br&gt;
                  might use &lt;code&gt;uint&lt;/code&gt; to represent the balance of &lt;br&gt;
                  an account, the total supply of tokens, or &lt;br&gt;
                  the quantity of an item.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Int (Signed Integer):
ANS&amp;gt;
   Explanation: The &lt;code&gt;int&lt;/code&gt; data type represents both 
   positive and negative whole numbers in Solidity. It can 
   store values ranging from the most negative to the most 
   positive.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sizes of Int:-&lt;br&gt;
                 int8 ranges from -2^7 to 2^7 - 1&lt;br&gt;
                 int256 ranges from -2^255 to 2^255 - 1&lt;br&gt;
                 int128 ranges from -2^127 to 2^127 - 1&lt;/p&gt;

&lt;p&gt;Real-life Example: &lt;br&gt;
                     In a temperature-tracking smart contract, &lt;br&gt;
                     you could use &lt;code&gt;int&lt;/code&gt; to represent &lt;br&gt;
                     temperature values, allowing for both &lt;br&gt;
                     positive (above zero) and negative (below &lt;br&gt;
                     zero) readings.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bool (Boolean):
ANS&amp;gt;
   Explanation:
               The &lt;code&gt;bool&lt;/code&gt; data type represents the boolean 
               values, which can only be either &lt;code&gt;true&lt;/code&gt; or 
               &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Real-life Example:&lt;br&gt;
                     In a voting smart contract, you might use &lt;br&gt;
                     &lt;code&gt;bool&lt;/code&gt; to track whether a user has cast &lt;br&gt;
                     their vote (&lt;code&gt;true&lt;/code&gt;) or not (&lt;code&gt;false&lt;/code&gt;).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Address:
ANS&amp;gt;
   Explanation:
               The &lt;code&gt;address&lt;/code&gt; data type in Solidity is used 
               to store Ethereum addresses. It is a 20- 
               byte identifier representing an Ethereum 
               account.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Real-life Example:&lt;br&gt;&lt;br&gt;
                     In a decentralized application (DApp), &lt;br&gt;
                     you might use &lt;code&gt;address&lt;/code&gt; to store the &lt;br&gt;
                     wallet address of a user or the &lt;br&gt;
                     recipient's address in a payment smart &lt;br&gt;
                     contract.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;There are two types of `address` and `address payable`. 
The latter allows for the transfer of Ether, while the 
former does not. 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Example:&lt;br&gt;
        address public recipient = &lt;br&gt;
        0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;&lt;/p&gt;

&lt;p&gt;Understanding these data types is crucial for effective Solidity programming, enabling you to handle a wide range of scenarios in your smart contracts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XDYAue89--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6gsxu145kzeo599ei95d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XDYAue89--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6gsxu145kzeo599ei95d.png" alt="Image description" width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

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