<?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: Kevin</title>
    <description>The latest articles on DEV Community by Kevin (@kevinjoshi46b).</description>
    <link>https://dev.to/kevinjoshi46b</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1020015%2Fcde54085-45a1-43d9-8afc-fee949baf92a.jpg</url>
      <title>DEV Community: Kevin</title>
      <link>https://dev.to/kevinjoshi46b</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kevinjoshi46b"/>
    <language>en</language>
    <item>
      <title>Final Thoughts on Speed Run Ethereum 🚀</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Fri, 03 Mar 2023 18:15:10 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/final-thoughts-on-speed-run-ethereum-1ib2</link>
      <guid>https://dev.to/kevinjoshi46b/final-thoughts-on-speed-run-ethereum-1ib2</guid>
      <description>&lt;h2&gt;
  
  
  TLDR
&lt;/h2&gt;

&lt;p&gt;If you are a beginner to medium in web3 then speed run ethereum is most definitely worth spending time on. It will help you learn new stuff or expose you to topics that you can then rabbit hole into or maybe even help you revise some stuff that you might already know 🤓&lt;/p&gt;

&lt;h2&gt;
  
  
  Things to take care of
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Some of the code or config might be a bit outdated so check them first and if you can't figure out what is wrong, every challenge has a telegram group that you can join and just ask your questions there&lt;/li&gt;
&lt;li&gt;For beginners it is recommended to learn solidity and basics of blockchain before starting&lt;/li&gt;
&lt;li&gt;Challenges might seem to be a bit simple, use them as a start and discover/research about more stuff related to that topic&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Topics covered
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Core Solidity&lt;/li&gt;
&lt;li&gt;NFTS&lt;/li&gt;
&lt;li&gt;ERC20 Tokens&lt;/li&gt;
&lt;li&gt;VRF&lt;/li&gt;
&lt;li&gt;DEX&lt;/li&gt;
&lt;li&gt;L2 Scaling&lt;/li&gt;
&lt;li&gt;Multisig Wallets&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Thoughts
&lt;/h2&gt;

&lt;p&gt;I personally enjoyed completing all the challenges 😊 got to revise some of the solidity basics as well as learn and explore new topics. I liked working with scaffold-eth 🏗️ its a great tool for quickly getting your project up although there is a lot of polishing to be done. Looking forward to scaffold-eth 2, it seems to have a better tech stack and UI, hopefully the code is a bit cleaner too 😜 Finally happy to be a part of &lt;a href="https://buidlguidl.com/" rel="noopener noreferrer"&gt;buidlguidl&lt;/a&gt; community 💪😌✌️&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>azure</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Challenge #7: 🎁 SVG NFT 🎫 Building Cohort Challenge</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Thu, 02 Mar 2023 04:57:56 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-7-svg-nft-building-cohort-challenge-28a9</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-7-svg-nft-building-cohort-challenge-28a9</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;Build a SVG NFT of your own!&lt;/p&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This is a very cool challenge since you get to learn about SVG NFTs. SVG NFTs are great since all the data related to the NFT is stored on the blockchain ⛓️ itself and there is no need of IPFS but its equally a bit costly since the data is being stored on the blockchain. This triggers a thought that maybe even normal images can be stored on blockchain itself, maybe in byte strings 🤔 but will probably end up being too costly! 💸  &lt;/p&gt;

