<?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>trmid</title>
        <link>https://paragraph.com/@trmid</link>
        <description>I'm a developer that likes to make low-infrastructure and self-sustainable web3 apps.</description>
        <lastBuildDate>Fri, 24 Apr 2026 18:52:57 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>trmid</title>
            <url>https://storage.googleapis.com/papyrus_images/18c4265985f60550f7d20d61dbfbc65474d26762894428ae0f87837fd7377240.png</url>
            <link>https://paragraph.com/@trmid</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[How to Host a Decentralized Website with pool.limo]]></title>
            <link>https://paragraph.com/@trmid/how-to-host-a-decentralized-website-with-pool-limo</link>
            <guid>8rpR7C0DIR9TqfEKqG68</guid>
            <pubDate>Tue, 14 Feb 2023 16:11:29 GMT</pubDate>
            <description><![CDATA[pool.limo is a gateway for serving decentralized websites from .pool domains. In this guide, you will learn how to create and host a personal website from your .pool name. tl;drUpload your site to the IPFS network.Set the “content” field on your .pool domain to the IPFS URI of your site.Go to <your-name>.pool.limo to view your site!OverviewWhat are .pool Domains?.pool domains are tokenized names that can be linked to your ethereum address and store general-purpose data. When you buy a .pool d...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pool.limo">pool.limo</a> is a gateway for serving decentralized websites from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://names.pooly.me">.pool domains</a>. In this guide, you will learn how to create and host a personal website from your <em>.pool</em> name.</p><p><strong>tl;dr</strong></p><ol><li><p>Upload your site to the IPFS network.</p></li><li><p>Set the “content” field on your <em>.pool</em> domain to the IPFS URI of your site.</p></li><li><p>Go to <code>&lt;your-name&gt;.pool.limo</code> to view your site!</p></li></ol><h2 id="h-overview" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Overview</h2><h4 id="h-what-are-pool-domains" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">What are .pool Domains?</h4><blockquote><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://names.pooly.me">.pool domains</a> are tokenized names that can be linked to your ethereum address and store general-purpose data. When you buy a <em>.pool</em> domain, you own it for life and can transfer, sell, or use it as you please.</p></blockquote><p>The domains were created as a convenient way to identify yourself in the PoolTogether Community, but given the decentralized and permissionless nature of <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://optimistic.etherscan.io/address/0xf2C9E463592BD440f0D422E944E5F95c79404586">the naming contract</a>, there are no restrictions on who can purchase or control a domain.</p><h4 id="h-what-is-a-decentralized-website" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">What is a Decentralized Website?</h4><blockquote><p>A decentralized website uses peer-to-peer protocols and immutable data links to distribute content in contrast to the centralized data hosting strategy of traditional websites.</p></blockquote><p>By design, a decentralized website is able to be accessed from multiple locations on the internet while maintaining data integrity. This means that if a viewer’s access to one link is blocked or fails to load, there will always be another way for them to access the website.</p><p>Decentralized websites are wonderful at distributing content and information around the globe, but until <em>.pool</em> domains are accessible directly in browser search bars, an intermediary is needed to bring the decentralized web to those who wish to see it. This is the problem gateways solve.</p><h4 id="h-what-is-a-gateway" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">What is a Gateway?</h4><blockquote><p>A gateway is a convenient intermediary to access the decentralized web.</p></blockquote><p>A gateway is a portal that brings the decentralized web to the viewer. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pool.limo">pool.limo</a> is just <em>one</em> gateway that can be used to access the content linked to a <em>.pool</em> domain. There are no limits to how many gateways can exist to serve content, and no permissions that are needed to set one up.</p><p>Since decentralized websites are accessible from many gateways, the choice of which one to use is given to the viewer. Choosing a gateway is like buying bananas from a market: it doesn’t matter which market you go to, they’re probably going to have bananas. (and if you’re banned from the closest one, you can always go to the next😳)</p><p>So until we all have miniature banana trees in our homes, or produce synthesizers next to our toasters, banana markets will be there for us.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7442f45915a8bc4a9893d664b8c33415564ca7003db12da2237e859d631d4ea5.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><hr><h2 id="h-getting-started" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Getting Started</h2><h3 id="h-prerequisites" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Prerequisites</h3><p>Before we begin, you’ll need the following:</p><ul><li><p>An ethereum wallet</p></li><li><p>A <em>.pool</em> domain owned by your wallet (buy one <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://names.pooly.me/">here</a>)</p></li><li><p>A small amount of $ETH in your wallet on the Optimism Network (0.001 should be more than enough)</p></li></ul><hr><h2 id="h-part-1-design-your-website" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Part 1: Design your Website</h2><blockquote><p>Not a coder? No problem! This guide requires no code experience at all 👍 <strong>If you already have a static website or know how to make one, skip to Part 2 ▶▶</strong></p></blockquote><p>There are countless ways to create a website, most of which require some coding experience, but in this guide we’ll be using <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://stackedit.io/app">StackEdit</a>, an open source markdown editor that can be used to create and export a simple static site in minutes.</p><h3 id="h-open-stackedit" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Open StackEdit</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://stackedit.io/app">https://stackedit.io/app</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/89a903ff723315ce652d9dc98e920f6769e2e9643be9a480ca3c5fbe5767f293.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><blockquote><p><em>If this is your first time using the app, a welcome file will be displayed. This file has tons of great tips on how to use markdown!</em></p><p><em>Notice how the markdown is on the left view and the styled document is on the right.</em></p></blockquote><h3 id="h-import-the-sample-site" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Import the sample site</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.io/ipfs/QmRahd3Vu4Q4CrT9wxiFrdo4AbxDYzZErSGqB6xA9964sy/">Download the sample site</a>, then open the menu by clicking the icon in the top right of the page:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e26da8617781cafa7c8649d490d778dafbc537696a12f43ad15f80559ac78783.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>Click on “Import/Export”:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e7c7918ad71af58ef2a36059e3d7dd8fd7370f0a2bfc7b0338e516ec9c7f5e0c.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>Click on “Import Markdown”:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f413774e481ce2e84254403da120c83e38ee26f38bcef79e724be10c69748f52.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>Change the file name by:</p><ol><li><p>clicking on the top left folder to open the explorer,</p></li><li><p>selecting “My First Website.md”,</p></li><li><p>and then clicking the rename button at the top.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5af4e110ecbd73d5ac3db3120071f5d172ca06c85741b1e15af202bc00669643.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><h3 id="h-edit-the-page-content" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Edit the page content</h3><p>You can edit the page content by using the editor view on the left. You can change the destination of any of the links or images by updating the URL in the parenthesis:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f835e5e2feb3d749dfdc3f4c2e3ea729ff47573de665e3d40bc968164a30fa6a.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>If you change the name of any of the section headers, make sure you update the links at the top to match. For example, if you change the name of the portfolio section to “My Portfolio”, the portfolio link should be updated to: <code>My Portfolio</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d3a55c3c2a4d7693f4c7b02ca0898b1242b5b0c87be01e3ef7bfa824dd210d94.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><blockquote><p>The link (the part between the parenthesis) should always have the following properties:</p></blockquote><p>     - Starts with the ‘#’ symbol      - All lowercase      - Spaces replaced with hyphens      - All other punctuation removed</p><h3 id="h-export-your-site" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Export your site</h3><p>Export your site as a single HTML file by opening the menu and clicking on “Import/Export” → “Export as HTML“.</p><p>Make sure you select “Styled HTML” before pressing “OK”:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2d85e6e026e93f5cdd36904aa9dda33452b0b2dc529f36c712564d7a40536bb8.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><hr><h2 id="h-part-2-upload-site-to-ipfs" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Part 2: Upload Site to IPFS</h2><p>IPFS (Interplanetary File System) is a peer-to-peer network for sharing files. Before you can upload your site to IPFS, you first need to run a local IPFS node. Running a node allows your computer to communicate on the IPFS network to share and retrieve files.</p><h3 id="h-run-a-local-ipfs-node" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Run a local IPFS node</h3><p>If you are using the Brave browser, you may already have a local node running. You can open this node from the menu on the top right:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a46fd91a5210e25a27d59317c01d0d65e072c8f67b16257ba189baa85c74c9af.png" alt="Click on &quot;IPFS&quot; -&gt; &quot;Open files&quot;" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Click on &quot;IPFS&quot; -&gt; &quot;Open files&quot;</figcaption></figure><p>If you are not using Brave, you can reference the following guide on how to install a local node:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.ipfs.tech/install/ipfs-desktop/">https://docs.ipfs.tech/install/ipfs-desktop/</a></p><p>Once your node is up and running, you should see a dashboard similar to the following:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/17c94121483ca17def032b096d7fb0b0540ccde2e6ea1dee26cd98f0f20f5741.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><h3 id="h-upload-your-site" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Upload your site</h3><p>Open the <em>files</em> page on your dashboard and click on “Import” → “File”.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c70142d7ff18f52bda53a8fcb297ce3cfb80f674cec7dbfb8b503932eb108520.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>Select the “My First Website.html” file that you exported earlier to upload it to the network. You should now see the file on your node:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3ba6ff88f0e4568a87b8403577aa6bf9ccb8cb8a27fb15cb5eb424a8f87f7a60.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><h3 id="h-pin-your-site" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pin your site</h3><p>To make sure that your node doesn’t accidentally delete your file during an automated clean-up process, make sure to pin it by opening the file pinning options and selecting “Set Pinning” → “Local Node” → “Apply”.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/52ebe3a3b625700ccf02a81f016ffc1c42559e65a822295f46e1cf0185ad85aa.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><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d3682d4ca12470253a5fd09e5b4c1a638670c37eba5f3d516dc23d62f8dfb4a0.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>Congratulations, your site is now live on the IPFS network!</p><hr><h2 id="h-part-3-update-domain-records" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Part 3: Update Domain Records</h2><p>Now that your site is on IPFS, the last step is to point your <em>.pool domain</em> to your website content. Go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://names.pooly.me/#/profile">names.pooly.me/#/profile</a> and click on “Edit domain data” next to the domain that you would like to use:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fbcc8d98d167526d8195e1fe43cb772c1685a44fcc24754148bdf0afe13e96cf.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>Click on “Edit data”. You should now see a list of key → value pairs. Many of these fields are used for linking your social media profiles and other personal information. They are not required, but feel free to fill them out as well at this time.</p><p>If you do not see a field with the “content” key, then add one before continuing:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0fabf3b148a56e055bd9071b02b3cfd7d6fa870657cffb447fdb6b1f976290c0.png" alt="An empty content field" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">An empty content field</figcaption></figure><p>Next, go back to your IPFS files and copy the CID of your website HTML file:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/16788a6ff47ce3bfffb1fa11924634c9ecb060f74e594dd7c8b098b5a2754887.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>Return to your domain content field and type <code>ipfs://</code> . Then paste your CID directly after this text. Your field should now look similar to the following:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/796c415d4213f1c45afc530d75f47e4b352e8173a0994698e2aa4f0735c39511.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>Finally, click “Submit” and approve the transaction with your wallet.</p><p><strong>🎉You can now go to</strong> <code>&lt;your-name&gt;.pool.limo</code> <strong>to view your site! 🎉</strong></p><blockquote><p><strong>When the site is loading for the first time, it can sometimes take up to 5 minutes.</strong> This is because there are very few nodes on the network that are serving your site data. As more people access your site, this loading time will improve.</p></blockquote>]]></content:encoded>
            <author>trmid@newsletter.paragraph.com (trmid)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/8913cae031fde27f1b7f80026dc8772c30ea6f11a04d7f4206065b42ab864695.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>