<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Kalpita Mandal</title>
        <link>https://paragraph.com/@kalpita-mandal</link>
        <description>undefined</description>
        <lastBuildDate>Sat, 15 Aug 2026 13:07:15 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Kalpita Mandal</title>
            <url>https://storage.googleapis.com/papyrus_images/1f495f6996fd239e49a391e4dd17c2f75538d0d9d92b9c752c5cea7983fcf2dc.jpg</url>
            <link>https://paragraph.com/@kalpita-mandal</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Touch Down: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/touch-down-ethindia-fellowship-3-0</link>
            <guid>C1XcuOfPzWXKZEURvQkR</guid>
            <pubDate>Fri, 31 Mar 2023 14:25:28 GMT</pubDate>
            <description><![CDATA[The fellowship has been a wild ride with a lot of learning. This week I focused solely on getting the different components of my project to work together, there are still a few bugs that I need to get past and a lot of improvements that can be made for sure but I am glad I made it this far. It has been a great learning experience and now will be polishing the project to gear up for the demo day. Here is a recap of what has unfolded week by week! ✨ https://mirror.xyz/0x378b45251c732E190ccf74A0...]]></description>
            <content:encoded><![CDATA[<p>The fellowship has been a wild ride with a lot of learning. This week I focused solely on getting the different components of my project to work together, there are still a few bugs that I need to get past and a lot of improvements that can be made for sure but I am glad I made it this far. It has been a great learning experience and now will be polishing the project to gear up for the demo day. Here is a recap of what has unfolded week by week! ✨</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/4NjuhHI0kqulg5DNDI87KvzmBvPQBunGthsk4Lp9W0Q">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/4NjuhHI0kqulg5DNDI87KvzmBvPQBunGthsk4Lp9W0Q</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/WVcDX9vFOSTf8LHQnQYmkT22CBI6OQE-CNAk68m1nnY">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/WVcDX9vFOSTf8LHQnQYmkT22CBI6OQE-CNAk68m1nnY</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/jwCKlm2bpF6Pfd1nW3t9K1U-qruH-y9848TQEPIdN-c">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/jwCKlm2bpF6Pfd1nW3t9K1U-qruH-y9848TQEPIdN-c</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/Hx0NH-yUC5ZvV_N-_ImOJCyetubi6qE0x_sR31n-5Vc">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/Hx0NH-yUC5ZvV_N-_ImOJCyetubi6qE0x_sR31n-5Vc</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/UTrSiPyxtTsLtJnf7WwMPAltOS7OdHT-xb-GII3ShGI">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/UTrSiPyxtTsLtJnf7WwMPAltOS7OdHT-xb-GII3ShGI</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/w-z7BOZAKn_Wz94PaoEoYTHt2d-8e1YouF3MWaw8OdM">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/w-z7BOZAKn_Wz94PaoEoYTHt2d-8e1YouF3MWaw8OdM</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/8KWDT1GxPzT3gh9vJeVE-5-oTAaXkMgzVGHEgROUCzc">https://mirror.xyz/0x378b45251c732E190ccf74A0FC971DF73559CA67/8KWDT1GxPzT3gh9vJeVE-5-oTAaXkMgzVGHEgROUCzc</a></p><blockquote><p>That’s a wrap! 👋</p></blockquote>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/5b8daf05a3dbca43ad61eaa39be18b78679253c9079f20edb05c5a9ee0b1d5e1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Home Stretch: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/home-stretch-ethindia-fellowship-3-0</link>
            <guid>k2Dc9hWU0KXTEd34FGbr</guid>
            <pubDate>Tue, 28 Mar 2023 09:18:48 GMT</pubDate>
            <description><![CDATA[With week 7 wrapping up, we had a chance to talk to industry experts and gain a deeper understanding of the ever-evolving wallet space. The panel discussed how Account Abstraction is here to make user onboarding easier and how the current wallet UX needs improvements. We also got to hear from the upcoming and a few fellow projects building on EIP4337, and how they are improving the ecosystem. Here are a few projects to look out for. https://www.alchemy.com/dapps/banana-wallet https://www.jiff...]]></description>
            <content:encoded><![CDATA[<p>With week 7 wrapping up, we had a chance to talk to industry experts and gain a deeper understanding of the ever-evolving wallet space. The panel discussed how Account Abstraction is here to make user onboarding easier and how the current wallet UX needs improvements. We also got to hear from the upcoming and a few fellow projects building on EIP4337, and how they are improving the ecosystem. Here are a few projects to look out for.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alchemy.com/dapps/banana-wallet">https://www.alchemy.com/dapps/banana-wallet</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.jiffyscan.xyz/">https://www.jiffyscan.xyz/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/4337Mafia/awesome-account-abstraction/tree/main">https://github.com/4337Mafia/awesome-account-abstraction/tree/main</a></p><p>I also got to discuss my project idea with the panel and identified a few more features that could be added to my wallet application to make it finer. Adding a paymaster to the wallet application makes it easier for users to make transactions using any ERC20 token. So far, contracts for a simple wallet, wallet factory and a paymaster are in place. With the basic functionality in place, the implementation of the MEV-resistant bundler and tying the different components together is the agenda for the last week. The following reference projects have been a huge help and will be a great place for beginners to start out.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/eth-infinitism/account-abstraction">https://github.com/eth-infinitism/account-abstraction</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/eth-infinitism/bundler">https://github.com/eth-infinitism/bundler</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/plusminushalf/demo-aa">https://github.com/plusminushalf/demo-aa</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/eth-infinitism/trampoline">https://github.com/eth-infinitism/trampoline</a></p><blockquote><p>Yabba Dabba Do! 👋</p></blockquote>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/44a423a933c95dcabc16f32173acb47123569e3a89b021c5fefb609695503181.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Bare Bones: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/bare-bones-ethindia-fellowship-3-0</link>
            <guid>qiHancCujhQIQdyaqqn8</guid>
            <pubDate>Tue, 21 Mar 2023 17:16:36 GMT</pubDate>
            <description><![CDATA[This week was engrossed on Armor. Armor is a wallet application that uses account abstraction to leverage multi-transaction execution with social recovery features and MEV attack resistance.Problem Statement:The transaction-batching feature of account abstraction lets users batch multiple transactions together to save on the gas fees for a single transaction. However, when batching transactions, front-running and sandwich attacks cause a problem. Invalidation of even one transaction, though M...]]></description>
            <content:encoded><![CDATA[<p>This week was engrossed on Armor. Armor is a wallet application that uses account abstraction to leverage multi-transaction execution with social recovery features and MEV attack resistance.</p><h3 id="h-problem-statement" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Problem Statement:</h3><p>The transaction-batching feature of account abstraction lets users batch multiple transactions together to save on the gas fees for a single transaction. However, when batching transactions, front-running and sandwich attacks cause a problem. Invalidation of even one transaction, though MEV attack, could lead to invalidation of the whole batch of transactions, also called mass invalidation.</p><p>This calls for MEV attack resistance on the wallet application to ensure that the multi-transaction feature cannot be exploited. For Starters, the Gnosis safe contracts serve as a reference implementation for the multisig wallet that supports social recovery and transaction batching.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/safe-global/safe-contracts">https://github.com/safe-global/safe-contracts</a></p><p>Other reference implementations that helped me form a bare-bones multisig wallet with social recovery features are the Candide wallet and eth-infinitism.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.candidewallet.com/">https://www.candidewallet.com/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/eth-infinitism">https://github.com/eth-infinitism</a></p><p>For MEV attack resistance, flashbot protect is the go-to solution. Flashbot protect receives transactions into its own mempool instead of the public mempool. Here, the transactions are evaluated to check if the transaction needs flashbot protection or not, if it does not the transaction is sent back to the public mempool otherwise it is protected from MEV attacks.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/flashbots/announcing-flashbots-protect-9e039e9f0aa3">https://medium.com/flashbots/announcing-flashbots-protect-9e039e9f0aa3</a></p><p>Since the transactions using account abstraction use a separate mempool, the inclusion of the flashbot protect could cause a problem as it requires the transactions to be sent to the flashbot mempool instead followed by the transactions being sent to the public mempool. This piece of the puzzle needs a bit more brainstorming.</p><blockquote><p><em>To infinity and beyond!</em> 🚀</p></blockquote>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/396ed66b6c364725cb92c7ef7e39ae31574f2d90673a56ed341693c6b819dc9c.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Wander: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/wander-ethindia-fellowship-3-0</link>
            <guid>IM4scBWB7T6clArzZiLP</guid>
            <pubDate>Fri, 10 Mar 2023 17:04:42 GMT</pubDate>
            <description><![CDATA[This week has been a rollercoaster ride! We started the week by exploring around with major DeFi projects and wrapped up our project ideas. We had a few great minds of DeFi join us for an informative session on the latest developments in the ecosystem. I got to explore Polymarket, the DeFi platform that allows users to bet on their beliefs and win for being right. Polymarket is an information market, that allows users to bet on future outcomes in a market. Information markets like these serve...]]></description>
            <content:encoded><![CDATA[<p>This week has been a rollercoaster ride! We started the week by exploring around with major DeFi projects and wrapped up our project ideas. We had a few great minds of DeFi join us for an informative session on the latest developments in the ecosystem.</p><p>I got to explore Polymarket, the DeFi platform that allows users to bet on their beliefs and win for being right. Polymarket is an information market, that allows users to bet on future outcomes in a market. Information markets like these serve as a source of truth as opinions shared in these markets are backed by value and hence are more reliable.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polymarket.com/">https://polymarket.com/</a></p><p>Each market has <code>YES</code> and <code>NO</code> outcomes and those who wish to participate in the market can buy and sell shares to either or both shares. On resolution, the winners can redeem their winning shares at $1 per share. Users can also provide liquidity to the markets and earn from the liquidity provider (LP) fees. Users can also split their shares into both outcomes, i.e 1 USDC gives 1 YES and 1 NO share). Providing liquidity to the market attracts more participation, increasing the accuracy of the data.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a1f5545acfa0854f945af4273b6992694e93295cda68a8018e302485ea984faf.png" alt="Most trending market on Polymarket" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Most trending market on Polymarket</figcaption></figure><p>The platform also helps spectators to understand the market conditions with accuracy. With the help of the graph, users can understand how opinions have changed in the past week. Cannot find a market of interest? Join the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/hGYPGru">discord</a> server and have people bet on your market!</p><p>For the project in the build phase, I have been intrigued by account abstraction and its advantages over EOAs. Projects like ArgentX and Avocado have been great resources to explore the implementation of EIP-4337. Listing a few of the resources for the curious.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://eips.ethereum.org/EIPS/eip-4337">https://eips.ethereum.org/EIPS/eip-4337</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.instadapp.io/introducing-avocado/">https://blog.instadapp.io/introducing-avocado/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.argent.xyz/blog/argent-x-starknet/">https://www.argent.xyz/blog/argent-x-starknet/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/eth-infinitism/account-abstraction">https://github.com/eth-infinitism/account-abstraction</a></p><blockquote><p><em>3, 2, 1, blast off!</em> 🚀👽</p></blockquote>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/a55b4a8adf8b37d25f0892e948148d0af470b4811f4c2e6f48cb6c018fd18a5b.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ripples: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/ripples-ethindia-fellowship-3-0</link>
            <guid>3iOfPRma581fkXWqndKU</guid>
            <pubDate>Fri, 03 Mar 2023 17:25:41 GMT</pubDate>
            <description><![CDATA[This week was focused on trying to understand where we could apply ourselves in the web3 space. With a bunch of hangouts and calls catered towards discussing recent projects to look out for and crypto gossip, trivia nights and project ideation, we were free to go create our very own ripples in the ocean. With speedrun challenges wrapping up, we had more control over the direction our work took. Multisig wallets, also sometimes called multisig vaults or safes, are a type of crypto wallet that ...]]></description>
            <content:encoded><![CDATA[<p>This week was focused on trying to understand where we could apply ourselves in the web3 space. With a bunch of hangouts and calls catered towards discussing recent projects to look out for and crypto gossip, trivia nights and project ideation, we were free to go create our very own ripples in the ocean.</p><p>With speedrun challenges wrapping up, we had more control over the direction our work took. Multisig wallets, also sometimes called multisig vaults or safes, are a type of crypto wallet that requires two or more private keys to perform certain tasks. This is done to increase the security of the funds stored in the wallet by requiring multiple parties to sign off before sending any transactions. The process of a multisig wallet works by requiring multiple signatures from a set of predetermined addresses, and if any one of these signatures is missing, the transaction will not be able to go through. Think of it as a safe with unique keys that must be used together to open it.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alchemy.com/best/multisig-wallets">https://www.alchemy.com/best/multisig-wallets</a></p><p>For the challenge, the generation of the packed hash was done off-chain. The packed hash included transaction details like value, data, nonce, chainId, etc. We were able to add and remove signers and based on the number of signers we could also set the number of signs required to process a transaction properly. However, this exposed a bug in the contract, where one could easily set the <code>signatures required</code> to be more than the signers present and cause a DOS attack on the multisig contract.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buidlguidl.com/build/dpsOsQMS9RCSQS2INf2b">https://buidlguidl.com/build/dpsOsQMS9RCSQS2INf2b</a></p><p>The second challenge was a fun SVG NFT challenge. SVG NFTs are NFTs with all their data on-chain, where usually NFTs store the data on IPFS. This was a great way for us to show off our own creations and here is mine!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/48a7154ad0ed0a119831c5589f92b593c351a621dfade1e3610238c8affbdf05.png" alt="Introducing my Ugly Snowmen ❄ " blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Introducing my Ugly Snowmen ❄</figcaption></figure><p>There was a <code>nonce too high</code> error that I faced while working on this challenge. This is the error and here is how to solve this issue.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9dab80d4309a98b895e4f5e91bb47c1f9601840adc132f628d0861c565318339.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@thelasthash/solved-nonce-too-high-error-with-metamask-and-hardhat-adc66f092cd">https://medium.com/@thelasthash/solved-nonce-too-high-error-with-metamask-and-hardhat-adc66f092cd</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buidlguidl.com/build/kDoww0wk6KDQuE81U8Kk">https://buidlguidl.com/build/kDoww0wk6KDQuE81U8Kk</a></p><p>Speedrun Ethereum has been a great learning experience and this is not all, there are many more resources for the curious mind to hack through!</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.scaffoldeth.io/scaffold-eth/">https://docs.scaffoldeth.io/scaffold-eth/</a></p><p>Last but not least, keep an eye out for scaffold-eth 2.0 ✨👀</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/austingriffith/status/1626654919985074177">https://twitter.com/austingriffith/status/1626654919985074177</a></p><blockquote><p>That’s all folks! 🤠</p></blockquote>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/ff882007048a06c9b2f423a77a761bb6b547d484a47ad467589645c941ff0942.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[High Seas: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/high-seas-ethindia-fellowship-3-0</link>
            <guid>k496N1WlhI7C0yoyRjjY</guid>
            <pubDate>Fri, 24 Feb 2023 16:16:56 GMT</pubDate>
            <description><![CDATA[This week was focused more on the real-world applications of Ethereum. Starting off with an introduction to the basics of a Decentralized Exchange through the uniswap series. We also looked into how Filecoin + IPFS is aiding the decentralized storage of data on the blockchain. IPFS is a decentralized web protocol for sharing data quickly and easily. Filecoin is built on top of IPFS and supports storing data long-term via on-chain deals. Filecoin lets users store their data on the filecoin net...]]></description>
            <content:encoded><![CDATA[<p>This week was focused more on the real-world applications of Ethereum. Starting off with an introduction to the basics of a Decentralized Exchange through the uniswap series. We also looked into how Filecoin + IPFS is aiding the decentralized storage of data on the blockchain. IPFS is a decentralized web protocol for sharing data quickly and easily. Filecoin is built on top of IPFS and supports storing data long-term via on-chain deals.</p><p>Filecoin lets users store their data on the filecoin network through storage deals. Storage providers (SPs) on the network take these storage deals, add the files onto the network and generates a <code>proof of storage</code> at regular intervals to prove that the data is correct. These SPs get rewards for their services and anyone with enough space on their devices and the required specs can become SP for the network.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://filecoin.io/blog/posts/how-storage-and-retrieval-deals-work-on-filecoin/">https://filecoin.io/blog/posts/how-storage-and-retrieval-deals-work-on-filecoin/</a></p><hr><p>The challenges for the week had us build our own minimum viable DEX. Learning about how liquidity pools maintain liquidity using the curve function along with the interactive front-end to see it in action was really interesting. Based on the reserves added to the pools, we calculate the number of tokens we can swap for a given token and the curve function ensures that the pool never runs out of liquidity. This knowledge could also help users make favourable trades. For a more detailed version of the DEX take a look into uniswap-solidity. The fact that anybody having the token pairs could participate in providing liquidity into the pools highlights the permissionless aspect of blockchains.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/PhABC/uniswap-solidity">https://github.com/PhABC/uniswap-solidity</a></p><p>DEX: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://soft-grandmother.surge.sh">soft-grandmother.surge.sh</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.etherscan.io/address/0xfDA13f19ae9C2db505038ceaBa18DA5E0AfF4D2f">https://goerli.etherscan.io/address/0xfDA13f19ae9C2db505038ceaBa18DA5E0AfF4D2f</a></p><hr><p>The second challenge introduces us to a major problem in blockchains, blockchain trilemma. A trilemma is a situation where there are three options, but at most only two of them are possible to achieve at the same time. In the case of the blockchain trilemma, the three options are security, scalability, and decentralization.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://coinmarketcap.com/alexandria/glossary/blockchain-trilemma">https://coinmarketcap.com/alexandria/glossary/blockchain-trilemma</a></p><p>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.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethereum.org/en/developers/docs/scaling/state-channels/">https://ethereum.org/en/developers/docs/scaling/state-channels/</a></p><p>Building the state channel application introduces all the core aspects of such layer 2 solutions. Building an application where a client/user could get off-the-cuff services in exchange for payment only for the services received was a great way to see these solutions in action. The challenge also urged me to look into other L2 solutions and how those compared to state channels.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethereum.org/en/developers/docs/scaling/">https://ethereum.org/en/developers/docs/scaling/</a></p><p>While hacking the challenge, I also learned how to sign and verify signed messages using the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.openzeppelin.com/contracts/4.x/utilities#cryptography">ECDSA</a> library. The only downside, all the off-chain services could only be passed between tabs open in the same window.</p><p>State Channel: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://ratty-achieve.surge.sh">ratty-achieve.surge.sh</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.etherscan.io/address/0x04E99ae799F6e4dAb81D0fDedB407397BEbf752b">https://goerli.etherscan.io/address/0x04E99ae799F6e4dAb81D0fDedB407397BEbf752b</a></p><p>I also faced an overflow issue while making the contracts where the <code>timeLeft</code> function wasn’t taking into account where the deadline was already crossed and a simple if-else statement did the trick. This week I also started taking into account how to make my code gas optimized and why it was necessary when deploying contracts.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dev.to/javier123454321/series/14724">https://dev.to/javier123454321/series/14724</a></p><blockquote><p>If you made it through the entire blog, you deserve 🙌👏</p></blockquote>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/520fabfa0b1bb7f8027fd4548cc634700c43cf7fb99e641aa94f8ae93fa43d6e.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Deep Dive: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/deep-dive-ethindia-fellowship-3-0</link>
            <guid>j2xHVnrmlbWqzJvhtRjZ</guid>
            <pubDate>Fri, 17 Feb 2023 17:09:05 GMT</pubDate>
            <description><![CDATA[This week was all about getting deep into the concepts that make up the very core of Ethereum. Went through EVM’s detailed architecture and how it compares with the existing technology. Ethereum being an account-based protocol, needs to efficiently update account states to ensure proper transaction finality. The contracts are converted to bytecode before being deployed and the list of bytecode operations highlights the working of EVM. The best way to get building on your ideas is the Remix id...]]></description>
            <content:encoded><![CDATA[<p>This week was all about getting deep into the concepts that make up the very core of Ethereum. Went through EVM’s detailed architecture and how it compares with the existing technology. Ethereum being an account-based protocol, needs to efficiently update account states to ensure proper transaction finality. The contracts are converted to bytecode before being deployed and the list of bytecode operations highlights the working of EVM.</p><p>The best way to get building on your ideas is the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://remix.ethereum.org/?#activate=udapp,solidity,LearnEth&amp;call=LearnEth//startTutorial//ethereum/remix-workshops//master//basics&amp;optimize=false&amp;runs=200&amp;evmVersion=null">Remix ide</a> without worrying about the development environment setup. Remix ide comes with a bunch of plugins that help fasttrack your development cycle.</p><p>The foundry book is a great resource for contract testing in solidity language. Foundry also provides fuzzing and invariant testing to make sure the tests written for the contracts pass for a range of values. The highlight has been the <strong>mock</strong> function that lets us return a specific value for a function call and the <strong>prank</strong> function for impersonations.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://book.getfoundry.sh/">https://book.getfoundry.sh/</a></p><p>This week’s challenges were the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://speedrunethereum.com/challenge/token-vendor">Token Vendor</a> and the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://speedrunethereum.com/challenge/dice-game">Dice Game</a>. The token vendor challenge was an introduction to the approve pattern when transferring ERC20 tokens. The token contract deals with the mint, transfer, etc functionalities of the token and the vendor contract is used to list the custom ERC20 tokens and set the price for each token, per ether. The tokens are sold on the vendor contract and the profits are withdrawn by the token owner address. The interaction between contracts and the approval pattern was highlighted in this challenge.</p><p>Token Vendor: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://resolute-jail.surge.sh/">https://resolute-jail.surge.sh</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.etherscan.io/address/0x16c29F6cDabb59C87108885103A1fE78cf99dE3f">https://goerli.etherscan.io/address/0x16c29F6cDabb59C87108885103A1fE78cf99dE3f</a></p><p>The Dice game was a fun challenge where we got to hack a dice game contract. The dice game contract used a predictable random number generation logic. Since the contracts are immutable and hold real value, predictable randomness poses a challenge. We were able to use the same randomness logic to exploit the dice game contract and only throw winning rolls.</p><p>Dice Game: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://wry-grandfather.surge.sh/">https://wry-grandfather.surge.sh</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.etherscan.io/address/0xe0bca68ac813282FEc62171F0027acF57Ec84206">https://goerli.etherscan.io/address/0xe0bca68ac813282FEc62171F0027acF57Ec84206</a></p><p>In real-world applications, this problem is solved in one of two ways; produce randomness off-chain or use chainlink VRF (Verifiable Random Function). The VRF generates one or more random numbers along with cryptographic proof of how these values were determined. This proof is published and verified on-chain before any application can use it.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.chain.link/random-number-generation-solidity/">https://blog.chain.link/random-number-generation-solidity/</a></p><p>Lastly, we tackled the deadman’s switch problem. A well-known problem for cryptocurrency holders is that all funds are lost if the owner is incapacitated and has not shared his/her private key with anyone else. As a solution, a contract is designed where the owner needs to call the <code>stillAlive()</code> function within an interval of 10 blocks, failing to do so the funds held in the contract are transferred to a pre-set <code>successor</code> address.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Dead_Man%27s_Switch:_A_Crypto_Mystery">https://en.wikipedia.org/wiki/Dead_Man%27s_Switch:_A_Crypto_Mystery</a></p><p>Multisig wallets could be a good solution to this problem. Where a wallet would be able to make transactions even when one of the owners (signers) is incapacitated. As long as a majority of owners sign for a transaction, the funds stored in the wallet can be saved.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.coindesk.com/learn/what-is-a-multisig-wallet/">https://www.coindesk.com/learn/what-is-a-multisig-wallet/</a></p><p>Phew! Thanks for sticking until the very end. Here’s an axolotl</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/229959c29c1c369ca40eaf53b80bd2e26236994147ec3d00c004a42ce904d14a.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/e85aae6a9811104a1010090cd90aa78363a4c755c3f73875e5b4fcb6a04cd092.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Initiation: ETHIndia Fellowship 3.0]]></title>
            <link>https://paragraph.com/@kalpita-mandal/initiation-ethindia-fellowship-3-0</link>
            <guid>EPmE8KvVwv4vIpm9QaRl</guid>
            <pubDate>Fri, 10 Feb 2023 16:07:56 GMT</pubDate>
            <description><![CDATA[Going back to the basics of web3 development with a roadmap this time! ETHIndia Fellowship is an 8-week program to help emerging developers learn, build and collaborate on all things web3. The first week started off with an introduction to Ethereum with none other than Austin Griffith and scaffold-eth.The secret sauce for getting started with building on Ethereum: scaffold-eth + Solidity by Example. A great place to start tinkering with solidity code and watch it come to life in real-time. Co...]]></description>
            <content:encoded><![CDATA[<p>Going back to the basics of web3 development with a roadmap this time! ETHIndia Fellowship is an 8-week program to help emerging developers learn, build and collaborate on all things web3.</p><p>The first week started off with an introduction to Ethereum with none other than Austin Griffith and scaffold-eth.The secret sauce for getting started with building on Ethereum: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/scaffold-eth/scaffold-eth">scaffold-eth</a> + <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://solidity-by-example.org/">Solidity by Example</a>. A great place to start tinkering with solidity code and watch it come to life in real-time. Copy and paste the concepts from the examples and interact with them on scaffold-eth.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/austingriffith/status/1483834810359377923">https://twitter.com/austingriffith/status/1483834810359377923</a></p><p>The agenda for the first week was to get our hands dirty and try out speedrun Ethereum challenges. The simple NFT example was a follow-along exercise for developers to get used to the basics of solidity language and to better understand wallet applications and testnets. The Decentralized Staking App was a bit more challenging with an introduction to concepts like fallback functions, mappings, modifiers and inter-contract communication.</p><p>For the second challenge, I used some different approaches initially like tracking some global vars for certain areas and if-else statements. Needless to say, there were more things for me to learn after reading through the page. This also forced me to look into contract testing and how events are used to communicate with the front end.</p><p>The contracts for both challenges are deployed on the Goerli testnet and the front end is hosted on Surge.</p><h3 id="h-deployment-links" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Deployment links</h3><p>Simple NFT Example: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://instinctive-mom.surge.sh/">https://instinctive-mom.surge.sh</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.etherscan.io/address/0xA1e36c97a561B5412e2e78DE116324e4b6781d84">https://goerli.etherscan.io/address/0xA1e36c97a561B5412e2e78DE116324e4b6781d84</a></p><p>Decentralized Staking App: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hilarious-brake.surge.sh/">https://hilarious-brake.surge.sh</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.etherscan.io/address/0x945933a2A81943570F44a793bBDbff7954C387C1">https://goerli.etherscan.io/address/0x945933a2A81943570F44a793bBDbff7954C387C1</a></p><p>For the inquisitive, the Uniswap application is a great source to understand DeFi. The Uniswap series dove deep into the concepts of economic mechanisms and exposes the true potential of smart contracts.</p><p>Excited for the upcoming weeks and a lot more learning! ✨</p>]]></content:encoded>
            <author>kalpita-mandal@newsletter.paragraph.com (Kalpita Mandal)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f3fc9aead0594e6351e8e5bf522000bc5c0e4e3f8a3c1769210ba0c3e40b1fb3.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>