&lt;p&gt;You can checkout my own implementation of SVG NFTs, Pinocchio Loogies a collection of 10 special edition loogies where with every mint the length of the nose shrinks by 10%. Feel free to mint some if there are any left 💪&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/scaffold-eth/scaffold-eth-examples/tree/loogies-svg-nft"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://polygonscan.com/address/0xd3628c08de1a2788c232732bb06de8dbdae1a3e7"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pinocchio-loogies.onrender.com"&gt;Deployed webapp for minting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opensea.io/collection/pinocchio-loogies"&gt;Opensea collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-7-svg-nft"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>web3</category>
      <category>blockchain</category>
      <category>solidity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Challenge #6: 👛 Multisig Wallet Challenge</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Tue, 21 Feb 2023 18:18:39 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-6-multisig-wallet-challenge-3aaf</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-6-multisig-wallet-challenge-3aaf</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;This is a smart contract that acts as an off-chain signature-based shared wallet amongst different signers that showcases use of meta-transaction knowledge and ECDSA &lt;code&gt;recover()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;At a high-level, the contract core functions are carried out as follows:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Off-chain: ⛓🙅🏻‍♂️&lt;/strong&gt; - Generation of a packed hash (bytes32) for a function call with specific parameters through a public view function . - It is signed by one of the signers associated to the multisig, and added to an array of signatures (&lt;code&gt;bytes[] memory signatures&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On-Chain: ⛓🙆🏻‍♂️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;bytes[] memory signatures&lt;/code&gt; is then passed into &lt;code&gt;executeTransaction&lt;/code&gt; as well as the necessary info to use &lt;code&gt;recover()&lt;/code&gt; to obtain the public address that ought to line up with one of the signers of the wallet.

&lt;ul&gt;
&lt;li&gt;This method, plus some conditional logic to avoid any duplicate entries from a single signer, is how votes for a specific transaction (hashed tx) are assessed.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;If it's a success, the tx is passed to the &lt;code&gt;call(){}&lt;/code&gt; function of the deployed MetaMultiSigWallet contract (this contract), thereby passing the &lt;code&gt;onlySelf&lt;/code&gt; modifier for any possible calls to internal txs such as (&lt;code&gt;addSigner()&lt;/code&gt;,&lt;code&gt;removeSigner()&lt;/code&gt;,&lt;code&gt;transferFunds()&lt;/code&gt;,&lt;code&gt;updateSignaturesRequried()&lt;/code&gt;).&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This challenge didn't really have any or much code to write, it was more about reading and understanding the code as well as self exploring the topics 🤓 At the core of this challenge is understanding &lt;code&gt;meta transactions&lt;/code&gt;. Understanding meta transactions was very interesting and cool since they can be used in so many different ways, opening doors for many applications to be possible, one example being multisig wallet. The fact that you can pass a function inside a call data and then the contract can then call that function is so cool 🤌&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-5-multisig" rel="noopener noreferrer"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c6.surge.sh/" rel="noopener noreferrer"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0xc45FEd4ebc8492b0E8997fB03Bc8D3183bF7B6f4" rel="noopener noreferrer"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-6-multisig" rel="noopener noreferrer"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>featurerequest</category>
      <category>ui</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Challenge #5: 📺 A State Channel Application Challenge</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Tue, 21 Feb 2023 06:42:56 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-5-a-state-channel-application-challenge-5g7b</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-5-a-state-channel-application-challenge-5g7b</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;🧑‍🤝‍🧑 State channels really excel as a scaling solution in cases where a fixed set of participants want to exchange value-for-service at high frequency. The canonical example is in file sharing or media streaming: the server exchanges chunks of a file in exchange for micropayments.&lt;/p&gt;

