<?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>Fun</title>
        <link>https://paragraph.com/@fun-7</link>
        <description>Funny learn forever</description>
        <lastBuildDate>Sun, 14 Jun 2026 06:17:02 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Fun</title>
            <url>https://storage.googleapis.com/papyrus_images/6ea0f69b17597ba0fb84acd315a361f072294eb0a0778a56add885a148098aef.png</url>
            <link>https://paragraph.com/@fun-7</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[ERC标准]]></title>
            <link>https://paragraph.com/@fun-7/erc</link>
            <guid>988deI3xDK8qOLPkWnZa</guid>
            <pubDate>Fri, 16 Jun 2023 07:00:53 GMT</pubDate>
            <description><![CDATA[ERC标准什么是ERC标准?ERC标准的种类有哪些？分别有什么作用？1.ERC标准是什么？ERC：Ethereum Request for Comment，表示以太坊开发者提交的协议提案ERC中包含技术和组织等注意事项及标准，ERC后面的数字是议案的编号。相当于是一个 开发者不断各更新提交的关于以太坊中的一些使用标准,不断提交的协提案ERC后面的数字是议案的编号2.ERC20ERC20：同质化代币定义代币的各种基础信息主要信息代币名称代币符号基础功能函数1.余额2.交易：当前用户发送3.交易：传递用户发送4.批准5.允许function name() public view returns (string) function symbol() public view returns (string) function decimals() public view returns (uint8) function totalSupply() public view returns (uint256) function balanceOf(address _owner) public...]]></description>
            <content:encoded><![CDATA[<h1 id="h-erc" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">ERC标准</h1><ul><li><p>什么是ERC标准?</p></li><li><p>ERC标准的种类有哪些？</p></li><li><p>分别有什么作用？</p></li></ul><h2 id="h-1erc" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">1.ERC标准是什么？</h2><ul><li><p>ERC：Ethereum Request for Comment，表示以太坊开发者提交的协议提案</p><ul><li><p>ERC中包含技术和组织等注意事项及标准，ERC后面的数字是议案的编号。</p></li></ul></li><li><p>相当于是一个 开发者不断各更新提交的关于以太坊中的一些使用标准,不断提交的协提案</p></li></ul><p>ERC后面的数字是议案的编号</p><h2 id="h-2erc20" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">2.ERC20</h2><ul><li><p>ERC20：同质化代币</p><ul><li><p>定义代币的各种基础信息</p></li></ul></li><li><p>主要信息</p><ul><li><p>代币名称</p></li><li><p>代币符号</p></li></ul></li><li><p>基础功能函数</p><ul><li><p>1.余额</p></li><li><p>2.交易：当前用户发送</p></li><li><p>3.交易：传递用户发送</p></li><li><p>4.批准</p></li><li><p>5.允许</p></li></ul></li></ul><pre data-type="codeBlock" text="function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">name</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">string</span></span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">symbol</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">string</span></span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">decimals</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint8</span></span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">totalSupply</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span></span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">balanceOf</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _owner</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span> balance</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _value</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span> success</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">transferFrom</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _from, <span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _value</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span> success</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">approve</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _spender, <span class="hljs-keyword">uint256</span> _value</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span> success</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">allowance</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _owner, <span class="hljs-keyword">address</span> _spender</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span> remaining</span>)
</span></code></pre><p>包含一些事件</p><ul><li><p>监控交易</p></li><li><p>监控证明</p></li></ul><pre data-type="codeBlock" text="event Transfer(address indexed _from, address indexed _to, uint256 _value)
event Approval(address indexed _owner, address indexed _spender, uint256 _value)
"><code><span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">Transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _from, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _to, <span class="hljs-keyword">uint256</span> _value</span>)
<span class="hljs-title"><span class="hljs-keyword">event</span></span> <span class="hljs-title">Approval</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _owner, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _spender, <span class="hljs-keyword">uint256</span> _value</span>)
</span></code></pre><h2 id="h-3erc721" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">3.ERC721</h2><ul><li><p>ERC721：非同质化代币 NFT</p><ul><li><p>可以具有唯一的标识</p></li><li><p>主要应用：收藏品、密钥、彩票、音乐会座位编号、体育比赛等。</p></li></ul></li><li><p>所有 NFTs 都有一个 <code>uint256</code> 变量，名为 <code>tokenId</code>，所以对于任何 ERC-721 合约，这对值<code>contract address, tokenId</code> 必须是全局唯一的。</p></li><li><p>也就是说，去中心化应用程序可以有一个“转换器”， 使用 <code>tokenId</code> 作为输入并输出一些很酷的事物图像，例如僵尸、武器、技能或神奇的小猫咪！</p></li><li><p>实现唯一的标识，数据=》其他</p></li></ul><p>基础的定义</p><ul><li><p>余额</p></li><li><p>token的所有者</p></li><li><p>安全交易</p></li><li><p>证明</p></li><li><p>获取证明</p></li></ul><pre data-type="codeBlock" text="    function balanceOf(address _owner) external view returns (uint256);
    function ownerOf(uint256 _tokenId) external view returns (address);
    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
    function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
    function approve(address _approved, uint256 _tokenId) external payable;
    function setApprovalForAll(address _operator, bool _approved) external;
    function getApproved(uint256 _tokenId) external view returns (address);
    function isApprovedForAll(address _owner, address _operator) external view returns (bool);
"><code>    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">balanceOf</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _owner</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span></span>)</span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">ownerOf</span>(<span class="hljs-params"><span class="hljs-keyword">uint256</span> _tokenId</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">address</span></span>)</span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">safeTransferFrom</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _from, <span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _tokenId, <span class="hljs-keyword">bytes</span> data</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span></span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">safeTransferFrom</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _from, <span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _tokenId</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span></span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">transferFrom</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _from, <span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _tokenId</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span></span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">approve</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _approved, <span class="hljs-keyword">uint256</span> _tokenId</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span></span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">setApprovalForAll</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _operator, <span class="hljs-keyword">bool</span> _approved</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span></span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getApproved</span>(<span class="hljs-params"><span class="hljs-keyword">uint256</span> _tokenId</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">address</span></span>)</span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">isApprovedForAll</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _owner, <span class="hljs-keyword">address</span> _operator</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>)</span>;
</code></pre><p>事件</p><pre data-type="codeBlock" text="    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
"><code>    <span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">Transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _from, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _to, <span class="hljs-keyword">uint256</span> <span class="hljs-keyword">indexed</span> _tokenId</span>)</span>;
    <span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">Approval</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _owner, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _approved, <span class="hljs-keyword">uint256</span> <span class="hljs-keyword">indexed</span> _tokenId</span>)</span>;
    <span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">ApprovalForAll</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _owner, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _operator, <span class="hljs-keyword">bool</span> _approved</span>)</span>;
</code></pre>]]></content:encoded>
            <author>fun-7@newsletter.paragraph.com (Fun)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/6a96e65b25c6e32cd34cbbffd7123266791f73db6b6d0abafc7e72f2436d63c0.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>