<?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>Ethereum for Dummies</title>
        <link>https://paragraph.com/@defidaniel</link>
        <description>Embark on a journey to explore the world of ERC20 token development along with a cup of coffee to keep you fueled along the way.</description>
        <lastBuildDate>Sat, 01 Aug 2026 15:45:18 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Ethereum for Dummies</title>
            <url>https://storage.googleapis.com/papyrus_images/2b81992a95e7c09942ffbd7307866c3400cc41a24c836c2ce73f3b30229d422f.png</url>
            <link>https://paragraph.com/@defidaniel</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Solving the DAO Paradox with ERC404]]></title>
            <link>https://paragraph.com/@defidaniel/solving-the-dao-paradox-with-erc404</link>
            <guid>tPb9WjtnqwfrXRjXEio4</guid>
            <pubDate>Sun, 19 Jan 2025 14:51:54 GMT</pubDate>
            <description><![CDATA[The current state of DAOs is problematic.The DAOs attempt to achieve decentralization by releasing an ERC20 token which is then used as the voting mechanism and the projects funding mechanism is the biggest contributor to its centralization. ERC20s are great funding mechanisms but releasing an ERC20s as voting mechanism is a horrible idea. DAOs, understandably so, release a tokens to reward early adopters, users, developers, and investors (if any). In an effort to protect the DAO and secure l...]]></description>
            <content:encoded><![CDATA[<h3 id="h-the-current-state-of-daos-is-problematic" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The current state of DAOs is problematic.</h3><p>The DAOs attempt to achieve decentralization by releasing an ERC20 token which is then used as the voting mechanism <strong>and</strong> the projects funding mechanism is the biggest contributor to its centralization.</p><p>ERC20s are great funding mechanisms but releasing an ERC20s as voting mechanism is a horrible idea.</p><p>DAOs, understandably so, release a tokens to reward early adopters, users, developers, and investors (if any). In an effort to protect the DAO and secure longevity, the team typically allows most of the supply to be kept by the DAO.</p><p>Here is on example:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3a815cea38ec50de669afbff3adbf800666b2a24e6422a937d0396d1e3a4ae54.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>But by attempting to protect the DAO, the team reduces decentralization as the voting power is centralized within the team. **The team, by holding the majority of the tokens, can sway voting as they please. **This isn&apos;t very decentralized.</p><p>This Model of Tokenomics for a DAO is a paradox in which the DAO cannot achieve an economic model and decentralization at the same time.</p><h3 id="h-erc404-can-help-achieve-true-dao-decentralization" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">ERC404 can help achieve true DAO Decentralization.</h3><p>To explore the idea of using ERC404 to solve the big issues inherited with DAO economy we first need to understand what is an ERC404.</p><p>Simply put, the ERC404 protocol combines the features of an NFT and an ERC20 token.</p><p>A team can deploy a DAO Token that would generate an ERC20, which will take the role of the financials, and an ERC721, which will be used as the voting mechanism. All within an ERC404 framework.</p><p>The author shares a few examples:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f97301e564ae513c5a45d0bc327380892ef483c94caf4822b44322431fe74fd4.png" alt="DEFROGS -&gt; 1.43627 DEFROGS will also hold 1 DEFROGS NFT." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">DEFROGS -&gt; 1.43627 DEFROGS will also hold 1 DEFROGS NFT.</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/daaf0411c9e8f04df13cad1b3764d785b4aa6b10bdde64ced9fcc0e577667eb5.png" alt="PANDORA -&gt; 3.28708 PANDORA will also hold 3 Pandora NFTS." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">PANDORA -&gt; 3.28708 PANDORA will also hold 3 Pandora NFTS.</figcaption></figure><p>And one more example of buying enough ERC20 to complete a whole NFT and &quot;burning&quot; the NFT by selling the ERC20 making the total balance less than 1 Unit NFT.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a9a03365e121e26c4879b6b91f90ded2727852186257594bfb501a679e5d5ea6.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><ol><li><p><em>Buying 0.8 $T results in 0 NFTs.</em></p></li><li><p><em>Purchasing an additional 0.3 $T, making the balance 1.1 $T, triggers NFT minting.</em></p></li><li><p><em>Selling 0.2 $T lowers the balance below 1, leading to NFT burning.</em></p></li><li><p><em>Buying back 0.2 $T results in the minting of another NFT to your wallet</em></p></li></ol><h2 id="h-erc404-as-a-dao-token-step-by-step-guide-for-implementing-erc404-nfts-as-a-dao-token-for-voting-and-financial-use" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">ERC404 as a DAO Token Step-by-Step Guide for Implementing ERC404 NFTs as a DAO Token for Voting and Financial Use</h2><ol><li><p>Understand the Concept The DAO will utilize ERC404 NFTs as the primary governance token, which also has the flexibility to be converted into ERC20 tokens. This setup separates voting power from financial trading capabilities.</p></li><li><p>Define Tokenomics Decide on the distribution strategy for the ERC404 NFTs. A common allocation is: <strong>50%</strong> retained by the DAO treasury <strong>30%</strong> allocated to key contributors, stakeholders, or early adopters <strong>20%</strong> reserved for public sale or community distribution Adjust these percentages based on the DAO’s goals and structure.</p></li><li><p>Develop and Deploy the ERC404 Contract <strong>NFT Functionality</strong>: The ERC404 token will represent voting rights within the DAO. <strong>Conversion Mechanism</strong>: Include a mechanism to &quot;burn&quot; the NFT, splitting it into a predefined number of ERC20 tokens. <strong>Governance Logic</strong>: Implement smart contract logic to ensure: Voting power is tied exclusively to the NFT. Burned NFTs reduce voting power proportionally.</p></li><li><p>Determine the Conversion Ratio Decide how many ERC20 tokens will correspond to one ERC404 NFT. For example: 1 ERC404 NFT = 1,000 ERC20 tokens This ratio will affect the financial token’s liquidity and trading behavior.</p></li><li><p>Retain DAO Voting Power To maintain decentralization and governance integrity: Keep a majority of ERC404 NFTs (e.g., 50% or more) in the DAO treasury. Monitor and update smart contract logic to prevent any single entity from acquiring excessive voting rights.</p></li><li><p>Allow for Financial Flexibility Enable DAO members or the DAO itself to: Burn ERC404 NFTs to split them into ERC20 tokens. Trade ERC20 tokens on decentralized exchanges or use them for funding, investments, or other purposes. Forfeit corresponding voting power with every NFT burned.</p></li><li><p>Establish Governance Processes Define and document: <strong>Voting Mechanism</strong>: Use ERC404 NFTs as the basis for voting. Voting weight is determined by the number of NFTs held. <strong>Burning Rules</strong>: Set clear rules for burning NFTs and converting them into ERC20 tokens. <strong>Proposals and Quorums</strong>: Determine the minimum number of NFTs required for proposals and quorum thresholds.</p></li><li><p>Educate DAO Members Provide clear guidance to DAO members on: How ERC404 NFTs and ERC20 tokens function. The trade-offs between retaining voting power and converting NFTs for financial purposes. The importance of maintaining decentralized governance.</p></li><li><p>Launch and Distribute Tokens Mint and distribute ERC404 NFTs according to your tokenomics plan. Release ERC20 tokens to exchanges or as part of the DAO’s funding strategy, as required.</p></li><li><p>Monitor and Optimize Regularly review the DAO’s token distribution and voting dynamics. Update smart contract logic to address any unforeseen issues or security risks. Encourage community feedback to improve governance and financial mechanisms.</p><p>By following this guide, your DAO can successfully implement ERC404 NFTs as a dual-purpose token, combining robust governance with financial flexibility. Conclusion</p><h2 id="h-conclusion" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h2><p>The current state of DAOs faces a fundamental paradox: their reliance on ERC20 tokens as both funding and governance mechanisms compromises decentralization, the very principle they aim to uphold. The proposed ERC404 framework offers a compelling solution by separating governance from financial mechanisms. By leveraging the dual functionality of ERC404—combining ERC721 (NFTs) for voting and ERC20 for financial transactions—DAOs can achieve both decentralized governance and sustainable economic models. Through careful implementation, tokenomics design, and education of DAO members, ERC404 has the potential to address the inherent flaws in traditional DAO structures, paving the way for a more equitable, decentralized future.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d4bd6c69b0d71b328a761aa9cf0a2a9779e1572d3be4191610db02365e72dab9.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>defidaniel@newsletter.paragraph.com (Ethereum for Dummies)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/44243d9b860472372081be431461f7c1ed74b4d6711b523c4085451068874fff.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Anyone Can ERC20]]></title>
            <link>https://paragraph.com/@defidaniel/anyone-can-erc20</link>
            <guid>GVwmS0P6CFgmeHAMiMCq</guid>
            <pubDate>Sun, 13 Aug 2023 17:18:46 GMT</pubDate>
            <description><![CDATA[Part I : IntroductionLet’s try and learn some Solidity by going down the rabbit hole of creating an ERC20 token. To gain a better understanding of how an ERC20 token is constructed, I’ll be breaking the contract into their separate individual functions and then using them to build my own token. The objective is simple: To learn the fundamentals of Solidity language. Why? Well, Solidity is a contract-oriented programming language that serves as the foundation for the second largest cryptocurre...]]></description>
            <content:encoded><![CDATA[<h2 id="h-part-i-introduction" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Part I : Introduction</h2><p>Let’s try and learn some Solidity by going down the rabbit hole of creating an ERC20 token. To gain a better understanding of how an ERC20 token is constructed, I’ll be breaking the contract into their separate individual functions and then using them to build my own token.</p><p>The objective is simple: To learn the fundamentals of Solidity language. Why? Well, Solidity is a contract-oriented programming language that serves as the foundation for the second largest cryptocurrency, Ethereum. Nearly everything in the crypto universe is built on Solidity, even non-Ethereum systems are being adapted to be Ethereum Virtual Machine compatible. EVM compatibility means having Solidity understanding and functionality.</p><p>At the end of this tutorial you’ll be able to do the folllowing:</p><ol><li><p>Recognize basic ERC20 structure.</p></li><li><p>Recognize some of the most common attributes, features and controls used on ERC20 tokens.</p></li><li><p>Build and deploy your own ERC20 token.</p></li></ol><p>I recognize I am not an expert on the Solidity language. So, to navigate the Dark Forest of Crypto, I’ll be seeking help from my AI friend, Lain.</p><p>Are you ready, Lain?</p><pre data-type="codeBlock" text="Absolutely, I&apos;m here to help! Feel free to ask any questions you 
have or share any tasks you need assistance with. Whether it&apos;s 
coding, explanations, or advice, I&apos;m ready to assist you. Just let 
me know what you need!
"><code>Absolutely, I<span class="hljs-comment">'m here to help! Feel free to ask any questions you </span>
have <span class="hljs-built_in">or</span> share any tasks you need assistance <span class="hljs-keyword">with</span>. Whether it<span class="hljs-comment">'s </span>
coding, explanations, <span class="hljs-built_in">or</span> advice, I<span class="hljs-comment">'m ready to assist you. Just let </span>
<span class="hljs-keyword">me</span> know what you need!
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e00281617d84f8a7fdb6b861978a150da70033850b6699f14c6ba0c4d54a5c72.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><h2 id="h-part-ii-our-toolbox" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Part II : Our Toolbox</h2><p>The following are the websites and tools I’ll be using throughout the entire process of creating, editing, compiling, and deploying my ERC20 token.</p><ol><li><p>remix.ethereum.org</p></li><li><p>openzeppelin.com</p></li><li><p>chat.openai.com</p></li><li><p>ethereum.org</p></li><li><p>MacBook Pro</p></li><li><p>Coffee</p></li></ol><p>All of the sties listed above are free to use, none require special accounts or subscriptions. <strong>Do not get scammed</strong>.</p><p>Remix does offer a stand alone desktop app which comes handy if you’d like to save all of your progress locally. I installed it because I do want to save my instances locally. You do not have to do this. If you’re only playing around you can use the web based app.</p><p>Lain, can you help me explain the use of each one of these tools in the context of ERC20 token development in one sentence?</p><pre data-type="codeBlock" text="Sure, here&apos;s a brief explanation of each tool in the context of 
ERC20 token development:

- `remix.ethereum.org`: An online platform to write, test, and 
deploy smart contracts like ERC20 tokens using a web browser.

- `openzeppelin.com`: A website offering smart contract 
libraries for secure and efficient development of ERC20 tokens and 
other blockchain projects.

- `chat.openai.com`: A platform where you can interact with AI, 
like me, to get explanations, code help, and guidance on ERC20 
token development.

- `ethereum.org`: The official website of Ethereum, providing 
essential information and resources for learning about and 
building ERC20 tokens and other Ethereum projects.

- `MacBook Pro`: A type of computer that developers can use to 
write, compile, and test ERC20 token smart contracts.

- `Coffee`: A popular beverage that developers might enjoy while 
working on ERC20 token code to stay energized!

Remember, these tools play different roles in helping you create, 
test, and deploy ERC20 tokens effectively.
"><code>Sure, here<span class="hljs-comment">'s a brief explanation of each tool in the context of </span>
ERC20 token development:

- `remix.ethereum.org`: An online platform <span class="hljs-keyword">to</span> write, test, <span class="hljs-built_in">and</span> 
deploy smart contracts <span class="hljs-built_in">like</span> ERC20 tokens <span class="hljs-keyword">using</span> a web browser.

- `openzeppelin.com`: A website offering smart contract 
libraries <span class="hljs-keyword">for</span> secure <span class="hljs-built_in">and</span> efficient development <span class="hljs-keyword">of</span> ERC20 tokens <span class="hljs-built_in">and</span> 
other blockchain projects.

- `chat.openai.com`: A platform <span class="hljs-keyword">where</span> you can interact <span class="hljs-keyword">with</span> AI, 
<span class="hljs-built_in">like</span> <span class="hljs-keyword">me</span>, <span class="hljs-keyword">to</span> <span class="hljs-keyword">get</span> explanations, code help, <span class="hljs-built_in">and</span> guidance <span class="hljs-keyword">on</span> ERC20 
token development.

- `ethereum.org`: The official website <span class="hljs-keyword">of</span> Ethereum, providing 
essential information <span class="hljs-built_in">and</span> resources <span class="hljs-keyword">for</span> learning about <span class="hljs-built_in">and</span> 
building ERC20 tokens <span class="hljs-built_in">and</span> other Ethereum projects.

- `MacBook Pro`: A type <span class="hljs-keyword">of</span> computer that developers can use <span class="hljs-keyword">to</span> 
write, compile, <span class="hljs-built_in">and</span> test ERC20 token smart contracts.

- `Coffee`: A popular beverage that developers might enjoy <span class="hljs-keyword">while</span> 
working <span class="hljs-keyword">on</span> ERC20 token code <span class="hljs-keyword">to</span> stay energized!

Remember, these tools play different roles <span class="hljs-keyword">in</span> helping you create, 
test, <span class="hljs-built_in">and</span> deploy ERC20 tokens effectively.
</code></pre><p>Thanks, Lain.</p><p>Now, go out there and spend sometime browsing these sites. You do not need to be become an expert on them. For what we are trying to accomplish here just some familiarity with the menus, and options would be ideal.</p><h2 id="h-part-iii-design-your-token" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Part III : Design Your Token</h2><h3 id="h-testnet-vs-mainnet" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Testnet vs Mainnet</h3><p>So here we are designing a new token. The first thing we need to ask ourselves is where do we want our token to exist: mainnet or testnet. Let’s ask Lain while I dig some faucet links. Hey Lain, what are the key pros and cons between releasing a token on a testnet and a mainnet on just a few sentences?</p><pre data-type="codeBlock" text="Certainly! Here&apos;s a concise breakdown of the key pros and cons of releasing a token on a testnet versus a mainnet:

Testnet:

Pros:

Provides a safe environment for testing without real value or cost.
Helps identify and fix bugs, vulnerabilities, and issues before going live.
Allows developers to gain familiarity with the token&apos;s behavior and interactions.

Cons:

Tokens hold no real-world value, limiting realistic testing of economic aspects.
Network and transaction speeds may differ from the mainnet.
Not suitable for showcasing real-world adoption or use cases.

Mainnet:

Pros:

Real-world value and utility, enabling actual transactions and economic interactions.
Offers the opportunity for real adoption and use cases to be demonstrated.
Validates the token&apos;s functionality and security in a live environment.
Cons:

Errors or vulnerabilities could lead to real financial loss for users.
Transactions and deployment costs involve actual cryptocurrency.
Bugs or issues discovered post-launch can have immediate real-world consequences.
Choose the appropriate network based on your goals and the stage of development. Starting on a testnet for testing and transitioning to the mainnet for real-world adoption can provide a comprehensive approach.
"><code>Certainly! Here<span class="hljs-comment">'s a concise breakdown of the key pros and cons of releasing a token on a testnet versus a mainnet:</span>

<span class="hljs-symbol">Testnet:</span>

<span class="hljs-symbol">Pros:</span>

Provides a safe environment <span class="hljs-keyword">for</span> testing without real value <span class="hljs-built_in">or</span> cost.
Helps identify <span class="hljs-built_in">and</span> fix bugs, vulnerabilities, <span class="hljs-built_in">and</span> issues before going live.
Allows developers <span class="hljs-keyword">to</span> gain familiarity <span class="hljs-keyword">with</span> the token<span class="hljs-comment">'s behavior and interactions.</span>

<span class="hljs-symbol">Cons:</span>

Tokens hold no real-world value, limiting realistic testing <span class="hljs-keyword">of</span> economic aspects.
Network <span class="hljs-built_in">and</span> transaction speeds may differ <span class="hljs-keyword">from</span> the mainnet.
<span class="hljs-built_in">Not</span> suitable <span class="hljs-keyword">for</span> showcasing real-world adoption <span class="hljs-built_in">or</span> use cases.

<span class="hljs-symbol">Mainnet:</span>

<span class="hljs-symbol">Pros:</span>

Real-world value <span class="hljs-built_in">and</span> utility, enabling actual transactions <span class="hljs-built_in">and</span> economic interactions.
Offers the opportunity <span class="hljs-keyword">for</span> real adoption <span class="hljs-built_in">and</span> use cases <span class="hljs-keyword">to</span> be demonstrated.
Validates the token<span class="hljs-comment">'s functionality and security in a live environment.</span>
<span class="hljs-symbol">Cons:</span>

Errors <span class="hljs-built_in">or</span> vulnerabilities could lead <span class="hljs-keyword">to</span> real financial loss <span class="hljs-keyword">for</span> users.
Transactions <span class="hljs-built_in">and</span> deployment costs involve actual cryptocurrency.
Bugs <span class="hljs-built_in">or</span> issues discovered post-launch can have immediate real-world consequences.
Choose the appropriate network based <span class="hljs-keyword">on</span> your goals <span class="hljs-built_in">and</span> the stage <span class="hljs-keyword">of</span> development. Starting <span class="hljs-keyword">on</span> a testnet <span class="hljs-keyword">for</span> testing <span class="hljs-built_in">and</span> transitioning <span class="hljs-keyword">to</span> the mainnet <span class="hljs-keyword">for</span> real-world adoption can provide a comprehensive approach.
</code></pre><p>My advice is to always start playing around in a testnet environment. However, we do not need to make a decision right at this point since the token code will be absolutely identical no matter where you’d like to deploy.</p><p>Here are some links to Testnet Faucets and Bridges:</p><ul><li><p>To bridge ETH Goerli to Base Goerli: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli-bridge.base.org/deposit">https://goerli-bridge.base.org/deposit</a></p></li><li><p>Access to different testnet tokens: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.covalenthq.com/faucet/">https://www.covalenthq.com/faucet/</a></p></li><li><p>Access to ETH Goerli: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerlifaucet.com/">https://goerlifaucet.com/</a></p></li></ul><p>IF, you decide to go the Mainnet way, then all you need is some ETH (since we are working on ethereum) to deploy your contract. Get some from your most trusted source.</p><p>TIP: Operational security is a must. Unless you have done this before, I would suggest to deploy your contracts from a new freshly created wallet or new address within your controlled wallet.</p><h3 id="h-token-design" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Token Design</h3><p>The fun part of deploying a new token or NFT is brainstorming what you want them to look like, feel like and what sort of features you want for your new token. Ultimately, all of the above will be part of the experience you’d like your token holders to have when interacting with your smart contract.</p><p>Let’s start, Open or Go To Remix.Ethereum.Org. Under Worskpaces, create a new workspace. From the Template, choose ERC20. Give it a Worskpace name. Click OK. Notice how the main menu has changed and populated now with you workspace name and a new .sol file under the folder contracts.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/effcdc37d844aa0ad7fec5fa00fcdd12df3a9bdc46ea1fdc6bd7fd770a735aab.gif" 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>The core of an ERC20 token code is relatively simple and easy to understand:</p><pre data-type="codeBlock" text="pragma solidity ^0.8.9;

import &quot;@openzeppelin/contracts/token/ERC20/ERC20.sol&quot;;

contract MyToken is ERC20 {
    constructor() ERC20(&quot;MyToken&quot;, &quot;MTK&quot;) {}
}
"><code><span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> ^0.8.9;</span>

<span class="hljs-keyword">import</span> <span class="hljs-string">"@openzeppelin/contracts/token/ERC20/ERC20.sol"</span>;

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">MyToken</span> <span class="hljs-keyword">is</span> <span class="hljs-title">ERC20</span> </span>{
    <span class="hljs-function"><span class="hljs-keyword">constructor</span>(<span class="hljs-params"></span>) <span class="hljs-title">ERC20</span>(<span class="hljs-params"><span class="hljs-string">"MyToken"</span>, <span class="hljs-string">"MTK"</span></span>) </span>{}
}
</code></pre><p>The first line specifies the version of the Solidity compiler that should be used to turn your code into something the Ethereum Virtual Machine can read. The “^” character means the version to be used to compile should be 0.8.9 or newer.</p><p>The second line imports the ERC20 standards from a library. In this case, a repository by OpenZeppelin is being called. It is important to understand this import function as it could reference nefarious standards from repositories other than the trusted ones.</p><p>The third line is the actual ERC20 contract command. In this case, a contract called “My Token” is being created, and it is based on the ERC20 standard. Inside this contract, there is a function called Constructor which is used to specify the name “MyToken” and symbol “MTK” of the new token under the contract. These three parameters are user defined. Note that the contract name and token name do not necessarily need to be identical but it helps developers and users to clearly identify the function.</p><p>Let’s start cooking, for this exercise my new token will have the following parameters:</p><ol><li><p>Name: Yogurt</p></li><li><p>Symbol: YOG</p></li><li><p>Premint: 100,000,000,000</p><p>Our contract will look like this:</p></li></ol><pre data-type="codeBlock" text="pragma solidity ^0.8.9;

import &quot;@openzeppelin/contracts@4.9.3/token/ERC20/ERC20.sol&quot;;

contract Yogurt is ERC20 {
    constructor() ERC20(&quot;Yogurt&quot;, &quot;YOG&quot;) {
        _mint(msg.sender, 100000000000 * 10 ** decimals());
    }
}
"><code><span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> ^0.8.9;</span>

<span class="hljs-keyword">import</span> <span class="hljs-string">"@openzeppelin/contracts@4.9.3/token/ERC20/ERC20.sol"</span>;

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">Yogurt</span> <span class="hljs-keyword">is</span> <span class="hljs-title">ERC20</span> </span>{
    <span class="hljs-function"><span class="hljs-keyword">constructor</span>(<span class="hljs-params"></span>) <span class="hljs-title">ERC20</span>(<span class="hljs-params"><span class="hljs-string">"Yogurt"</span>, <span class="hljs-string">"YOG"</span></span>) </span>{
        _mint(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, <span class="hljs-number">100000000000</span> <span class="hljs-operator">*</span> <span class="hljs-number">10</span> <span class="hljs-operator">*</span><span class="hljs-operator">*</span> decimals());
    }
}
</code></pre><p>Notice how the code has changed. We have added a function called “_mint” inside the constructor for our ERC20 function. This function needs the following: 1) an address to deposit the newly minted tokens, which in our case we use “msg.sender”. This tells the contract that the contract caller (or message sender) is the receiver. 2) the amount of tokens to be minted during the token creation. The “10 ** decimals()” is code for 1e18 which is used to add the maximum number of decimal places allowed for ERC20 tokens.</p><p>Literally, the above is all we need to create and deploy a new token in the Ethereum ecosystem. However, we want to spice things up. We’ll add some of the most common and latest features used by the latest and greatest tokens.</p><p>On Part IV, I’ll go over the most common and useful ERC20 features used by some of the top ERC20 tokens.</p><p>Lain, can you help me with a TL;DR?</p><pre data-type="codeBlock" text="TL;DR (Part I - Part III):  
Part I: Introduction  
The goal is to learn Solidity by creating an ERC20 token.  
Solidity is vital for Ethereum and much of the crypto world.  
You&apos;ll learn ERC20 basics, attributes, and how to build your token.  

