<?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>hairtailling</title>
        <link>https://paragraph.com/@hairtailling</link>
        <description>undefined</description>
        <lastBuildDate>Sun, 19 Jul 2026 05:17:58 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>hairtailling</title>
            <url>https://storage.googleapis.com/papyrus_images/7d8fc8d225761ad5d93c4aaa3bca1e7c4ad73bedde4c98699ccdf9ead71cfc0e.png</url>
            <link>https://paragraph.com/@hairtailling</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[How to build your web3 site]]></title>
            <link>https://paragraph.com/@hairtailling/how-to-build-your-web3-site</link>
            <guid>KbbXXayLMaOlR5ACroHr</guid>
            <pubDate>Thu, 04 Nov 2021 14:23:28 GMT</pubDate>
            <description><![CDATA[// JavaScript if(window.ethereum) { await ethereum.enable(); const provider = new ethers.Providers.WebsProvider(window.wthereum); const signer = provider.getSigner(); const hash = await signer.signMessage('Hello, World!'); } else { conso.log("Install metamask please"); }]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="// JavaScript
if(window.ethereum) {
  await ethereum.enable();
  const provider = new ethers.Providers.WebsProvider(window.wthereum);
  const signer = provider.getSigner();
  const hash = await signer.signMessage(&apos;Hello, World!&apos;);
} else {
  conso.log(&quot;Install metamask please&quot;);
}
"><code><span class="hljs-comment">// JavaScript</span>
<span class="hljs-keyword">if</span>(window.ethereum) {
  await ethereum.enable();
  const provider <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> ethers.Providers.WebsProvider(window.wthereum);
  const signer <span class="hljs-operator">=</span> provider.getSigner();
  const hash <span class="hljs-operator">=</span> await signer.signMessage(<span class="hljs-string">'Hello, World!'</span>);
} <span class="hljs-keyword">else</span> {
  conso.log(<span class="hljs-string">"Install metamask please"</span>);
}
</code></pre>]]></content:encoded>
            <author>hairtailling@newsletter.paragraph.com (hairtailling)</author>
        </item>
        <item>
            <title><![CDATA[Filecoin self-transfer bug]]></title>
            <link>https://paragraph.com/@hairtailling/filecoin-self-transfer-bug</link>
            <guid>SQ8g3lObAuGbCTBBl8w7</guid>
            <pubDate>Thu, 04 Nov 2021 13:34:47 GMT</pubDate>
            <description><![CDATA[Everyone can send a message, whose value is as many as you want to the filecoin network.]]></description>
            <content:encoded><![CDATA[<p>Everyone can send a message, whose value is as many as you want to the filecoin network.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2379441207c4b52b5d0e6f788bb0f6d8fbd45c26955b6693b460b429ac447390.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>]]></content:encoded>
            <author>hairtailling@newsletter.paragraph.com (hairtailling)</author>
        </item>
    </channel>
</rss>