<?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>jjmack</title>
        <link>https://paragraph.com/@jjmack</link>
        <description>boom</description>
        <lastBuildDate>Mon, 29 Jun 2026 13:51:24 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>jjmack</title>
            <url>https://storage.googleapis.com/papyrus_images/8c39d37d6c8deb49c2b765d8f6c38765b727bb626b48c9856bb0183db34fb8e7.png</url>
            <link>https://paragraph.com/@jjmack</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[加密狗整编空投第224篇：如何在Taiko Alpha-3上部署节点 - 加密狗 - Medium]]></title>
            <link>https://paragraph.com/@jjmack/224-taiko-alpha-3-medium</link>
            <guid>MdoOa9X15Y7q02jk0n8A</guid>
            <pubDate>Sat, 10 Jun 2023 14:05:39 GMT</pubDate>
            <description><![CDATA[三、部署Docker1、更新升级服务器 在开始之前，需要更新和升级服务器sudo apt update &#x26;&#x26; apt upgrade - y 2.、安装配置 当接到终端询问时，复制粘贴下面的命令，输入Y并按ENTERsudo apt install pkg-config curl git-all build-essential libssl-dev libclang-dev ufw 3、安装Docker 之前写了很多节点挖矿教程，粉丝反应上手困难，所以我们来个简单的，用 docker 安装 Taiko 节点，输入以下命令：sudo apt-get install ca-certificates curl gnupg lsb-release 添加 Docker 的官方 GPG 密钥：sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 设...]]></description>
            <content:encoded><![CDATA[<h2 id="h-docker" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">三、部署Docker</h2><p><strong>1、更新升级服务器</strong></p><p>在开始之前，需要<strong>更新</strong>和<strong>升级</strong>服务器</p><pre data-type="codeBlock" text="sudo apt update &amp;&amp; apt upgrade - y
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> apt upgrade <span class="hljs-operator">-</span> y
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c79c670de70a32165fa37e71ab471883390fdbd2dbf55a37ff515757e8fbbd18.webp" 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>2.、安装配置</strong></p><p>当接到终端询问时，复制粘贴下面的命令，输入<strong>Y</strong>并按<strong>ENTER</strong></p><pre data-type="codeBlock" text="sudo apt install pkg-config curl git-all build-essential libssl-dev libclang-dev ufw
"><code>sudo apt install pkg<span class="hljs-operator">-</span>config curl git<span class="hljs-operator">-</span>all build<span class="hljs-operator">-</span>essential libssl<span class="hljs-operator">-</span>dev libclang<span class="hljs-operator">-</span>dev ufw
</code></pre><p><strong>3、安装Docker</strong></p><p>之前写了很多节点挖矿教程，粉丝反应上手困难，所以我们来个简单的，用 docker 安装 Taiko 节点，输入以下命令：</p><pre data-type="codeBlock" text="sudo apt-get install ca-certificates curl gnupg lsb-release
"><code>sudo apt<span class="hljs-operator">-</span>get install ca<span class="hljs-operator">-</span>certificates curl gnupg lsb<span class="hljs-operator">-</span>release
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b5eb31543043cffbfae593309578f8dbf5568d5ffb1e865923db2dcfe49fda4b.webp" 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>添加 Docker 的官方 GPG 密钥：</p><pre data-type="codeBlock" text="sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
"><code>sudo mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>apt<span class="hljs-operator">/</span>keyrings
curl <span class="hljs-operator">-</span>fsSL https:<span class="hljs-comment">//download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg</span>
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6d41304196c4888c4684cd013905e8a118ccc235da60bf75a5010f024644b4a8.webp" 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><pre data-type="codeBlock" text="echo \
  &quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null
"><code>echo \
  <span class="hljs-string">"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable"</span> <span class="hljs-operator">|</span> sudo tee <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>apt<span class="hljs-operator">/</span>sources.list.d/docker.list <span class="hljs-operator">></span> <span class="hljs-operator">/</span>dev<span class="hljs-operator">/</span>null
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/99c73fd2aa8217ece0fee2d038406a30aa247fa377144a2f46b98bd20680ebb2.webp" 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>授予 Docker 公钥文件的读取权限：</p><pre data-type="codeBlock" text="sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update
"><code>sudo chmod a<span class="hljs-operator">+</span>r <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>apt<span class="hljs-operator">/</span>keyrings<span class="hljs-operator">/</span>docker.gpg
sudo apt<span class="hljs-operator">-</span>get update
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2b12767fb7e155cdd733b254fd9a97532426256dca660e5ae50400c5ac5a5869.webp" 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><pre data-type="codeBlock" text="sudo apt- get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
"><code>sudo apt<span class="hljs-operator">-</span> get install docker<span class="hljs-operator">-</span>ce docker<span class="hljs-operator">-</span>ce<span class="hljs-operator">-</span>cli containerd.io docker<span class="hljs-operator">-</span>compose<span class="hljs-operator">-</span>plugin
</code></pre><p>当收到新的命令提示符时，输入<strong>Y</strong>并按<strong>ENTER</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4df62c98311b0d0cb9dd5b54b867421b1a48ac53c21c642fb0832b3ee5b61230.webp" 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>安装 docker compose：</p><pre data-type="codeBlock" text="sudo apt install docker-compose
"><code>sudo apt install docker<span class="hljs-operator">-</span>compose
</code></pre><p>收到新的命令提示符时，输入<strong>Y</strong>并按<strong>ENTER</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/20002e3e5de5cb9415d31d0235e3fad63451e51e9bac4105136fe9fbf1515f3d.webp" 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>通过运行镜像验证 Docker Engine 安装是否成功<code>hello-world</code>：</p><pre data-type="codeBlock" text="sudo docker run hello-world
"><code>sudo docker run hello-world
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6f1d0323f0ab28d0723ef1f26a78d79c4f13985686dad4c06579ee3980d1f44a.webp" 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>检查 docker compose 版本：</p><pre data-type="codeBlock" text="docker-compose -v
"><code>docker<span class="hljs-operator">-</span>compose <span class="hljs-operator">-</span>v
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6952fc04e19a99f798631bdf542a92da25bc3bcbc2bf53e4f7dedfb27900b8ae.webp" 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>4、安装Screen</strong></p><p><strong>Linux Screen</strong>为用户提供了在单个终端窗口管理器中打开多个独立终端实例的选项。Screen 还包括一个增强的命令行，为用户提供比标准命令行更多的特性和功能。</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://phoenixnap.com/kb/how-to-use-linux-screen-with-commands"><strong>有关screen</strong></a>的更多命令**。**</p><pre data-type="codeBlock" text="sudo apt install screen
"><code></code></pre><p>创建一个新会话</p><pre data-type="codeBlock" text="sudo screen -S &lt;Your Session Name&gt;
"><code>sudo screen <span class="hljs-operator">-</span>S <span class="hljs-operator">&#x3C;</span>Your Session Name<span class="hljs-operator">></span>
</code></pre><p>用你选择的名称替换 &lt;Your Session Name&gt;</p><pre data-type="codeBlock" text="sudo screen -S taiko
"><code>sudo screen <span class="hljs-operator">-</span>S taiko
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/458837240356185f1c1cecd8e4a524d0fd04ac042da67de93de9380036d1b92c.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">四、钱包和账户</h2><h2 id="h-1alchemy" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">1、Alchemy</h2><p>按照下面的链接，注册并创建一个像下面图片一样的应用程序，然后在记事本中复制/粘贴密钥（HTTPS，WS），然后进行下一步。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/aeec5a47b6a14ca0c7a65f31d09d214b0ebb03b56031ce49a1276c9079e71564.webp" 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/b96e81dbb4ad9385eab1234c17da44325a5f90fba9732458b384f85d407a9a82.webp" 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/bf887b1522e8ab36dee3c74596e998a664e334d4c97dd7c57e61e700d2fe78a5.webp" 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/044df30a6816155bce0d16090a86e0cbf148181237274603b01ae41d2b115242.webp" 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/74a3e4eb74e2e4dbe72dd5a3f30c72712de12033a2acb448ab56e50dc0dbdae7.webp" 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/34148c9fa9de37c77faa35d66c9e0be145104d856c035641ea8e29121ff9ada8.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-2-taiko-3" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">2、添加 Taiko-3网络</h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b1cfc9604d911a1e596e1af750a533a7807265163da1f59aee308b4bb78ef067.webp" 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><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/zh?search=tai&amp;testnets=true">https://chainlist.org/zh?search=tai&amp;testnets=true</a></p><p><strong>3、申请水龙头</strong></p><p>下面的链接都可以领到水龙头：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/nJAuN5dyfN">sepolia-faucet.pk910.de</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/0Xn318WXDe">https://faucet-sepolia.rockx.com</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/NKeKCUU8c4">https://sepoliafaucet.com</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/FqtgXlCtHi">https://infura.io/faucet/sepolia</a></p><p>如果都领不到，就得去买了：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/49GBk66WYp">https://testnetbridge.com</a>（如果实在找不到水龙头了，那就直接买）</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">五、安装并运行节点</h2><p><strong>1、下载节点</strong></p><pre data-type="codeBlock" text="git clone https://github.com/taikoxyz/simple-taiko-node.git 
cd simple-taiko-node
"><code>git <span class="hljs-built_in">clone</span> https://github.com/taikoxyz/simple-taiko-node.git 
<span class="hljs-built_in">cd</span> simple-taiko-node
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/17fdfa3e84ab454bcf51e8f0c46aa287123021841116703703fb2ec1932f7bf1.webp" 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>2、配置节点</strong></p><pre data-type="codeBlock" text="cp .env.sample .env
"><code>cp .env.sample .env
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b7aaeb2ae8ec6b2f26cf202a9b0275fa48aad6c062373e9c15021ac1e6dc753f.webp" 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><pre data-type="codeBlock" text="nano .env
"><code>nano .env
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2c50c7a294c08559a261d0400730ddf6971ad80f26a2748a7f9783f22f3fd3e7.webp" 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>按 Ctrl + X 然后输入<strong>y</strong> ，再按<strong>ENTER</strong></p><p><strong>3、启用验证者（可选）</strong></p><p><strong>注意：如果要启用验证者，最好看看自己配置够不够，上午已经介绍了最低要求。</strong></p><p>设置以下环境变量以启用你的节点作为证明者：</p><ul><li><p>设置<code>ENABLE_PROVER</code>为<code>true</code>（用 替换默认值<code>false</code>）<code>true</code>。</p></li><li><p>设置<code>L1_PROVER_PRIVATE_KEY</code>为你钱包的私钥；它需要在 Sepolia 上取得一些balance来证明区块</p></li></ul><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ffab41c28171ba084ded230de0cdaa209dde18708bee1397f0afc14687fd68ca.webp" 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>按 Ctrl + X 再输入<strong>y</strong> ，然后按<strong>ENTER 。</strong></p><p><strong>4、启动节点</strong></p><pre data-type="codeBlock" text="docker compose up
"><code></code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e2a605e682b869e42ce73ed5c24512bd66cf0204c0cffe29350b4f25026bfa84.webp" 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/f2e954ba0503257f8c2fb5f0e817333e1b725cb168894be7b6352f1c8933362d.webp" 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>按 Ctrl 和 A + D 分离屏幕会话。</p><p><strong>5、一些常用命令（可选）</strong></p><p><strong>停止一个节点</strong></p><p>此命令关闭节点，但会保留所有区块，因此下次重新启动节点时，不需要再次从创世同步。</p><pre data-type="codeBlock" text="docker compose down
"><code></code></pre><p><strong>删除节点</strong></p><p>这些命令会完全删除节点：</p><pre data-type="codeBlock" text="docker compose down -vrm -f .env
"><code>docker compose down <span class="hljs-operator">-</span>vrm <span class="hljs-operator">-</span>f .env
</code></pre><p><strong>更新节点</strong></p><p>更新<code>simple-taiko-node</code>Docker 镜像：</p><pre data-type="codeBlock" text="docker compose pull
"><code></code></pre><p><strong>查看所有日志</strong></p><pre data-type="codeBlock" text="docker compose logs -f
"><code>docker compose logs <span class="hljs-operator">-</span>f
</code></pre><p><strong>查看验证者镜像的日志</strong></p><pre data-type="codeBlock" text="docker compose logs -f taiko_client_prover
"><code>docker compose logs <span class="hljs-operator">-</span>f taiko_client_prover
</code></pre><p><strong>查看 L2 执行引擎日志</strong></p><pre data-type="codeBlock" text="docker compose logs -f l2_execution_engine
"><code>docker compose logs <span class="hljs-operator">-</span>f l2_execution_engine
</code></pre><p>官方文档：</p>]]></content:encoded>
            <author>jjmack@newsletter.paragraph.com (jjmack)</author>
        </item>
        <item>
            <title><![CDATA[加密狗整编空投第193篇：本周必做7个新公链上的 Free Mint NFTs，先到先得，（包括：Scroll、Linea、Arbitrum、Optimism、Polygon zkEVM……）]]></title>
            <link>https://paragraph.com/@jjmack/193-7-free-mint-nfts-scroll-linea-arbitrum-optimism-polygon-zkevm</link>
            <guid>eHA4FtBN9FbDDQjDaHOA</guid>
            <pubDate>Tue, 25 Apr 2023 03:40:34 GMT</pubDate>
            <description><![CDATA[在 Aptos 的超级空投之后，许多用户仅通过免费铸造一个 NFT 就获得了超过 3000 美元的空投。所以在还没发币的新公链上Mint NFT，可能会有意想不到的收益（本文包含主网项目，请仔细研究后再决定是否Mint）在本文中，我们在三个不同的测试网上铸造一些免费的 NFT：Base Goerli、Scroll Alpha Testnet 和 Liena Goerli。 此外，我们将在 Arbitrum One 和 Arbitrum Nova Mainnet 网络上介绍和铸造 AIDOGE 即将推出的两个项目，很多人说他会增长到 50 倍。 在教程开始之前，你需要将一些以太坊从 Goerli 测试网桥接到相关的测试网链。你可以从以下地址获取Goerli ETH Faucet： 1- Goerlifaucet.com 2- Faucet.quicknode.com 3- Faucet.paradigm.xyz一、SCROLLScroll.io 为以太坊提供原生的 zkEVM 扩展解决方案。该公司秉承以太坊网络的高安全性功能，同时为用户提供近乎即时、廉价的交易。简单来说，Scrol...]]></description>
            <content:encoded><![CDATA[<p>在 Aptos 的超级空投之后，许多用户仅通过免费铸造一个 NFT 就获得了超过 3000 美元的空投。所以在还没发币的新公链上Mint NFT，可能会有意想不到的收益（本文包含主网项目，请仔细研究后再决定是否Mint）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0d289238ac554bc51118b59fc7ee70ca47f1ba61f0acb6a8f7637a5810d633c8.webp" 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>在本文中，我们在三个不同的测试网上铸造一些免费的 NFT：Base Goerli、Scroll Alpha Testnet 和 Liena Goerli。</p><p>此外，我们将在 Arbitrum One 和 Arbitrum Nova Mainnet 网络上介绍和铸造 AIDOGE 即将推出的两个项目，很多人说他会增长到 50 倍。</p><p>在教程开始之前，你需要将一些以太坊从 Goerli 测试网桥接到相关的测试网链。你可以从以下地址获取Goerli ETH Faucet：<br>1- <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerlifaucet.com/">Goerlifaucet.com</a><br>2- <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://faucet.quicknode.com/">Faucet.quicknode.com</a><br>3- <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://faucet.paradigm.xyz/">Faucet.paradigm.xyz</a></p><h2 id="h-scroll" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">一、SCROLL</h2><p>Scroll.io 为以太坊提供原生的 zkEVM 扩展解决方案。该公司秉承以太坊网络的高安全性功能，同时为用户提供近乎即时、廉价的交易。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/92f2d10dbca5f9a53961e11776d19b462df9fcc0e9c4e53fbab61ee1b5ddb6e1.webp" 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>简单来说，Scroll 类似于以太坊主网，gas 费用几乎为零，是一个非常有前途的空投项目。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.crunchbase.com/organization/scroll-tech">迄今为止，它已经获得了超过8000万的资金。</a></p><h2 id="h-scrollnft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Scroll上的NFT项目</h2><p>⚔️Scroll Kingdoms Collection</p><p>🔗<strong>网络: Scroll Alpha Testnet****🏷️费用 : Free</strong>📦<strong>总量 : 4999 NFT</strong>⛏️<strong>钱包限额 : 3 NFT</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">具体步骤：</h2><p>➕<strong>在 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/534353"><strong>Chainlist</strong></a><strong> 中，将 Scroll Alpha 测试网添加到 metamask</strong>🌉<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scroll.io/alpha/bridge"><strong>桥接 ETH Goearli 到 ETH Scroll Alpha 测试网</strong></a>*<strong><em>🌉</em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rinkeby.orbiter.finance/"><strong><em>通过 Orbiter 桥接</em></strong></a><em>（要等十几分钟才能到账）</em>*</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9773707694fc6df0ac87ce6368ae2be2d3fa5b98b097c43e2050d0e78f28fb77.webp" 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>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.thirdwebcdn.com/ipfs/QmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M/erc721.html?contract=0x8D883d0F4a1C34fF5F1735b0d2875e4Dc60bAa0A&amp;chain=%7B%22name%22%3A%22Scroll+Alpha+Testnet%22%2C%22chain%22%3A%22ETH%22%2C%22rpc%22%3A%5B%22https%3A%2F%2Fscroll-alpha-testnet.rpc.thirdweb.com%2F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%22%5D%2C%22nativeCurrency%22%3A%7B%22name%22%3A%22Ether%22%2C%22symbol%22%3A%22ETH%22%2C%22decimals%22%3A18%7D%2C%22shortName%22%3A%22scr-alpha%22%2C%22chainId%22%3A534353%2C%22testnet%22%3Atrue%2C%22slug%22%3A%22scroll-alpha-testnet%22%7D&amp;primaryColor=orange">**Mint 页面（**在 Metamask 中切换网络以滚动 Alpha 测试网）</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c895f4b3bca6750cc1d43df0d7eb4291193e7dadca1347b94cf6fe5b3572d82d.webp" 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>Mint完成就可以在<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blockscout.scroll.io/address/">浏览器</a>中查看：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/316936d66a4ed6e5d4a52d532f943f8974e651a04f233256280cd12bc65677b8.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-linea" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">二、Linea</h2><p>Linea 是 2 类零知识以太坊虚拟机 (zkEVM)。zkEVM 将以太坊环境复制为汇总，并允许开发人员像在以太坊主网上一样在其上进行构建。Linea 允许部署任何智能合约，使用任何工具，并像在以太坊上构建一样进行开发。对于用户来说，这使得以太坊的体验和安全保证成为可能，但交易成本更低。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4eaa0d7f5a5e3723b2f4e9c25340ecc5399fe9bb6e02a19f022bab9a4361859a.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-lineanft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Linea上的NFT项目</h2><h2 id="h-infura-collection" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">🦊INFURA collection</h2><p>🔗<strong>网络: Linea Goerli Test network****🏷️费用 : Free</strong>📦<strong>总量 : 4999 NFT</strong>⛏️<strong>限额 : 2 NFT</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">具体步骤：</h2><p>➕通过Chainlist<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bridge.goerli.linea.build/"><strong>将</strong>Linea </a><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/59140">Goerli测试</a><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bridge.goerli.linea.build/"><strong>网</strong></a><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/59140">**添加 **</a><strong>到metamask</strong></p><p>🌉<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bridge.goerli.linea.build/">**桥接 ETH Goearli to ETH **Linea Goerli <strong>Testnet</strong></a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/17629b291ecbffaf1fe445d7d71279281226dd7ec6f8c39f3b378c27f2030f0e.webp" 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>🌉或者<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rinkeby.orbiter.finance/"><strong>通过 Orbiter</strong></a>桥接** (Multichain)**</p><p>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.thirdwebcdn.com/ipfs/QmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M/erc721.html?contract=0xED7AaAE76fca96d6e2127c4F03731f8B936D9D82&amp;chain=%7B%22name%22%3A%22Linea+Testnet%22%2C%22chain%22%3A%22ETH%22%2C%22rpc%22%3A%5B%22https%3A%2F%2Flinea-testnet.rpc.thirdweb.com%2F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%22%5D%2C%22nativeCurrency%22%3A%7B%22name%22%3A%22Goerli+Ether%22%2C%22symbol%22%3A%22ETH%22%2C%22decimals%22%3A18%7D%2C%22shortName%22%3A%22linea-testnet%22%2C%22chainId%22%3A59140%2C%22testnet%22%3Atrue%2C%22slug%22%3A%22linea-testnet%22%7D&amp;primaryColor=orange">**Mint Page ( **Switch Network to Linea Goerli in Metamask )</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/67e79ff91b483eef8cae04cb2ed277b4ac519d47248677cbd35c665d29a39848.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-base" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">三、Base</h2><p>Base 是一种安全、低成本、对开发人员友好的以太坊 L2，旨在将下一个十亿用户带入 web3。今天就开始构建 Base 测试网，并继续关注即将推出的主网。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a81719e6b8505f512e3ceab812b6c9910b39e13c208defdf19ae25f7e0fdc845.webp" 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>Coinbase（Base 的创始人）在 17 轮融资中筹集了总计 4.987 亿美元的资金。</p><h2 id="h-basenft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Base上的NFT项目</h2><h2 id="h-b-collection" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">🔵B collection</h2><p>🔗 <strong>网络: Base Goerli****🏷️费用 : Free</strong>📦总量** : 7500 NFT<strong>⛏️限额</strong>: 10 NFT**</p><p>➕<strong>通过 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/84531"><strong>Chainlist</strong></a><strong> 将 Base Goerli 测试网添加到 metamask</strong>🌉<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bridge.base.org/deposit"><strong>桥接 ETH Goerli 到 ETH Base Goerli 测试网</strong></a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9fe2ac357ee9a7759789801aa2f125847f51d31a0e3559c9e713f5294f15d60f.webp" 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><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rinkeby.orbiter.finance/?source=G%C3%B6rli&amp;dest=Arbitrum%28G%29"><strong>Orbiter</strong></a><strong>桥接 (Multichain)</strong></p><p>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.thirdwebcdn.com/ipfs/QmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M/erc721.html?contract=0x4087900E441757E30C8Fde3E660afbce20167F93&amp;chain=%7B%22name%22%3A%22Base+Goerli+Testnet%22%2C%22chain%22%3A%22ETH%22%2C%22rpc%22%3A%5B%22https%3A%2F%2Fbase-goerli.rpc.thirdweb.com%2F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%22%5D%2C%22nativeCurrency%22%3A%7B%22name%22%3A%22Goerli+Ether%22%2C%22symbol%22%3A%22ETH%22%2C%22decimals%22%3A18%7D%2C%22shortName%22%3A%22basegor%22%2C%22chainId%22%3A84531%2C%22testnet%22%3Atrue%2C%22slug%22%3A%22base-goerli%22%7D"><strong>Mint Page</strong></a>** ( **Switch Network to Base Goerli in Metamask )</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0e559b09ce509a694c2d57a1803cd0668f867b45f3ad4f52014fc09afb6a29f3.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-arbitrum-one" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">四、Arbitrum One</h2><p>Arbitrum One 是最受欢迎的 L2 网络之一。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/10c6f5c5fe313a75cc9bba473a2ceb2bf63768d1e4342adf3183e4a514e2d0f9.webp" 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>Arbitrum One 上最受欢迎的代币之一是<strong>Arbdoge AI</strong>，它被炒作为下一个 50X 项目，这个项目由 AIdoge 团队开发。在即将到来的 ARbpanda 空投期间，Arbitrum One 主网的参与者将因参与而获得奖励。由于铸币数量有限，先到先得，ARbpanda 空投参与具有极高的排他性，收到的每个 AIpanda NFT 都将等同于一个额外的空投。</p><h2 id="h-arbitrum-onenftnft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Arbitrum One上的NFT（主网NFT）</h2><p>AIPanda (ArbPanda AI) collection 🐼</p><p>🔗 <strong>网络: Arbitrum One****🏷️费用 : 0.0065$ ETH</strong>📦<strong>总量 : 7500 NFT</strong>⛏️<strong>限额 : 8 NFT</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">具体步骤：</h2><p>➕<strong>通过 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/42161"><strong>Chainlist</strong></a><strong> 将 Arbitrum One 添加到 metamask</strong>🌉<strong>如果你ETH arbitrum Nova 主网上没有ETH，需要通过</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bridge.arbitrum.io/?l2ChainId=42161"><strong>桥接工具</strong></a><strong>转一部分ETH进来；</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8532e8db4d074d496f41ac5a585f450b361c2c6a61e17439b7739b874c837417.webp" 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>🌉 也可用用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.orbiter.finance/"><strong>Orbiter 桥接（多链）</strong></a></p><p>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.thirdwebcdn.com/ipfs/QmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M/erc721.html?contract=0x6f0834D49c5D33f95Df1F87DD75B5873630F8f89&amp;chain=%7B%22name%22%3A%22Arbitrum+One%22%2C%22chain%22%3A%22ETH%22%2C%22rpc%22%3A%5B%22https%3A%2F%2Farbitrum.rpc.thirdweb.com%2F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%22%5D%2C%22nativeCurrency%22%3A%7B%22name%22%3A%22Ether%22%2C%22symbol%22%3A%22ETH%22%2C%22decimals%22%3A18%7D%2C%22shortName%22%3A%22arb1%22%2C%22chainId%22%3A42161%2C%22testnet%22%3Afalse%2C%22slug%22%3A%22arbitrum%22%7D">**Mint 页面（**在 Metamask 中将网络切换到 arbitrum One）</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b0220db48403e20df1e52700541965e0a62feb026f252cff84d739327ee5783f.webp" 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>第 1 阶段：结束（每个钱包 10 个 ArbPanda，价格 0.005$ ETH）<br>第 2 阶段：上线（每个钱包 8 个 ArbPanda，价格 0.0065$ ETH）</strong></p><p><strong>第3 阶段：很快（每个钱包 7 个 ArbPanda，价格 0.0085$ ETH）</strong></p><h2 id="h-optimism" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">五、Optimism</h2><p>Optimism 是另一个 L2 网络，也是 Arbitrum 网络的直接竞争对手，拥有疯狂的空投，$OP 空投的第二轮现已结束。Optimism 网络上有许多可供Mint的系列，这次有可能在 Optimism 上产生 100 倍的利润。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/06d7793278451a864bd7e73d74e77a503e5a5d44aa33cf97cb511b5d55c2b4dd.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-opnft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">OP上的NFT项</h2><p>OptiDoge 由人工智能生物和社区共同打造。OptiDoge 是一种通缩代币，OptiDoge 生态系统应用程序将使用它。总供应量为 210,000,000,000,000,000 代币，100% 将空投给 OptiDoge 所有者。</p><p>🐕 OptiDOGEAI (RoboDoge AI) collection</p><p>🔴**官方链接 : **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://linktr.ee/optidoge"><strong>linktr.ee/optidoge</strong></a></p><p>🔗 <strong>网络: Optimism</strong>🏷️费用** : 0.0085$ ETH<strong>📦总量</strong> : 3333 NFT<strong>⛏️限额</strong>: 8 NFT**</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">具体步骤</h2><p>🌉<strong>如果你OP钱包没有 ETH，你需要用 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.orbiter.finance/"><strong>Orbiter</strong></a><strong> 桥接一部分ETH到Optimism</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9e7c45d92d26f124a34fd3339d6a3f86517d84ebce70a4880199a5cf952b740d.webp" 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>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/r?url=https%3A%2F%2Fipfs.thirdwebcdn.com%2Fipfs%2FQmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M%2Ferc721.html%3Fcontract%3D0xaf6d6D4692Ace349047a6a85B47574a629D96206%26chain%3D%257B%2522name%2522%253A%2522Optimism%2522%252C%2522chain%2522%253A%2522ETH%2522%252C%2522rpc%2522%253A%255B%2522https%253A%252F%252Foptimism.rpc.thirdweb.com%252F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%2522%255D%252C%2522nativeCurrency%2522%253A%257B%2522name%2522%253A%2522Ether%2522%252C%2522symbol%2522%253A%2522ETH%2522%252C%2522decimals%2522%253A18%257D%252C%2522shortName%2522%253A%2522oeth%2522%252C%2522chainId%2522%253A10%252C%2522testnet%2522%253Afalse%252C%2522slug%2522%253A%2522optimism%2522%257D%26theme%3Ddark%26primaryColor%3Dred">**Mint Page（**在 Metamask 中将网络切换为 Optimism）</a></p><p><strong>第一阶段：已上线（每个钱包 8 个，价格 0.0085 ETH）<br>第二阶段：即将上线（每个钱包 7 个，价格 0.0105 ETH）</strong></p><p><strong>第三阶段：即将上线（每个钱包 6 个，价格 0.0135 ETH）</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a1a40822f7e8dfb58e3b09ca86cba0c356915eb96fd199356df7f82c1c3808da.webp" 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>与将接收空投的 210 万亿 OptiDoge 代币相比，3333 个NFT供应量是稀缺的。</p><p>✅每个阶段的铸造者将通过以下方式收到 $OptiDoge 代币空投：</p><p>🔴 第 1 阶段铸造者：每个 OptiDoge NFT 10x $OptiDoge 代币。</p><p>🔴 第 2 阶段铸造者：每个 OptiDoge NFT 6x $OptiDoge 代币。</p><p>🔴第 3 阶段铸造者：每个 OptiDoge NFT 的 3x $OptiDoge 代币。</p><h2 id="h-arbitrum-nova" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">六、<strong>Arbitrum Nova</strong></h2><p><strong>Arbitrum Nova 是 Offchain Labs 打造的另一条链。Nova 通过依赖数据可用性委员会 (DAC) 的新安全模型实现超低交易费用。建立在 AnyTrust 技术之上的新链。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3bf7af87ad6f0bb2146967d161b2a93c46b8708d91fee16f481de33951955861.webp" 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>Nova</strong>是为游戏打造的，Reddit的社区积分系统，从对体量要求高的NFT生态，到其他开放链下数据存储的项目。</p><p>此外，很有可能即将为 Arbitrum Nova 用户、测试人员、铸造者等进行 Arbitrum 空投。因此，这个集合可能代表一个二合一的空投机会。</p><h2 id="h-arbitrum-novanft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Arbitrum Nova上的NFT</strong></h2><p>🦮RoboDoge (RoboDoge AI) collection</p><p>🔗 <strong>网络: Arbitrum Nova****🏷️费用 : 0.0074$ ETH</strong>📦总量** : 999 NFT<strong>⛏️限额</strong>: 6 NFT**</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">具体步骤</h2><p>➕<strong>通过 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/42170"><strong>Chainlist</strong></a><strong> 将 Arbitrum Nova 添加到 metamask</strong>🌉<strong>如果你ETH arbitrum Nova 主网上没有ETH，需要通过</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bridge.arbitrum.io/?l2ChainId=42161"><strong>桥接工具</strong></a><strong>转一部分ETH进来；</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b8ef72ad5725348bf7f1bbb434dd09233c5a7641f830cd21e6bee61d25b57aa7.webp" 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>🌉 或者用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.orbiter.finance/"><strong>Orbiter 桥接</strong></a></p><p>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.thirdwebcdn.com/ipfs/QmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M/erc721.html?contract=0x622eF879C47fdC534A1EF30c7051EF5B5b9A4efc&amp;chain=%7B%22name%22%3A%22Arbitrum+Nova%22%2C%22chain%22%3A%22ETH%22%2C%22rpc%22%3A%5B%22https%3A%2F%2Farbitrum-nova.rpc.thirdweb.com%2F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%22%5D%2C%22nativeCurrency%22%3A%7B%22name%22%3A%22Ether%22%2C%22symbol%22%3A%22ETH%22%2C%22decimals%22%3A18%7D%2C%22shortName%22%3A%22arb-nova%22%2C%22chainId%22%3A42170%2C%22testnet%22%3Afalse%2C%22slug%22%3A%22arbitrum-nova%22%7D">**Mint 页面（**在 Metamask 中将网络切换到 arbitrum Nova）</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/501831b105e0144275fe2baa595b1415ab488d3e788afbe61aa15204b2af7236.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-polygon-zkevm" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">七、Polygon zkEVM</h2><p>Polygon zkEVM 是一个开源的 ZK-Rollup，提供 EVM 操作码兼容性，以实现流畅的用户体验和以太坊的安全性。<br>它是第一个完全等同于 EVM 的零知识扩展解决方案。所有现有的智能合约、开发人员工具和钱包都可以无缝工作。zkEVM 利用 ZK 证明的力量来降低交易成本并大幅提高吞吐量，同时继承了以太坊的安全性。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/32617d9faeb579c45a9ef9ac022b09661e5e1c7205fedd5671b659a3469fd8ee.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-polygon-zkevmnft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Polygon zkEVM上的NFT</h2><p>3993 个 zkPunks PFP，证明你是 zkEVM Mainnet Polygon 的早期成员。首先在 zkEVM 上 Polygon 和一个真正的蓝筹项目，有很多好处，可以为持有人带来收入。</p><h2 id="h-zkpunks-collection" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">🟣zkPunks collection</h2><p>🔗 <strong>网络: Polygon zkEVM****🏷️费用 : 0.007$ ETH</strong>📦总量** : 3993 NFT<strong>⛏️限额</strong>: 6 NFT**</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">具体步骤</h2><p>➕使用 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chainlist.org/chain/1101"><strong>Chainlist</strong>将Polygon zkEVM<strong>添加</strong></a>到 metamask</p><p>🌉 使用Orbiter的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.orbiter.finance/"><strong>Bridge</strong></a>** 转些ETH进来**</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/65966b65d2ae188db49d580d403912dfc8c1182c5f427447e55f6973201c4223.webp" 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>🌿 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.thirdwebcdn.com/ipfs/QmfK9mw9eQKE9vCbtZht9kygpkNWffdwibsJPnCo7MBN4M/erc721.html?contract=0xD34FD2c4e7cECF896E9F25F4A9cBbB8A89D043C6&amp;chain=%7B%22name%22%3A%22Polygon+zkEVM%22%2C%22chain%22%3A%22Polygon%22%2C%22rpc%22%3A%5B%22https%3A%2F%2Fpolygon-zkevm.rpc.thirdweb.com%2F5a9bc94b87f7cbbbfbbc234bf1e07f0adf5f3cf3012c9f26f9fc9820d64df93a%22%5D%2C%22nativeCurrency%22%3A%7B%22name%22%3A%22Ether%22%2C%22symbol%22%3A%22ETH%22%2C%22decimals%22%3A18%7D%2C%22shortName%22%3A%22zkevm%22%2C%22chainId%22%3A1101%2C%22testnet%22%3Afalse%2C%22slug%22%3A%22polygon-zkevm%22%7D&amp;theme=dark">**Mint 页面（**在 Metamask 中将网络切换到 Polygon zkEVM）</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fddee5b8b6a93ae0e931646b0b4d666fb1bfa463a2853e4b6506dde779b0129f.webp" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><blockquote><p><strong><em>第 1 阶段：上线（每个钱包 10 个 zkPunk，价格 0.007 ETH）</em></strong></p><p><strong><em>第2 阶段：每个钱包 8 个 zkPunk，价格 0.011 ETH</em></strong></p><p><strong><em>第3 阶段：（待定）</em></strong></p></blockquote><p>以上就是今天全部内容，更多信息请关注：</p><p>加密狗推特：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/JiamigouCn">https://twitter.com/JiamigouCn</a></p><p>电报：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/JIAMIGOU002">https://t.me/JIAMIGOU002</a></p>]]></content:encoded>
            <author>jjmack@newsletter.paragraph.com (jjmack)</author>
        </item>
        <item>
            <title><![CDATA[What We’re Reading: Aren’t humans amazing sometimes?]]></title>
            <link>https://paragraph.com/@jjmack/what-we-re-reading-aren-t-humans-amazing-sometimes</link>
            <guid>lYjdxmnUEGneBwwZBovu</guid>
            <pubDate>Sun, 16 Apr 2023 03:39:04 GMT</pubDate>
            <description><![CDATA[Amby Burfoot winning the 1968 Boston Marathon. Photo courtesy of Jeff Johnson.A few stories you may have missed this weekHumans are amazing sometimes. In the midst of *gestures broadly* everything happening in the world right now, it’s worth coming back to this simple truth from time to time, and I wanted to share two stories from Medium this week that illustrate the point in two very different ways. The first is from Amby Burfoot, writing about the Boston Marathon (which will be held this ye...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/af9e0e9cc2d7?source=post_page-----94f8a3b37394--------------------------------">Amby Burfoot</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/runners-life/the-author-won-the-1968-boston-marathon-and-ran-many-more-after-the-bombs-everything-changed-d4ab2f44205">winning the 1968 Boston Marathon</a>. Photo courtesy of Jeff Johnson.</p><h2 id="h-a-few-stories-you-may-have-missed-this-week" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">A few stories you may have missed this week</h2><p>Humans are amazing sometimes. In the midst of *gestures broadly* everything happening in the world right now, it’s worth coming back to this simple truth from time to time, and I wanted to share two stories from Medium this week that illustrate the point in two very different ways.</p><p>The first is from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/af9e0e9cc2d7?source=post_page-----94f8a3b37394--------------------------------">Amby Burfoot</a>, writing about the Boston Marathon (which will be held this year on April 17). Burfoot won the marathon in 1968, a massive achievement in itself, but <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/runners-life/the-author-won-the-1968-boston-marathon-and-ran-many-more-after-the-bombs-everything-changed-d4ab2f44205">his story is about the many times he ran it afterwards, and especially how the race changed after the 2013 bombing</a>. He ends with the hard won wisdom that every mile is a gift: “After all, I don’t know if I’ll ever be here again. Life gives us no guarantees. But I do know for sure that right now there is no other place in the world I would rather be.”</p><p>The second story takes us from the realm of sports to mathematics, from the body to the mind. “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://keith-mcnulty.medium.com/heres-how-two-new-orleans-teenagers-found-a-new-proof-of-the-pythagorean-theorem-b4f6e7e9ea2d">Here’s How Two New Orleans Teenagers Found a New Proof of the Pythagorean Theorem</a>” outlines how Calcea Johnson and Ne’Kiya Jackson may have found a novel way to use trigonometry to prove the 2,500+ year old theorem. There’s still more to come — Johnson and Jackson have yet to publish their proof — but as writer <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/a859aab532a0?source=post_page-----94f8a3b37394--------------------------------">Keith McNulty</a> points out, it “could well be the most beautiful and simplest trigonometric proof we have seen to date, and is clearly the work of young, sharp minds uncomplicated by the years of deep research that characterize the work of many experienced mathematicians.”</p><p>Also: We’re constantly working on making Medium membership better, and have added audio to the growing list of member-only features — read more over on our blog about <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.medium.com/were-adding-more-to-medium-membership-5f658cb178e4">how we’re working to make membership better</a>. And while you’re there, check out our interview with entrepreneur <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/d00bc5bb7954?source=post_page-----94f8a3b37394--------------------------------">Thomas Smith</a> about <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.medium.com/how-an-artificial-intelligence-expert-successfully-launched-a-new-ai-publication-on-medium-ae5e119a5313">his approach to publishing and writing on Medium</a>.</p><p>As always, thank you for reading.<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/11ba4fd53be0?source=post_page-----94f8a3b37394--------------------------------">Scott Lamb</a><br>VP, Content @ Medium</p><h2 id="h-heres-what-were-reading-this-week" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Here’s what we’re reading this week…</h2><h2 id="h-resisting-deterministic-thinking-by-danah-boyd-partner-researcher-at-microsoft-and-distinguished-visiting-professor-at-georgetown-university" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://zephoria.medium.com/resisting-deterministic-thinking-52ef8d78248c"><strong>Resisting Deterministic Thinking</strong></a>**” by **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/ce5e55092c08?source=post_page-----94f8a3b37394--------------------------------"><strong>danah boyd</strong></a>, partner researcher at Microsoft and distinguished visiting professor at Georgetown University</h2><blockquote><p><em>Deterministic thinking is a blinkering force, the very opposite of rationality even though many people who espouse deterministic thinking believe themselves to be hyper rational.</em></p></blockquote><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/d8c6d1c254db?source=post_page-----94f8a3b37394--------------------------------">Joshua Tamayo-Sarver</a></p><h2 id="h-im-an-er-doctor-heres-what-happened-when-i-asked-chatgpt-to-diagnose-my-patients-by-joshua-tamayo-sarver-doctor-and-executive-at-inflect-health" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://inflecthealth.medium.com/im-an-er-doctor-here-s-what-i-found-when-i-asked-chatgpt-to-diagnose-my-patients-7829c375a9da"><strong>I’m an ER Doctor: Here’s What Happened When I Asked ChatGPT to Diagnose My Patients</strong></a>**” by **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/d8c6d1c254db?source=post_page-----94f8a3b37394--------------------------------"><strong>Joshua Tamayo-Sarver</strong></a>, doctor and executive at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/17230adedf4d?source=post_page-----94f8a3b37394--------------------------------">Inflect Health</a></h2><blockquote><p><em>We urgently need a much more realistic view from Silicon Valley and the public at large of what AI can do now — and its many, often dangerous, limitations. We must be very careful to avoid inflated expectations with programs like ChatGPT, because in the context of human health, they can literally be life-threatening.</em></p></blockquote><h2 id="h-what-it-takes-to-make-165-years-of-journalism-available-online-by-aldana-vales-manager-for-research-and-product-insights-at-the-atlantic" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://building.theatlantic.com/what-it-takes-to-make-165-years-of-journalism-available-online-7958021646af"><strong>What It Takes to Make 165 Years of Journalism Available Online</strong></a>**” by **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/5fba957e1979?source=post_page-----94f8a3b37394--------------------------------"><strong>Aldana Vales</strong></a>, manager for research and product insights at <em>The Atlantic</em></h2><blockquote><p><em>Digitizing The Atlantic’s archive and turning it into a product for readers are two different things. Here’s how we did both.</em></p></blockquote><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/5fba957e1979?source=post_page-----94f8a3b37394--------------------------------">Aldana Vales</a> and the team at The Atlantic</p><h2 id="h-seven-young-black-women-writers-to-celebrate-and-support-during-national-poetry-month-by-maia-niguel-hoskin-phd-professor-and-writer" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://zora.medium.com/seven-young-black-women-writers-to-celebrate-and-support-during-national-poetry-month-b73725865f6a"><strong>Seven Young Black Women Writers to Celebrate and Support During National Poetry Month</strong></a>**” by **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/226148ce4d9b?source=post_page-----94f8a3b37394--------------------------------"><strong>Maia Niguel Hoskin, Ph.D.</strong></a>, professor and writer</h2><blockquote><p><em>There is a new cohort of young Black women poets and writers who are unapologetically taking the world of poetry by storm through innovation, creativity, activism, and pure, raw, unadulterated talent, brilliance, and courageous critical circumspection of Blackness, Black womanhood, and the experiences that shape them — and here are seven of them.</em></p></blockquote><h2 id="h-how-to-choose-the-right-amount-of-exercise-to-improve-muscle-and-strength-by-zachary-walston-pt-dpt-ocs-physical-therapist" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/in-fitness-and-in-health/how-to-choose-the-right-amount-of-exercise-to-improve-muscle-and-strength-268d8db6f40e"><strong>How to Choose the Right Amount of Exercise to Improve Muscle and Strength</strong></a>**” by **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/340c4e0095a1?source=post_page-----94f8a3b37394--------------------------------"><strong>Zachary Walston, PT, DPT, OCS</strong></a>, physical therapist</h2><blockquote><p><em>There isn’t a one-size-fits-all approach to optimizing training. We can provide universal recommendations for baseline fitness, but even that likely needs some adjustment considering training history, age, and current health status.</em></p></blockquote><h2 id="h-closers-to-end-your-meetings-with-by-jackie-colburn-facilitator-and-strategist" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://jackiecolburn.medium.com/if-you-open-a-meeting-with-icebreakers-end-with-these-wrap-up-equivalents-for-better-closure-8d5739930bbe">Closers to End Your Meetings With</a>” by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/d1e3e80ff699?source=post_page-----94f8a3b37394--------------------------------">Jackie Colburn</a>, facilitator and strategist</h2><blockquote><p><em>If you’re looking for a more meaningful and actionable way to wrap up meetings, take a look at these 5 options for closing your next session.</em></p></blockquote><h2 id="h-connecting-math-skills-to-income-and-satisfaction-by-par-bjalkebring-and-ellen-peters-psychology-and-communication-researchers-in-the-conversation-us" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/the-conversation/the-better-you-are-at-math-the-more-money-seems-to-influence-your-satisfaction-7a1c10d47b6d">Connecting Math Skills to Income and Satisfaction</a>” by **Pär Bjälkebring **&amp; **Ellen Peters, psychology and communication researchers, in **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/d1b56bf5576f?source=post_page-----94f8a3b37394--------------------------------"><strong>The Conversation U.S.</strong></a></h2><blockquote><p><em>Many researchers have suggested that more money only increases </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://qz.com/1503207/a-nobel-prize-winning-psychologist-defines-happiness-versus-satisfaction/"><em>life satisfaction and happiness</em></a><em> up to a certain point. Our research modifies this idea by showing that satisfaction derived from income relates strongly to how good a person is at math.</em></p></blockquote><h2 id="h-france-is-number-one-in-europe-by-kit-desjacques-writer-and-american-expat-in-france" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/crows-feet/france-is-number-one-in-europe-1450b9206bfa">France Is Number One in Europe</a>” by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/f10cdfa8d8ef?source=post_page-----94f8a3b37394--------------------------------">Kit Desjacques</a>, writer and American expat in France</h2><p><em>Recommended by </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/560fd9ef9973?source=post_page-----94f8a3b37394--------------------------------"><em>Debra Groves Harman, MEd</em></a><em> </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://debharman.medium.com/https-medium-com-crows-feet-france-is-number-one-in-europe-1450b9206bfa-b10bd783fdb5"><em>in response to our last roundup</em></a><em>: “Plan on living to 100? You may want to consider what this country is doing to achieve its amazing rates for longevity.”</em></p><blockquote><p><em>News footage featured a woman of 108 playing the piano. Her hands looked a bit arthritic, but she still manages. Remarkably, she still lives at home. Another younger woman (a mere 100 years old) still drives and teaches yoga.</em></p></blockquote><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/b18c7198ee99?source=post_page-----94f8a3b37394--------------------------------">Holly Lyn Walrath</a></p><h2 id="h-creating-a-blackout-poetry-art-show-by-holly-lyn-walrath-writer-editor-publisher-and-poet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">“<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/write-wild/creating-a-blackout-poetry-art-show-d0ee57828398">Creating a Blackout Poetry Art Show</a>” by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/u/b18c7198ee99?source=post_page-----94f8a3b37394--------------------------------">Holly Lyn Walrath</a>, writer, editor, publisher, and poet</h2><blockquote><p><em>Making 22 giant erasure poems in fewer than three weeks taught me much about myself as a creative person. Sure, I was exhausted at the end. I was nervous about what I had created. But I was also deliriously happy.</em></p></blockquote><p><em>What have you been reading lately? Drop a line in the responses.</em></p><p><em>“</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.medium.com/tagged/what-were-reading"><em>What We’re Reading</em></a><em>” is a weekly roundup of insightful stories and perspectives from across Medium. Browse previous editions </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.medium.com/tagged/what-were-reading"><em>here</em></a><em>.</em></p>]]></content:encoded>
            <author>jjmack@newsletter.paragraph.com (jjmack)</author>
        </item>
        <item>
            <title><![CDATA[加密狗整编空投第159篇：获得2100万美元种子轮融资的 ARCHWAY 节点挖矿安装教程 - 加密狗 - Medium]]></title>
            <link>https://paragraph.com/@jjmack/159-2100-archway-medium</link>
            <guid>T6e2dCsyouGfzgE7ZZvP</guid>
            <pubDate>Wed, 05 Apr 2023 05:58:35 GMT</pubDate>
            <description><![CDATA[Archway 是基于 Cosmos 生态系的智能合约平台，平台旨在使开发人员能够启动创新项目并围绕他们建立强大的社区。 借助 Archway，开发者可以将智能合约无缝部署到 Cosmos，然后这些合约由开发者社区拥有、运营和管理。 Archway 与其他智能合约平台的区别之一是其以开发人员为中心的经济。与许多其他仅专注于奖励验证者的平台不同，Archway 还向开发人员分发奖励。据公开资料显示，Archway 在种子轮融资中筹集了 2100 万美元，由 Hashed 和 CoinFund 共同领投。 现在我们可以参与 constantine-1 测试网，为后期领取用户奖励做好准备。 由于 Archway 生态还处于非常早期，我能参与的板块非常有限，如果想成为项目早期用户，除了发布Dapp外，我们可以成为他的节点，为生态做贡献。一、配置节点前需准备请做如下准备： 1、VPS要如下 运行一个节点： CPU：2vCore，内存：2GB，SDD：20GB，操作系统：Ubuntu 20.04 运行验证者： CPU：8/16 vCore，内存：32GB，SDD：80GB，操作系统：Ubun...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7272f23b751970a73024fb2ff79232f6ec76ecacd19e674dc69a0d698af0d6c0.webp" 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>Archway 是基于 Cosmos 生态系的智能合约平台，平台旨在使开发人员能够启动创新项目并围绕他们建立强大的社区。</p><p>借助 Archway，开发者可以将智能合约无缝部署到 Cosmos，然后这些合约由开发者社区拥有、运营和管理。</p><p>Archway 与其他智能合约平台的区别之一是其以开发人员为中心的经济。与许多其他仅专注于奖励验证者的平台不同，Archway 还向开发人员分发奖励。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7f6da86cc71a0128dfdd8fbeb11c6b3a48d014fdfa5ea0a2e04505545ced0515.webp" 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>据公开资料显示，Archway 在种子轮融资中筹集了 2100 万美元，由 Hashed 和 CoinFund 共同领投。</p><p>现在我们可以参与 constantine-1 测试网，为后期领取用户奖励做好准备。</p><p>由于 Archway 生态还处于非常早期，我能参与的板块非常有限，如果想成为项目早期用户，除了发布Dapp外，我们可以成为他的节点，为生态做贡献。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">一、配置节点前需准备</h2><p>请做如下准备：</p><p>1、VPS要如下</p><p><strong>运行一个节点：</strong> CPU：2vCore，内存：2GB，SDD：20GB，操作系统：Ubuntu 20.04</p><p><strong>运行验证者：</strong> CPU：8/16 vCore，内存：32GB，SDD：80GB，操作系统：Ubuntu 20.04</p><p>2、操作方式：云主机+SSH工具挖矿</p><p>这种方法需要你使用VPS或者你的机场做为云主机，云主机请切换成Ubuntu系统；</p><p>SSH工具：小白用户建议使用Xshell或Finalshell</p><h2 id="h-vps" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">二、如何连接到VPS</h2><p><strong>MacOs</strong>：如果你使用的是这个操作系统，你只需要使用自己的设备与 SSH 连接；</p><p><strong>Windows：如果你是Win，有很多工具可以使用，比如</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.putty.org/"><strong>putty</strong></a><strong>、</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mobaxterm.mobatek.net/"><strong>MobaXterm</strong></a>、<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.netsarang.com/en/xshell/"><strong>Xshell</strong></a></p><p>1、下载一个应用程序（本教程以<strong>putty</strong>为例子，小白用户建议使用Xshell或Finalshell）</p><p>2、复制云服务器IP链接</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2105daa31ff5ce825d926cd4e543ce829ba34fed208855525d882d63b96d9c0d.webp" 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、点击“接受”，输入云服务器的用户名和密码</p><p><strong>注意：要粘贴你已经复制的任何命令，只需要右键单击要粘贴命令即可</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e5475c29b6500996da721351496aa18370ee052620bb22d61a9b8ccea7e1dffb.webp" 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/a2171132099790d0c1ed22ee42699304830509cb404fcfcbd3cd4544a6588235.webp" 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、再次输入密码，并输入新密码。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a72301e0359e902cda0955045ff6f9442871c4c1fdafef8caeadf39c405ede95.webp" 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>以上就是云服务器+SSH组合的步骤，下面所有步骤都在SSH工具中进行（小白用户建议使用Xshell或Finalshell）</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">三、准备服务器</h2><p>更新和安装包</p><pre data-type="codeBlock" text="sudo apt update &amp;&amp; sudo apt upgrade -y &amp;&amp; \
sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc fail2ban htop -y
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt upgrade <span class="hljs-operator">-</span>y <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo apt install curl tar wget clang pkg<span class="hljs-operator">-</span>config libssl<span class="hljs-operator">-</span>dev libleveldb<span class="hljs-operator">-</span>dev jq build<span class="hljs-operator">-</span>essential bsdmainutils git make ncdu htop screen unzip bc fail2ban htop <span class="hljs-operator">-</span>y
</code></pre><p>安装 Go v1.19.4</p><pre data-type="codeBlock" text="cd $HOME &amp;&amp; \
ver=&quot;1.19.4&quot; &amp;&amp; \
wget &quot;https://golang.org/dl/go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
sudo rm -rf /usr/local/go &amp;&amp; \
sudo tar -C /usr/local -xzf &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
rm &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
source $HOME/.bash_profile &amp;&amp; \
go version
"><code>cd $HOME <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
ver<span class="hljs-operator">=</span><span class="hljs-string">"1.19.4"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
wget <span class="hljs-string">"https://golang.org/dl/go$ver.linux-amd64.tar.gz"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo rm <span class="hljs-operator">-</span>rf <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo tar <span class="hljs-operator">-</span>C <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local <span class="hljs-operator">-</span>xzf <span class="hljs-string">"go$ver.linux-amd64.tar.gz"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
rm <span class="hljs-string">"go$ver.linux-amd64.tar.gz"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
echo <span class="hljs-string">"export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
source $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
go version
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">四、变量</h2><p>改变变量</p><pre data-type="codeBlock" text="MONIKER = &quot;&lt;YOUR_NEW_MONIKER&gt;&quot; 
WALLET = &quot;&lt;YOUR_WALLET_NAME&gt;&quot; 
WEBSITE = &quot;&lt;YOUR_WEBSITE&gt;&quot; 
IDENTITY = &quot;&lt;&lt;YOUR_KEYBASE_ID&gt;&quot; 
DETAILS = &apos;&quot;&lt;YOUR_DESCRIPTION&gt;&quot;&apos; 
SECURITY_CONTACT = &quot;&lt;YOUR_EMAIL&gt;&quot;
"><code><span class="hljs-attr">MONIKER</span> = <span class="hljs-string">"&#x3C;YOUR_NEW_MONIKER>"</span> 
<span class="hljs-attr">WALLET</span> = <span class="hljs-string">"&#x3C;YOUR_WALLET_NAME>"</span> 
<span class="hljs-attr">WEBSITE</span> = <span class="hljs-string">"&#x3C;YOUR_WEBSITE>"</span> 
<span class="hljs-attr">IDENTITY</span> = <span class="hljs-string">"&#x3C;&#x3C;YOUR_KEYBASE_ID>"</span> 
<span class="hljs-attr">DETAILS</span> = <span class="hljs-string">'"&#x3C;YOUR_DESCRIPTION>"'</span> 
<span class="hljs-attr">SECURITY_CONTACT</span> = <span class="hljs-string">"&#x3C;YOUR_EMAIL>"</span>
</code></pre><p>设置变量</p><pre data-type="codeBlock" text="echo &quot;export MONIKER=$MONIKER&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
echo &quot;export WALLET=$WALLET&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
echo &quot;export WEBSITE=$WEBSITE&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
echo &quot;export IDENTITY=$IDENTITY&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
echo &quot;export DETAILS=$DETAILS&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
echo &quot;export SECURITY_CONTACT=$SECURITY_CONTACT&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
source $HOME/.bash_profile
"><code>echo <span class="hljs-string">"export MONIKER=$MONIKER"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
echo <span class="hljs-string">"export WALLET=$WALLET"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
echo <span class="hljs-string">"export WEBSITE=$WEBSITE"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
echo <span class="hljs-string">"export IDENTITY=$IDENTITY"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
echo <span class="hljs-string">"export DETAILS=$DETAILS"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
echo <span class="hljs-string">"export SECURITY_CONTACT=$SECURITY_CONTACT"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
source $HOME<span class="hljs-operator">/</span>.bash_profile
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">五、构建和配置文件</h2><p>构建文件</p><pre data-type="codeBlock" text="git clone https://github.com/archway-network/archway.git archway &amp;&amp; \
cd archway &amp;&amp; \
git checkout v0.2.0 &amp;&amp; \
make install
archwayd version --long | grep -e version -e commit
# version: 0.2.0
# commit: 532f53724bf477c5c8826fae376906526a09ed2d
"><code>git clone https:<span class="hljs-comment">//github.com/archway-network/archway.git archway &#x26;&#x26; \</span>
cd archway <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
git checkout v0<span class="hljs-number">.2</span><span class="hljs-number">.0</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
make install
archwayd version <span class="hljs-operator">-</span><span class="hljs-operator">-</span>long <span class="hljs-operator">|</span> grep <span class="hljs-operator">-</span>e version <span class="hljs-operator">-</span>e commit
# version: <span class="hljs-number">0</span><span class="hljs-number">.2</span><span class="hljs-number">.0</span>
# commit: 532f53724bf477c5c8826fae376906526a09ed2d
</code></pre><p>配置</p><pre data-type="codeBlock" text="archwayd init $MONIKER --chain-id constantine-1 &amp;&amp; \
archwayd config chain-id constantine-1 &amp;&amp; \
archwayd config keyring-backend os
"><code>archwayd init $MONIKER <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id constantine<span class="hljs-number">-1</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
archwayd config chain<span class="hljs-operator">-</span>id constantine<span class="hljs-number">-1</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
archwayd config keyring<span class="hljs-operator">-</span>backend os
</code></pre><p>添加新钱包或恢复旧钱包</p><pre data-type="codeBlock" text="archwayd keys add $WALLET
"><code>archwayd <span class="hljs-keyword">keys</span> add $WALLET
</code></pre><pre data-type="codeBlock" text="archwayd keys add $WALLET
"><code>archwayd <span class="hljs-keyword">keys</span> add $WALLET
</code></pre><p>设置变量</p><pre data-type="codeBlock" text="VALOPER=$(archwayd keys show $WALLET --bech val -a) # ENTER PASSWORD
"><code><span class="hljs-attr">VALOPER</span>=$(archwayd keys show <span class="hljs-variable">$WALLET</span> --bech val -a) <span class="hljs-comment"># ENTER PASSWORD</span>
</code></pre><pre data-type="codeBlock" text="ADDRESS=$(archwayd keys show $WALLET --address) # ENTER PASSWORD
"><code><span class="hljs-attr">ADDRESS</span>=$(archwayd keys show <span class="hljs-variable">$WALLET</span> --address) <span class="hljs-comment"># ENTER PASSWORD</span>
</code></pre><pre data-type="codeBlock" text="echo  &quot;export VALOPER= $VALOPER &quot; &gt;&gt; $HOME /.bash_profile &amp;&amp; \ 
echo  &quot;export ADDRESS= $ADDRESS &quot; &gt;&gt; $HOME /.bash_profile &amp;&amp; \ 
source  $HOME /.bash_profile
"><code>echo  <span class="hljs-string">"export VALOPER= $VALOPER "</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME <span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
echo  <span class="hljs-string">"export ADDRESS= $ADDRESS "</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME <span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
source  $HOME <span class="hljs-operator">/</span>.bash_profile
</code></pre><p>添加同行和种子</p><pre data-type="codeBlock" text="sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;5c10d3d84adb970474eff3c9b5d8fe50fd2dbbfb@144.76.18.199:26656,802993601906fae95a19e96f2e8bd538b0d209d5@35.222.155.3:26656,1570fd9b344af3bf77ec7eefffe485033f412080@65.109.112.178:26656,a2ad516c5301fb1a9793b0c9bd2195e16721ed73@34.170.18.34 :26656\&quot;/; s/^seeds *=.*/seeds = \&quot;$SEEDS\&quot;/&quot; $HOME/.archway/config/config.toml
"><code>sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^persistent_peers *=.*/persistent_peers = \"5c10d3d84adb970474eff3c9b5d8fe50fd2dbbfb@144.76.18.199:26656,802993601906fae95a19e96f2e8bd538b0d209d5@35.222.155.3:26656,1570fd9b344af3bf77ec7eefffe485033f412080@65.109.112.178:26656,a2ad516c5301fb1a9793b0c9bd2195e16721ed73@34.170.18.34 :26656\"/; s/^seeds *=.*/seeds = \"$SEEDS\"/"</span> $HOME<span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>config.toml
</code></pre><p>下载创世区块</p><pre data-type="codeBlock" text="wget -O $HOME /.archway/config/genesis.json https://raw.githubusercontent.com/archway-network/networks/main/constantine-1/genesis.json
"><code>wget <span class="hljs-operator">-</span>O $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>genesis.json https:<span class="hljs-comment">//raw.githubusercontent.com/archway-network/networks/main/constantine-1/genesis.json</span>
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">六、更改端口</h2><p>更改变量 # 当前变量是默认端口</p><pre data-type="codeBlock" text="NODES_NUM = “0”
"><code><span class="hljs-attr">NODES_NUM</span> = “<span class="hljs-number">0</span>”
</code></pre><p>更改端口</p><pre data-type="codeBlock" text="sed -i.bak -e &quot;\ 
s% ^proxy_app = \&quot;tcp://127.0.0.1:26658\&quot;%proxy_app = \&quot;tcp://127.0.0.1:$((NODES_NUM+ 26 ))658\&quot; %; \ 
s%^laddr = \&quot;tcp://127.0.0.1:26657\&quot;%laddr = \&quot;tcp://0.0.0.0:$((NODES_NUM+ 26 ))657\&quot;%; \ 
s%^ pprof_laddr = \&quot;localhost:6060\&quot;%pprof_laddr = \&quot;localhost:$((NODES_NUM+ 6 ))060\&quot;%; \ 
s%^laddr = \&quot;tcp://0.0.0.0:26656\&quot;%laddr = \&quot;tcp://0.0.0.0:$((NODES_NUM+ 26 ))656\&quot;%; \ 
s%^external_address = \&quot;\&quot;%external_address = \&quot;` echo $(wget -qO- eth0.me): $((NODES_NUM+ 26 ))656`\&quot;%; \ 
s%^prometheus_listen_addr = \&quot;:26660\&quot;%prometheus_listen_addr = \&quot;:$((NODES_NUM+ 26 ))660\&quot;%&quot; $HOME /.archway/config/config.toml
"><code>sed -i.bak -e "\ 
<span class="hljs-meta prompt_">s% </span><span class="bash">^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:$((NODES_NUM+ <span class="hljs-number">26</span> ))658\" %; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://0.0.0.0:$((NODES_NUM+ <span class="hljs-number">26</span> ))657\"%; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^ pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:$((NODES_NUM+ <span class="hljs-number">6</span> ))060\"%; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:$((NODES_NUM+ <span class="hljs-number">26</span> ))656\"%; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^external_address = \"\"%external_address = \"` <span class="hljs-built_in">echo</span> $(wget -qO- eth0.me): $((NODES_NUM+ <span class="hljs-number">26</span> ))656`\"%; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":$((NODES_NUM+ <span class="hljs-number">26</span> ))660\"%<span class="hljs-string">" <span class="hljs-variable">$HOME</span> /.archway/config/config.toml</span></span>
</code></pre><pre data-type="codeBlock" text="sed -i.bak -e &quot;\ 
s% ^address = \&quot;tcp://0.0.0.0:1317\&quot;%address = \&quot;tcp://0.0.0.0:$((NODES_NUM+ 1 ))317\&quot; %; \ 
s%^address = \&quot;:8080\&quot;%address = \&quot;:$((NODES_NUM+ 8 ))080\&quot;%; \ 
s%^address = \&quot;0.0.0.0:9090\&quot;%address = \&quot;0.0.0.0:$((NODES_NUM+ 9 ))090\&quot;%; \ 
s%^address = \&quot;0.0.0.0:9091\&quot;%address = \&quot;0.0.0.0:$((NODES_NUM+ 9 ))091 \&quot;% &quot; $HOME /.archway/config/app.toml
"><code>sed -i.bak -e "\ 
<span class="hljs-meta prompt_">s% </span><span class="bash">^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:$((NODES_NUM+ <span class="hljs-number">1</span> ))317\" %; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^address = \":8080\"%address = \":$((NODES_NUM+ <span class="hljs-number">8</span> ))080\"%; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:$((NODES_NUM+ <span class="hljs-number">9</span> ))090\"%; \ </span>
<span class="hljs-meta prompt_">s%</span><span class="bash">^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:$((NODES_NUM+ <span class="hljs-number">9</span> ))091 \"% <span class="hljs-string">" <span class="hljs-variable">$HOME</span> /.archway/config/app.toml</span></span>
</code></pre><pre data-type="codeBlock" text="echo &quot;export NODE=http://localhost:$((NODES_NUM+26))657&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
source $HOME/.bash_profile &amp;&amp; \
archwayd config node $NODE
"><code>echo <span class="hljs-string">"export NODE=http://localhost:$((NODES_NUM+26))657"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
source $HOME<span class="hljs-operator">/</span>.bash_profile <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
archwayd config node $NODE
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">七、内存优化</h2><p>更改变量 # 首选当前变量</p><pre data-type="codeBlock" text="indexer = &quot;null&quot; &amp;&amp; \ 
min_retain_blocks = 1 &amp;&amp; \ 
snapshot_interval = &quot;100&quot; &amp;&amp; \ 
pruning = &quot;custom&quot; &amp;&amp; \ 
pruning_keep_recent = &quot;100&quot; &amp;&amp; \ 
pruning_keep_every = &quot;0&quot; &amp;&amp; \ 
pruning_interval = &quot;10&quot; &amp;&amp; \ 
min_retain_blocks = &quot; 1&quot; &amp;&amp; \ 
inter_block_cache = &quot;false&quot;
"><code>indexer <span class="hljs-operator">=</span> <span class="hljs-string">"null"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
min_retain_blocks <span class="hljs-operator">=</span> <span class="hljs-number">1</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
snapshot_interval <span class="hljs-operator">=</span> <span class="hljs-string">"100"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
pruning <span class="hljs-operator">=</span> <span class="hljs-string">"custom"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
pruning_keep_recent <span class="hljs-operator">=</span> <span class="hljs-string">"100"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
pruning_keep_every <span class="hljs-operator">=</span> <span class="hljs-string">"0"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
pruning_interval <span class="hljs-operator">=</span> <span class="hljs-string">"10"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
min_retain_blocks <span class="hljs-operator">=</span> <span class="hljs-string">" 1"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
inter_block_cache <span class="hljs-operator">=</span> <span class="hljs-string">"false"</span>
</code></pre><p>设置变量</p><pre data-type="codeBlock" text="sed -i.bak -e &quot;s/^indexer *=.*/indexer = \&quot; $indexer \&quot;/&quot;  $HOME /.archway/config/config.toml &amp;&amp; \ 
sed -i.bak -e &quot;s/ ^min-retain-blocks *=.*/min-retain-blocks = \&quot; $min_retain_blocks \&quot;/&quot;  $HOME /.archway/config/app.toml &amp;&amp; \ 
sed -i.bak -e &quot;s/^snapshot -interval *=.*/snapshot-interval = \&quot; $snapshot_interval \&quot;/&quot;  $HOME /.archway/config/app.toml &amp;&amp; \ 
sed -i.bak -e &quot;s/^pruning *=.*/pruning = \&quot; $pruning \&quot;/&quot;  $HOME /.archway/config/app.toml &amp;&amp; \ 
sed -i.bak -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent \&quot;/&quot;  $HOME /.archway/config/app.toml &amp;&amp; \
sed -i.bak -e &quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&quot; $pruning_keep_every \&quot;/&quot;  $HOME /.archway/config/app.toml &amp;&amp; \
sed -i.bak -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot; $pruning_interval \&quot;/&quot;  $HOME /.archway/config/app.toml &amp;&amp; \
sed -i.bak -e &quot;s/^min-retain-blocks *=.*/min-retain-blocks = \&quot; $min_retain_blocks \&quot;/&quot;  $HOME /. archway/config/app.toml &amp;&amp; \
sed -i.bak -e &quot;s/^inter-block-cache *=.*/inter-block-cache = \&quot; $inter_block_cache \&quot;/&quot;  $HOME/.archway/config/app.toml
"><code>sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^indexer *=.*/indexer = \" $indexer \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>config.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/ ^min-retain-blocks *=.*/min-retain-blocks = \" $min_retain_blocks \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^snapshot -interval *=.*/snapshot-interval = \" $snapshot_interval \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning *=.*/pruning = \" $pruning \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-every *=.*/pruning-keep-every = \" $pruning_keep_every \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-interval *=.*/pruning-interval = \" $pruning_interval \"/"</span>  $HOME <span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^min-retain-blocks *=.*/min-retain-blocks = \" $min_retain_blocks \"/"</span>  $HOME <span class="hljs-operator">/</span>. archway/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^inter-block-cache *=.*/inter-block-cache = \" $inter_block_cache \"/"</span>  $HOME<span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>app.toml
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">八、状态同步</h2><p>改变变量</p><pre data-type="codeBlock" text="RPC = http://rpc-archway.testnet-pride.com: 40657
"><code><span class="hljs-attr">RPC</span> = http://rpc-archway.testnet-pride.com: <span class="hljs-number">40657</span>
</code></pre><p>设置变量</p><pre data-type="codeBlock" text="LATEST_HEIGHT=$(curl -s $SNAP_RPC /block | jq -r .result.block.header.height); \ 
BLOCK_HEIGHT=$((LATEST_HEIGHT - 100 )); \ 
TRUST_HASH=$(curl -s &quot; $SNAP_RPC /block?height= $BLOCK_HEIGHT &quot; | jq -r .result.block_id.hash) 
"><code>LATEST_HEIGHT<span class="hljs-operator">=</span>$(curl <span class="hljs-operator">-</span>s $SNAP_RPC <span class="hljs-operator">/</span><span class="hljs-built_in">block</span> <span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r .result.block.header.height); \ 
BLOCK_HEIGHT<span class="hljs-operator">=</span>$((LATEST_HEIGHT <span class="hljs-operator">-</span> <span class="hljs-number">100</span> )); \ 
TRUST_HASH<span class="hljs-operator">=</span>$(curl <span class="hljs-operator">-</span>s <span class="hljs-string">" $SNAP_RPC /block?height= $BLOCK_HEIGHT "</span> <span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r .result.block_id.hash) 
</code></pre><pre data-type="codeBlock" text="echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

sed -i.bak -E &quot;s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\&quot;$SNAP_RPC,$SNAP_RPC\&quot;| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\&quot;$TRUST_HASH\&quot;| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\&quot;\&quot;|&quot; $HOME/.archway/config/config.toml
"><code>echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

sed -i.bak -E "s|^(enable<span class="hljs-section">[[:space:]]</span>+=<span class="hljs-section">[[:space:]]</span>+).*$|\1true| <span class="hljs-comment">; \</span>
s|^(rpc_servers<span class="hljs-section">[[:space:]]</span>+=<span class="hljs-section">[[:space:]]</span>+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| <span class="hljs-comment">; \</span>
s|^(trust_height<span class="hljs-section">[[:space:]]</span>+=<span class="hljs-section">[[:space:]]</span>+).*$|\1$BLOCK_HEIGHT| <span class="hljs-comment">; \</span>
s|^(trust_hash<span class="hljs-section">[[:space:]]</span>+=<span class="hljs-section">[[:space:]]</span>+).*$|\1\"$TRUST_HASH\"| <span class="hljs-comment">; \</span>
s|^(seeds<span class="hljs-section">[[:space:]]</span>+=<span class="hljs-section">[[:space:]]</span>+).*$|\1\"\"|" $HOME/.archway/config/config.toml
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">九、启动节点</h2><p>创建服务</p><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/archwayd.service &gt; /dev/null &lt;&lt;EOF 
[Unit] 
Description=Archway Node 
After=network.target 
"><code>sudo tee <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>systemd<span class="hljs-operator">/</span>system<span class="hljs-operator">/</span>archwayd.service <span class="hljs-operator">></span> <span class="hljs-operator">/</span>dev<span class="hljs-operator">/</span>null <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span>EOF 
[Unit] 
Description<span class="hljs-operator">=</span>Archway Node 
After<span class="hljs-operator">=</span>network.target 
</code></pre><pre data-type="codeBlock" text="[Service]
User=$USER
Type=simple
ExecStart=$(which archwayd) start
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
"><code><span class="hljs-section">[Service]</span>
<span class="hljs-attr">User</span>=<span class="hljs-variable">$USER</span>
<span class="hljs-attr">Type</span>=simple
<span class="hljs-attr">ExecStart</span>=$(which archwayd) start
<span class="hljs-attr">Restart</span>=<span class="hljs-literal">on</span>-failure
<span class="hljs-attr">LimitNOFILE</span>=<span class="hljs-number">65535</span>

<span class="hljs-section">[Install]</span>
<span class="hljs-attr">WantedBy</span>=multi-user.target
EOF
</code></pre><p>开启服务</p><pre data-type="codeBlock" text="sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable archwayd &amp;&amp; \
sudo systemctl restart archwayd &amp;&amp; \
sudo journalctl -u archwayd -f -o cat
"><code>sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable archwayd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl restart archwayd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo journalctl <span class="hljs-operator">-</span>u archwayd <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>o cat
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">十、创建一个验证器</h2><p>检查你的节点的同步 # 如果结果为FALSE，则节点已同步</p><pre data-type="codeBlock" text="curl -s $NODE/status | jq .result.sync_info.catching_up
"><code>curl <span class="hljs-operator">-</span>s $NODE<span class="hljs-operator">/</span>status <span class="hljs-operator">|</span> jq .result.sync_info.catching_up
</code></pre><p>检查余额 # 创建验证器的最小数量 1000000</p><pre data-type="codeBlock" text="archwayd q bank balances $ADDRESS
"><code>archwayd <span class="hljs-selector-tag">q</span> bank balances $<span class="hljs-selector-tag">ADDRESS</span>
</code></pre><p>创建验证器</p><pre data-type="codeBlock" text="archwayd tx staking create-validator \
  --amount=1000000uconst \
  --pubkey=$(archwayd tendermint show-validator) \
  --moniker=$MONIKER \
  --chain-id=jackal-1 \
  --commission-rate=&quot;0.10&quot; \
  --commission-max-rate=&quot;0.20&quot; \
  --commission-max-change-rate=&quot;0.01&quot; \
  --min-self-delegation=1000000 \
  --fees=200uconst \
  --from=$WALLET \
  --identity=$IDENTITY \
  --website=$WEBSITE \
  --details=$DETAILS \
  --security-contact=$SECURITY_CONTACT \
  -y
"><code>archwayd <span class="hljs-built_in">tx</span> staking create<span class="hljs-operator">-</span>validator \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>amount<span class="hljs-operator">=</span>1000000uconst \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$(archwayd tendermint show<span class="hljs-operator">-</span>validator) \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span>$MONIKER \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>jackal<span class="hljs-number">-1</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission<span class="hljs-operator">-</span>rate<span class="hljs-operator">=</span><span class="hljs-string">"0.10"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission<span class="hljs-operator">-</span>max<span class="hljs-operator">-</span>rate<span class="hljs-operator">=</span><span class="hljs-string">"0.20"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission<span class="hljs-operator">-</span>max<span class="hljs-operator">-</span>change<span class="hljs-operator">-</span>rate<span class="hljs-operator">=</span><span class="hljs-string">"0.01"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>min<span class="hljs-operator">-</span><span class="hljs-built_in">self</span><span class="hljs-operator">-</span>delegation<span class="hljs-operator">=</span><span class="hljs-number">1000000</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees<span class="hljs-operator">=</span>200uconst \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span>$WALLET \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>identity<span class="hljs-operator">=</span>$IDENTITY \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>website<span class="hljs-operator">=</span>$WEBSITE \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>details<span class="hljs-operator">=</span>$DETAILS \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>security<span class="hljs-operator">-</span>contact<span class="hljs-operator">=</span>$SECURITY_CONTACT \
  <span class="hljs-operator">-</span>y
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">十一、更新节点</h2><p>更改变量 # 例如 v.1.2.1</p><pre data-type="codeBlock" text="TAG_NAME = &quot;&quot;
"><code><span class="hljs-attr">TAG_NAME</span> = <span class="hljs-string">""</span>
</code></pre><p>更新节点</p><pre data-type="codeBlock" text="sudo systemctl stop archwayd &amp;&amp; \ 
cd archway &amp;&amp; \ 
git pull; \ 
git checkout tags/ $TAG_NAME &amp;&amp; \ 
make clean; \ 
make install &amp;&amp; \ 
sudo systemctl restart archwayd &amp;&amp; \ 
journalctl -u archwayd -f -o cat
"><code>sudo systemctl stop archwayd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
cd archway <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
git pull; \ 
git checkout tags<span class="hljs-operator">/</span> $TAG_NAME <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
make clean; \ 
make install <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
sudo systemctl restart archwayd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \ 
journalctl <span class="hljs-operator">-</span>u archwayd <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>o cat
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">十二、常用命令</h2><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（一）节点状态</h2><p>服务日志</p><pre data-type="codeBlock" text="journalctl -u archwayd -f -o cat
"><code>journalctl <span class="hljs-operator">-</span>u archwayd <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>o cat
</code></pre><p>服务状态</p><pre data-type="codeBlock" text="systemctl status archwayd
"><code>systemctl <span class="hljs-built_in">status</span> archwayd
</code></pre><p>检查节点状态</p><pre data-type="codeBlock" text="curl -s $NODE/status
"><code>curl -s <span class="hljs-variable">$NODE</span>/status
</code></pre><p>检查节点同步 # 如果结果为FALSE，则节点已同步</p><pre data-type="codeBlock" text="curl -s $NODE/status | jq .result.sync_info.catching_up
"><code>curl <span class="hljs-operator">-</span>s $NODE<span class="hljs-operator">/</span>status <span class="hljs-operator">|</span> jq .result.sync_info.catching_up
</code></pre><p>检查共识</p><pre data-type="codeBlock" text="curl -s $NODE/consensus_state  | jq &apos;.result.round_state.height_vote_set[0].prevotes_bit_array&apos;
"><code>curl <span class="hljs-operator">-</span>s $NODE<span class="hljs-operator">/</span>consensus_state  <span class="hljs-operator">|</span> jq <span class="hljs-string">'.result.round_state.height_vote_set[0].prevotes_bit_array'</span>
</code></pre><p>链接PEERS</p><pre data-type="codeBlock" text="curl -s $NODE/net_info | jq -r &apos;.result.peers[] | &quot;\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | split(&quot;:&quot;)[2])&quot;&apos; | wc -l
"><code>curl <span class="hljs-operator">-</span>s <span class="hljs-variable">$NODE</span><span class="hljs-operator">/</span>net_info <span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r '.result.peers[] <span class="hljs-operator">|</span> <span class="hljs-string">"<span class="hljs-subst">\(.node_info.id)</span>@<span class="hljs-subst">\(.remote_ip)</span>:<span class="hljs-subst">\(.node_info.listen_addr <span class="hljs-operator">|</span> split(<span class="hljs-string">":"</span>)[<span class="hljs-number">2</span>])</span>"</span>' <span class="hljs-operator">|</span> wc <span class="hljs-operator">-</span>l
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（二）验证者信息</h2><p>获取验证者地址</p><pre data-type="codeBlock" text="echo $VALOPER
"><code><span class="hljs-built_in">echo</span> <span class="hljs-variable">$VALOPER</span>
</code></pre><p>获取钱包地址</p><pre data-type="codeBlock" text="echo $ADDRESS
"><code><span class="hljs-built_in">echo</span> <span class="hljs-variable">$ADDRESS</span>
</code></pre><p>JAIL，TOMBSTONED，START_HEIGHT，INDEX_OFFSET</p><pre data-type="codeBlock" text="archwayd q slashing signing-info $(archwayd tendermint show-validator)
"><code>archwayd q slashing signing<span class="hljs-operator">-</span>info $(archwayd tendermint show<span class="hljs-operator">-</span>validator)
</code></pre><p>得到PEER</p><pre data-type="codeBlock" text="echo &quot;$(archwayd tendermint show-node-id)@$(curl ifconfig.me):$(curl -s $NODE/status | jq -r &apos;.result.node_info.listen_addr&apos; | cut -d&apos;:&apos; -f3)&quot;
"><code><span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-subst">$(archwayd tendermint show-node-id)</span>@<span class="hljs-subst">$(curl ifconfig.me)</span>:<span class="hljs-subst">$(curl -s $NODE/status | jq -r '.result.node_info.listen_addr' | cut -d':' -f3)</span>"</span>
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（三）钱包</h2><p>取得BALANCE</p><pre data-type="codeBlock" text="archwayd q bank balances $ADDRESS
"><code>archwayd <span class="hljs-selector-tag">q</span> bank balances $<span class="hljs-selector-tag">ADDRESS</span>
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（四）表决</h2><p>投票</p><pre data-type="codeBlock" text="archwayd tx gov vote &lt;PROPOSAL_ID&gt; &lt;yes|no&gt; --from $WALLET --fees 200uconst -y
"><code>archwayd <span class="hljs-built_in">tx</span> gov vote <span class="hljs-operator">&#x3C;</span>PROPOSAL_ID<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>yes<span class="hljs-operator">|</span>no<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> $WALLET <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200uconst <span class="hljs-operator">-</span>y
</code></pre><p>检查所有投票的提案</p><pre data-type="codeBlock" text="archwayd q gov proposals --voter $ADDRESS
"><code>archwayd <span class="hljs-selector-tag">q</span> gov proposals <span class="hljs-attr">--voter</span> $<span class="hljs-selector-tag">ADDRESS</span>
</code></pre><h2 id="h-actions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（五）Actions</h2><p>编辑验证器</p><pre data-type="codeBlock" text="archwayd tx staking edit-validator --website= &quot;&lt;YOUR_WEBSITE&gt;&quot; --details= &quot;&lt;YOUR_DESCRIPTION&gt;&quot; --moniker= &quot;&lt;YOUR_NEW_MONIKER&gt;&quot; -- from =$WALLET --fees 200u const
"><code>archwayd <span class="hljs-built_in">tx</span> staking edit<span class="hljs-operator">-</span>validator <span class="hljs-operator">-</span><span class="hljs-operator">-</span>website<span class="hljs-operator">=</span> <span class="hljs-string">"&#x3C;YOUR_WEBSITE>"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>details<span class="hljs-operator">=</span> <span class="hljs-string">"&#x3C;YOUR_DESCRIPTION>"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span> <span class="hljs-string">"&#x3C;YOUR_NEW_MONIKER>"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span> <span class="hljs-keyword">from</span> <span class="hljs-operator">=</span>$WALLET <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200u const
</code></pre><p>UNJAIL</p><pre data-type="codeBlock" text="archwayd tx slashing unjail --from $WALLET --fees 200uconst
"><code>archwayd <span class="hljs-built_in">tx</span> slashing unjail <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> $WALLET <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200uconst
</code></pre><p>绑定更多代币（如果你想增加你的验证人股份，你应该为你的验证人地址提供更多的担保。）：</p><pre data-type="codeBlock" text="archwayd tx staking delegate $VALOPER &lt;TOKENS_COUNT&gt;uconst--from $WALLET --fees 200uconst -y
"><code>archwayd <span class="hljs-built_in">tx</span> staking delegate $VALOPER <span class="hljs-operator">&#x3C;</span>TOKENS_COUNT<span class="hljs-operator">></span>uconst<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> $WALLET <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200uconst <span class="hljs-operator">-</span>y
</code></pre><p>取消委托</p><pre data-type="codeBlock" text="archwayd tx staking unbond $VALOPER &lt;TOKENS_COUNT&gt;uconst -- from  $WALLET --fees 200 uconst -y
"><code>archwayd <span class="hljs-built_in">tx</span> staking unbond $VALOPER <span class="hljs-operator">&#x3C;</span>TOKENS_COUNT<span class="hljs-operator">></span>uconst <span class="hljs-operator">-</span><span class="hljs-operator">-</span> <span class="hljs-keyword">from</span>  $WALLET <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees <span class="hljs-number">200</span> uconst <span class="hljs-operator">-</span>y
</code></pre><p>发送代币，1 代币 = 1000000 (COSMOS)</p><pre data-type="codeBlock" text="archwayd tx bank send $WALLET &lt;WALLET_TO&gt; &lt;TOKENS_COUNT&gt;uconst --fees 200uconst --gas auto
"><code>archwayd <span class="hljs-built_in">tx</span> bank send $WALLET <span class="hljs-operator">&#x3C;</span>WALLET_TO<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>TOKENS_COUNT<span class="hljs-operator">></span>uconst <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200uconst <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas auto
</code></pre><p>改变PEERS和 SEEDS</p><pre data-type="codeBlock" text="peers = &quot;&lt;PEERS&gt;&quot;
 seeds = &quot;&lt;SEEDS&gt;&quot;
 sed - i.bak - e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot; $peers \&quot; /; s/^seeds *=.*/ seeds = \&quot; $seeds \&quot; /&quot;  $HOME / .archway / config / config.toml
"><code>peers <span class="hljs-operator">=</span> <span class="hljs-string">"&#x3C;PEERS>"</span>
 seeds <span class="hljs-operator">=</span> <span class="hljs-string">"&#x3C;SEEDS>"</span>
 sed <span class="hljs-operator">-</span> i.bak <span class="hljs-operator">-</span> e <span class="hljs-string">"s/^persistent_peers *=.*/persistent_peers = \" $peers \" /; s/^seeds *=.*/ seeds = \" $seeds \" /"</span>  $HOME <span class="hljs-operator">/</span> .archway <span class="hljs-operator">/</span> config <span class="hljs-operator">/</span> config.toml
</code></pre><p>将私有验证器文件重置为创世状态并删除 ADDRBOOK.JSON</p><pre data-type="codeBlock" text="archwayd tendermint unsafe-reset-all --home $HOME/.archway
"><code>archwayd tendermint unsafe<span class="hljs-operator">-</span>reset<span class="hljs-operator">-</span>all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home $HOME<span class="hljs-operator">/</span>.archway
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（五）所有验证者信息</h2><p>所有活跃验证者列表</p><pre data-type="codeBlock" text="archwayd q staking validators -o json --limit=1000 \
| jq &apos;.validators[] | select(.status==&quot;BOND_STATUS_BONDED&quot;)&apos; \
| jq -r &apos;.tokens + &quot; - &quot; + .description.moniker&apos; \
| sort -gr | nl
"><code>archwayd q staking validators <span class="hljs-operator">-</span>o json <span class="hljs-operator">-</span><span class="hljs-operator">-</span>limit<span class="hljs-operator">=</span><span class="hljs-number">1000</span> \
<span class="hljs-operator">|</span> jq <span class="hljs-string">'.validators[] | select(.status=="BOND_STATUS_BONDED")'</span> \
<span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r <span class="hljs-string">'.tokens + " - " + .description.moniker'</span> \
<span class="hljs-operator">|</span> sort <span class="hljs-operator">-</span>gr <span class="hljs-operator">|</span> nl
</code></pre><p>所有不活跃的验证者列表</p><pre data-type="codeBlock" text="archwayd q staking validators -o json --limit=1000 \
| jq &apos;.validators[] | select(.status==&quot;BOND_STATUS_UNBONDED&quot;)&apos; \
| jq -r &apos;.tokens + &quot; - &quot; + .description.moniker&apos; \
| sort -gr | nl
"><code>archwayd q staking validators <span class="hljs-operator">-</span>o json <span class="hljs-operator">-</span><span class="hljs-operator">-</span>limit<span class="hljs-operator">=</span><span class="hljs-number">1000</span> \
<span class="hljs-operator">|</span> jq <span class="hljs-string">'.validators[] | select(.status=="BOND_STATUS_UNBONDED")'</span> \
<span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r <span class="hljs-string">'.tokens + " - " + .description.moniker'</span> \
<span class="hljs-operator">|</span> sort <span class="hljs-operator">-</span>gr <span class="hljs-operator">|</span> nl
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（六）有用的命令</h2><p>ROOT → 你的节点</p><pre data-type="codeBlock" text="su -l $USER_NAME
"><code>su -l <span class="hljs-variable">$USER_NAME</span>
</code></pre><p>检查互联网连接</p><pre data-type="codeBlock" text="curl -sL yabs.sh | bash -s -- -fg
"><code>curl <span class="hljs-operator">-</span>sL yabs.sh <span class="hljs-operator">|</span> bash <span class="hljs-operator">-</span>s <span class="hljs-operator">-</span><span class="hljs-operator">-</span> <span class="hljs-operator">-</span>fg
</code></pre><p>服务器负载</p><pre data-type="codeBlock" text="sudo htop
"><code></code></pre><p>文件结构</p><pre data-type="codeBlock" text="ncdu
"><code></code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（七）删除节点</h2><p>使用命令</p><pre data-type="codeBlock" text="sudo systemctl stop archwayd &amp;&amp; \
sudo systemctl disable archwayd; \
sudo rm /etc/systemd/system/archwayd.service; \
sudo systemctl daemon-reload &amp;&amp; \
cd $HOME &amp;&amp; \
rm -rf .archway archway; \
sudo rm $(which archwayd)
"><code>sudo systemctl stop archwayd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl disable archwayd; \
sudo rm <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>systemd<span class="hljs-operator">/</span>system<span class="hljs-operator">/</span>archwayd.service; \
sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
cd $HOME <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
rm <span class="hljs-operator">-</span>rf .archway archway; \
sudo rm $(which archwayd)
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">可用的探索者</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://testnet.mintscan.io/archway-testnet">https://testnet.mintscan.io/archway-testnet</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.constantine-1.archway.tech/">https://explorer.constantine-1.archway.tech/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://archway.exploreme.pro/">https://archway.exploreme.pro/</a></p><p>本篇内容就到这里，更多信息请关注：</p><p>加密狗推特：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/JiamigouCn">https://twitter.com/JiamigouCn</a></p><p>电报：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/JIAMIGOU002">https://t.me/JIAMIGOU002</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/5fe21d4317659ea08d59bd50e435f7cad7a290b45e4b3c146c4cf8ebbccdfcca.jpg" alt="加密狗" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">加密狗</figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">节点挖矿</h2>]]></content:encoded>
            <author>jjmack@newsletter.paragraph.com (jjmack)</author>
        </item>
    </channel>
</rss>