<?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>Forem: Han Lee</title>
    <description>The latest articles on Forem by Han Lee (@hlee18lee46).</description>
    <link>https://forem.com/hlee18lee46</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%2F1359781%2F03191f85-7f5d-4f92-8f88-8320d861e4d7.png</url>
      <title>Forem: Han Lee</title>
      <link>https://forem.com/hlee18lee46</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hlee18lee46"/>
    <language>en</language>
    <item>
      <title>Midnight Transactioin Viewer</title>
      <dc:creator>Han Lee</dc:creator>
      <pubDate>Fri, 05 Sep 2025 06:26:11 +0000</pubDate>
      <link>https://forem.com/hlee18lee46/midnight-scan-37kg</link>
      <guid>https://forem.com/hlee18lee46/midnight-scan-37kg</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/midnight-2025-08-20"&gt;Midnight Network "Privacy First" Challenge&lt;/a&gt; - Enhance the Ecosystem prompt&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Midnight Scan&lt;/strong&gt; is a lightweight, open-source web explorer for the &lt;strong&gt;Midnight testnet&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It helps developers quickly verify and debug their transactions by providing an easy-to-use &lt;strong&gt;transaction search&lt;/strong&gt; and &lt;strong&gt;recent activity feed&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 &lt;strong&gt;Search by Tx ID&lt;/strong&gt; → fetch transaction details from the Midnight GraphQL indexer
&lt;/li&gt;
&lt;li&gt;📜 &lt;strong&gt;Recent Transactions&lt;/strong&gt; toggle → shows the 15 most recent indexed transactions
&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Zero-install preview&lt;/strong&gt; → live and deployed on Vercel
&lt;/li&gt;
&lt;li&gt;🛠 Built with &lt;strong&gt;React + Vite + TypeScript + Tailwind CSS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;Live site&lt;/strong&gt;: &lt;a href="https://midnight-scan-transaction-viewer.vercel.app/" rel="noopener noreferrer"&gt;https://midnight-scan-transaction-viewer.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://midnight-scan-transaction-viewer.vercel.app/" rel="noopener noreferrer"&gt;https://midnight-scan-transaction-viewer.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;github repo: &lt;a href="https://github.com/hlee18lee46/midnight_scan_transaction_viewers" rel="noopener noreferrer"&gt;https://github.com/hlee18lee46/midnight_scan_transaction_viewers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fgqiqkxj5ic5eqsfeerxm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgqiqkxj5ic5eqsfeerxm.png" alt=" " width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The midnight scan web page.&lt;br&gt;
You can visit here: &lt;a href="https://midnight-scan-transaction-viewer.vercel.app/" rel="noopener noreferrer"&gt;https://midnight-scan-transaction-viewer.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fwnfx0icwyshobxtoxcvn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fwnfx0icwyshobxtoxcvn.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Making a sample transaction, requesting tDust from faucet is a easy transaction to make, we will track this transaction using transaction id.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fsi35rd6izll0f9yeiewq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fsi35rd6izll0f9yeiewq.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copied and pasted the transaction id into midnight_scan, and it will use the graphql to generate info about the transaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fo05s01c1i4rudbi52ru3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fo05s01c1i4rudbi52ru3.png" alt=" " width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, there is a toggle button to see recent transaction. Currently graphql only allows up to 15 most recent transaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fu9j7333zma1kzvep8mrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fu9j7333zma1kzvep8mrt.png" alt=" " width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The midnight scan transaction viewer web site is now deployed, so you can try by visiting the link (&lt;a href="https://midnight-scan-transaction-viewer.vercel.app/" rel="noopener noreferrer"&gt;https://midnight-scan-transaction-viewer.vercel.app/&lt;/a&gt;&lt;br&gt;
), instead of building this in local.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Used Midnight's Technology
&lt;/h2&gt;

&lt;p&gt;Midnight Scan integrates with the &lt;strong&gt;Midnight GraphQL Indexer&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
The app runs two core queries:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recent Transactions&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight graphql"&gt;&lt;code&gt;&lt;span class="k"&gt;query&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RecentTransactions&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="n"&gt;recentTransactions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;limit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;fee&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;blockHeight&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Developer Experience Improvements
&lt;/h2&gt;