Part II: Our Toolbox  
Tools like Remix, OpenZeppelin, and OpenAI assist in ERC20 token development.  
They&apos;re free, no subscriptions required.  
Remix offers a local app for saving progress.  
Coffee and MacBook Pro for coding comfort.  

Part III: Design Your Token  
Choose between testnet (for safe testing) and mainnet (for real value) for your token.  
Token design is fun and critical for user experience.  
You can use Remix to start coding your ERC20 token with a basic structure.  
ERC20 code includes version specification, importing ERC20 standards, and creating a contract with a constructor that sets the token&apos;s name and symbol.  

Now, let&apos;s move on to Part IV to explore common ERC20 features used in top tokens.
"><code>TL;DR (Part I <span class="hljs-operator">-</span> Part III):  
Part I: Introduction  
The goal <span class="hljs-keyword">is</span> to learn Solidity by creating an ERC20 token.  
Solidity <span class="hljs-keyword">is</span> vital <span class="hljs-keyword">for</span> Ethereum and much of the crypto world.  
You'll learn ERC20 basics, attributes, and how to build your token.  

Part II: Our Toolbox  
Tools like Remix, OpenZeppelin, and OpenAI assist in ERC20 token development.  
They're free, no subscriptions required.  
Remix offers a local app <span class="hljs-keyword">for</span> saving progress.  
Coffee and MacBook Pro <span class="hljs-keyword">for</span> coding comfort.  