&lt;p&gt;🧙 In our case, the service provider is a &lt;code&gt;Guru&lt;/code&gt; who provides off-the-cuff wisdom to each client &lt;code&gt;Rube&lt;/code&gt; through a one-way chat box. Each character of text that is delivered is expected to be compensated with a payment of &lt;code&gt;0.001 ETH&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;We will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🛣️ Build a &lt;code&gt;Streamer.sol&lt;/code&gt; contract that collects &lt;strong&gt;ETH&lt;/strong&gt; from numerous client addresses using a payable &lt;code&gt;fundChannel()&lt;/code&gt; function and keeps track of &lt;code&gt;balances&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;💵 Exchange paid services off-chain between the &lt;code&gt;Streamer.sol&lt;/code&gt; contract owner (the &lt;strong&gt;Guru&lt;/strong&gt;) and &lt;strong&gt;rube&lt;/strong&gt; clients with funded channels. The &lt;strong&gt;Guru&lt;/strong&gt; provides the service in exchange for signed vouchers which can later be redeemed on-chain.&lt;/li&gt;
&lt;li&gt;⏱ Create a Challenge mechanism with a timeout, so that &lt;strong&gt;rubes&lt;/strong&gt; are protected from a &lt;strong&gt;Guru&lt;/strong&gt; who goes offline while funds are locked on-chain (either by accident, or as a theft attempt).&lt;/li&gt;
&lt;li&gt;⁉ Consider some security / usability holes in the current design.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This challenge helps you dive into layer 2 solutions in blockchain ⛓️ State channels is one of the solutions but I also got to explore and learn more about rollups (ZK Rollup and Optimistic rollups). I also learned how to verify a message singature on chain using ecrecover function as well as I explored the openzeppelin's &lt;a href="https://docs.openzeppelin.com/contracts/4.x/utilities#cryptography"&gt;ECDSA library&lt;/a&gt; 🔍 It also made me explore Broadcast channels in js since, I spend hours understanding why my messages aren't being sent via the channel when I had the second tab open in incognito (messages only pass in the same window!) 🙂&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://speedrunethereum.com/challenge/state-channels"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c5.surge.sh/"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0xbDC4cB01b4469D56B7953389F9CB37Ab2BE686f9"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-5-state-channels"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>web3</category>
      <category>blockchain</category>
      <category>solidity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Challenge #4: ⚖️ Build a DEX Challenge</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Sun, 12 Feb 2023 07:26:41 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-4-build-a-dex-challenge-2a55</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-4-build-a-dex-challenge-2a55</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;This challenge will help you build/understand a simple decentralized exchange, with one token-pair (ERC20 BALLOONS ($BAL) and ETH).&lt;/p&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This was a very interesting challenge, although most of the code was pre provided this challenge helped me understand how DEXs work. Such a simple mathematical formula that makes sure that the liquidity pool never empties and also balances the cost of the tokens based on the liquidity available ⚖️ Also my first time using the SafeMath by openzeppelin 📈&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://speedrunethereum.com/challenge/minimum-viable-exchange" rel="noopener noreferrer"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c4.surge.sh/" rel="noopener noreferrer"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0xf8f64a21e78c8d5d5f9883Cc76Ad38848333f3d5" rel="noopener noreferrer"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-4-dex" rel="noopener noreferrer"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>frontend</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>Challenge #3: 🎲 Dice Game</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Fri, 10 Feb 2023 19:19:19 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-3-dice-game-16lb</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-3-dice-game-16lb</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;💬 Dice Game is a contract that allows users to roll the dice to try and win the prize.  If players roll either a 0, 1, or 2 they will win the current prize amount.  The initial prize is 10% of the contract's balance, which starts out at .05 Eth.  &lt;/p&gt;

&lt;p&gt;🧤 Every time a player rolls the dice, they are required to send .002 Eth.  40 percent of this value is added to the current prize amount while the other 60 percent stays in the contract to fund future prizes.  Once a prize is won, the new prize amount is set to 10% of the total balance of the DiceGame contract.  &lt;/p&gt;