&lt;p&gt;Before this tool, developers often had to rely on raw curl commands against the GraphQL indexer to look up transaction details. This workflow was not only repetitive but also unfriendly for newcomers, since it required knowing the exact query structure, formatting variables, and parsing JSON manually.&lt;/p&gt;

&lt;p&gt;Midnight Scan removes that friction by providing a simple UI where developers can paste a transaction ID or toggle to see recent activity. This makes it possible to explore the Midnight testnet without memorizing GraphQL queries or managing command-line tools.&lt;/p&gt;

&lt;p&gt;The result is a much smoother developer experience:&lt;br&gt;
    • Faster debugging during dApp development&lt;br&gt;
    • Lower learning curve for new developers and hackathon participants&lt;br&gt;
    • A foundation that can be extended with more features like pagination, block explorers, or address views&lt;/p&gt;

&lt;p&gt;By turning what was once a difficult, curl-driven task into a one-click lookup, Midnight Scan significantly improves the productivity of developers building on Midnight.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up Instructions / Tutorial
&lt;/h2&gt;

&lt;p&gt;No need to set up, just visit the deployed website and search your transaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://midnight-scan-transaction-viewer.vercel.app/" rel="noopener noreferrer"&gt;https://midnight-scan-transaction-viewer.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  🌙 Midnight Scan – Transaction Viewer
&lt;/h1&gt;

&lt;p&gt;Submission for the &lt;strong&gt;Midnight Network "Privacy First" Challenge&lt;/strong&gt; — &lt;em&gt;Enhance the Ecosystem&lt;/em&gt; prompt.&lt;/p&gt;




</description>
      <category>devchallenge</category>
      <category>midnightchallenge</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Enhance the Ecosystem: npm package to initialize react app with midnight lace wallet connection.</title>
      <dc:creator>Han Lee</dc:creator>
      <pubDate>Wed, 03 Sep 2025 22:50:05 +0000</pubDate>
      <link>https://forem.com/hlee18lee46/enhance-the-ecosystem-npm-package-to-initialize-react-app-with-midnight-lace-wallet-connection-f1j</link>
      <guid>https://forem.com/hlee18lee46/enhance-the-ecosystem-npm-package-to-initialize-react-app-with-midnight-lace-wallet-connection-f1j</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/midnight-2025-08-20"&gt;Midnight Network "Privacy First" Challenge&lt;/a&gt; - Enhance the Ecosystem prompt&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Enhance the Ecosystem: npm package to initialize react app with midnight lace wallet connection: create-midnight-dapp&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built create-midnight-dapp, an open-source CLI tool that scaffolds a ready-to-use Midnight dApp project with one command.&lt;/p&gt;

&lt;p&gt;The motivation for this project is that I have participated in a lot of college hackathons, and there were award for "Best Use of Midnight" co-sponsored by MLH (Major League Hacking) and Midnight and college hackers struggled with how to start with Midnight. As a result, college hackers did not use Midnight after trying a little bit, and "Best Use of Midnight" were awarded to college hackers that did not even use Midnight, this happened on multiple occasions.&lt;/p&gt;

&lt;p&gt;The goal is to improve the developer onboarding experience: instead of manually configuring Vite, React, TypeScript, Midnight wallet connectors, and boilerplate UI, developers can bootstrap a working project in seconds. I developed this template of react + vite + Midnight Lace wallet connector. Upon connection, the page displays wallet information as below:&lt;/p&gt;

&lt;p&gt;Wallet Provider&lt;br&gt;
Wallet&lt;br&gt;
API version&lt;br&gt;
Wallet Address&lt;br&gt;
tDust Balance&lt;br&gt;
Capabilities&lt;/p&gt;

&lt;p&gt;Shield Address&lt;br&gt;
Shield CPK&lt;br&gt;
Shield EPK&lt;br&gt;
Legacy Address&lt;br&gt;
Legacy CPK&lt;br&gt;
Legacy EPK&lt;/p&gt;

