<?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>leishen</title>
        <link>https://paragraph.com/@ldplxp</link>
        <description>打新，套利，新项目，nft，xx to earn，哪里有钱赚，哪里就有我</description>
        <lastBuildDate>Tue, 26 May 2026 19:56:22 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>leishen</title>
            <url>https://storage.googleapis.com/papyrus_images/43a43fb6ee3af3b588bcee86eb7b7fdadcb35a35a1359649449597f69a0637c3.jpg</url>
            <link>https://paragraph.com/@ldplxp</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[impakt私募是真的吗？]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-14</link>
            <guid>F67CR3nY2lemYgopxlik</guid>
            <pubDate>Fri, 27 May 2022 08:36:44 GMT</pubDate>
            <description><![CDATA[近期在微信上发现了一个自称星河工会的账号，声称能出售一些impakt的私募额度，并且信誓旦旦的说上线直接20倍。。。。。 在这里声明一下，官方没有任何私募计划有一个微信名”星河工会“的骗子在以Impakt私募的名义骗钱，大家注意，不要被骗了。我们目前没有做任何私募，如果我们有针对社区的私募或者公募，一定会在官网和官方社群公开通知。大家擦亮眼睛，谨防上当受骗。想吃瓜的朋友，下边给大家看部分聊天记录他这里假装去申请额度，还特意过了十几分钟（做戏挺足的）然后下边这个地址，我去bscscan查了一下是个私人钱包地址，他们甚至连合约地址都不是，骗子连合约都不会写一个😂而且钱包总共就四笔转账记录，转入0.15bnb，然后去pancake冲了个土狗lunc这里还随便丢了一家公司名字，至于真伪就不用说了，十有八九是假的这个骗子要是能看到这篇文章，仔细了解一下impakt。 你可能会感觉自己诈骗电话打进了国家反诈中心总部😂😂😂😂😂😂😂😂😂]]></description>
            <content:encoded><![CDATA[<p>近期在微信上发现了一个自称星河工会的账号，声称能出售一些impakt的私募额度，并且信誓旦旦的说上线直接20倍。。。。。</p><p>在这里声明一下，官方没有任何私募计划</p><blockquote><h2 id="h-impakt" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">有一个微信名”星河工会“的骗子在以Impakt私募的名义骗钱，大家注意，不要被骗了。我们目前没有做任何私募，如果我们有针对社区的私募或者公募，一定会在官网和官方社群公开通知。大家擦亮眼睛，谨防上当受骗。</h2></blockquote><p>想吃瓜的朋友，下边给大家看部分聊天记录</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4ce2bbed65d1bd5690511099864a4a6922295124a02a8afcbe4184475a5e3a23.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/39a15d8f633576ff0200a3ea2cf8678b007c94aaafb36101707a29d4f3308547.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>他这里假装去申请额度，还特意过了十几分钟（做戏挺足的）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a1b7e26ac50b384b57a809a4a5a543026880f02adaef3dbed3491343817f89db.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>然后下边这个地址，我去bscscan查了一下是个私人钱包地址，他们甚至连合约地址都不是，骗子连合约都不会写一个😂而且钱包总共就四笔转账记录，转入0.15bnb，然后去pancake冲了个土狗lunc</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f45506edaf01da37ee92c3d7d14dcf64fa6cfbbd2b1021bd5e9ca2eb91540b35.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>这里还随便丢了一家公司名字，至于真伪就不用说了，十有八九是假的</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e6e7275357eee45a45b244f3e7dafd87c6aa68aab32965434ad865da431402cd.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>这个骗子要是能看到这篇文章，仔细了解一下impakt。</p><p>你可能会感觉自己诈骗电话打进了国家反诈中心总部😂😂😂😂😂😂😂😂😂</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[IMPAKT创世NFT的设计者是____________]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-nft</link>
            <guid>Ud2GEdLmi2h2KHTVkdwU</guid>
            <pubDate>Fri, 27 May 2022 08:14:11 GMT</pubDate>
            <description><![CDATA[之前有一篇专门介绍imapkt的nft的详细信息，以及各种权益什么的 https://mirror.xyz/ldplxp.eth/zPp5LYrSVBX-nvpp-eO5_6u0Vat2lRx-aEoYzkRAC2Y 最近有了新的消息：关于nft的设计者 impakt邀请了Chris Armsden来设计创世nft～他担任好莱坞视觉效果和动画电影技术总监超过 16 年，曾任职于梦工厂、威塔等大型公司，参与《复仇者联盟》、《功夫熊猫2》、《阿凡达2》、《哈利波特》等电影，参与设计的奇幻森林更于 2017 年获得奥斯卡金像奖最佳视觉效果奖，是一位真正的视觉大师！！！年底《阿凡达2》将上映，必然会再次提升Chris Armsden的行业地位和影响力。 这是奇幻森林的封面～👀 听说创世的NFT是3D效果，单从设计者的角度看，应该是NFT和Gamefi行业天花板，有点期待Impakt的nft长啥样儿了！！！！！]]></description>
            <content:encoded><![CDATA[<p>之前有一篇专门介绍imapkt的nft的详细信息，以及各种权益什么的</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/ldplxp.eth/zPp5LYrSVBX-nvpp-eO5_6u0Vat2lRx-aEoYzkRAC2Y">https://mirror.xyz/ldplxp.eth/zPp5LYrSVBX-nvpp-eO5_6u0Vat2lRx-aEoYzkRAC2Y</a></p><p>最近有了新的消息：关于nft的设计者</p><p>impakt邀请了Chris Armsden来设计创世nft～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/80af23231881e73f86249769737fde22a45cbc5959846d3093c511226c9dfe53.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>他担任好莱坞视觉效果和动画电影技术总监超过 16 年，曾任职于梦工厂、威塔等大型公司，参与《复仇者联盟》、《功夫熊猫2》、《阿凡达2》、《哈利波特》等电影，参与设计的奇幻森林更于 2017 年获得奥斯卡金像奖最佳视觉效果奖，是一位真正的视觉大师！！！年底《阿凡达2》将上映，必然会再次提升Chris Armsden的行业地位和影响力。</p><p>这是奇幻森林的封面～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/32311febc2583d87174186bf47619a1f9d9952b2ae5e222aa648597786cc3142.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/6880d256f77aa9387736c8cd506edbbb2153bd0754c37c431a22dedbd32ddbc2.jpg" 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/02edb67157b0bc037114e4c839a0c9fbfdba6f65728924b923b8bbda45bad438.jpg" 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>👀</p><p>听说创世的NFT是3D效果，单从设计者的角度看，应该是NFT和Gamefi行业天花板，有点期待Impakt的nft长啥样儿了！！！！！</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[IMPAKT1.3版本更新（M1操作）]]></title>
            <link>https://paragraph.com/@ldplxp/impakt1-3-m1</link>
            <guid>SAYq5EoSlPtyv8CSK59m</guid>
            <pubDate>Fri, 20 May 2022 09:23:40 GMT</pubDate>
            <description><![CDATA[1、在官网下载下来安装器 https://impakt.com/download，等他安装好，然后右键点击，点显示原项目2、会得到这个画面，然后点击Game3、在这里，右键点击impakt，点击显示简介4、勾选使用rosetta打开5、制作替身，移动到应用程序中大功告成！]]></description>
            <content:encoded><![CDATA[<p>1、在官网下载下来安装器 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://impakt.com/download">https://impakt.com/download</a>，等他安装好，然后右键点击，点显示原项目</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b7fe824b1bf06c8a5cc22cdef43fa1328843f8e7d2fe96edfad3f5a08b022944.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>2、会得到这个画面，然后点击Game</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5dbf99a6b2cf7d9f8a7bc54a91bf060e2484b1861659f452b25b3bb6f3bc6857.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>3、在这里，右键点击impakt，点击显示简介</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f7112ee6c279ba661cac567900d1c538b24b9663b0d53d717b843f81b4260840.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/f095f7f25b8279e5fa7198d775ae4843cab3bb84fa1c625a2b2b1f64d0471bd7.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>4、勾选使用rosetta打开</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7a0b5f8a249be7b71e8e783d64d898c8c6af115ac2c76ec90804cf1562fa2d8c.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>5、制作替身，移动到应用程序中</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6ddbfedc92e2ae971a1db5693d1a6b636a4a41de0db2dd0f57adc18a7f33aa13.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/f34eeb0b6a9b6581baa0ad565bac31fc4535bdadab841a22b7a0c9ddd68d7212.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>大功告成！</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[solidity函数return]]></title>
            <link>https://paragraph.com/@ldplxp/solidity-return</link>
            <guid>f7ddHnE5O0lOezVSA5Ao</guid>
            <pubDate>Wed, 18 May 2022 07:29:21 GMT</pubDate>
            <description><![CDATA[函数的返回值，以及如何接 有三种方式 1、不指定返回值的引用 2、指定返回值的引用 3、只在returns中指定引用，函数内部不再return，需要为引用赋值contract FunctionOutput{ function returnMany() public pure returns(uint, bool){ return (1, true); } function named() public pure returns(uint x, bool b){ return (1, true); } function assigned() public pure returns(uint x, bool b){ x = 10; b = false; } function destructingAssignments() public pure returns(uint, bool, bool){ // 接返回值的时候需要括号，如果要只要其中某个或者某几个返回值剩余的返回值可以不写，但要保留“,”。 (uint x, bool b) = returnMany(); (, bool ...]]></description>
            <content:encoded><![CDATA[<p>函数的返回值，以及如何接</p><p>有三种方式</p><p>1、不指定返回值的引用</p><p>2、指定返回值的引用</p><p>3、只在returns中指定引用，函数内部不再return，需要为引用赋值</p><pre data-type="codeBlock" text="contract FunctionOutput{
    function returnMany() public pure returns(uint, bool){
        return (1, true);
    }

    function named() public pure returns(uint x, bool b){
        return (1, true);
    }

    function assigned() public pure returns(uint x, bool b){
        x = 10;
        b = false;
    }

    function destructingAssignments() public pure returns(uint, bool, bool){
        // 接返回值的时候需要括号，如果要只要其中某个或者某几个返回值剩余的返回值可以不写，但要保留“,”。
        (uint x, bool b) = returnMany();
        (, bool c) = returnMany();
        return(x, b, c);
    }
}
"><code><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">FunctionOutput</span></span>{
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">returnMany</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">pure</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span>, <span class="hljs-keyword">bool</span></span>)</span>{
        <span class="hljs-keyword">return</span> (<span class="hljs-number">1</span>, <span class="hljs-literal">true</span>);
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">named</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">pure</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> x, <span class="hljs-keyword">bool</span> b</span>)</span>{
        <span class="hljs-keyword">return</span> (<span class="hljs-number">1</span>, <span class="hljs-literal">true</span>);
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">assigned</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">pure</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> x, <span class="hljs-keyword">bool</span> b</span>)</span>{
        x <span class="hljs-operator">=</span> <span class="hljs-number">10</span>;
        b <span class="hljs-operator">=</span> <span class="hljs-literal">false</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">destructingAssignments</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">pure</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span>, <span class="hljs-keyword">bool</span>, <span class="hljs-keyword">bool</span></span>)</span>{
        <span class="hljs-comment">// 接返回值的时候需要括号，如果要只要其中某个或者某几个返回值剩余的返回值可以不写，但要保留“,”。</span>
        (<span class="hljs-keyword">uint</span> x, <span class="hljs-keyword">bool</span> b) <span class="hljs-operator">=</span> returnMany();
        (, <span class="hljs-keyword">bool</span> c) <span class="hljs-operator">=</span> returnMany();
        <span class="hljs-keyword">return</span>(x, b, c);
    }
}
</code></pre>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[solidity的小练习1]]></title>
            <link>https://paragraph.com/@ldplxp/solidity-1</link>
            <guid>ZD2spU8fG58YdN518vPd</guid>
            <pubDate>Tue, 17 May 2022 15:17:48 GMT</pubDate>
            <description><![CDATA[使用函数修饰符，状态变量，构造函数做一个只有owner可以调用的函数，以及所有人可以调用的函数。contract Ownable{ address public owner; constructor(){ owner = msg.sender; } modifier onlyOwner(){ require(owner == msg.sender, "ony the owner can do this"); _; } function setOwner(address _newOwner) onlyOwner external{ require(_newOwner != address(0), "invaild address"); require(_newOwner != owner, "can't transfer to self address"); owner = _newOwner; } function anyUser() external view returns(address) { return(msg.sender); } }]]></description>
            <content:encoded><![CDATA[<p>使用函数修饰符，状态变量，构造函数做一个只有owner可以调用的函数，以及所有人可以调用的函数。</p><pre data-type="codeBlock" text="contract Ownable{
    address public owner;

    constructor(){
        owner = msg.sender;
    }

    modifier onlyOwner(){
        require(owner == msg.sender, &quot;ony the owner can do this&quot;);
        _;
    }

    function setOwner(address _newOwner) onlyOwner external{
        require(_newOwner != address(0), &quot;invaild address&quot;);
        require(_newOwner != owner, &quot;can&apos;t transfer to self address&quot;);
        owner = _newOwner;
    }

    function anyUser() external view returns(address) {
        return(msg.sender);
    }
 }
"><code><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">Ownable</span></span>{
    <span class="hljs-keyword">address</span> <span class="hljs-keyword">public</span> owner;

    <span class="hljs-function"><span class="hljs-keyword">constructor</span>(<span class="hljs-params"></span>)</span>{
        owner <span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">modifier</span> <span class="hljs-title">onlyOwner</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-built_in">require</span>(owner <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, <span class="hljs-string">"ony the owner can do this"</span>);
        <span class="hljs-keyword">_</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">setOwner</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _newOwner</span>) <span class="hljs-title">onlyOwner</span> <span class="hljs-title"><span class="hljs-keyword">external</span></span></span>{
        <span class="hljs-built_in">require</span>(_newOwner <span class="hljs-operator">!</span><span class="hljs-operator">=</span> <span class="hljs-keyword">address</span>(<span class="hljs-number">0</span>), <span class="hljs-string">"invaild address"</span>);
        <span class="hljs-built_in">require</span>(_newOwner <span class="hljs-operator">!</span><span class="hljs-operator">=</span> owner, <span class="hljs-string">"can't transfer to self address"</span>);
        owner <span class="hljs-operator">=</span> _newOwner;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">anyUser</span>(<span class="hljs-params"></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-keyword">return</span>(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>);
    }
 }
</code></pre>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[solidity的构造函数]]></title>
            <link>https://paragraph.com/@ldplxp/solidity-2</link>
            <guid>VZ4NTBIlYXv7he13Mlpb</guid>
            <pubDate>Tue, 17 May 2022 15:14:57 GMT</pubDate>
            <description><![CDATA[构造函数在部署合约的时候会被调用一次，且仅被调用一次contract Constructor{ address public owner; uint public x; //在部署合约的时候，会要求输入_x constructor(uint _x){ owner = msg.sender; x = _x; } }]]></description>
            <content:encoded><![CDATA[<p>构造函数在部署合约的时候会被调用一次，且仅被调用一次</p><pre data-type="codeBlock" text="contract Constructor{
    address public owner;
    uint public x;
    //在部署合约的时候，会要求输入_x
    constructor(uint _x){
        owner = msg.sender;
        x = _x;
    }
}
"><code><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">Constructor</span></span>{
    <span class="hljs-keyword">address</span> <span class="hljs-keyword">public</span> owner;
    <span class="hljs-keyword">uint</span> <span class="hljs-keyword">public</span> x;
    <span class="hljs-comment">//在部署合约的时候，会要求输入_x</span>
    <span class="hljs-function"><span class="hljs-keyword">constructor</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> _x</span>)</span>{
        owner <span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>;
        x <span class="hljs-operator">=</span> _x;
    }
}
</code></pre>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[solidity的函数修饰符]]></title>
            <link>https://paragraph.com/@ldplxp/solidity</link>
            <guid>vzP8t2w57PiCYJD3QEBh</guid>
            <pubDate>Tue, 17 May 2022 14:13:19 GMT</pubDate>
            <description><![CDATA[修饰符是可以在一个函数调用之前或之后运行的代码。 有三种形式：基础修饰符，带参数，夹在中间的(sandwich) 修饰符可以用来：限制访问验证输入防止重入黑客攻击contract FunctionModifier{ bool public paused; uint public count; modifier whenNotPaused(){ require(!paused, "the contract is paused"); // _;的意思是返回主函数 _; } modifier cap(uint _x){ require(_x &#x3C; 100, "X >= 100"); _; } modifier sandwich(){ count += 10; _; count *= 2; } // 函数修饰符可以用一大堆 function incBy(uint _x) external whenNotPaused cap(_x) sandwich{ count += _x; } }]]></description>
            <content:encoded><![CDATA[<p>修饰符是可以在一个函数调用之前或之后运行的代码。</p><p>有三种形式：基础修饰符，带参数，夹在中间的(sandwich)</p><p>修饰符可以用来：</p><ul><li><p>限制访问</p></li><li><p>验证输入</p></li><li><p>防止重入黑客攻击</p></li></ul><pre data-type="codeBlock" text="contract FunctionModifier{
    bool public paused;
    uint public count;

    modifier whenNotPaused(){
        require(!paused, &quot;the contract is paused&quot;);
        // _;的意思是返回主函数
        _;
    }

    modifier cap(uint _x){
        require(_x &lt; 100, &quot;X &gt;= 100&quot;);
        _;
    }

    modifier sandwich(){
        count += 10;
        _;
        count *= 2;
    }
    // 函数修饰符可以用一大堆
    function incBy(uint _x) external whenNotPaused cap(_x) sandwich{
        count += _x;
    }
}
"><code><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">FunctionModifier</span></span>{
    <span class="hljs-keyword">bool</span> <span class="hljs-keyword">public</span> paused;
    <span class="hljs-keyword">uint</span> <span class="hljs-keyword">public</span> count;

    <span class="hljs-function"><span class="hljs-keyword">modifier</span> <span class="hljs-title">whenNotPaused</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-built_in">require</span>(<span class="hljs-operator">!</span>paused, <span class="hljs-string">"the contract is paused"</span>);
        <span class="hljs-comment">// _;的意思是返回主函数</span>
        <span class="hljs-keyword">_</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">modifier</span> <span class="hljs-title">cap</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> _x</span>)</span>{
        <span class="hljs-built_in">require</span>(_x <span class="hljs-operator">&#x3C;</span> <span class="hljs-number">100</span>, <span class="hljs-string">"X >= 100"</span>);
        <span class="hljs-keyword">_</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">modifier</span> <span class="hljs-title">sandwich</span>(<span class="hljs-params"></span>)</span>{
        count <span class="hljs-operator">+</span><span class="hljs-operator">=</span> <span class="hljs-number">10</span>;
        <span class="hljs-keyword">_</span>;
        count <span class="hljs-operator">*</span><span class="hljs-operator">=</span> <span class="hljs-number">2</span>;
    }
    <span class="hljs-comment">// 函数修饰符可以用一大堆</span>
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">incBy</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> _x</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title">whenNotPaused</span> <span class="hljs-title">cap</span>(<span class="hljs-params">_x</span>) <span class="hljs-title">sandwich</span></span>{
        count <span class="hljs-operator">+</span><span class="hljs-operator">=</span> _x;
    }
}
</code></pre>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[solidity的error]]></title>
            <link>https://paragraph.com/@ldplxp/solidity-error</link>
            <guid>CDouWyFmyd1F7PQ9YCr1</guid>
            <pubDate>Tue, 17 May 2022 12:41:55 GMT</pubDate>
            <description><![CDATA[在合约编写中会遇到三种类型的error：require, revert, assert，但是自带的error因为携带的信息比较多，就会花费更高的gas，我们可以自定义error来节省gas。 1、require用于执行前的验证手段//require主要用来检查输入和访问权限控制，不符合会 function testRequire(uint _i) public pure{ //检查_i是否小于等于10，否则报错"i>10" require(_i &#x3C;= 10, "i > 10") } 2、revert类似require，适用于那种判断条件很复杂的函数function testRevert(uint _i) public pure{ if (_i &#x3C;= 10){ revert("i > 10") }else { return i } } 3、assert用于断言合约中的信息//比如我们定义一个状态变量num，初始化为1，而且始终应该是1 uint public num = 1; //接下来我们要在其他函数中对num进行检查，如果num不是1，就说明什么地方出错了 ...]]></description>
            <content:encoded><![CDATA[<p>在合约编写中会遇到三种类型的error：require, revert, assert，但是自带的error因为携带的信息比较多，就会花费更高的gas，我们可以自定义error来节省gas。</p><p>1、require用于执行前的验证手段</p><pre data-type="codeBlock" text="//require主要用来检查输入和访问权限控制，不符合会
function testRequire(uint _i) public pure{
    //检查_i是否小于等于10，否则报错&quot;i&gt;10&quot;
    require(_i &lt;= 10, &quot;i &gt; 10&quot;) 
}
"><code><span class="hljs-comment">//require主要用来检查输入和访问权限控制，不符合会</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">testRequire</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> _i</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">pure</span></span></span>{
    <span class="hljs-comment">//检查_i是否小于等于10，否则报错"i>10"</span>
    <span class="hljs-built_in">require</span>(_i <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">=</span> <span class="hljs-number">10</span>, <span class="hljs-string">"i > 10"</span>) 
}
</code></pre><p>2、revert类似require，适用于那种判断条件很复杂的函数</p><pre data-type="codeBlock" text="function testRevert(uint _i) public pure{
    if (_i &lt;= 10){
      revert(&quot;i &gt; 10&quot;)
  }else {
      return i
    }
}
"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">testRevert</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> _i</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">pure</span></span></span>{
    <span class="hljs-keyword">if</span> (_i <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">=</span> <span class="hljs-number">10</span>){
      <span class="hljs-keyword">revert</span>(<span class="hljs-string">"i > 10"</span>)
  }<span class="hljs-keyword">else</span> {
      <span class="hljs-keyword">return</span> i
    }
}
</code></pre><p>3、assert用于断言合约中的信息</p><pre data-type="codeBlock" text="//比如我们定义一个状态变量num，初始化为1，而且始终应该是1
uint public num = 1;
//接下来我们要在其他函数中对num进行检查，如果num不是1，就说明什么地方出错了
function testAssert(){
    assert(num == 1);
}
"><code><span class="hljs-comment">//比如我们定义一个状态变量num，初始化为1，而且始终应该是1</span>
<span class="hljs-keyword">uint</span> <span class="hljs-keyword">public</span> num <span class="hljs-operator">=</span> <span class="hljs-number">1</span>;
<span class="hljs-comment">//接下来我们要在其他函数中对num进行检查，如果num不是1，就说明什么地方出错了</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">testAssert</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-built_in">assert</span>(num <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">1</span>);
}
</code></pre><p>4、自定义错误信息</p><pre data-type="codeBlock" text="error MyError(address caller, uint i);
// 因为msg.sender是状态变量所以要声明为view
function testCustomError(uint _i) public view{
        if (_i &gt; 10){
            revert MyError(msg.sender, _i);
        }
    }
"><code><span class="hljs-function"><span class="hljs-keyword">error</span> <span class="hljs-title">MyError</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> caller, <span class="hljs-keyword">uint</span> i</span>)</span>;
<span class="hljs-comment">// 因为msg.sender是状态变量所以要声明为view</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">testCustomError</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> _i</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span></span>{
        <span class="hljs-keyword">if</span> (_i <span class="hljs-operator">></span> <span class="hljs-number">10</span>){
            <span class="hljs-keyword">revert</span> MyError(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, _i);
        }
    }
</code></pre>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[solidity之hello world]]></title>
            <link>https://paragraph.com/@ldplxp/solidity-hello-world</link>
            <guid>I8DUDYVYuN46ApLvWyhz</guid>
            <pubDate>Tue, 17 May 2022 03:19:56 GMT</pubDate>
            <description><![CDATA[hello solidity！ 合约的编写规范 1、开头要声明许可证 2、指定solidity版本 3、开始编写## 这是许可证 // SPDX-License-Identifier: MIT ## 指定版本号 pragma solidity 0.8.7; ## 开始编写合约，external表示是个外部函数，可以在合约上调用，pure代表只读，不可改变函数 contract FunctionIntro{ function add(uint x, uint y) external pure returns(uint){ return x + y; } function sub(uint x, uint y) external pure returns(uint){ return x - y; } } 4、state variables & local variablesstate变量存储在链上，任何时候都可以读，local变量存于函数内部，只有函数运行时才存在 // SPDX-License-Identifier: MIT pragma solidity 0.8.7; contr...]]></description>
            <content:encoded><![CDATA[<p>hello solidity！</p><p>合约的编写规范</p><p>1、开头要声明许可证</p><p>2、指定solidity版本</p><p>3、开始编写</p><pre data-type="codeBlock" text="## 这是许可证
// SPDX-License-Identifier: MIT
## 指定版本号
pragma solidity 0.8.7;
## 开始编写合约，external表示是个外部函数，可以在合约上调用，pure代表只读，不可改变函数

contract FunctionIntro{
    function add(uint x, uint y) external pure returns(uint){
        return x + y;
    }
    function sub(uint x, uint y) external pure returns(uint){
        return x - y;
    }
}
"><code>## 这是许可证
<span class="hljs-comment">// SPDX-License-Identifier: MIT</span>
## 指定版本号
<span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> 0.8.7;</span>
## 开始编写合约，<span class="hljs-keyword">external</span>表示是个外部函数，可以在合约上调用，<span class="hljs-keyword">pure</span>代表只读，不可改变函数

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">FunctionIntro</span></span>{
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> x, <span class="hljs-keyword">uint</span> y</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">pure</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span></span>)</span>{
        <span class="hljs-keyword">return</span> x <span class="hljs-operator">+</span> y;
    }
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">sub</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> x, <span class="hljs-keyword">uint</span> y</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">pure</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span></span>)</span>{
        <span class="hljs-keyword">return</span> x <span class="hljs-operator">-</span> y;
    }
}
</code></pre><p>4、state variables &amp; local variables</p><pre data-type="codeBlock" text="state变量存储在链上，任何时候都可以读，local变量存于函数内部，只有函数运行时才存在
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;

contract LocalVariables{
    // 这些是state变量, public意味着我们可以在合约中读取该变量
    uint public i;
    bool public b;
    address public myAddress;
    //external 意味着我们部署合约之后可以对该函数进行调用
    function foo() external {
        //这些是local变量
        uint x = 123;
        bool f = false;
        // more codes
        x += 100;
        f = true;

        i = 123;
        b = false;
        myAddress = address(1);
    }
}
"><code>state变量存储在链上，任何时候都可以读，local变量存于函数内部，只有函数运行时才存在
<span class="hljs-comment">// SPDX-License-Identifier: MIT</span>
<span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> 0.8.7;</span>

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">LocalVariables</span></span>{
    <span class="hljs-comment">// 这些是state变量, public意味着我们可以在合约中读取该变量</span>
    <span class="hljs-keyword">uint</span> <span class="hljs-keyword">public</span> i;
    <span class="hljs-keyword">bool</span> <span class="hljs-keyword">public</span> b;
    <span class="hljs-keyword">address</span> <span class="hljs-keyword">public</span> myAddress;
    <span class="hljs-comment">//external 意味着我们部署合约之后可以对该函数进行调用</span>
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">foo</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
        <span class="hljs-comment">//这些是local变量</span>
        <span class="hljs-keyword">uint</span> x <span class="hljs-operator">=</span> <span class="hljs-number">123</span>;
        <span class="hljs-keyword">bool</span> f <span class="hljs-operator">=</span> <span class="hljs-literal">false</span>;
        <span class="hljs-comment">// more codes</span>
        x <span class="hljs-operator">+</span><span class="hljs-operator">=</span> <span class="hljs-number">100</span>;
        f <span class="hljs-operator">=</span> <span class="hljs-literal">true</span>;

        i <span class="hljs-operator">=</span> <span class="hljs-number">123</span>;
        b <span class="hljs-operator">=</span> <span class="hljs-literal">false</span>;
        myAddress <span class="hljs-operator">=</span> <span class="hljs-keyword">address</span>(<span class="hljs-number">1</span>);
    }
}
</code></pre><p>5、函数修饰符，view和pure</p><p>view表示，这个函数不会修改state变量</p><p>pure表示，这个函数既不会修改也不会读取state变量</p><p>6、将状态变量声明为常量,变量名要大写（这样调用的时候可以节约gas）</p><pre data-type="codeBlock" text="address public constant MY_ADDRESS = 0x32882...dhjaksh;
"><code><span class="hljs-keyword">address</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">constant</span> MY_ADDRESS <span class="hljs-operator">=</span> <span class="hljs-number">0x32882</span>...dhjaksh;
</code></pre><p>7、要注意的是，在合约上计算越多，花费的gas费就会越多</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[自学web3之路]]></title>
            <link>https://paragraph.com/@ldplxp/web3</link>
            <guid>5GwJV0x2p7YYht2f8yAW</guid>
            <pubDate>Sat, 14 May 2022 05:56:56 GMT</pubDate>
            <description><![CDATA[今天是2022年5月14日周六 开始安装remix-ide，使用网络ide备份不是很好做，还是使用本地的 使用的M1芯片的macos系统，多少跟其他的有点不一样，使用终端的时候，要选使用Rosetta打开，否则会报Xcode错误 1、先在官网下载nvm，并把nvm命令添加到配置文件中# 下载nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash # 使配置文件生效 source ~/.bashprofile 2、下载node73、安装remix-ide 到这里就一堆bug，都懒得吐槽了shenli@shendeMacBook-Pro ~ % remix-ide module.js:472 throw err; ^ Error: Cannot find module 'remixd' at Function.Module._resolveFilename (module.js:470:15) at Function.Module._load (module.js...]]></description>
            <content:encoded><![CDATA[<p>今天是2022年5月14日周六</p><p>开始安装remix-ide，使用网络ide备份不是很好做，还是使用本地的</p><p>使用的M1芯片的macos系统，多少跟其他的有点不一样，使用终端的时候，要选使用Rosetta打开，否则会报Xcode错误</p><p>1、先在官网下载nvm，并把nvm命令添加到配置文件中</p><pre data-type="codeBlock" text="# 下载nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
# 使配置文件生效
source ~/.bashprofile
"><code># 下载nvm
curl <span class="hljs-operator">-</span>o<span class="hljs-operator">-</span> https:<span class="hljs-comment">//raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash</span>
# 使配置文件生效
source <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.bashprofile
</code></pre><p>2、下载node7</p><pre data-type="codeBlock" text="nvm install 7
"><code></code></pre><p>3、安装remix-ide</p><p>到这里就一堆bug，都懒得吐槽了</p><pre data-type="codeBlock" text="shenli@shendeMacBook-Pro ~ % remix-ide
module.js:472
    throw err;
    ^

Error: Cannot find module &apos;remixd&apos;
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.&lt;anonymous&gt; 
### 把下边这个地址复制出来
(/Users/shenli/.nvm/versions/node/v7.10.1/lib/node_modules/remix-ide/bin/remix-ide:4:14)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
"><code>shenli@shendeMacBook<span class="hljs-operator">-</span>Pro <span class="hljs-operator">~</span> <span class="hljs-operator">%</span> remix<span class="hljs-operator">-</span>ide
module.js:<span class="hljs-number">472</span>
    <span class="hljs-keyword">throw</span> err;
    <span class="hljs-operator">^</span>

<span class="hljs-built_in">Error</span>: Cannot find module <span class="hljs-string">'remixd'</span>
    at Function.Module._resolveFilename (module.js:<span class="hljs-number">470</span>:<span class="hljs-number">15</span>)
    at Function.Module._load (module.js:<span class="hljs-number">418</span>:<span class="hljs-number">25</span>)
    at Module.require (module.js:<span class="hljs-number">498</span>:<span class="hljs-number">17</span>)
    at <span class="hljs-built_in">require</span> (<span class="hljs-keyword">internal</span><span class="hljs-operator">/</span>module.js:<span class="hljs-number">20</span>:<span class="hljs-number">19</span>)
    at Object.&#x3C;<span class="hljs-keyword">anonymous</span><span class="hljs-operator">></span> 
### 把下边这个地址复制出来
(<span class="hljs-operator">/</span>Users<span class="hljs-operator">/</span>shenli<span class="hljs-operator">/</span>.nvm/versions<span class="hljs-operator">/</span>node<span class="hljs-operator">/</span>v7<span class="hljs-number">.10</span><span class="hljs-number">.1</span><span class="hljs-operator">/</span>lib<span class="hljs-operator">/</span>node_modules<span class="hljs-operator">/</span>remix<span class="hljs-operator">-</span>ide<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>remix<span class="hljs-operator">-</span>ide:<span class="hljs-number">4</span>:<span class="hljs-number">14</span>)
    at Module._compile (module.js:<span class="hljs-number">571</span>:<span class="hljs-number">32</span>)
    at Object.Module._extensions..js (module.js:<span class="hljs-number">580</span>:<span class="hljs-number">10</span>)
    at Module.load (module.js:<span class="hljs-number">488</span>:<span class="hljs-number">32</span>)
    at tryModuleLoad (module.js:<span class="hljs-number">447</span>:<span class="hljs-number">12</span>)
    at Function.Module._load (module.js:<span class="hljs-number">439</span>:<span class="hljs-number">3</span>)
</code></pre><p>把那个地址复制记住，修改配置信息，把所有带remixd的都注释掉</p><pre data-type="codeBlock" text="
var path = require(&apos;path&apos;)
var httpServer = require(&apos;http-server&apos;)
// 这个带remixd的也注释掉
var remixd = require(&apos;remixd&apos;)

var server = httpServer.createServer({
  root: path.join(__dirname, &apos;/../&apos;)
})

var folder = process.argv.length &gt; 2 ? process.argv[2] : process.cwd()

server.listen(8080, &apos;127.0.0.1&apos;, function () {})
//把这下边带remixd的都注释掉
var router = new remixd.Router(65520, remixd.services.sharedFolder, { remixIdeUrl: &apos;http://localhost:8080&apos; }, (webSocket) =&gt; {
  remixd.services.sharedFolder.setWebSocket(webSocket)
  remixd.services.sharedFolder.setupNotifications(folder)
  remixd.services.sharedFolder.sharedFolder(folder, false)
})
// router也注释掉
router.start()

console.log(&apos;\x1b[33m%s\x1b[0m&apos;, &apos;Starting Remix IDE at http://localhost:8080 and sharing &apos; + folder)
"><code>
<span class="hljs-keyword">var</span> path <span class="hljs-operator">=</span> <span class="hljs-built_in">require</span>(<span class="hljs-string">'path'</span>)
<span class="hljs-keyword">var</span> httpServer <span class="hljs-operator">=</span> <span class="hljs-built_in">require</span>(<span class="hljs-string">'http-server'</span>)
<span class="hljs-comment">// 这个带remixd的也注释掉</span>
<span class="hljs-keyword">var</span> remixd <span class="hljs-operator">=</span> <span class="hljs-built_in">require</span>(<span class="hljs-string">'remixd'</span>)

<span class="hljs-keyword">var</span> server <span class="hljs-operator">=</span> httpServer.createServer({
  root: path.join(__dirname, <span class="hljs-string">'/../'</span>)
})

<span class="hljs-keyword">var</span> folder <span class="hljs-operator">=</span> process.argv.<span class="hljs-built_in">length</span> <span class="hljs-operator">></span> <span class="hljs-number">2</span> ? process.argv[<span class="hljs-number">2</span>] : process.cwd()

server.listen(<span class="hljs-number">8080</span>, <span class="hljs-string">'127.0.0.1'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{})
<span class="hljs-comment">//把这下边带remixd的都注释掉</span>
<span class="hljs-keyword">var</span> router <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> remixd.Router(<span class="hljs-number">65520</span>, remixd.services.sharedFolder, { remixIdeUrl: <span class="hljs-string">'http://localhost:8080'</span> }, (webSocket) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
  remixd.services.sharedFolder.setWebSocket(webSocket)
  remixd.services.sharedFolder.setupNotifications(folder)
  remixd.services.sharedFolder.sharedFolder(folder, <span class="hljs-literal">false</span>)
})
<span class="hljs-comment">// router也注释掉</span>
router.start()

console.log(<span class="hljs-string">'\x1b[33m%s\x1b[0m'</span>, <span class="hljs-string">'Starting Remix IDE at http://localhost:8080 and sharing '</span> <span class="hljs-operator">+</span> folder)
</code></pre><p>注释完之后就可以正常启动了</p><pre data-type="codeBlock" text="shenli@shendeMacBook-Pro ~ % remix-ide
Starting Remix IDE at http://localhost:8080 and sharing /Users/shenli
"><code>shenli@shendeMacBook<span class="hljs-operator">-</span>Pro <span class="hljs-operator">~</span> <span class="hljs-operator">%</span> remix<span class="hljs-operator">-</span>ide
Starting Remix IDE at http:<span class="hljs-comment">//localhost:8080 and sharing /Users/shenli</span>
</code></pre>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[Premint之pop复盘]]></title>
            <link>https://paragraph.com/@ldplxp/premint-pop</link>
            <guid>skx4OKXr8KYkNNYWX4tV</guid>
            <pubDate>Fri, 13 May 2022 04:39:25 GMT</pubDate>
            <description><![CDATA[肝了一个礼拜，买ip，买老tw，写代码 最后百密一疏，死在了转出地址上，下边是这次pop的筛选标准 1、ip 2、tw注册时间 3、只看大于2.55eth的转账信息 4、最多允许钱包一对3 5、循环的死了（一个钱包转到另一个，再下一个，最后再回到自己） 6、跑火车的死了 7、钱包回到同一地址的也死了，遵循上述的4 这次搞了200个号，相当于上边规则的一个钱包帮助了199个号，全军覆没 第一次搞premint就亏麻了！吃一堑长一智啊，下次准备200个ftx子账户去搞了，一对一，链上看不出来任何问题，但是又个朋友，完全没有任何问题，也全军覆没了。1000个号，实在搞不懂，猜测是项目方没有考虑到交易所的热钱包地址。。。。。。 下次再试试吧]]></description>
            <content:encoded><![CDATA[<p>肝了一个礼拜，买ip，买老tw，写代码 最后百密一疏，死在了转出地址上，下边是这次pop的筛选标准</p><p>1、ip</p><p>2、tw注册时间</p><p>3、只看大于2.55eth的转账信息</p><p>4、最多允许钱包一对3</p><p>5、循环的死了（一个钱包转到另一个，再下一个，最后再回到自己）</p><p>6、跑火车的死了</p><p>7、钱包回到同一地址的也死了，遵循上述的4</p><p>这次搞了200个号，相当于上边规则的一个钱包帮助了199个号，全军覆没</p><p>第一次搞premint就亏麻了！吃一堑长一智啊，下次准备200个ftx子账户去搞了，一对一，链上看不出来任何问题，但是又个朋友，完全没有任何问题，也全军覆没了。1000个号，实在搞不懂，猜测是项目方没有考虑到交易所的热钱包地址。。。。。。 下次再试试吧</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[动作指南————个人心得]]></title>
            <link>https://paragraph.com/@ldplxp/am84WMSf6XmcyWgVuXrH</link>
            <guid>am84WMSf6XmcyWgVuXrH</guid>
            <pubDate>Thu, 28 Apr 2022 09:08:51 GMT</pubDate>
            <description><![CDATA[练imapkt快一个月啦 有的小伙伴刚开始练，很多动作识别不了，这个贼气人👀 首先是摄像头的位置，这个很重要，我的大概是离地板60cm高，然后离人2.5m远这样（有时候我调整摄像头位置它动作识别就没那么准确了） 现在根据我的经验给大家提示一下动作方面的举腿这个需要举腿举高一点，差不多跟地面90度就很容易识别波比跳首先俯卧撑的动作要做好，然后恢复到下蹲的动作，把手举起来，向上跳，这个举手挺关键的，我试了好多次，边举手边往上跳，就容易识别，其他的就要看运气（差点没累死）walk out这个不知道咋翻译哈哈哈哈。 动作要领是：多往前爬几步侧压腿这个的要领就是压低一点，尽可能的]]></description>
            <content:encoded><![CDATA[<p>练imapkt快一个月啦</p><p>有的小伙伴刚开始练，很多动作识别不了，这个贼气人👀</p><p>首先是摄像头的位置，这个很重要，我的大概是离地板60cm高，然后离人2.5m远这样（有时候我调整摄像头位置它动作识别就没那么准确了）</p><p>现在根据我的经验给大家提示一下动作方面的</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">举腿</h3><p>这个需要举腿举高一点，差不多跟地面90度就很容易识别</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">波比跳</h3><p>首先俯卧撑的动作要做好，然后恢复到下蹲的动作，把手举起来，向上跳，这个举手挺关键的，我试了好多次，边举手边往上跳，就容易识别，其他的就要看运气（差点没累死）</p><h3 id="h-walk-out" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">walk out</h3><p>这个不知道咋翻译哈哈哈哈。</p><p>动作要领是：多往前爬几步</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">侧压腿</h3><p>这个的要领就是压低一点，尽可能的</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[Impakt项目FAQ文档V1.0]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-faq-v1-0</link>
            <guid>Si7TPsByl9ZitGLtkE5q</guid>
            <pubDate>Fri, 15 Apr 2022 04:12:48 GMT</pubDate>
            <description><![CDATA[Impakt项目FAQ文档V1.0问题类型：下载/安装类问题1：资源文件找不到错误提示**问题描述：**安装过程提示cab1.cab资源文件无法找到解决方案： 1、关闭系统已经打开的360杀毒软件以及防火墙等阻拦不明文件安装的软件（如没有可跳过） 2、打开安装包所在的文件路径3、在压缩包上点击右键将文件进行解压（这一步非常重要）4、打开解压后的文件夹，找到Setup.msi，根据提示进行安装即可问题2：第一次练习后无法点击下一步**问题描述：**Windows系统下，安装过程中出现如下界面，无法进入下一步，通常是安装了Impakt_Windows_v1.0.0版本造成的。**解决方案：**需要下载Impakt_Windows_v1.1.8并进行安装，下载地址如下： https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Windows/Impakt_Windows_v1.1.8.zip问题3：官网首页下载链接无法下载**问题描述：**点击官网首页的Windows或者Mac下载链接，均会跳转到Discord，无法进行正常的...]]></description>
            <content:encoded><![CDATA[<h1 id="h-impaktfaqv10" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Impakt项目FAQ文档V1.0</h1><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">问题类型：下载/安装类</h3><h4 id="h-1" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题1：资源文件找不到错误提示</h4><p>**问题描述：**安装过程提示cab1.cab资源文件无法找到</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/145f7c588f453f92da6683963a6d93046a056069f18e345488755096a1767781.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><strong>解决方案：</strong></p><p>1、关闭系统已经打开的360杀毒软件以及防火墙等阻拦不明文件安装的软件（如没有可跳过）</p><p>2、打开安装包所在的文件路径</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/789b66f90b51c4727fd5579ca326499351d4d872f628821e5a8d3a738a27c21f.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>3、在压缩包上点击右键将文件进行解压（<strong>这一步非常重要</strong>）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cd3d1d1de2a90b32fb4da4fe417d449bee25a2f64ac0f1c810c93576f22f8cd2.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>4、打开解压后的文件夹，找到Setup.msi，根据提示进行安装即可</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/428a19f1c6d3d72927ce0ce10d3d356c409227505217eec78eba1b1759a87290.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><h4 id="h-2" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题2：第一次练习后无法点击下一步</h4><p>**问题描述：**Windows系统下，安装过程中出现如下界面，无法进入下一步，通常是安装了Impakt_Windows_v1.0.0版本造成的。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c4be03290b308ef3f1691b181baa18791aee11a52e560de761ea39c1a1ecc98d.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>**解决方案：**需要下载Impakt_Windows_v1.1.8并进行安装，下载地址如下：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Windows/Impakt_Windows_v1.1.8.zip">https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Windows/Impakt_Windows_v1.1.8.zip</a></p><h4 id="h-3" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题3：官网首页下载链接无法下载</h4><p>**问题描述：**点击官网首页的Windows或者Mac下载链接，均会跳转到Discord，无法进行正常的下载</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b9ac9fdc2e81745186299d0683711492d50ef3a41ef97c640a63eed7ff8e186b.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>**解决方案：**官方已收到相关反馈，目前正在积极修复中，可点击以下IMPAKT测试版下载地址：</p><p>Windows: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Windows/Impakt_Windows_v1.1.8.zip">https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Windows/Impakt_Windows_v1.1.8.zip</a></p><p>Mac: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Mac/Impakt_Mac_v1.1.8.zip">https://impakt-build-artifacts.s3.us-east-2.amazonaws.com/Mac/Impakt_Mac_v1.1.8.zip</a></p><p>M1 Mac Users: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://knowledgebase.impakt.com/article-1?category=all-resources">https://knowledgebase.impakt.com/article-1?category=all-resources</a></p><hr><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">问题类型：使用类</h3><h4 id="h-4" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题4：电脑没有摄像头/损坏</h4><p>**问题描述：**电脑没有摄像头，无法体验Impakt项目</p><p>**解决方案：**建议购买一个超广角摄像头（预算200可以搞定）。</p><br><h4 id="h-5" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题5：摄像头调试无法进行到下一步</h4><p>**问题描述：**摄像头启用后，由于摄像头图像中未识别到整个身体，因此无法进行到下一步</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0bf7a83003f8db5a98636c53742d7e637bdab95d9df6c3ce92e8be811f464c21.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>**解决方案：**调整摄像头角度以及个人与摄像头之间的距离，使头到脚的人像都能展现在摄像头画面中，此时右上角的数值应为100%。</p><h4 id="h-6" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题6：对动作识别不够准确</h4><p>**问题描述：**Impakt程序运行过程中，对用户动作的识别率太低，特别是做俯卧撑类动作时，捕捉动作不够灵敏。</p><p>**解决方案：**系统会智能识别动作完成的质量，识别率低主要是动作质量较差，因此需要提高动作的标准程度，比如深蹲，需要蹲到90度；同时，请确保锻炼背景尽量简单、干净。</p><h4 id="h-7" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题7：空间受限无法保证全身在取景框内</h4><p>**问题描述：**Impakt程序运行过程中，用户很难保持全身都在摄像头框内，得距离电脑3-4米远才行。如果家里面空间不够大，或者身体很容易溢出摄像头画框</p><p>**解决方案：**建议购买一个超广角摄像头（预算200可以搞定）。</p><h4 id="h-8impaktvpn" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题8：参与Impakt是否需要开启VPN</h4><p>**问题描述：**没有开启VPN，客户端无法正常打开</p><p>**解决方案：**根据目前调研多名用户反馈的信息，体验本项目是无需开启VPN的；至于个别需要开启VPN才能体验本项目的，请确认电脑本身的网络配置是否存在问题，可以尝试重启或者开启VPN进入Impakt。</p><hr><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">问题类型：体验类</h3><h4 id="h-9" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">问题9：无法适应高强度的整套动作</h4><p>**问题描述：**运动强度较高，感觉很难坚持和适应。</p><p>**解决方案：**对于平时没有燃脂锻炼的用户来说，目前的训练动作确实存在较大的挑战，后期会推出不同难度的运动和模式供用户选择，敬请期待。</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[Impakt白皮书]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-13</link>
            <guid>K2FxQdGhPDShDGavobtn</guid>
            <pubDate>Thu, 14 Apr 2022 16:39:15 GMT</pubDate>
            <description><![CDATA[2022年2月8日免责声明————————————————————————————————————————— IO（Input/Output）代币无意构成，也不应构成任何司法管辖区的证券。本白皮书中分享的信息并非面面俱到，也不打算以任何方式创建或使合同关系的任何要素隐含生效。本白皮书的主要目的是为潜在的代币持有人提供相关信息，以便他们彻底分析该项目并做出明智的决定。在您参与购买$IO之前，我们强烈建议您仔细研究本白皮书以及与之相关的所有文件，包括与购买该产品相关的合约。您甚至可以聘请专家，帮助您进行投资分析。本白皮书基于某些已知和未知的意外情况及风险，作出了对未来的预估和财务信息的前瞻性陈述，事实可能会与该陈述有所偏差。Impakt颠覆性的影响————————————————————————————————————————— Impakt是一个基于Web3的健身应用，通过计算机视觉来识别您的身体动作。它探索了一个新的类别--FitFi，玩家通过锻炼和完成身体挑战来赚钱。我们通过提供各种具有社交属性的锻炼、锦标赛和挑战，吸引了从普通人到健身教练的大量人群，并鼓励一种全新的活动，这种...]]></description>
            <content:encoded><![CDATA[<p>2022年2月8日</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">免责声明</h3><p>—————————————————————————————————————————</p><p>IO（Input/Output）代币无意构成，也不应构成任何司法管辖区的证券。本白皮书中分享的信息并非面面俱到，也不打算以任何方式创建或使合同关系的任何要素隐含生效。本白皮书的主要目的是为潜在的代币持有人提供相关信息，以便他们彻底分析该项目并做出明智的决定。在您参与购买$IO之前，我们强烈建议您仔细研究本白皮书以及与之相关的所有文件，包括与购买该产品相关的合约。您甚至可以聘请专家，帮助您进行投资分析。本白皮书基于某些已知和未知的意外情况及风险，作出了对未来的预估和财务信息的前瞻性陈述，事实可能会与该陈述有所偏差。</p><h3 id="h-impakt" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Impakt颠覆性的影响</h3><p>—————————————————————————————————————————</p><p>Impakt是一个基于Web3的健身应用，通过计算机视觉来识别您的身体动作。它探索了一个新的类别--FitFi，玩家通过锻炼和完成身体挑战来赚钱。我们通过提供各种具有社交属性的锻炼、锦标赛和挑战，吸引了从普通人到健身教练的大量人群，并鼓励一种全新的活动，这种活动既有趣又有利可图--燃烧卡路里并赚钱！Impakt的专利技术通过用计算机视觉分析人们的动作，使人们能够在任何时间、任何地点进行锻炼。只需用您的智能手机摄像头或电脑网络摄像头，您的运动就可以被Impakt的计算机视觉验证，从而赚取加密货币，不需要其他额外的昂贵的硬件！在Impakt中，您的身体就是一座宝藏（通过锻炼来挖宝）！</p><p>作为一个在线多人健身应用，Impakt允许人们在各种运动竞赛中相互竞争，包括社交属性的锻炼、每周排行榜、锦标赛和挑战。Impakt是免费游戏，让每个人都有机会赚钱！在每周的排行榜上，排名靠前的玩家将按比例获得更多代币。锦标赛允许人们在同一个比赛中竞争，奖品将颁发给获胜者。即使是那些没有运动经验的人，也能通过坚持锻炼和个人进步来获得代币。Impakt鼓励每个人在一个有趣的社交元宇宙中进行锻炼。</p><p>我们的愿景是建立世界上最受欢迎的健身应用，在这里，数百万玩家可以建立健康的生活习惯，同时赚取经济奖励。我们正在通过建立Burn-And-Earn和带头建立FitFi来颠覆加密货币和健身行业的世界。</p><p>建立一个人们可以赚取奖励并改善其身体健康的元宇宙！</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">背景介绍</h3><p>—————————————————————————————————————————</p><p>生命在于运动！! 无论您的年龄或健康水平如何，定期的运动是一个主要的改善健康的方式。根据世界卫生组织的数据显示，每周进行约150分钟运动的人比不参加运动的人的死亡风险低30%。不幸的是，每4个成年人中就有1个（全世界14亿成年人）活动时间不足。大家每天要花费很多时间坐着或者躺着，每天在办公桌前花费8-10个小时，回家坐着或者躺着刷抖音，看电视剧，看电影，看直播～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4270f30f0bc644c7d1b3e03ca7ca4f814620bab2bdca05279204e36a03a2d217.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>从2020年新冠肺炎疫情开始到现在，这场疫情让原本就不容乐观的运动情况雪上加霜，更多的人开始呆在家里了，所以，现在Impakt已经准备好利用这一点，让更多的人参与到运动中来了！</p><p>首先，健身房被迫停止营业，敦促人们寻找替代品，与疫情前的水平相比，美国人使用在线健身视频锻炼的比例从56%上升到了72%，意味着在线健身成为了一种趋势。这导致全球在线健身行业激增77%，在2021年市场规模达到了107.1亿美元。自疫情以来，75%的活跃成年人使用直播软件锻炼，70%的人使用点播视频来定制他们的锻炼计划。预计在线健身行业将逐年增长30%以上，到2027年将达到惊人的590亿美元。</p><p>第二，加密货币行业在2021年实现了大逆转，&quot;无聊猿 &quot;闯入主流媒体，让NFT成为市场亮点。虽然大多数人仍然不理解，但NFT在2021年产生了240亿美元的交易量。这场NFT革命为一些新的加密货币细分市场变成行业焦点奠定了基础：加密货币游戏和GameFi。加密游戏市场规模已经超过了5亿美元，很明显，它将在2022年大放异彩。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/13d9f0dd56ed7949d83b2c4513eed6fe8ea619f5381d3bd470df1b37d067c701.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/75ba2f9de266c54cd73a3822cac7a6fdb7e19c57935382fd6fe5a73b8e7dfeb7.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>随着加密货币使用量的激增和线健身市场规模的扩大，两者的整合显得水到渠成。这种新的模式有一个简单的名字：FitFi，而这正是Impakt的作用所在。简单来说：人们可以锻炼身体，赚取代币。他们将能够从中获利，同时也能获得一个良好的身体。一些其他公司也看到了这个机会，但仍然受到智能手表、心率监测器等额外设备的限制，这让他们难以吸引到更多的人。Impakt则非常简单，下载一个软件，然后任何拥有智能手机或网络摄像头的人都可以参与到Burn-And-Earn生态系统中来，我们为此提供金钱奖励并且用户还能通过运动获得良好的身体！</p><h3 id="h-impakt" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Impakt</h3><p>—————————————————————————————————————————</p><p>用户的运动由智能手机摄像头或计算机网络摄像头利用计算机视觉技术进行跟踪。我们的系统可以识别大量的身体位置、手势和动作，这意味着在Impakt游戏中，您的身体就是控制器。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/57fbcbdfecc82a8066daa3bf879f5d515e80f2fc8a46621210a46c1a3d36cac4.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>Impakt设计的初衷是为了让所有人都能使用，不需要像大多数家用健身应用那样需要额外的设备，只要打开应用程序并校准摄像头，用户就能开始使用Impakt进行锻炼，应用程序可以在iOS、安卓和带有网络摄像头的电脑上使用。</p><p>Impakt以方便用户使用、社区建设和奖励良好的健身习惯这三点为核心任务</p><ul><li><p>身体运动追踪器：Impakt先进的身体运动追踪器技术能把所有智能手机摄像头或电脑网络摄像头变成人体运动追踪器，使人们能够轻松地在应用程序中完成运动任务。</p></li><li><p>具有社交属性和竞争性的健身应用。用户可以与朋友一起锻炼，占领排行榜，或在团体锦标赛中竞争。最开始的的时候，运动的动作都比较简单，但随着时间的推移，Impakt最终能支持各种各样的运动！</p></li><li><p>基于区块链的加密货币。通过个人健身水平提升、参与健身比赛和Impakt独家内容，创造了各种赚钱的可能性。加入Impakt，健身就能获得回报!</p></li></ul><p>通过结合这三点，Impak为用户提供了一种在赚取代币的同时锻炼身体的新方式。Impakt正在开发各种不同的游戏模式，以便每个人都能按照自己的情况进行锻炼。</p><h3 id="h-impkat" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Impkat运动类型</h3><p>—————————————————————————————————————————</p><p>每种Impakt运动类型都被设定为一系列针对不同身体部位的练习：上半身、下半身或全身。用户可以完成Impakt的日常运动程序或社区共享的程序。有闪电战、HIIT（高强度间歇训练）或挑战赛。下边详细举例：</p><p>闪电战：重复某些动作一定的次数</p><ul><li><p>做完这些运动所花费的时间就是您的得分</p></li><li><p>设定了休息时间</p></li></ul><p>HIT：在规定的时间内重复完成指定动作的次数</p><ul><li><p>计算重复次数为最终得分</p></li><li><p>设定了休息时间</p></li></ul><p>挑战：向他人挑战特定任务</p><ul><li><p>计算重复动作次数以获得最后得分</p></li><li><p>设定了时间和休息时间</p></li></ul><p>Impakt通过激励玩家锻炼去获得$IO代币的奖励，使用户在获得强健体魄的同时创造额外的收入。即使用户的身体状况与同龄人相比不是最好的，他们也会因坚持锻炼和个人进步而获得奖励。Impakt能轻松的激励您保持良好的健康习惯。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">锦标赛系统</h3><p>—————————————————————————————————————————</p><p>锦标赛系统允许用户以IO代币支付入场费，来参加大规模的锦标赛。锦标赛的胜利者将获得大部分人的入场费，获胜者的奖励有可能是周挑战或者日挑战的数倍之多！锦标赛规模越大，奖励就越高。</p><p>锦标赛可以由Impakt团队或社区主办。主办方将能够通过自己的个人风格定制他们的锦标赛，甚至允许观众为锻炼者加油。这将成为KOL与粉丝互动的新媒介，并为他们提供难忘的体验。</p><p>锦标赛有三种玩法</p><ul><li><p>大逃杀（坚持到最后的人）</p></li><li><p>支架系统（经典的淘汰赛系统）</p></li><li><p>生存（活到最后，分享奖励）</p></li></ul><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">经济类</h3><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/610d7be4644a523d46ccc205e2620a57c65bbc42e7b16e801c957d77c81bc773.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><ul><li><p>对参加体育锻炼的玩家给予加密货币奖励</p></li><li><p>奖励定期锻炼的用户</p></li><li><p>在社交元宇宙中，跟我们日益壮大的社区一起分享您的喜悦和进步，大家共同成长！</p></li></ul><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">市场</h3><p>—————————————————————————————————————————</p><p>Impakt市场将允许用户购买和销售数字商品，如头像和装饰品。Impakt的战略合作伙伴将允许用户在市场上用IO代币，购买现实世界中以健康和健身为中心的商品与服务。</p><p>Impakt的主要收入来自于以下方面：</p><ul><li><p>IO代币：销售由公司创造和开发的数字商品（头像、化妆品等）</p></li><li><p>市场服务费：在平台上进行的所有交易量的3%</p></li><li><p>锦标赛服务费：活动收入的一定百分比会返回到Impakt国库中</p></li></ul><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">代币经济学</h3><p>—————————————————————————————————————————</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b3c877a0df9f69d19a9bfd35527aee847306a38672ff8689753222a0503dec81.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><ul><li><p>代币总供应量：10,000,000,000</p></li><li><p>团队解锁时间表：6个月的锁定期，2年的线性释放期</p></li></ul><p>IO只能通过其代币销售或二级交易市场进行购买。</p><p>Impakt Token只有100亿的总量，不会增发。IO是整个Impakt生态系统的实用代币，来用作交易和互动。它是一个通过Arbitrum在以太坊区块链上建立的ERC-20代币。它将在整个生态系统中被运动者、主持人和在Impakt上销售产品的合作伙伴使用。</p><p>IO代币将有以下主要用途：</p><ul><li><p>参与锦标赛</p></li><li><p>从市场上购买现实中关于健康和健身商品</p></li><li><p>购买应用内的数字物品，如特殊的头像、虚拟装饰品等</p></li><li><p>用于挑战他人（一对一的竞争）</p></li><li><p>购买NFT</p></li><li><p>Staking pool 质押以获得奖励</p></li></ul><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">路线图</h3><p>—————————————————————————————————————————</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9b445ffff072debc7844c894a82128c1d1606570f09a495b79f866032c1ff47d.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-impakt" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Impakt愿景</h3><p>—————————————————————————————————————————</p><p>我们的愿景是建立Impakt生态系统，人们在其中建立健康的生活习惯，同时赚取真实的资产。这个生态系统的基础是我们的计算机视觉应用程序，它为所有年龄段的人提供了一个廉价且简单的FitFi入口，只需使用智能手机或网络摄像头就能成功参与进来。我们将通过引领FitFi和建立Burn-And-Earn，颠覆健身和加密货币行业。</p><p>虽然这次疫情改变了世界的方方面面和我们的生活习惯，但有些事情是确定的：网络互动在我们生活中占比很高，视频通话已成为常态。Impakt旨在为网络互动带来健康的运动方式，用户将通过我们的奖励系统，保持运动。最终，用户将获得更健康的身体和更多的经济奖励，同时通过有趣的竞争活动与他们的朋友和家人保持联系。</p><p>如果我们的应用程序是基础层，那么社区就是第二层。在获得经济回报的同时获得健康的身体是我们作出的承诺。我们坚信，用户会成为我们的推广大使，他们将为Impakt社区奠定基础通过具有社交性的锻炼、竞赛和挑战，Impakt不仅可以改善他们的生活，还可以吸引他们身边的人进入Impakt生态系统并分享好处。</p><p>我们知道这只是个开始，随着虚拟现实应用的增加，我们的技术已经准备好与之一起成长，并在元宇宙中提供更好的体验。我们从基本的健身开始，随着时间推移，人们可以在Impakt练习武术、舞蹈和其他各种身体动作，这些可以通过我们的SDK使用我们的专利技术来构建。</p><p>Impakt将成为促使人们开始运动的元宇宙！在这里，人们可以坚持运动，同时享受其带来的乐趣，进行社交活动并获得奖励。有了Impakt，您会获得一个更棒的身体和生活方式！</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">参考文献:</h2><ol><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.who.int/news-room/fact-sheets/detail/physical-activity">https://www.who.int/news-room/fact-sheets/detail/physical-activity</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://runrepeat.com/online-fitness-statistics">https://runrepeat.com/online-fitness-statistics</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dappradar.com/blog/2021-dapp-industry-report/#defi">https://dappradar.com/blog/2021-dapp-industry-report/#defi</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.researchdive.com/8338/virtual-fitness-market">https://www.researchdive.com/8338/virtual-fitness-market</a></p></li></ol>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[IMAPKT独特的NFT]]></title>
            <link>https://paragraph.com/@ldplxp/imapkt-nft</link>
            <guid>peFSn7xgOduefk6Ac8J8</guid>
            <pubDate>Thu, 14 Apr 2022 05:12:47 GMT</pubDate>
            <description><![CDATA[IMPAKT 创世NFT mint 2022年 3月31日 更新 Impakt 创世NFT终于开放白名单了！ 我们的健身游戏可以免费玩，并且赚取代币！！！ 加入我们，在我们即将打造好的元宇宙中，一起通过锻炼赚钱～ 不管是为了自己，还是家人，保持健康是很有必要的！ IMPAKT的创世NFT只提供一次mint的机会，它包含了一万张独一无二的会员卡（就像是大型连锁健身房刚开业的时候，送给特定用户的更加稀有的会员卡！这意味着更多的特权和奖励！） IMPAKT的NFT可以大幅增加大家在Burn-And-Earn（燃烧脂肪赚钱）过程中的收益，而且可以通过锻炼，提升自己的NFT排名，排名越高奖励倍数就会越高！ 我们通过这种方式奖励坚持锻炼并持有NFT的玩家，他们获得的代币奖励可能是没有NFT玩家的数十倍！！！ NFT排名通过定期锻炼和完成目标来提高，大家可以在排行榜上查看自己的排名。最高等级是通过自己的努力赢来得的，而不是铸造的时候被随机决定的。换句话说，每个NFT都有机会成为最稀有的NFT，就像我们的人生，不会被出身决定自己的命运。你的NFT越稀有，福利就越多越好玩，你可以获得你对应排名之后...]]></description>
            <content:encoded><![CDATA[<p>IMPAKT 创世NFT mint</p><p>2022年 3月31日 更新</p><p>Impakt 创世NFT终于开放白名单了！</p><p>我们的健身游戏可以免费玩，并且赚取代币！！！</p><p>加入我们，在我们即将打造好的元宇宙中，一起通过锻炼赚钱～</p><p>不管是为了自己，还是家人，保持健康是很有必要的！</p><p>IMPAKT的创世NFT只提供一次mint的机会，它包含了一万张独一无二的会员卡（就像是大型连锁健身房刚开业的时候，送给特定用户的更加稀有的会员卡！这意味着更多的特权和奖励！）</p><p>IMPAKT的NFT可以大幅增加大家在Burn-And-Earn（燃烧脂肪赚钱）过程中的收益，而且可以通过锻炼，提升自己的NFT排名，排名越高奖励倍数就会越高！</p><p>我们通过这种方式奖励坚持锻炼并持有NFT的玩家，他们获得的代币奖励可能是没有NFT玩家的数十倍！！！</p><p>NFT排名通过定期锻炼和完成目标来提高，大家可以在排行榜上查看自己的排名。最高等级是通过自己的努力赢来得的，而不是铸造的时候被随机决定的。换句话说，每个NFT都有机会成为最稀有的NFT，就像我们的人生，不会被出身决定自己的命运。你的NFT越稀有，福利就越多越好玩，你可以获得你对应排名之后的所有福利！（比如说，第一名可以获得一台苹果笔记本，第二名奖励一部苹果手机，第三名奖励一个IPAD，第一名可以同时获得笔记本，手机和ipad）</p><p>排名福利</p><ul><li><p>在锻炼中赚取更多的加密货币</p></li><li><p>免费的3D头像</p></li><li><p>可以参加IRL和在线活动</p></li><li><p>参与内测和投资项目</p></li><li><p>白名单/未来的NFT空投</p></li><li><p>IRL产品空投</p></li><li><p>参与基础的管理和投票</p></li><li><p>在市场上购买东西享有折扣</p></li><li><p>购买健康保险享有折扣</p></li><li><p>访问其他有合作关系的元宇宙项目</p></li><li><p>进入高级会员社区：里边有的福利是基于NFT排名的</p></li></ul><p>IMPKAT NFT的白名单有几种类型。</p><ul><li><p>Genesis NFT - Guaranteed Minting Talent Rank.</p></li><li><p>Genesis NFT - Guaranteed Minting Talent Rank w/ XP.</p></li><li><p>Genesis NFT - Guaranteed Minting Pro Rank.</p></li></ul><p>私人代币销售的分配</p><p>注意：为了最终确定白名单的归属，你必须在推特上发帖或告诉别人Impakt，我们才能实现共赢。你必须发送一个链接w/你的钱包地址，我们将为你的NFT分配更多XP。</p>]]></content:encoded>
            <author>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[如何注册IMPAKT]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-12</link>
            <guid>g4ff60C247PGObBCFTKx</guid>
            <pubDate>Wed, 13 Apr 2022 15:51:48 GMT</pubDate>
            <description><![CDATA[第一步：点击REGISTER第二步根据图中提示，填写自己的信息，注意，右边那一栏都是optional，可填可不填 最后点击CREATE ACCOUNT就能成功创建自己的impakt账号了～登录输入用户名/注册邮箱后，输入密码，然后点击SIGN IN登录]]></description>
            <content:encoded><![CDATA[<h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">第一步：</h3><p>点击REGISTER</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5b23fc512098a09b98481a9d1b027f4fc0c918ac317e91f78d7ab265e033f9a2.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-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">第二步</h3><p>根据图中提示，填写自己的信息，注意，右边那一栏都是optional，可填可不填</p><p>最后点击CREATE ACCOUNT就能成功创建自己的impakt账号了～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/37f27396f2489a02354a8abfa7525fbc22360f4b7e8cf36032c389cdf2423404.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-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">登录</h3><p>输入用户名/注册邮箱后，输入密码，然后点击SIGN IN登录</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b344a612490b913af92fff35cc26209068433664ef88eed75b64d0be74350218.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>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[IMPAKT如何完成新手教程]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-11</link>
            <guid>84ocQM7ObasVhx0nJXWA</guid>
            <pubDate>Wed, 13 Apr 2022 14:28:01 GMT</pubDate>
            <description><![CDATA[到这里，默认大家下载并安装好了impakt，接下来就是如何使用了 如果没有广角摄像头，请看下边的文章～ https://mirror.xyz/ldplxp.eth/JkhShDIt9tnKBZQ4Nvz8JbFdn6WAAtAOrtQ_nRGJwgU 有广角摄像头，就可以直接开始了！ 打开impakt，点击next继续点击next点击Accept然后可以按ESC，点击SKIP跳过，后边的没必要做了，skip之后就到了开启挑战的时候！]]></description>
            <content:encoded><![CDATA[<p>到这里，默认大家下载并安装好了impakt，接下来就是如何使用了</p><p>如果没有广角摄像头，请看下边的文章～</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/ldplxp.eth/JkhShDIt9tnKBZQ4Nvz8JbFdn6WAAtAOrtQ_nRGJwgU">https://mirror.xyz/ldplxp.eth/JkhShDIt9tnKBZQ4Nvz8JbFdn6WAAtAOrtQ_nRGJwgU</a></p><p>有广角摄像头，就可以直接开始了！</p><p>打开impakt，点击next</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4fdfb549e2b55d91ec7769246cc7ae4626be839ed9b23f8f38ce2b9967fc258b.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>继续点击next</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ad2403ec7f4b67a24beccc0253ea194c435461ef2bab5f0d27ec313dedd359a2.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>点击Accept</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a73b7dca466549e12e1144bb8495bb31d66238169b196e0e0f37a63a0180f87f.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>然后可以按ESC，点击SKIP跳过，后边的没必要做了，skip之后就到了开启挑战的时候！</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f8157a7b16371c5428b62de84a856ce8fb59d204900d7cdcc559450dec560f1a.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>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[开启IMPAKT挑战]]></title>
            <link>https://paragraph.com/@ldplxp/impakt-10</link>
            <guid>SXosn2zYnYaCPSpoIPOz</guid>
            <pubDate>Wed, 13 Apr 2022 14:25:17 GMT</pubDate>
            <description><![CDATA[打开impakt，选择日挑战，点击start，即可开启挑战挑战结束后，如果没有跳过任何卡片，会出现以下画面 TIME：挑战所花费的时间（包含rest即休息时间）最后计入排行榜的时候会减掉休息时间 REPS：捕捉到的有效动作次数 STREAK：连续锻炼天数～]]></description>
            <content:encoded><![CDATA[<p>打开impakt，选择日挑战，点击start，即可开启挑战</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f60e2b3321ad212981f09db36a7a0f36081faae5b8fe866ce7f0dec16e94ff1d.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>挑战结束后，如果没有跳过任何卡片，会出现以下画面</p><p>TIME：挑战所花费的时间（包含rest即休息时间）最后计入排行榜的时候会减掉休息时间</p><p>REPS：捕捉到的有效动作次数</p><p>STREAK：连续锻炼天数～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/052d8797a790907412b5e05dcc37a9c45dbc724f65003c7b82f4dd1ffabcb70b.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>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[如何注册以太链钱包]]></title>
            <link>https://paragraph.com/@ldplxp/MV3qkPEEZ40zymFbessi</link>
            <guid>MV3qkPEEZ40zymFbessi</guid>
            <pubDate>Wed, 13 Apr 2022 13:00:52 GMT</pubDate>
            <description><![CDATA[点击这里先下载一个小狐狸钱包 https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=zh 下载下来之后点击这里再点这个，把小狐狸固定在插件栏点击小狐狸头像点击开始使用创建新的钱包点击我同意输入密码，点击创建点击下一步先点击，显示密语，然后把这些单词记下来（最好手动写在纸上，妥善保存） 然后点击下一步然后按顺序依次选择刚才记录的单词，完成后点击确认到这里就完成了～点击全部完成，即可获得自己的以太坊钱包，小狐狸功能还有很多，感兴趣自行探索～最后点击图示位置即可复制钱包地址]]></description>
            <content:encoded><![CDATA[<p>点击这里先下载一个小狐狸钱包</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=zh">https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=zh</a></p><p>下载下来之后点击这里</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f74249df0d84d0a888353b42d0f9f31994a7a1cdd0a22e68e5e7868122aca4bf.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>再点这个，把小狐狸固定在插件栏</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fb2081ab7f9408df49c2fbe25cb74fc9bed744d92dfc390ad7e85123313fc5fe.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>点击小狐狸头像</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6e7cd35f987fbd39b9356335f7106f0c121a87d46e387c73eb6cf30d0fc70a30.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>点击开始使用</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a306a0b592c56d9cbfc8506c8f72b2dcb3eb1979eacc21e1030574b297486287.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>创建新的钱包</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3e9e648587ae220d475b9fdb1d65bb6b9a30e0cc9b15e370cd2223bf7f30f34a.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>点击我同意</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/16f6125da663582803a75f3dbe462df0c8ad6291b8dd73b2fa98562469baac38.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>输入密码，点击创建</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/745acb2c88aeb92bc33e264df242ec6f6518c8cb2cc297e32e54fb2c8f39b8ab.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>点击下一步</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bf82343377ab03c4d9135567c61cb4a4a274779b3e2f536d3c9e7aa0a33b55af.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>先点击，显示密语，然后把这些单词记下来（最好手动写在纸上，妥善保存）</p><p>然后点击下一步</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/953ae95b51022752dfd46c49f0171b7d35f71fa2e9b2800867145697b90d2ce3.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>然后按顺序依次选择刚才记录的单词，完成后点击确认</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a7fe0393a97940961b33386c80d12ea1ea7c1be8134668915a370755ada3f32d.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>到这里就完成了～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9c817cacc7c34bc2b480a7d55eccbae26e16ce7b4ac32d8d68b6355c8bcd6eb2.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>点击全部完成，即可获得自己的以太坊钱包，小狐狸功能还有很多，感兴趣自行探索～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/49d9e4a30fcf8cace26307522fccd6e85b606fcc2f319977f789c616c42658a9.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>最后点击图示位置即可复制钱包地址</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9634f528f181ce52d015b29a505c84a4dbf8409b5f64587369c405db2025ed66.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>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
        <item>
            <title><![CDATA[如何注册discord]]></title>
            <link>https://paragraph.com/@ldplxp/discord</link>
            <guid>h1Ggk9BHdn9NpNS4Ky4Z</guid>
            <pubDate>Wed, 13 Apr 2022 12:37:03 GMT</pubDate>
            <description><![CDATA[windows下载链接： https://discord.com/api/downloads/distributions/app/installers/latest?channel=stable&platform=win&arch=x86 mac下载链接： https://discord.com/api/download?platform=osx 下载好之后进行安装，安装结束后，打开discord，如下图1、点击注册2、过人机验证点了继续之后，会出现一次人机验证（如果没出现就当无事发生）3、创建成功！人机验证通过后，就会跳转到这里来，点击右上角的x关闭这个框4、验证邮箱去你刚才填写的邮箱里，找一下discord的验证邮件。点击verify email就可以了5、验证手机号点击下图的小齿轮然后点击红色箭头所指的添加按钮然后输入手机号，开始验证，验证完就能用了～]]></description>
            <content:encoded><![CDATA[<p>windows下载链接：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/api/downloads/distributions/app/installers/latest?channel=stable&amp;platform=win&amp;arch=x86">https://discord.com/api/downloads/distributions/app/installers/latest?channel=stable&amp;platform=win&amp;arch=x86</a></p><p>mac下载链接：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/api/download?platform=osx">https://discord.com/api/download?platform=osx</a></p><p>下载好之后进行安装，安装结束后，打开discord，如下图</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3071e6be9860f5765e51764b3ad3782dcb9c553a7196aacae0c7b501cda71eba.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><h4 id="h-1" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">1、点击注册</h4><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fe97fb0da0e50c63aa86032fcde8eab3291c257b5783c6e9c3b84f3d3ffd3817.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><h4 id="h-2" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">2、过人机验证</h4><p>点了继续之后，会出现一次人机验证（如果没出现就当无事发生）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7ab2d5887478426b210e04df944ba1bd3ab417c2cc3b7e4c13f29176ee14d6cf.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><h4 id="h-3" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">3、创建成功！</h4><p>人机验证通过后，就会跳转到这里来，点击右上角的x关闭这个框</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0ce2a2df2f028a2b517bdb679f91696a5d7429da589ffe1341846f5538092bf8.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><h4 id="h-4" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">4、验证邮箱</h4><p>去你刚才填写的邮箱里，找一下discord的验证邮件。点击verify email就可以了</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3ae8f7148b56e81d92d86b5821161b2259a995716c488ee196b5ed272c87c850.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><h4 id="h-5" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">5、验证手机号</h4><p>点击下图的小齿轮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5a05ce75f3ee713ead839de60f2544dfb9bf3f531521cf9ea3b8dda6f33a7f53.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>然后点击红色箭头所指的添加按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3d6de9b4220bd65a5d978dbfe648c64bad94cb70e5f455c19c44224f6f45ce37.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/55c29cada2161e7be2979798259c652f7288897623fc6d3c5d7f29202d65e0fc.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>然后输入手机号，开始验证，验证完就能用了～</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/da2aa2e76c4a44964f6292d4d3d37087ece670f9cf944aab3a5cdb58f18da145.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>ldplxp@newsletter.paragraph.com (leishen)</author>
        </item>
    </channel>
</rss>