&lt;p&gt;🧨 Your job is to attack the Dice Game contract!  You will create a new contract that will predict the randomness ahead of time and only roll the dice when you're guaranteed to be a winner!&lt;/p&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This was a fairly simple challenge where we just had to copy the dice roll calculation logic from the main contract and make sure that the function is only called if the user is about to win! VRF (verifiable random function) are something new that I got to learn about ✨ Looking forward to randomness someaday being build into the ethereum protocol ✊&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://speedrunethereum.com/challenge/dice-game" rel="noopener noreferrer"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c3.surge.sh/" rel="noopener noreferrer"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0x8b14c651DA326b42cFaCcA96b48507109E57173A" rel="noopener noreferrer"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-3-dice-game" rel="noopener noreferrer"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
      <category>softwareengineering</category>
      <category>testing</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Challenge #2: 🏵 Token Vendor</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Fri, 10 Feb 2023 15:36:24 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-2-token-vendor-2565</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-2-token-vendor-2565</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;🤖 Smart contracts are kind of like "always on" &lt;em&gt;vending machines&lt;/em&gt; that &lt;strong&gt;anyone&lt;/strong&gt; can access. Let's make a decentralized, digital currency. Then, let's build an unstoppable vending machine that will buy and sell the currency.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This was a fun challenge because I got to create my own crypto &lt;a href="https://goerli.etherscan.io/token/0xccdba9c461ffe52b480e2899975ead2341ff70b1" rel="noopener noreferrer"&gt;KevinCoin&lt;/a&gt; which is priced at 0.01 ETH 😎 (on a testnet 🫠) This challenge essentially teaches you about the ERC 20 standards and how it works, its mechanism of approve, why it exists and so much more...&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://speedrunethereum.com/challenge/token-vendor" rel="noopener noreferrer"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c2.surge.sh/" rel="noopener noreferrer"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0x84ab81388e155D697291300F4Ed0e493E988c513" rel="noopener noreferrer"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-2-token-vendor" rel="noopener noreferrer"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>Challenge #1: 🥩 Decentralized Staking App</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Fri, 10 Feb 2023 12:07:07 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-1-decentralized-staking-app-3l8l</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-1-decentralized-staking-app-3l8l</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;🦸 A superpower of Ethereum is allowing you, the builder, to create a simple set of rules that an adversarial group of players can use to work together. In this challenge, you create a decentralized application where users can coordinate a group funding effort. If the users cooperate, the money is collected in a second smart contract. If they defect, the worst that can happen is everyone gets their money back. The users only have to trust the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;This challenge was fun, I got to work with &lt;code&gt;interacting with external contracts&lt;/code&gt;, creating and emitting &lt;code&gt;events&lt;/code&gt;, setting &lt;code&gt;contructor&lt;/code&gt;, creating and using &lt;code&gt;modifiers&lt;/code&gt;, setting up a &lt;code&gt;time relative system&lt;/code&gt;, &lt;code&gt;payable functions&lt;/code&gt; and the &lt;code&gt;special function receive&lt;/code&gt;. This challenge felt more like a CP (competitive programming) problem statement where a story / situation is explained and we need to write the code for the situation. This challenge is great for beginners since it teaches you about things like event, modifiers and much more which is at the core of solidity 🎯&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://speedrunethereum.com/challenge/decentralized-staking" rel="noopener noreferrer"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c1.surge.sh/" rel="noopener noreferrer"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0x71e41994f258bfce08cd455e6cc58fb7121902f6" rel="noopener noreferrer"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-1-decentralized-staking" rel="noopener noreferrer"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>career</category>
      <category>fullstack</category>
      <category>discuss</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Challenge #0: 🎟 Simple NFT Example</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Fri, 10 Feb 2023 07:09:27 +0000</pubDate>
      <link>https://dev.to/kevinjoshi46b/challenge-0-simple-nft-example-1c43</link>
      <guid>https://dev.to/kevinjoshi46b/challenge-0-simple-nft-example-1c43</guid>
      <description>&lt;h2&gt;
  
  
  Tasks to be done
&lt;/h2&gt;

&lt;p&gt;🎫 Create a simple NFT to learn basics of 🏗 scaffold-eth. You'll use 👷‍♀️ &lt;a href="https://hardhat.org/getting-started/"&gt;HardHat&lt;/a&gt; to compile and deploy smart contracts. Then, you'll use a template React app full of important Ethereum components and hooks. Finally, you'll deploy an NFT to a public network to share with friends! 🚀&lt;/p&gt;

&lt;p&gt;🌟 The final deliverable is an app that lets users purchase and transfer NFTs. Deploy your contracts to a testnet then build and upload your app to a public web server.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Review
&lt;/h2&gt;

&lt;p&gt;I would not class this as a challenge but more like getting accustomed with the setup and tools being used. For beginers in web3, this is a great way to understand how smart contracts are written, compiled, tested and deployed 🚀 Beginers should use this challenge to experiment and practice writing solidity which they might have learned recently but if you have written smart contracts in the past you can get used to the setup and quickly move on to the next challenge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Important links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://speedrunethereum.com/challenge/simple-nft-example"&gt;Speed Run Ethereum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kevinj-sre-c0.surge.sh/"&gt;Deployed webapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goerli.etherscan.io/address/0xd3628c08de1a2788c232732bb06de8dbdae1a3e7"&gt;Deployed contract&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kevinjoshi46b/speedrunethereum/tree/master/challenge-0-simple-nft"&gt;Project source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>web3</category>
      <category>blockchain</category>
      <category>solidity</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