&lt;p&gt;This saves hours of repetitive setup and ensures everyone starts with a consistent, tested, and documented environment. Now, everybody can start with a template to kickstart their journey with Midnight easily and can utilize the wallet info above to make their decentralized applications.&lt;/p&gt;

&lt;p&gt;Resulting Project Structure&lt;/p&gt;

&lt;p&gt;my-dapp/&lt;br&gt;
├── index.html&lt;br&gt;
├── package.json&lt;br&gt;
├── src/&lt;br&gt;
│   ├── App.tsx&lt;br&gt;
│   ├── main.tsx&lt;br&gt;
│   ├── components/&lt;br&gt;
│   │   └── Navbar.tsx&lt;br&gt;
│   └── midnight-provider.ts&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Frln2jx3azcw4p8b7jpe2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frln2jx3azcw4p8b7jpe2.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our published npm package&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F29o8wm75aj2doopb28gm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F29o8wm75aj2doopb28gm.png" alt=" " width="800" height="561"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;running npm command to initialize our react + midnight lace wallet connection starter template&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F3np6fjrt1b6tqlifnqrd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F3np6fjrt1b6tqlifnqrd.png" alt=" " width="766" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Frnkotkggb7y9k7fruy5z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frnkotkggb7y9k7fruy5z.png" alt=" " width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F0n36xqyalf18m52ik5d0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F0n36xqyalf18m52ik5d0.png" alt=" " width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fnuuj2hsa1bvzfzdv0x04.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fnuuj2hsa1bvzfzdv0x04.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository: &lt;a href="https://github.com/hlee18lee46/midnight_starter" rel="noopener noreferrer"&gt;https://github.com/hlee18lee46/midnight_starter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📦 NPM Package: create-midnight-dapp&lt;/p&gt;

&lt;p&gt;📦 NPM Package Link: &lt;a href="https://www.npmjs.com/package/create-midnight-dapp" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/create-midnight-dapp&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Midnight's Technology
&lt;/h2&gt;

&lt;p&gt;Integrated Midnight Lace Wallet provider discovery (window.midnight, window.cardano.midnight)&lt;/p&gt;

&lt;p&gt;Added connect flow with provider.enable() and event dispatch so apps can reactively update state&lt;/p&gt;

&lt;p&gt;Display wallet summary and keys: Shield Address, CPK, EPK, Legacy keys, balance, and API capabilities&lt;/p&gt;

&lt;p&gt;Built the project to be testnet-ready, so developers can immediately experiment with tDUST transfers and wallet APIs&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience Improvements
&lt;/h2&gt;

&lt;p&gt;✅ One command setup: no manual Vite/React/TypeScript config&lt;br&gt;
✅ Wallet integration out-of-the-box: working “Connect Midnight Wallet” button + state display&lt;br&gt;
✅ No Tailwind/PostCSS complexity: ships with simple baseline CSS, avoids common errors&lt;br&gt;
✅ Custom hooks ready: reusable provider + event dispatch pattern developers can extend&lt;br&gt;
✅ Documentation included: clear instructions for scaffolding, running, and extending&lt;/p&gt;

&lt;p&gt;This removes the friction for newcomers and accelerates prototyping for advanced developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up Instructions / Tutorial
&lt;/h2&gt;

&lt;p&gt;-Prerequisites&lt;br&gt;
Install Lace Midnight Preview Browser Extension (Chrome, Brave, etc)&lt;/p&gt;

&lt;p&gt;-Install and run the CLI&lt;br&gt;
mkdir my-dapp &amp;amp;&amp;amp; cd my-dapp&lt;br&gt;
npm exec create-midnight-dapp@latest -- --in-place&lt;/p&gt;

&lt;p&gt;-Move into the folder&lt;br&gt;
cd my-dapp&lt;/p&gt;

&lt;p&gt;-Install dependencies&lt;br&gt;
npm install&lt;/p&gt;

&lt;p&gt;-Start the dev server&lt;br&gt;
npm run dev&lt;/p&gt;

&lt;p&gt;Visit &lt;a href="http://localhost:5173" rel="noopener noreferrer"&gt;http://localhost:5173&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;This project is open-source under the Apache 2.0 License.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>midnightchallenge</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