Part III: Design Your Token  
Choose between testnet (<span class="hljs-keyword">for</span> safe testing) and mainnet (<span class="hljs-keyword">for</span> real value) <span class="hljs-keyword">for</span> your token.  
Token design <span class="hljs-keyword">is</span> fun and critical <span class="hljs-keyword">for</span> user experience.  
You can use Remix to start coding your ERC20 token with a basic structure.  
ERC20 code includes version specification, importing ERC20 standards, and creating a <span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">with</span> <span class="hljs-title">a</span> <span class="hljs-title"><span class="hljs-keyword">constructor</span></span> <span class="hljs-title">that</span> <span class="hljs-title">sets</span> <span class="hljs-title">the</span> <span class="hljs-title">token</span>'<span class="hljs-title">s</span> <span class="hljs-title">name</span> <span class="hljs-title">and</span> <span class="hljs-title">symbol</span>.  

<span class="hljs-title">Now</span>, <span class="hljs-title">let</span>'<span class="hljs-title">s</span> <span class="hljs-title">move</span> <span class="hljs-title">on</span> <span class="hljs-title">to</span> <span class="hljs-title">Part</span> <span class="hljs-title">IV</span> <span class="hljs-title">to</span> <span class="hljs-title">explore</span> <span class="hljs-title">common</span> <span class="hljs-title">ERC20</span> <span class="hljs-title">features</span> <span class="hljs-title">used</span> <span class="hljs-title">in</span> <span class="hljs-title">top</span> <span class="hljs-title">tokens</span>.
</span></code></pre><p>Thanks, Lain.</p>]]></content:encoded>
            <author>defidaniel@newsletter.paragraph.com (Ethereum for Dummies)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/56c15740ccaaefbbcd742e0e88386f5233aca24c66d1aa080717ebfd6aa11be0.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[My Starbucks Odyssey]]></title>
            <link>https://paragraph.com/@defidaniel/my-starbucks-odyssey</link>
            <guid>5P34JGyTcHl3I8YwdUTu</guid>
            <pubDate>Fri, 07 Apr 2023 15:45:07 GMT</pubDate>
            <description><![CDATA[Hey coffee lovers! Have you heard about Starbucks&apos; latest venture? The coffee giant has just launched its brand new Odyssey program that is set to change the game for coffee lovers and NFT enthusiasts alike. In this blog post, we&apos;ll take a closer look at what this new program is all about and why it&apos;s causing such a buzz. So, what is the Starbucks Odyssey program? Well, it&apos;s a program that aims to onboard new users to the Starbucks app and reward them with NFTs. But, what ...]]></description>
            <content:encoded><![CDATA[<p>Hey coffee lovers! Have you heard about Starbucks&apos; latest venture? The coffee giant has just launched its brand new Odyssey program that is set to change the game for coffee lovers and NFT enthusiasts alike. In this blog post, we&apos;ll take a closer look at what this new program is all about and why it&apos;s causing such a buzz.</p><p>So, what is the Starbucks Odyssey program? Well, it&apos;s a program that aims to onboard new users to the Starbucks app and reward them with NFTs. But, what exactly are NFTs? NFTs, or non-fungible tokens, are digital assets that can represent almost anything, from artwork to tweets, and even virtual real estate. These tokens are unique, which means that they can&apos;t be replicated, making them incredibly valuable.</p><p>Now, back to the Starbucks Odyssey program. To get started, all you have to do is download the Starbucks app and sign up for an account. Once you&apos;ve done that, you can start your journey and earn NFTs along the way. The program is divided into three phases, each with its own set of rewards.</p><p>Phase one is all about learning about Starbucks, its history, and its products. You&apos;ll be tasked with completing quizzes and watching videos, and once you&apos;ve completed everything, you&apos;ll earn your first NFT. Phase two is all about exploring the Starbucks menu and trying out different drinks. You&apos;ll be rewarded with an NFT for trying new drinks and sharing your favorites with your friends. Finally, in phase three, you&apos;ll be challenged to create your own drink and share it on social media. Once you&apos;ve done that, you&apos;ll earn your final NFT.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/df6d48e6aff1afa5aa84a2e6a0650fbbf2e4f1788014ec6a4b327cef5ca6fe1b.png" alt="My Starbucks Badges" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">My Starbucks Badges</figcaption></figure><p>However, not everything was smooth sailing. I ran into a few issues that prevented me from collecting points to complete the quest and finally mint the NFTs. I reached out to the Starbucks Odyssey team which was extremely helpful and almost hand held me through some of the steps and clarified a lot of my question.</p><p>I was able to complete all of the quests once I figure out the correct steps. And to help you in your journey, below is the guide shared by the Starbucks Odyssey team to help me troubleshoot. I added my commentary in italic.</p><p>Issues accessing your Starbucks Odyssey account:</p><ol><li><p>Note that the current Beta is available for US users only; Starbucks Rewards members who are not based in the US will not be able to access the Odyssey experience.</p></li><li><p>Confirm that the email address you are using matches the one you used to join the waitlist.</p></li><li><p>Confirm that the email you use for Starbucks Odyssey matches the one you use for Starbucks Rewards.</p></li></ol><p>Issues getting credit for transactions:</p><p>1. Confirm that your purchase was made at a participating Starbucks store. All company-operated Starbucks locations and some licensed locations (those within other stores, like kiosks, grocery stores, airports, and college campuses) provide Starbucks Odyssey credit for purchase activities. Licensed stores that support mobile ordering also award Starbucks Odyssey credit; to confirm if a store offers mobile ordering, check on the Starbucks app or website.</p><p><em>I never found a clear indication if the Starbucks kiosks within other stores (like inside a Target) were in fact supporting Odyssey Quests. A couple mistakes I made was to buy coffee at these locations and never getting credit for them. When opening Odyssey and going through the Coffee Heritage quest, the site takes you to the app which shows you available store in your area. These locations did appear in my Starbucks app so I assumed they were part of the program, they were not. In order to complete this quest and get the badge I would suggest to stick only to stand alone Starbucks places. It is safe to say that if you are a very regular customer to stand alone store you will never notice or experience this issue.</em></p><p>2. Confirm that your purchase was associated with your Starbucks Rewards account (via mobile ordering, using your account to pay, or scanning the member barcode in your app and paying separately.)</p><p><em>Another problem I ran into when attempting to get my NFT Badges was when using my Starbucks credit card. This card is part of my Rewards and is in my Starbucks iOS app. However, I never got credit for any purchase I made using my card, nor by physical or by scanning the QR of my credit card in the Starbucks app. I must be not having this credit card added to my Odyssey account? I never quiet figured it out. My solution as simple, I moved balance from my credit card to my Starbuck App wallet. Once I started paying using the QR code of this wallet I started gained points and getting credit.</em></p><p>Check in the Starbucks app under Order &gt;</p><p>Previous to confirm that your purchase was correctly associated with your account.</p><ol><li><p>Note that redeeming Stars for the full value of the product will not count as a purchase.</p><p><em>Using points or starts to purchase will not give you any credit or points. So do not even try if you are in a quest to earn a badge.</em></p></li><li><p>Try refreshing the system by logging in and out of Starbucks Odyssey.</p></li></ol><p>All in all I had a great time completing the quests and minting my badges.</p><p>But, what can you do with these NFTs once you&apos;ve earned them? Well, that&apos;s the best part. These tokens can be sold on Nifty Marketplace, a platform that allows you to buy and sell NFTs. This means that you could potentially make a profit from your Starbucks Odyssey journey. How cool is that?</p><p>I hope this thread helps you complete your Starbucks Odyssey Journey!</p><p>DeFiDaniel.eth</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://opensea.io/assets/ethereum/0xB922371Cc29Af8ab6f93b3560e2D8688Ce9a2B85/1">https://opensea.io/assets/ethereum/0xB922371Cc29Af8ab6f93b3560e2D8688Ce9a2B85/1</a></p>]]></content:encoded>
            <author>defidaniel@newsletter.paragraph.com (Ethereum for Dummies)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/7a1a014dc62b3c79596107a68c7ded4b08e0e3c4213a353748a08c9e69097a16.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Hello Mirror!]]></title>
            <link>https://paragraph.com/@defidaniel/hello-mirror</link>
            <guid>8dmP8BqbST3NAyx5nQyQ</guid>
            <pubDate>Wed, 22 Mar 2023 20:07:16 GMT</pubDate>
            <description><![CDATA[Mirror.xyz, a decentralized blogging platform built on the Mirror Protocol, has recently introduced a new feature called "Subscribe to Mint". This feature allows users that subscribe to a specific Mirror Publication to mint a Special NFT creating by the publication owner . In this blog post, we&apos;ll explore the new feature and its potential impact on Mirror Protocol and the blogging industry as a whole. First, let&apos;s take a closer look at Mirror Protocol. Mirror Protocol enables writer...]]></description>
            <content:encoded><![CDATA[<p>Mirror.xyz, a decentralized blogging platform built on the Mirror Protocol, has recently introduced a new feature called &quot;Subscribe to Mint&quot;. This feature allows users that subscribe to a specific Mirror Publication to mint a Special NFT creating by the publication owner . In this blog post, we&apos;ll explore the new feature and its potential impact on Mirror Protocol and the blogging industry as a whole.</p><p>First, let&apos;s take a closer look at Mirror Protocol. Mirror Protocol enables writers to monetize their content through a decentralized platform. Writers can create and publish their content on the platform, and readers can reward them with cryptocurrency in exchange for access to their work. This allows writers to earn a fair value for their content without relying on advertising revenue or third-party platforms.</p><p>With the introduction of &quot;Subscribe to Mint,&quot; WRITE Protocol is making it even easier for writers to earn cryptocurrency for their content. Instead of relying solely on readers to manually tip or pay for their work, writers can now set up a subscription to a publication they enjoy and be part of the allow list to mint an NFT specially created by the publication owner. This provides a more reliable source of income for writers and helps to incentivize them to continue creating high-quality content.</p><p>Additionally, &quot;Subscribe to Mint&quot; can help to reduce the transaction costs associated with minting NFTs as the protocol allows minting on Optimism and Polygon chains which are Ethereum L2 solutions for reduction of fees per transactions. This can make it more cost-effective for writers to earn cryptocurrency for their content.</p><p>There are also some potential risks associated with this new feature. For example, if too many users subscribe to mint a particular asset, it could lead to an oversupply of that asset, which could negatively impact its price. If publishers and collectors aren’t too concerned about tokenomics, nor they are looking to “invest” on a particular NFT and just are minting to collect, enjoy and support their favorite bloggers this isn’t an issue. Of course, there is always the risk of smart contract vulnerabilities or other technical issues that could potentially impact the security of the platform.</p><p>Overall, &quot;Subscribe to Mint&quot; is an exciting new feature for Mirror Protocol that has the potential to make monetizing content even more accessible and convenient for writers. As with any new feature, there are risks and potential downsides to consider, but if implemented properly, &quot;Subscribe to Mint&quot; could help to increase engagement, reduce transaction costs, and attract more writers and readers to the platform. It will be interesting to see how this feature develops and how it impacts the blogging industry as a whole. To learn more about the feature, visit the Mirror Protocol website at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz">mirror.xyz</a>.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://opensea.io/assets/ethereum/0xB922371Cc29Af8ab6f93b3560e2D8688Ce9a2B85/0">https://opensea.io/assets/ethereum/0xB922371Cc29Af8ab6f93b3560e2D8688Ce9a2B85/0</a></p>]]></content:encoded>
            <author>defidaniel@newsletter.paragraph.com (Ethereum for Dummies)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/b9b04256a4ea03c3d1c3cb877b18072e7b9e6c54fc8ed4082a1f10cafc89c3e1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[ENS | Website Registry]]></title>
            <link>https://paragraph.com/@defidaniel/ens-website-registry</link>
            <guid>Xxz1cpf4DmcA5q6l69zk</guid>
            <pubDate>Wed, 22 Mar 2023 16:50:02 GMT</pubDate>
            <description><![CDATA[How to Connect your ENS Domain to Your Personal WebsiteIntroduction I will assume you already know what ENS Domains (Ethereum Name Service) are and how to get one. If not, pease follow this link https://app.ens.domains or search for "Ethereum Name Service" on your browser for a deep dive. In short, the Ethereum Name Service allows a user to create a registry on which one can store cryptocurrency addresses, connect to an external domain, and store text, url, or avatar information, among other ...]]></description>
            <content:encoded><![CDATA[<h2 id="h-how-to-connect-your-ens-domain-to-your-personal-website" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Connect your ENS Domain to Your Personal Website</h2><p>Introduction</p><p>I will assume you already know what ENS Domains (Ethereum Name Service) are and how to get one. If not, pease follow this link <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.ens.domains/">https://app.ens.domains</a> or search for &quot;Ethereum Name Service&quot; on your browser for a deep dive.</p><p>In short, the Ethereum Name Service allows a user to create a registry on which one can store cryptocurrency addresses, connect to an external domain, and store text, url, or avatar information, among other types of text data. All of this information is secured as hashed data on the ethereum network. Users can select a personal ENS Address such as &quot;hodl4ever.eth&quot; or even emoji addresses like &quot;🔥🚀.eth&quot; to access this information in a familiar and elegant way.</p><p>One of the features of an ENS Domain is the ability to connect or redirect visitors to an external website. So any visitor heading to &quot;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hodl4ever.eth">https://hodl4ever.eth</a>&quot; for example will be directed to an external link setup in the registry by the ENS Domain owner. As of the time of this essay, ENS Domains only support redirecting to sites hosted on the IPFS protocol.</p><p>IPFS stands for Inter Planetary File System. IPFS is a blockchain protocol that allows hosting and sharing of files. Every file uploaded to IPFS is registered as hashed data and is given a unique hashed address.</p><p>If a user wants to point the ENS Domain to a personal website, the user will need to either upload the website files to the IPFS or upload a simple .html file that redirects to your website. In my case, I host my website on the Adobe Portfolio site, so I opted to redirect visitors to my ENS Domain (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://defidaniel.eth">http://defidaniel.eth</a>) to my personal blog on the Adobe site (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://danielre.me">https://danielre.me</a>).</p><p>Either option you choose you need to interact with the IPFS protocol. For this, you also have two options: host your site locally on your computer or use a web service to host it for you.</p><p>TL;DR</p><p>Connecting an ENS to a Personal Website is very simple and straight forward but there are a few things to note.</p><p>1. An ENS Domain allows owners to direct visitors to an external site using the option CONTENT. But this feature only allows hashed IPFS addresses.</p><p>2. Users will need to upload their personal website to the IPFS in order to generate this hashed address that later will be entered in the ENS CONTENT Field.</p><p>3. Once the hashed address is entered in the ENS CONTENT field, the user will need to submit a transaction on Ethereum to confirm the changes and create the connection between the ENS Domain and the personal website.</p><p>Try It!</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://DeFiDaniel.Eth.Link">https://DeFiDaniel.Eth.Link</a> (Non-Web3)</p><p>Step 1: Register and Purchase an ENS Domain Go to: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.ens.domains">https://app.ens.domains</a> to purchase yours. Follow the steps to connect, purchase and setup your domain. The site will guide you. Once you are setup, scroll down and get familiar with the types of data you are allowed to enter. Look for the CONTENT field. Notice how it guides you on what type of file addresses it is prompting. This is where you will be pasting your address website as a hashed link. I registered and purchased the following ENS Domain: DeFiDaniel.eth Check out my ENS Domain to use as an example: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.ens.domains/name/defidaniel.eth">https://app.ens.domains/name/defidaniel.eth</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a8a43fdbffd433fde4df265f9f0b3632729e06915ef3094cb06409053e991013.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>Step 2a: Get your Site on IPFS (Local host)</p><ol><li><p>Go to the IPFS Website <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.io">https://ipfs.io</a> or search for IPFS on your browser. Download the IPFS Desktop app.</p></li><li><p>Open the desktop app, go to Files and Upload your file(s). In my case I used a simple HTML file that redirects visitors to this file to my personal blog.</p></li><li><p>Once your file has been uploaded successfully, locate the share link option by clicking on the Epsilon Menu and selecting Share Link. The Link will look something like this: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.io/ipfs/QmVbAXfDyjFnbejjz9pQyrtHCya3kpp6m8WfNqT2npoxKd?filename=Index.html">https://ipfs.io/ipfs/QmVbAXfDyjFnbejjz9pQyrtHCya3kpp6m8WfNqT2npoxKd?filename=Index.html</a></p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1221d54af2d9935864a9f2a3848304c40784b846a1447979431c277d28637d13.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/a7652f147173104e6c1328346cc4f70a3cef458066267b77fcf0e06892d06fb5.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>Step 2a: Get your Site on IPFS (External host)</p><ol><li><p>Go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pinata.cloud">https://pinata.cloud</a> or Search for Pinata Cloud on your browser. Open up an account.</p></li><li><p>Head over to Pinata Upload menu. Users can upload a File, a Directory or a Hash.</p></li><li><p>Upload your website file(s). In my case I used a simple HTML file that redirects visitors to this file to my personal blog.</p></li><li><p>Once the file has been uploaded, head over to the Pin Explorer menu and find your file. Copy the IPFS Hash link. The Link will look something like this: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gateway.pinata.cloud/ipfs/QmVbAXfDyjFnbejjz9pQyrtHCya3kpp6m8WfNqT2npoxKd">https://gateway.pinata.cloud/ipfs/QmVbAXfDyjFnbejjz9pQyrtHCya3kpp6m8WfNqT2npoxKd</a></p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c0d6ac0662b1f5085e331a2a35b154d707b42b14c5c4d3da8ef2fa79a580de54.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/6014ed8d1b1a7ed77c6460dd3058435b9359a423141a996e4c6374be7827d030.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>Step 3: Setup your ENS Domain</p><ol><li><p>Paste your Hashed Link in the CONTENT data field of your ENS Domain. If you are hosting your IPFS File Locally, you will get an Error, Remove the data string from the ? sign and everything after. The New Link will look something like this: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.io/ipfs/QmVbAXfDyjFnbejjz9pQyrtHCya3kpp6m8WfNqT2npoxKd">https://ipfs.io/ipfs/QmVbAXfDyjFnbejjz9pQyrtHCya3kpp6m8WfNqT2npoxKd</a> While you are in this stage, you can add social profile information or crypto addresses to accept and direct deposits to your ENS. Once you are done entering information, scroll down and click &quot;Confirm&quot; to send an Ether transaction and save your data on the blockchain. The transaction time will depend on the cost of GAS at the time of submission. You Are Done!</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/aecb90d328a13e528e432d85ea23f2b87c56a8a4be72d18e58c97b2fe3fff8ee.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>TRY IT! <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://DeFiDaniel.Eth">https://DeFiDaniel.Eth</a> (Web3)</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://DeFiDaniel.Eth.Link">https://DeFiDaniel.Eth.Link</a> (Non-Web3)</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://DeFiDaniel.Eth.Limo">https://DeFiDaniel.Eth.Limo</a> (Non-Web3)</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/988666b9e89640fd7b72e6bbb4f216243074fdb7922ea0540fd1e0631ea5d1ff.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>Thanks for Reading!</p><p>DeFiDaniel</p>]]></content:encoded>
            <author>defidaniel@newsletter.paragraph.com (Ethereum for Dummies)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/bcecfb3b8506e91eb07766c5979452678b6e4098bc62578e760e25d617089f61.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>