<?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>Ericet</title>
        <link>https://paragraph.com/@ericet</link>
        <description>undefined</description>
        <lastBuildDate>Tue, 05 May 2026 18:16:57 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Ericet</title>
            <url>https://storage.googleapis.com/papyrus_images/51f37cd5442a714ae59a4ef47f888016f472c773bbcfa558759e7a3e47b1877d.jpg</url>
            <link>https://paragraph.com/@ericet</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[2022年Coinlist冬季种子项目Exorde激励测试网]]></title>
            <link>https://paragraph.com/@ericet/2022-coinlist-exorde</link>
            <guid>cbqpWOhYiJ1y0DOEofhw</guid>
            <pubDate>Wed, 09 Nov 2022 04:52:58 GMT</pubDate>
            <description><![CDATA[2022年Coinlist冬季种子项目Exorde今天开始了激励测试网image.png官方给的机子最低配置如下:1 GB SSD/HDDRAM: 2-4GbCPU: 2-4 cores is recommended要求很低，基本是台电脑就能跑使用Docker运行程序（Ubuntu）:安装必要的程序sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release \ screen \ git 安装dockersudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://...]]></description>
            <content:encoded><![CDATA[<p>2022年Coinlist冬季种子项目Exorde今天开始了激励测试网</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d60979918ed72218460324f98383906bb16ad3d7a265c3ccb78ceeaf0389e381.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>官方给的机子最低配置如下:</p><ul><li><p>1 GB SSD/HDD</p></li><li><p>RAM: 2-4Gb</p></li><li><p>CPU: 2-4 cores is recommended</p></li></ul><p>要求很低，基本是台电脑就能跑</p><h2 id="h-dockerubuntu" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">使用Docker运行程序（Ubuntu）:</h2><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装必要的程序</h3><pre data-type="codeBlock" text="sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release \
    screen \
    git
"><code>sudo apt<span class="hljs-operator">-</span><span class="hljs-keyword">get</span> <span class="hljs-keyword">update</span>
sudo apt<span class="hljs-operator">-</span><span class="hljs-keyword">get</span> install \
    ca<span class="hljs-operator">-</span>certificates \
    curl \
    gnupg \
    lsb<span class="hljs-operator">-</span><span class="hljs-keyword">release</span> \
    screen \
    git
</code></pre><h3 id="h-docker" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装docker</h3><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

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

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
"><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>

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

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><h3 id="h-exorde" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装Exorde程序</h3><pre data-type="codeBlock" text="git clone https://github.com/exorde-labs/ExordeModuleCLI.git
cd ExordeModuleCLI
docker build -t exorde-cli . 
"><code>git <span class="hljs-built_in">clone</span> https://github.com/exorde-labs/ExordeModuleCLI.git
<span class="hljs-built_in">cd</span> ExordeModuleCLI
docker build -t exorde-cli . 
</code></pre><h3 id="h-exorde" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">运行Exorde程序</h3><p>创建后台:<code>screen -S exorde</code>运行程序:</p><pre data-type="codeBlock" text="docker run -it exorde-cli -m YOUR_MAIN_ADDRESS -l LOGGING
"><code>docker run <span class="hljs-operator">-</span>it exorde<span class="hljs-operator">-</span>cli <span class="hljs-operator">-</span>m YOUR_MAIN_ADDRESS <span class="hljs-operator">-</span>l LOGGING
</code></pre><ul><li><p><em>YOUR_MAIN_ADDRESS：</em> 你的以太钱包地址，用于获得奖励和后面的交互</p></li><li><p><em>LOGGING:</em> 选择日志 0 = no logs,1 = general logs2 = validation logs3 = validation + scraping logs4 = detailed validation + scraping logs (e.g. for troubleshooting)</p></li></ul><p>比如我的地址是: 0x5241aa99a776866296D1d695C02bB2E31B3Ff998，只想显示验证的日志，我可以输入以下命令运行程序</p><pre data-type="codeBlock" text="docker run -it exorde-cli -m 0x5241aa99a776866296D1d695C02bB2E31B3Ff998 -l 2
"><code>docker run <span class="hljs-operator">-</span>it exorde<span class="hljs-operator">-</span>cli <span class="hljs-operator">-</span>m <span class="hljs-number">0x5241aa99a776866296D1d695C02bB2E31B3Ff998</span> <span class="hljs-operator">-</span>l <span class="hljs-number">2</span>
</code></pre><p>退出screen:<code>CTRL + A + D</code></p><p>下回要想回到程序，使用以下命令:<code>screen -r exorde</code></p><p>好了，成功跑起来了，等奖励吧。还挺省心的</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a7c81663bc56b62b0d7457f37725f96cf9832da7ee44ffa93fc2d6da15898a38.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>除了查看日志检查程序是否运行外，还可以用浏览器查看worker的地址, 看打工人是否有在干活。</p><p>输入worker的地址到 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://light-vast-diphda.explorer.mainnet.skalenodes.com/">https://light-vast-diphda.explorer.mainnet.skalenodes.com/</a> 查看</p><p>如果你想用windows跑程序，可以参考这篇文章: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@nfterrax/guide-to-exorde-testnet-v1-3-0-for-windows-caaecb55ca1b">https://medium.com/@nfterrax/guide-to-exorde-testnet-v1-3-0-for-windows-caaecb55ca1b</a></p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[Subspace激励测试网节点搭建]]></title>
            <link>https://paragraph.com/@ericet/subspace</link>
            <guid>ZdTyC1e0hwizXxgTXkzc</guid>
            <pubDate>Mon, 19 Sep 2022 00:27:44 GMT</pubDate>
            <description><![CDATA[基于Polkadot波卡生态的Subspace宣布9月20日开启Gemini 2激励测试网: https://forum.subspace.network/t/gemini-ii-incentivized-testnet-will-be-live-on-sep-20/675推荐配置:CPU: 4 CPUMemory: 8 GB RAMDisk: 160 GB SSD Storage创建Polkadot钱包下载Polkadot.js: https://polkadot.js.org/extension/进入Subspace 浏览器， 然后点击“Add Account"保存助记词并创建钱包记下钱包地址。(st开头的)搭建全节点运行脚本，并按照指示安装curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Subspace/install.sh > subspace.sh &#x26;&#x26; sudo chmod +x subspace.sh &#x26;&#x26; ./subspace.sh imag...]]></description>
            <content:encoded><![CDATA[<p>基于Polkadot波卡生态的Subspace宣布9月20日开启Gemini 2激励测试网: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.subspace.network/t/gemini-ii-incentivized-testnet-will-be-live-on-sep-20/675">https://forum.subspace.network/t/gemini-ii-incentivized-testnet-will-be-live-on-sep-20/675</a></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">推荐配置:</h2><ul><li><p>CPU: 4 CPU</p></li><li><p>Memory: 8 GB RAM</p></li><li><p>Disk: 160 GB SSD Storage</p></li></ul><h2 id="h-polkadot" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建Polkadot钱包</h2><ol><li><p>下载Polkadot.js: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polkadot.js.org/extension/">https://polkadot.js.org/extension/</a></p></li><li><p>进入<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feu-1.gemini-2a.subspace.network%2Fws#/accounts">Subspace 浏览器</a>， 然后点击“Add Account&quot;</p></li><li><p>保存助记词并创建钱包</p></li><li><p>记下钱包地址。(st开头的)</p></li></ol><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="curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Subspace/install.sh &gt; subspace.sh &amp;&amp; sudo chmod +x subspace.sh &amp;&amp; ./subspace.sh
"><code>curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Subspace/install.sh > subspace.sh &#x26;&#x26; sudo <span class="hljs-built_in">chmod</span> +x subspace.sh &#x26;&#x26; ./subspace.sh
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b1c4853a5fb27b8bd0f9a3c00b169fcdf2150e7d8ae96a405c34ec4e5290cd93.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><h2 id="h-telemetry" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">查看节点同步状态(Telemetry)</h2><ol><li><p>进入 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://telemetry.subspace.network/#list/0x43d10ffd50990380ffe6c9392145431d630ae67e89dbc9c014cac2a417759101">https://telemetry.subspace.network/#list/0x43d10ffd50990380ffe6c9392145431d630ae67e89dbc9c014cac2a417759101</a></p></li><li><p>搜索你的节点名字</p></li><li><p>如果你的节点名字显示灰色，代表还没同步完成。白色代表已经同步</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/aa60e0f2b19e98aaf9b257e0a530a5ce174b4fc97d17b0f567f2155b3a1181bf.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>激励测试网9月20号开始，但是现在可以开始跑节点，20号就不需要做任何操作直接开始激励测试网</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[批量铸造小狐狸公司的纪念以太合并NFT]]></title>
            <link>https://paragraph.com/@ericet/nft-3</link>
            <guid>DT0syGKWrNv9uMdXJEEw</guid>
            <pubDate>Sat, 17 Sep 2022 23:17:42 GMT</pubDate>
            <description><![CDATA[小狐狸的母公司Consensys为了纪念以太合并发布了一个纪念NFT，用户只需付一点的gas就能免费的铸造。一个钱包可以无限铸造，但是每次只能铸造一个。 网站 https://merge.consensys-nft.com/image.png一个个铸造有点费手，看了某个批量铸造的思路，写了一个批量铸造NFT的合约 代码: https://github.com/ericet/MultiClaims/blob/master/MergeMultiMint.sol 合约的思路是，使用合约批量铸造，铸造后，再把NFT转到自己的钱包 所以需要3次操作，创建合约，批量铸造和批量转移 对比了一下使用合约铸造和一个个铸造的费用，使用合约铸造会便宜一些(大概便宜20%)。使用合约一次最多可以铸造大概1100个NFT 函数call那里输入要mint的数量，交易成功后，使用withdrawERC721这个函数批量转移NFT erc721address 是Merge NFT的地址(0xE42caD6fC883877A76A26A16ed92444ab177E306) startTokenId 是你铸造的第...]]></description>
            <content:encoded><![CDATA[<p>小狐狸的母公司Consensys为了纪念以太合并发布了一个纪念NFT，用户只需付一点的gas就能免费的铸造。一个钱包可以无限铸造，但是每次只能铸造一个。</p><p>网站 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://merge.consensys-nft.com/">https://merge.consensys-nft.com/</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/34925469b35b530520a763802a2cd409d82b9c326238d694c0ca81cd64cb92aa.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>一个个铸造有点费手，看了某个批量铸造的思路，写了一个批量铸造NFT的合约</p><p>代码: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ericet/MultiClaims/blob/master/MergeMultiMint.sol">https://github.com/ericet/MultiClaims/blob/master/MergeMultiMint.sol</a></p><p>合约的思路是，使用合约批量铸造，铸造后，再把NFT转到自己的钱包</p><p>所以需要3次操作，创建合约，批量铸造和批量转移</p><p>对比了一下使用合约铸造和一个个铸造的费用，使用合约铸造会便宜一些(大概便宜20%)。使用合约一次最多可以铸造大概1100个NFT</p><p>函数call那里输入要mint的数量，交易成功后，使用withdrawERC721这个函数批量转移NFT</p><p>erc721address 是Merge NFT的地址(0xE42caD6fC883877A76A26A16ed92444ab177E306)</p><p>startTokenId 是你铸造的第一个NFT的token id</p><p>quantity 是铸造的数量</p><p>比如你铸造了100个NFT，第一个NFT的token id 是243693，那可以这样填：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fb331974603fc11f66f282a96b12061015bf0770f1201e858f6a70a0124b2137.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>发送交易后，就能批量转移243693-243792 的所有NFT到你部署合约的钱包地址了</p><p>这种合约只能自己部署，不能使用别人部署的合约，不然就是帮别人铸造NFT</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[注册短期ENS域名工具]]></title>
            <link>https://paragraph.com/@ericet/ens</link>
            <guid>uyQRtP8HgDTQrEdytmJo</guid>
            <pubDate>Sat, 06 Aug 2022 03:51:24 GMT</pubDate>
            <description><![CDATA[最近在学Vuejs，学习的最快方式就是直接上手写 看到群里使用合约来创建短期的ENS域名，过程有点麻烦，所以打算用Vuejs写个前端，这样子就不用使用合约来创建 通过ENS官方网站https://app.ens.domains/ 创建ENS至少需要1年期，而我打算写的ENS注册工具按天算，最短可以注册1天的ENS 工具网站: https://ericet.github.io/Ens-Registration/源代码: https://github.com/ericet/Ens-Registrationimage.png注册过程和通过官方网站的差不多，首先需要Commit，确保没有其他人同一时间内注册同个域名。大概Commit后一分钟，Commit按钮会变成Register按钮，这时就可以注册域名了]]></description>
            <content:encoded><![CDATA[<p>最近在学Vuejs，学习的最快方式就是直接上手写</p><p>看到群里使用合约来创建短期的ENS域名，过程有点麻烦，所以打算用Vuejs写个前端，这样子就不用使用合约来创建</p><p>通过ENS官方网站<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.ens.domains/">https://app.ens.domains/</a> 创建ENS至少需要1年期，而我打算写的ENS注册工具按天算，最短可以注册1天的ENS</p><p>工具网站: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ericet.github.io/Ens-Registration/">https://ericet.github.io/Ens-Registration/</a>源代码: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ericet/Ens-Registration">https://github.com/ericet/Ens-Registration</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8d6ca8658e60083c3c24838a28994caa98f51a17332468b8f9dc375ff9652d72.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>注册过程和通过官方网站的差不多，首先需要Commit，确保没有其他人同一时间内注册同个域名。大概Commit后一分钟，Commit按钮会变成Register按钮，这时就可以注册域名了</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[使用Flashbot转移合约的所有权]]></title>
            <link>https://paragraph.com/@ericet/flashbot</link>
            <guid>bwE7Ou3RM1HCzN7JuGhK</guid>
            <pubDate>Mon, 01 Aug 2022 02:09:42 GMT</pubDate>
            <description><![CDATA[今天有个网友联系到我，说他的钱包的私钥泄露了，按照我之前写的文章挽救被黑钱包里面的剩余资产, 顺利把钱包里面的ENS, NFT, 和一些ERC20代币转移到新的钱包 但是那个私钥泄露的钱包创建过一些合约，合约的所有权没有办法转移，所以想让我帮他写个方法把合约的所有权转移到新的地址 看了一下合约，方法不难，就是用ERC20的方式写转移合约所有权的方法 更新了代码，现在支持用Flashbot转移合约的所有权: https://github.com/ericet/ens-claim-flashbot-example 要使用转移合约的所有权，只需把合约里面的这段代码uncomment掉1d8e6d98b2e260656be25d06013a198.png然后tokenAddress改成合约的地址就行了image.png]]></description>
            <content:encoded><![CDATA[<p>今天有个网友联系到我，说他的钱包的私钥泄露了，按照我之前写的文章<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/ericet.eth/Y8VV08jOOFOZY8Z0N--mhrM0ubzTZistxyCjuvExgoo">挽救被黑钱包里面的剩余资产</a>, 顺利把钱包里面的ENS, NFT, 和一些ERC20代币转移到新的钱包</p><p>但是那个私钥泄露的钱包创建过一些合约，合约的所有权没有办法转移，所以想让我帮他写个方法把合约的所有权转移到新的地址</p><p>看了一下合约，方法不难，就是用ERC20的方式写转移合约所有权的方法</p><p>更新了代码，现在支持用Flashbot转移合约的所有权: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ericet/ens-claim-flashbot-example">https://github.com/ericet/ens-claim-flashbot-example</a></p><p>要使用转移合约的所有权，只需把合约里面的这段代码uncomment掉</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1349b6bf5dc0a87f3fa0fb9e84537a31dfe27306424469f5837e877aeaf112c5.png" alt="1d8e6d98b2e260656be25d06013a198.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">1d8e6d98b2e260656be25d06013a198.png</figcaption></figure><p>然后tokenAddress改成合约的地址就行了</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cd7e1b28cdf8a4cea6f63a41b11710f757f03132ee38de36d2c5ef156325c80f.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[Stride激励测试网攻略 ]]></title>
            <link>https://paragraph.com/@ericet/stride</link>
            <guid>94gDZvgNWBgBUJA9eTJv</guid>
            <pubDate>Sat, 30 Jul 2022 02:36:56 GMT</pubDate>
            <description><![CDATA[Cosmos系的激励测试网Stride，7月25日刚开始image.pngStride激励测试网总共有3个任务：使用https://beta.stride.zone 提供流动质押跑验证人节点运行IBC Relayer提供流动质押这个任务非常简单，没啥技术含量。 首先去discord: https://discord.gg/rKFgXvKG 的#token-faucet 获得测试币 然后进入https://beta.stride.zone把测试币质押 最后填表: https://docs.google.com/forms/d/e/1FAIpQLSfdDrh5-WIsY6LlwVElFfoWR8dZdlE70vHujIMBiD-4USvpsg/viewform 这样这个任务完成了跑验证人节点运行下面命令，并按照操作顺序完成Stride节点搭建（操作1-9）curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Stride/STRIDE-TESTNET-2/install.sh > stride.sh &#x...]]></description>
            <content:encoded><![CDATA[<p>Cosmos系的激励测试网Stride，7月25日刚开始</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0d3d41a22a241570390411ff307eff822d2cac4fb52915907b70407daf7982fd.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>Stride激励测试网总共有3个任务：</p><ul><li><p>使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://beta.stride.zone/">https://beta.stride.zone</a> 提供流动质押</p></li><li><p>跑验证人节点</p></li><li><p>运行IBC Relayer</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">提供流动质押</h2><p>这个任务非常简单，没啥技术含量。</p><p>首先去discord: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/rKFgXvKG">https://discord.gg/rKFgXvKG</a> 的#token-faucet 获得测试币</p><p>然后进入<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://beta.stride.zone/">https://beta.stride.zone</a>把测试币质押</p><p>最后填表: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLSfdDrh5-WIsY6LlwVElFfoWR8dZdlE70vHujIMBiD-4USvpsg/viewform">https://docs.google.com/forms/d/e/1FAIpQLSfdDrh5-WIsY6LlwVElFfoWR8dZdlE70vHujIMBiD-4USvpsg/viewform</a></p><p>这样这个任务完成了</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">跑验证人节点</h2><p>运行下面命令，并按照操作顺序完成Stride节点搭建（操作1-9）</p><pre data-type="codeBlock" text="curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Stride/STRIDE-TESTNET-2/install.sh &gt; stride.sh &amp;&amp; sudo chmod +x stride.sh &amp;&amp; ./stride.sh
"><code>curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Stride/STRIDE-TESTNET-2/install.sh > stride.sh &#x26;&#x26; sudo <span class="hljs-built_in">chmod</span> +x stride.sh &#x26;&#x26; ./stride.sh
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/39c269faa9e03a86ca294984086819530f123b1af68f22e00bf2986f33b9b2dd.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>等节点同步完成，验证人上线成功，这个任务也就完成了</p><p>注：项目方说只需上线成功，不需要活跃</p><h2 id="h-ibc-relayer" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行IBC Relayer</h2><p>IBC Relayer的用途是连接不同的链。还是使用上面的脚本，这次选择操作10，开始安装和设置Hermes</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bcd5391163dcee02800194114e2e21bbc727852a3e3fc47d97b27a7af2acff48.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>这里就不详细介绍了，按照提示输入相关的信息就行了（比如助记词，discord ID等)</p><p>要确定IBC Relayer有没有跑成功，可以在浏览器查看</p><p>链接: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://stride.explorers.guru/account/%E9%92%B1%E5%8C%85%E5%9C%B0%E5%9D%80">https://stride.explorers.guru/account/钱包地址</a></p><p>如果看到图中显示的操作类型，那代表你的IBC跑成功了，这个任务也完成了</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/771223914b98a0d41ccf48cae42bc2587e17a4d4d0a8151cfe964f86014ce10f.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>任务比其他测试网来的简单，不知道上主网的币值不值钱</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[NEAR测试网验证人节点任务(8攻略)]]></title>
            <link>https://paragraph.com/@ericet/near-8</link>
            <guid>NztQ7UXKiYrtwaIf5m9a</guid>
            <pubDate>Thu, 28 Jul 2022 00:37:43 GMT</pubDate>
            <description><![CDATA[如果你之前按照我的教程: NEAR测试网验证人节点任务(1-6攻略)完成任务，那可以继续这篇攻略完成任务8，不然就按照官方教程 完成自动安装curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Near/Stakewars/install.sh > stakewars.sh &#x26;&#x26; sudo chmod +x stakewars.sh &#x26;&#x26; ./stakewars.sh image.png脚本新添加了7,8选项来完成任务8 首先选择7，会自动帮你下载所需的库，并且创建一个新的合约，你唯一要做的是，输入一个要分享质押奖励钱包的地址。钱包地址需要已创建的钱包，如果没有，就填我的钱包地址: tutorial.shardnet.nearimage.png等7完成操作后，输入8领取质押奖励。等操作完成，截图交易，并保存操作的浏览器链接，填入任务表格就完成任务8 任务表格：https://docs.google.com/forms/d/e/1FAIpQLScp9JEtpk1Fe...]]></description>
            <content:encoded><![CDATA[<p>如果你之前按照我的教程: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/ericet.eth/_nLnRyAbSGixHopLfIKHRrYtu6lnILBpFqc-8zNnXmg">NEAR测试网验证人节点任务(1-6攻略)</a>完成任务，那可以继续这篇攻略完成任务8，不然就按照<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/near/stakewars-iii/blob/main/challenges/008.md">官方教程</a> 完成</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">自动安装</h2><pre data-type="codeBlock" text="curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Near/Stakewars/install.sh &gt; stakewars.sh &amp;&amp; sudo chmod +x stakewars.sh &amp;&amp; ./stakewars.sh
"><code>curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Near/Stakewars/install.sh > stakewars.sh &#x26;&#x26; sudo <span class="hljs-built_in">chmod</span> +x stakewars.sh &#x26;&#x26; ./stakewars.sh
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1a3eb2df96da41d2481f5952b6074e27a5ce6bc78dbbbd8035c97fe5196de65f.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>脚本新添加了7,8选项来完成任务8</p><p>首先选择7，会自动帮你下载所需的库，并且创建一个新的合约，你唯一要做的是，输入一个要分享质押奖励钱包的地址。钱包地址需要已创建的钱包，如果没有，就填我的钱包地址: tutorial.shardnet.near</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/de21359d3fc5d3953c5c360408cfdfd768210e9da0cb0cc54cfbe6e9bf321746.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>等7完成操作后，输入8领取质押奖励。等操作完成，截图交易，并保存操作的浏览器链接，填入任务表格就完成任务8</p><p>任务表格：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLScp9JEtpk1Fe2P9XMaS9Gl6kl9gcGVEp3A5vPdEgxkHx3ABjg/viewform">https://docs.google.com/forms/d/e/1FAIpQLScp9JEtpk1Fe2P9XMaS9Gl6kl9gcGVEp3A5vPdEgxkHx3ABjg/viewform</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9ad33d18d9ece3a3f2f4a2dd207aeb801eeca5bfab27064881ea4edd97e32927.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[NEAR测试网验证人节点任务(1-6攻略)]]></title>
            <link>https://paragraph.com/@ericet/near-1-6</link>
            <guid>gDhYFBiGJCUqr7riJUIj</guid>
            <pubDate>Tue, 26 Jul 2022 19:24:27 GMT</pubDate>
            <description><![CDATA[NEAR测试网跑验证人节点的任务，总共9个任务, 时间从7/13 到9/7 任务：https://github.com/near/stakewars-iii/tree/main/challenges 任务表格(5-8): https://docs.google.com/forms/d/e/1FAIpQLScp9JEtpk1Fe2P9XMaS9Gl6kl9gcGVEp3A5vPdEgxkHx3ABjg/viewform 项目介绍：https://near.org/stakewars/ Discord: https://discord.gg/2zaHJz5M 完成任务有的获得UNP奖励，有的获得DNP奖励 UNP在测试网结束的时候，可以1:1换取主网的NEAR DNP在测试网结束的时候，会按1:500 NEAR的比例，获得项目方质押，为期1年image.png虽然有9个任务，但是需要提交的就任务5-8 官方的文档写的挺清楚的，可以按照步奏一步步完成。如果想快速完成，可以使用我写的自动安装的脚本（完成1-6）自动安装版建议Ubuntu系统，运行以下命令:curl -s https://...]]></description>
            <content:encoded><![CDATA[<p>NEAR测试网跑验证人节点的任务，总共9个任务, 时间从7/13 到9/7</p><p>任务：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/near/stakewars-iii/tree/main/challenges">https://github.com/near/stakewars-iii/tree/main/challenges</a></p><p>任务表格(5-8): <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLScp9JEtpk1Fe2P9XMaS9Gl6kl9gcGVEp3A5vPdEgxkHx3ABjg/viewform">https://docs.google.com/forms/d/e/1FAIpQLScp9JEtpk1Fe2P9XMaS9Gl6kl9gcGVEp3A5vPdEgxkHx3ABjg/viewform</a></p><p>项目介绍：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://near.org/stakewars/">https://near.org/stakewars/</a></p><p>Discord: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/2zaHJz5M">https://discord.gg/2zaHJz5M</a></p><p>完成任务有的获得UNP奖励，有的获得DNP奖励</p><p>UNP在测试网结束的时候，可以1:1换取主网的NEAR DNP在测试网结束的时候，会按1:500 NEAR的比例，获得项目方质押，为期1年</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>虽然有9个任务，但是需要提交的就任务5-8</p><p>官方的文档写的挺清楚的，可以按照步奏一步步完成。如果想快速完成，可以使用我写的自动安装的脚本（完成1-6）</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">自动安装版</h2><p>建议Ubuntu系统，运行以下命令:</p><pre data-type="codeBlock" text="curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Near/Stakewars/install.sh &gt; stakewars.sh &amp;&amp; sudo chmod +x stakewars.sh &amp;&amp; ./stakewars.sh
"><code>curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Near/Stakewars/install.sh > stakewars.sh &#x26;&#x26; sudo <span class="hljs-built_in">chmod</span> +x stakewars.sh &#x26;&#x26; ./stakewars.sh
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>先输入1查看服务器是否符合官方要求的配置，如果符合，可以继续按照顺序选择操作。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>环境和节点都安装好后，输入4 开始设置节点</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>复制生成的授权链接到浏览器。</p><p>如果你已经创建过钱包，可以导入。如果没有就新建一个</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>搞定钱包后，就可以进行授权</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>授权完成后，回到服务器，输入刚进行授权的钱包</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>再次输入钱包</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>输入Pool ID （比如 xxxx.factory.shardnet.near)</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>给池子取个名字，输入抽成比例和质押数量</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>到这里节点的设置就完成了</p><p>你可以输入5查看PING的日志（5分钟运行一次)，或者6查看节点同步的情况</p><p>等节点运行一段时间后，可以去浏览器查看PING的记录，截图提交到表格就完成了挑战6</p><p>池子的浏览器链接(xxxx改成你的pool ID): <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.shardnet.near.org/accounts/xxxx.facotry.shardnet.near">https://explorer.shardnet.near.org/accounts/xxxx.facotry.shardnet.near</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>挑战5是写文章介绍弄节点的过程，这一个自己来</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[运行Sui Devnet全节点(自动安装版)]]></title>
            <link>https://paragraph.com/@ericet/sui-devnet</link>
            <guid>sZbJK6GN2koJi9LXMjTX</guid>
            <pubDate>Thu, 21 Jul 2022 02:37:15 GMT</pubDate>
            <description><![CDATA[官方推荐机器配置CPUs: 2RAM: 8GBStorage: 50GBOS：Ubuntu 22.04中文搭建教程: https://mirror.xyz/jackmusk.eth/TREP1txQxQWIBskrHWS9EcpvH6yxN0uxvPDSahWObOM自动安装版建议Ubuntu系统，运行以下命令:curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Sui/devnet/install.sh > sui.sh &#x26;&#x26; sudo chmod +x sui.sh &#x26;&#x26; ./sui.sh image.png按照顺序选择操作，就可以搭建Sui全节点。 节点跑起来后，使用 https://node.sui.zvalid.com/ 检查节点状态 这一轮的测试没有激励，但是官方说下一轮会有激励，这一轮就当练手 值得注意的是，官方Discord https://discord.gg/vnj4gZru 有一个 #node-ip-application 的频道，你可以把...]]></description>
            <content:encoded><![CDATA[<h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方推荐机器配置</h2><ul><li><p>CPUs: 2</p></li><li><p>RAM: 8GB</p></li><li><p>Storage: 50GB</p></li><li><p>OS：Ubuntu 22.04</p></li></ul><p>中文搭建教程: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/jackmusk.eth/TREP1txQxQWIBskrHWS9EcpvH6yxN0uxvPDSahWObOM">https://mirror.xyz/jackmusk.eth/TREP1txQxQWIBskrHWS9EcpvH6yxN0uxvPDSahWObOM</a></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">自动安装版</h2><p>建议Ubuntu系统，运行以下命令:</p><pre data-type="codeBlock" text="curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Sui/devnet/install.sh &gt; sui.sh &amp;&amp; sudo chmod +x sui.sh &amp;&amp; ./sui.sh
"><code>curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Sui/devnet/install.sh > sui.sh &#x26;&#x26; sudo <span class="hljs-built_in">chmod</span> +x sui.sh &#x26;&#x26; ./sui.sh
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5dd088ba0606004bd7e3abefa109dde59049c5dd380cd7b009ed8707a02b28a3.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>按照顺序选择操作，就可以搭建Sui全节点。</p><p>节点跑起来后，使用 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://node.sui.zvalid.com/">https://node.sui.zvalid.com/</a> 检查节点状态</p><p>这一轮的测试没有激励，但是官方说下一轮会有激励，这一轮就当练手</p><p>值得注意的是，官方Discord <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vnj4gZru">https://discord.gg/vnj4gZru</a> 有一个 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://steem.buzz/trending/node-ip-application">#node-ip-application</a> 的频道，你可以把搭建成功的节点发到那个频道里面去，没准对下一轮被选上跑节点有什么帮助</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[运行Bundlr验证人节点(自动安装版)]]></title>
            <link>https://paragraph.com/@ericet/bundlr</link>
            <guid>b0WRF6AEN1s2WHJiKbTT</guid>
            <pubDate>Tue, 19 Jul 2022 19:23:24 GMT</pubDate>
            <description><![CDATA[image.png前几天宣布测试网上线, 但是不是有激励的测试网。官方说下一个测试网才是，先跑跑熟悉一下环境官方建议机器配置Memory: 8 GB RAMCPU: Quad-CoreDisk: 250 GB SSD StorageBandwidth: 1 Gbps for Download/100 Mbps for Upload官方搭建文档: https://docs.bundlr.network/docs/participate/Types of Nodes/Validator/validator-join 中文搭建文档: https://mirror.xyz/0x0c10e4d29945c634C718f361845eaeD5FdC2601C/uCEqcZEO1ECzvsbZnDGs2Chb9B-R9ExtSl6DIzdH4RU自动安装版：建议Ubuntu系统，运行以下命令:curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Bundlr/install.sh > bundlr.sh &#x26...]]></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/61e2b1ba164713319f2bcd8a41acb1f0bea829042c1050d840b07e8825abf556.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>前几天宣布测试网上线, 但是不是有激励的测试网。官方说下一个测试网才是，先跑跑熟悉一下环境</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方建议机器配置</h2><ul><li><p>Memory: 8 GB RAM</p></li><li><p>CPU: Quad-Core</p></li><li><p>Disk: 250 GB SSD Storage</p></li><li><p>Bandwidth: 1 Gbps for Download/100 Mbps for Upload</p></li></ul><p>官方搭建文档: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.bundlr.network/docs/participate/Types%20of%20Nodes/Validator/validator-join">https://docs.bundlr.network/docs/participate/Types of Nodes/Validator/validator-join</a></p><p>中文搭建文档: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x0c10e4d29945c634C718f361845eaeD5FdC2601C/uCEqcZEO1ECzvsbZnDGs2Chb9B-R9ExtSl6DIzdH4RU">https://mirror.xyz/0x0c10e4d29945c634C718f361845eaeD5FdC2601C/uCEqcZEO1ECzvsbZnDGs2Chb9B-R9ExtSl6DIzdH4RU</a></p><hr><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"></h2><p><strong>自动安装版</strong>：</p><hr><p>建议Ubuntu系统，运行以下命令:</p><pre data-type="codeBlock" text="curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Bundlr/install.sh &gt; bundlr.sh &amp;&amp; chmod +x bundlr.sh &amp;&amp; ./bundlr.sh
"><code>curl -s https://raw.githubusercontent.com/ericet/easynodes/master/Bundlr/install.sh > bundlr.sh &#x26;&#x26; <span class="hljs-built_in">chmod</span> +x bundlr.sh &#x26;&#x26; ./bundlr.sh
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6dfb63c90e054caf311d35806b48a2312536bfa3fdb80793f5f7ddb5499b6517.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>按照顺序选择操作，就可以搭建验证人节点。</p><p>查看验证人状态，如果显示下面的信息，代表你的验证人创建成功</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/31e305008c14b4720a3ac1fa489a7fcfb9d1c88639eee70900bf672676dfab61.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[Teritori自动复投脚本]]></title>
            <link>https://paragraph.com/@ericet/teritori-2</link>
            <guid>KMkueKkne6u5ahOGlxp4</guid>
            <pubDate>Sun, 17 Jul 2022 01:08:08 GMT</pubDate>
            <description><![CDATA[跑Cosmos生态的测试网节点，很多时候为了让节点保持活跃，大家火拼测试币的数量 除了水水龙头获得测试币之外，活跃验证人的节点奖励也是一个大头，如果可以自动复投节点奖励，将让你在拼测试币上获得先机 这里附上Teritori测试网的复投脚本(Cosmos生态其他的节点基本差不多，需要改几个参数就可以用)#!/bin/bash GREEN_COLOR='\033[0;32m' RED_COLOR='\033[0;31m' WITHOUT_COLOR='\033[0m' DELEGATOR_ADDRESS='钱包地址' VALIDATOR_ADDRESS='验证人地址' ACC_NAME='钱包名' PWD='钱包密码' DELAY=1800 #in secs — how often restart the script NODE="tcp://localhost:26657" #change it only if you use another rpc port of your node CHAIN_NAME="teritori-testnet-v2" for (( ;; )); d...]]></description>
            <content:encoded><![CDATA[<p>跑Cosmos生态的测试网节点，很多时候为了让节点保持活跃，大家火拼测试币的数量</p><p>除了水水龙头获得测试币之外，活跃验证人的节点奖励也是一个大头，如果可以自动复投节点奖励，将让你在拼测试币上获得先机</p><p>这里附上Teritori测试网的复投脚本(Cosmos生态其他的节点基本差不多，需要改几个参数就可以用)</p><pre data-type="codeBlock" text="#!/bin/bash
GREEN_COLOR=&apos;\033[0;32m&apos;
RED_COLOR=&apos;\033[0;31m&apos;
WITHOUT_COLOR=&apos;\033[0m&apos;
DELEGATOR_ADDRESS=&apos;钱包地址&apos;
VALIDATOR_ADDRESS=&apos;验证人地址&apos;
ACC_NAME=&apos;钱包名&apos; 
PWD=&apos;钱包密码&apos;
DELAY=1800 #in secs — how often restart the script
NODE=&quot;tcp://localhost:26657&quot; #change it only if you use another rpc port of your node
CHAIN_NAME=&quot;teritori-testnet-v2&quot;
for (( ;; )); do
echo -e &quot;Getting Rewards...&quot;
echo -e &quot;${PWD}\ny\n&quot; | teritorid tx distribution withdraw-rewards ${VALIDATOR_ADDRESS}  --chain-id ${CHAIN_NAME} --from ${DELEGATOR_ADDRESS} --gas=200000 --commission --yes
for (( timer=30; timer&gt;0; timer-- ))
do
printf &quot;* sleep for ${RED_COLOR}%02d${WITHOUT_COLOR} sec\r&quot; $timer
sleep 1
done
BAL=$(teritorid q bank balances ${DELEGATOR_ADDRESS} --node ${NODE} -o json | jq -r &apos;.balances | .[].amount&apos;);
echo -e &quot;Balance:${BAL}\n&quot;
echo -e &quot;BALANCE: ${GREEN_COLOR}${BAL}${WITHOUT_COLOR} utori\n&quot;
echo -e &quot;Stake ALL\n&quot;
if (( BAL &gt; 0 )); then
echo -e &quot;${PWD}\n${PWD}\n&quot; | teritorid tx staking delegate ${VALIDATOR_ADDRESS} ${BAL}utori --from ${DELEGATOR_ADDRESS} --gas=200000 --chain-id ${CHAIN_NAME} --yes
else
echo -e &quot;BALANCE: ${GREEN_COLOR}${BAL}${WITHOUT_COLOR} utori BAL &lt; 0 \n&quot;
fi
for (( timer=${DELAY}; timer&gt;0; timer--))
do
printf &quot;* sleep for ${RED_COLOR}%02d${WITHOUT_COLOR} sec\r&quot; $timer
sleep 1
done
done
"><code><span class="hljs-meta">#!/bin/bash</span>
GREEN_COLOR=<span class="hljs-string">'\033[0;32m'</span>
RED_COLOR=<span class="hljs-string">'\033[0;31m'</span>
WITHOUT_COLOR=<span class="hljs-string">'\033[0m'</span>
DELEGATOR_ADDRESS=<span class="hljs-string">'钱包地址'</span>
VALIDATOR_ADDRESS=<span class="hljs-string">'验证人地址'</span>
ACC_NAME=<span class="hljs-string">'钱包名'</span> 
PWD=<span class="hljs-string">'钱包密码'</span>
DELAY=1800 <span class="hljs-comment">#in secs — how often restart the script</span>
NODE=<span class="hljs-string">"tcp://localhost:26657"</span> <span class="hljs-comment">#change it only if you use another rpc port of your node</span>
CHAIN_NAME=<span class="hljs-string">"teritori-testnet-v2"</span>
<span class="hljs-keyword">for</span> (( ;; )); <span class="hljs-keyword">do</span>
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"Getting Rewards..."</span>
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"<span class="hljs-variable">${PWD}</span>\ny\n"</span> | teritorid tx distribution withdraw-rewards <span class="hljs-variable">${VALIDATOR_ADDRESS}</span>  --chain-id <span class="hljs-variable">${CHAIN_NAME}</span> --from <span class="hljs-variable">${DELEGATOR_ADDRESS}</span> --gas=200000 --commission --<span class="hljs-built_in">yes</span>
<span class="hljs-keyword">for</span> (( timer=<span class="hljs-number">30</span>; timer><span class="hljs-number">0</span>; timer-- ))
<span class="hljs-keyword">do</span>
<span class="hljs-built_in">printf</span> <span class="hljs-string">"* sleep for <span class="hljs-variable">${RED_COLOR}</span>%02d<span class="hljs-variable">${WITHOUT_COLOR}</span> sec\r"</span> <span class="hljs-variable">$timer</span>
<span class="hljs-built_in">sleep</span> 1
<span class="hljs-keyword">done</span>
BAL=$(teritorid q bank balances <span class="hljs-variable">${DELEGATOR_ADDRESS}</span> --node <span class="hljs-variable">${NODE}</span> -o json | jq -r <span class="hljs-string">'.balances | .[].amount'</span>);
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"Balance:<span class="hljs-variable">${BAL}</span>\n"</span>
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"BALANCE: <span class="hljs-variable">${GREEN_COLOR}</span><span class="hljs-variable">${BAL}</span><span class="hljs-variable">${WITHOUT_COLOR}</span> utori\n"</span>
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"Stake ALL\n"</span>
<span class="hljs-keyword">if</span> (( BAL > <span class="hljs-number">0</span> )); <span class="hljs-keyword">then</span>
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"<span class="hljs-variable">${PWD}</span>\n<span class="hljs-variable">${PWD}</span>\n"</span> | teritorid tx staking delegate <span class="hljs-variable">${VALIDATOR_ADDRESS}</span> <span class="hljs-variable">${BAL}</span>utori --from <span class="hljs-variable">${DELEGATOR_ADDRESS}</span> --gas=200000 --chain-id <span class="hljs-variable">${CHAIN_NAME}</span> --<span class="hljs-built_in">yes</span>
<span class="hljs-keyword">else</span>
<span class="hljs-built_in">echo</span> -e <span class="hljs-string">"BALANCE: <span class="hljs-variable">${GREEN_COLOR}</span><span class="hljs-variable">${BAL}</span><span class="hljs-variable">${WITHOUT_COLOR}</span> utori BAL &#x3C; 0 \n"</span>
<span class="hljs-keyword">fi</span>
<span class="hljs-keyword">for</span> (( timer=<span class="hljs-variable">${DELAY}</span>; timer><span class="hljs-number">0</span>; timer--))
<span class="hljs-keyword">do</span>
<span class="hljs-built_in">printf</span> <span class="hljs-string">"* sleep for <span class="hljs-variable">${RED_COLOR}</span>%02d<span class="hljs-variable">${WITHOUT_COLOR}</span> sec\r"</span> <span class="hljs-variable">$timer</span>
<span class="hljs-built_in">sleep</span> 1
<span class="hljs-keyword">done</span>
<span class="hljs-keyword">done</span>
</code></pre><p>需要自己填入“钱包地址&quot;, &quot;验证人地址” 和 “钱包密码“</p><p>这个脚本设置每1800秒（30分钟）自动领取收益并质押</p><p>由于Teritori链可以无手续操作，所以这个时间随便设置，反正没有手续费</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0883ec1ab99fd62ec4160526256f2545b8852e49fd720c848cceb3a6efc9e686.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[运行Teritori测试网节点]]></title>
            <link>https://paragraph.com/@ericet/teritori</link>
            <guid>uAjS7UioiBKyhMWnSN3K</guid>
            <pubDate>Thu, 14 Jul 2022 00:58:08 GMT</pubDate>
            <description><![CDATA[image.png前天才建立Discord的项目，Discord: https://discord.gg/gWGy6Z7K 目前只有twitter, discord和medium账号 具体做什么的也不太清楚，文章写的特别的空洞。说是旨在多链一体化的dApp 来增强 Web3 个人、社区和建设者的体验：https://medium.com/teritori/introducing-teritori-the-open-ecosystem-for-web3-communities-️-e9b9ba6f3d0 机子配置还好，有空闲的VPS可以跑跑看 注: 跑测试网节点没有奖励，所以人少，不卷，可以拿来练手官方推荐配置No. of CPUs: 2Memory: 2GBDisk: 80GB SSDOS: Ubuntu 18.04 LTS1.安装GO 1.17sudo rm -rf /usr/local/go; curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ; ca...]]></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/0f60ffca9456eaa35cf6c5f4f9185b703f9b197ba17afbbf6a2221ef99a38481.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>前天才建立Discord的项目，Discord: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/gWGy6Z7K">https://discord.gg/gWGy6Z7K</a></p><p>目前只有twitter, discord和medium账号</p><p>具体做什么的也不太清楚，文章写的特别的空洞。说是旨在多链一体化的dApp 来增强 Web3 个人、社区和建设者的体验：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/teritori/introducing-teritori-the-open-ecosystem-for-web3-communities-%EF%B8%8F-e9b9ba6f3d0">https://medium.com/teritori/introducing-teritori-the-open-ecosystem-for-web3-communities-️-e9b9ba6f3d0</a></p><p>机子配置还好，有空闲的VPS可以跑跑看</p><p><em>注: 跑测试网节点没有奖励，所以人少，不卷，可以拿来练手</em></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方推荐配置</h2><ul><li><p>No. of CPUs: 2</p></li><li><p>Memory: 2GB</p></li><li><p>Disk: 80GB SSD</p></li><li><p>OS: Ubuntu 18.04 LTS</p></li></ul><h2 id="h-1go-117" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">1.安装GO 1.17</h2><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
"><code>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;
curl https:<span class="hljs-comment">//dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;</span>
cat <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span><span class="hljs-string">'EOF'</span> <span class="hljs-operator">></span><span class="hljs-operator">></span>$HOME<span class="hljs-operator">/</span>.profile
export GOROOT<span class="hljs-operator">=</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go
export GOPATH<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>go
export GO111MODULE<span class="hljs-operator">=</span>on
export PATH<span class="hljs-operator">=</span>$PATH:<span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin:$HOME<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin
EOF
source $HOME<span class="hljs-operator">/</span>.profile
</code></pre><p>#安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><h2 id="h-2" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">2.安装其他必要的环境</h2><pre data-type="codeBlock" text="sudo apt-get update -y &amp;&amp; sudo apt-get upgrade -y;
sudo apt-get install build-essential -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt<span class="hljs-operator">-</span>get upgrade <span class="hljs-operator">-</span>y;
sudo apt<span class="hljs-operator">-</span>get install build<span class="hljs-operator">-</span>essential <span class="hljs-operator">-</span>y;
</code></pre><h2 id="h-3" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">3.下载源代码并编译</h2><pre data-type="codeBlock" text="cd $HOME
git clone https://github.com/TERITORI/teritori-chain.git
cd teritori-chain &amp;&amp; git checkout teritori-testnet-v2
make install
"><code><span class="hljs-built_in">cd</span> <span class="hljs-variable">$HOME</span>
git <span class="hljs-built_in">clone</span> https://github.com/TERITORI/teritori-chain.git
<span class="hljs-built_in">cd</span> teritori-chain &#x26;&#x26; git checkout teritori-testnet-v2
make install
</code></pre><p>安装完成后可以运行 teritorid version 检查是否安装成功</p><pre data-type="codeBlock" text="teritorid version 
"><code></code></pre><p>确定是这个版本: <code>teritori-testnet-v2-0f4e5cb1d529fa18971664891a9e8e4c114456c6</code></p><h2 id="h-4" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">4.初始节点</h2><pre data-type="codeBlock" text="teritorid init &lt;moniker&gt; 
"><code>teritorid <span class="hljs-keyword">init</span> &#x3C;moniker> 
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的名字</p><h2 id="h-5key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">5.创建key</h2><pre data-type="codeBlock" text="teritorid keys add &lt;your key name&gt; 
"><code>teritorid keys add <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span> 
</code></pre><p>*<code>&lt;yourKeyName&gt;</code>改成你要设置的钱包名</p><h2 id="h-6genesisjson" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">6.下载genesis.json</h2><pre data-type="codeBlock" text="curl https://raw.githubusercontent.com/TERITORI/teritori-chain/teritori-testnet-v2/genesis/genesis.json &gt; ~/.teritorid/config/genesis.json
"><code>curl https://raw.githubusercontent.com/TERITORI/teritori-chain/teritori-testnet-v2/genesis/genesis.json > ~/.teritorid/config/genesis.json
</code></pre><h2 id="h-7peers" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">7.添加Peers</h2><p>修改 .teritorid/config/config.toml</p><pre data-type="codeBlock" text="persistent_peers=&quot;[email protected]:26656,[email protected]:26656,[email protected]:26656&quot;
"><code><span class="hljs-attr">persistent_peers</span>=<span class="hljs-string">"[email protected]:26656,[email protected]:26656,[email protected]:26656"</span>
</code></pre><h2 id="h-8" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">8.创建后台运行服务</h2><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/teritorid.service &gt; /dev/null &lt;&lt;EOF  
[Unit]
Description=TeritoriTestnet
After=network-online.target

[Service]
User=root
ExecStart=/root/go/bin/teritorid start
Restart=always
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF
"><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>teritorid.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>TeritoriTestnet
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target

[Service]
User<span class="hljs-operator">=</span>root
ExecStart<span class="hljs-operator">=</span><span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>teritorid start
Restart<span class="hljs-operator">=</span>always
RestartSec<span class="hljs-operator">=</span><span class="hljs-number">3</span>
LimitNOFILE<span class="hljs-operator">=</span><span class="hljs-number">4096</span>

[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><p>创建好后，更新，开启节点服务</p><pre data-type="codeBlock" text="sudo -S systemctl daemon-reload
sudo -S systemctl enable teritorid.service
sudo -S systemctl start teritorid.service
"><code>sudo <span class="hljs-operator">-</span>S systemctl daemon<span class="hljs-operator">-</span>reload
sudo <span class="hljs-operator">-</span>S systemctl enable teritorid.service
sudo <span class="hljs-operator">-</span>S systemctl start teritorid.service
</code></pre><p>上面的命令运行好后，你的节点就开启了</p><p>用下面命令查看服务：</p><p>查看服务状态</p><pre data-type="codeBlock" text="systemctl status teritorid
"><code>systemctl <span class="hljs-built_in">status</span> teritorid
</code></pre><p>查看服务日志</p><pre data-type="codeBlock" text="journalctl -u teritorid -f
"><code>journalctl <span class="hljs-operator">-</span>u teritorid <span class="hljs-operator">-</span>f
</code></pre><p>查看节点同步状态</p><pre data-type="codeBlock" text="teritorid status
"><code>teritorid <span class="hljs-built_in">status</span>
</code></pre><p>如果catching_up = false 代表节点同步完成</p><h2 id="h-9" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">9.获得测试币</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/gWGy6Z7K">Teritori Discord</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://steem.buzz/trending/faucet">#faucet</a> 里面发<code>$request 地址</code>获得1TOR测试币</p><h2 id="h-10" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">10.上线验证人</h2><p>等你的节点同步好并且获得测试币后，可以运行下面命令上线你的验证人:</p><pre data-type="codeBlock" text="teritorid tx staking create-validator \
    --amount=1000000utori \
    --pubkey=$(teritorid tendermint show-validator) \
    --moniker=&lt;moniker&gt; \
    --chain-id=teritori-testnet-v2 \
    --from=&lt;yourKeyName&gt; \
    --commission-rate=&quot;0.10&quot; \
    --commission-max-rate=&quot;0.20&quot; \
    --commission-max-change-rate=&quot;0.01&quot; \
    --min-self-delegation=&quot;1&quot; 
"><code>teritorid <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>1000000utori \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$(teritorid tendermint show<span class="hljs-operator">-</span>validator) \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>teritori<span class="hljs-operator">-</span>testnet<span class="hljs-operator">-</span>v2 \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>yourKeyName<span class="hljs-operator">></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-string">"1"</span> 
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的名字*<code>&lt;yourKeyName&gt;</code>改成你要设置的钱包名</p><p>通过浏览器查看节点是否上线:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.ericet.xyz/teritori/staking">https://explorer.ericet.xyz/teritori/staking</a></p><p>如果看到你的moniker，说明你的节点已经在线了</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[运行Sei激励测试网节点]]></title>
            <link>https://paragraph.com/@ericet/sei</link>
            <guid>XwSi3OfHuzOqkK4KuED7</guid>
            <pubDate>Tue, 12 Jul 2022 13:41:50 GMT</pubDate>
            <description><![CDATA[image.png昨天Sei激励测试网上线了，选的创世节点基本是之前跑过他们测试网的验证人，所以不知道让其他人填表格提交gentx的意义何在 和其他Cosmos生态的节点稍微有点不同，活跃节点的数量在50个，并且采用轮流制。每几天换一批活跃节点，所以没被选上创世节点也没事，先运行好节点，等被选上活跃节点(具体官方怎么操作不清楚，关注discord吧) 要进入活跃节点的名单，需要填https://docs.google.com/forms/d/e/1FAIpQLSfD-FWT3VrxtYAAmUiwwX5Zbw3mzkZoT6pV0ZAXYqu1yUNtEw/viewform运行节点如果你之前按照我的教程创建了gentx，那可以跳过步骤1-5，从第6步开始1.安装GO 1.17sudo rm -rf /usr/local/go; curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ; cat &#x3C;&#x3C;'EOF' >>$HOME/.profile...]]></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/5ba54f152997ceb6ad908dddf7aeefbb06ade1ce9eb740c2a6c696191071e32e.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>昨天Sei激励测试网上线了，选的创世节点基本是之前跑过他们测试网的验证人，所以不知道让其他人填表格提交gentx的意义何在</p><p>和其他Cosmos生态的节点稍微有点不同，活跃节点的数量在50个，并且采用轮流制。每几天换一批活跃节点，所以没被选上创世节点也没事，先运行好节点，等被选上活跃节点(具体官方怎么操作不清楚，关注discord吧)</p><p>要进入活跃节点的名单，需要填<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLSfD-FWT3VrxtYAAmUiwwX5Zbw3mzkZoT6pV0ZAXYqu1yUNtEw/viewform">https://docs.google.com/forms/d/e/1FAIpQLSfD-FWT3VrxtYAAmUiwwX5Zbw3mzkZoT6pV0ZAXYqu1yUNtEw/viewform</a></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://mirror.xyz/ericet.eth/bWEuEuDFt2HpO3Vd1E_Bn2twzp15PeelzJsqmWEzbhw">教程创建了gentx</a>，那可以跳过步骤1-5，从第6步开始</p><h2 id="h-1go-117" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">1.安装GO 1.17</h2><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
"><code>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;
curl https:<span class="hljs-comment">//dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;</span>
cat <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span><span class="hljs-string">'EOF'</span> <span class="hljs-operator">></span><span class="hljs-operator">></span>$HOME<span class="hljs-operator">/</span>.profile
export GOROOT<span class="hljs-operator">=</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go
export GOPATH<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>go
export GO111MODULE<span class="hljs-operator">=</span>on
export PATH<span class="hljs-operator">=</span>$PATH:<span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin:$HOME<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin
EOF
source $HOME<span class="hljs-operator">/</span>.profile
</code></pre><p>#安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><h2 id="h-2" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">2.安装其他必要的环境</h2><pre data-type="codeBlock" text="sudo apt-get update -y &amp;&amp; sudo apt-get upgrade -y;
sudo apt-get install build-essential -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt<span class="hljs-operator">-</span>get upgrade <span class="hljs-operator">-</span>y;
sudo apt<span class="hljs-operator">-</span>get install build<span class="hljs-operator">-</span>essential <span class="hljs-operator">-</span>y;
</code></pre><h2 id="h-3" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">3.下载源代码并编译</h2><pre data-type="codeBlock" text="cd $HOME
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain &amp;&amp; git checkout 1.0.6beta
make install
"><code>cd $HOME
git clone https:<span class="hljs-comment">//github.com/sei-protocol/sei-chain.git</span>
cd sei<span class="hljs-operator">-</span>chain <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> git checkout <span class="hljs-number">1.0</span>.6beta
make install
</code></pre><p>安装完成后可以运行 seid version 检查是否安装成功</p><pre data-type="codeBlock" text="seid version 
"><code></code></pre><h2 id="h-4" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">4.初始节点</h2><pre data-type="codeBlock" text="seid init &lt;moniker&gt; --chain-id=atlantic-1
"><code>seid init <span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>atlantic<span class="hljs-number">-1</span>
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的名字</p><h2 id="h-5key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">5.创建key</h2><pre data-type="codeBlock" text="seid keys add &lt;your key name&gt; 
"><code>seid keys add <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span> 
</code></pre><p>*<code>&lt;yourKeyName&gt;</code>改成你要设置的钱包名</p><h2 id="h-6genesisjson-addrbookjson" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">6.下载genesis.json 和addrbook.json</h2><pre data-type="codeBlock" text="curl https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-incentivized-testnet/genesis.json &gt; ~/.sei/config/genesis.json
curl https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-incentivized-testnet/addrbook.json &gt; ~/.sei/config/addrbook.json
"><code>curl <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/sei</span>-protocol/testnet/master/sei-incentivized-testnet/genesis.json > ~<span class="hljs-regexp">/.sei/config</span><span class="hljs-regexp">/genesis.json
curl https:/</span><span class="hljs-regexp">/raw.githubusercontent.com/sei</span>-protocol/testnet/master/sei-incentivized-testnet/addrbook.json > ~<span class="hljs-regexp">/.sei/config</span><span class="hljs-regexp">/addrbook.json
</span></code></pre><h2 id="h-7" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">7.创建后台运行服务</h2><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/seid.service &gt; /dev/null &lt;&lt;EOF  
[Unit]
Description=Sei Testnet
After=network-online.target

[Service]
User=root
ExecStart=/root/go/bin/seid start
Restart=always
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF
"><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>seid.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>Sei Testnet
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target

[Service]
User<span class="hljs-operator">=</span>root
ExecStart<span class="hljs-operator">=</span><span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>seid start
Restart<span class="hljs-operator">=</span>always
RestartSec<span class="hljs-operator">=</span><span class="hljs-number">3</span>
LimitNOFILE<span class="hljs-operator">=</span><span class="hljs-number">4096</span>

[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><p>创建好后，更新，开启节点服务</p><pre data-type="codeBlock" text="sudo -S systemctl daemon-reload
sudo -S systemctl enable seid.service
sudo -S systemctl start seid.service
"><code>sudo <span class="hljs-operator">-</span>S systemctl daemon<span class="hljs-operator">-</span>reload
sudo <span class="hljs-operator">-</span>S systemctl enable seid.service
sudo <span class="hljs-operator">-</span>S systemctl start seid.service
</code></pre><p>上面的命令运行好后，你的节点就开启了</p><p>用下面命令查看服务：</p><p>查看服务状态</p><pre data-type="codeBlock" text="systemctl status seid
"><code>systemctl <span class="hljs-built_in">status</span> seid
</code></pre><p>查看服务日志</p><pre data-type="codeBlock" text="journalctl -u seid -f
"><code>journalctl <span class="hljs-operator">-</span>u seid <span class="hljs-operator">-</span>f
</code></pre><p>查看节点同步状态</p><pre data-type="codeBlock" text="seid status
"><code>seid <span class="hljs-built_in">status</span>
</code></pre><p>如果catching_up = false 代表节点同步完成</p><h2 id="h-8" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">8.获得测试币</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/tvJpXe4z">Sei Discord</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://steem.buzz/trending/altantic-1-faucet">#altantic-1-faucet</a> 里面发<code>!faucet 地址</code>要测试币</p><h2 id="h-9" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">9.上线验证人</h2><p>等你的节点同步好并且获得测试币后，可以运行下面命令上线你的验证人:</p><pre data-type="codeBlock" text="seid tx staking create-validator \
    --amount=1000000usei \
    --pubkey=$(seid tendermint show-validator)\
    --moniker=&lt;moniker&gt;\
    --chain-id=atlantic-1\
    --from=&lt;yourKeyName&gt; \
    --commission-rate=&quot;0.10&quot; \
    --commission-max-rate=&quot;0.20&quot; \
    --commission-max-change-rate=&quot;0.01&quot; \
    --min-self-delegation=&quot;1&quot; \
    --fees=&quot;2000usei&quot;
"><code>seid <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>1000000usei \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$(seid tendermint show<span class="hljs-operator">-</span>validator)\
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></span>\
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>atlantic<span class="hljs-number">-1</span>\
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>yourKeyName<span class="hljs-operator">></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-string">"1"</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees<span class="hljs-operator">=</span><span class="hljs-string">"2000usei"</span>
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的名字*<code>&lt;yourKeyName&gt;</code>改成你要设置的钱包名</p><p>节点运行好了，等着官方代理</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">一些注意事项</h2><ul><li><p>测试网的出块速度比较快（0.7秒一块), 所以推荐用SSD，不然读写速度太慢影响出块</p></li><li><p>官方推荐1TB的存储有点过大，因为测试网基本没多少交易，估计500GB就足够了</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">一些链接</h2><ul><li><p>测试网任务：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://3pgv.notion.site/All-Testnet-Missions-16c0a40320244c24b0bc3f663c0cf00b?v=545d9a9850334d618c59cb5de3e33bbb">https://3pgv.notion.site/All-Testnet-Missions-16c0a40320244c24b0bc3f663c0cf00b?v=545d9a9850334d618c59cb5de3e33bbb</a></p></li><li><p>测试网浏览器：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://sei.explorers.guru/">https://sei.explorers.guru/</a></p></li><li><p>官方节点部署指南: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.seinetwork.io/nodes-and-validators/seinami-incentivized-testnet/joining-incentivized-testnet">https://docs.seinetwork.io/nodes-and-validators/seinami-incentivized-testnet/joining-incentivized-testnet</a></p></li></ul>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[BlockPI 测试网节点搭建]]></title>
            <link>https://paragraph.com/@ericet/blockpi</link>
            <guid>39AaGQgyrdJGjaKEtVJL</guid>
            <pubDate>Sun, 10 Jul 2022 15:10:51 GMT</pubDate>
            <description><![CDATA[image.pngBlockPI 是web3.0的基础设施项目，目的是为开发者提供多个链网络的去中心基础设施服务 目前正在测试网测试，跑起来不难，就是需要的机子配置要求很高 这是官方要求的配置：CPU with 6 cores32GB RAM4TB SSD运行Klaytn节点搭建节点的大部分时间要浪费在运行Klaytn节点上，因为目前节点备份，解压后就要占据了2TB的硬盘空间安装version=v1.8.4 wget https://packages.klaytn.net/klaytn/$version/ken-$version-0-linux-amd64.tar.gz tar zxf ken-$version-0-linux-amd64.tar.gz mv ken-linux-amd64/bin/ken /usr/local/bin/ken rm -rf ken-linux-amd64 ken-$version-0-linux-amd64.tar.gz 下载Klaytn节点备份mkdir -p /node/full/klaytn/ 到https://packages.klayt...]]></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/6036b559094263248103f1c0694456b51e2a96f496c760ac32a5f4cfdcb8bf00.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>BlockPI 是web3.0的基础设施项目，目的是为开发者提供多个链网络的去中心基础设施服务</p><p>目前正在测试网测试，跑起来不难，就是需要的机子配置要求很高</p><p>这是官方要求的配置：</p><ul><li><p>CPU with 6 cores</p></li><li><p>32GB RAM</p></li><li><p>4TB SSD</p></li></ul><h2 id="h-klaytn" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行Klaytn节点</h2><p>搭建节点的大部分时间要浪费在运行Klaytn节点上，因为目前节点备份，解压后就要占据了2TB的硬盘空间</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装</h3><pre data-type="codeBlock" text="version=v1.8.4
wget https://packages.klaytn.net/klaytn/$version/ken-$version-0-linux-amd64.tar.gz
tar zxf ken-$version-0-linux-amd64.tar.gz
mv ken-linux-amd64/bin/ken /usr/local/bin/ken
rm -rf ken-linux-amd64 ken-$version-0-linux-amd64.tar.gz
"><code>version<span class="hljs-operator">=</span>v1<span class="hljs-number">.8</span><span class="hljs-number">.4</span>
wget https:<span class="hljs-comment">//packages.klaytn.net/klaytn/$version/ken-$version-0-linux-amd64.tar.gz</span>
tar zxf ken<span class="hljs-operator">-</span>$version<span class="hljs-number">-0</span><span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>amd64.tar.gz
mv ken<span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>amd64<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>ken <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>ken
rm <span class="hljs-operator">-</span>rf ken<span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>amd64 ken<span class="hljs-operator">-</span>$version<span class="hljs-number">-0</span><span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>amd64.tar.gz
</code></pre><h3 id="h-klaytn" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载Klaytn节点备份</h3><pre data-type="codeBlock" text="mkdir -p /node/full/klaytn/
"><code>mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">/</span>node<span class="hljs-operator">/</span>full<span class="hljs-operator">/</span>klaytn<span class="hljs-operator">/</span>
</code></pre><p>到<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://packages.klaytn.net/cypress/chaindata/">https://packages.klaytn.net/cypress/chaindata/</a> 找到最新的备份下载到 /node/full/klaytn/</p><p>备份要600多GB，所以需要一段时间下载</p><p>下载好后，运行</p><pre data-type="codeBlock" text="tar -xvf 文件名
"><code>tar <span class="hljs-operator">-</span>xvf 文件名
</code></pre><p>解压备份，解压后的文件大概2TB</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">运行节点</h3><pre data-type="codeBlock" text="/usr/local/bin/ken --cypress --datadir /node/full/klaytn/ --syncmode full --gcmode full --multichannel --srvtype fasthttp --txpool.exec-slots.all 4096 --txpool.nonexec-slots.all 4096 --txpool.exec-slots.account 4096 --txpool.nonexec-slots.account 4096 --rpc --rpcaddr &quot;localhost&quot; --rpc.concurrencylimit 60000 --rpcapi &quot;debug,klay,eth,personal,rpc,txpool,web3,net&quot; --rpccorsdomain all --rpcvhosts all --ws --wsaddr &quot;localhost&quot; --wsapi &quot;klay,eth,personal,rpc,txpool,web3&quot; --wsorigins all --metrics --prometheus --port 31270 --rpcport 31271 --wsport 31272 --subport 31274 --prometheusport 31275
"><code><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>ken <span class="hljs-operator">-</span><span class="hljs-operator">-</span>cypress <span class="hljs-operator">-</span><span class="hljs-operator">-</span>datadir <span class="hljs-operator">/</span>node<span class="hljs-operator">/</span>full<span class="hljs-operator">/</span>klaytn<span class="hljs-operator">/</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>syncmode full <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gcmode full <span class="hljs-operator">-</span><span class="hljs-operator">-</span>multichannel <span class="hljs-operator">-</span><span class="hljs-operator">-</span>srvtype fasthttp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.exec-slots.all <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.nonexec-slots.all <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.exec-slots.account <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.nonexec-slots.account <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcaddr <span class="hljs-string">"localhost"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc.concurrencylimit <span class="hljs-number">60000</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcapi <span class="hljs-string">"debug,klay,eth,personal,rpc,txpool,web3,net"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpccorsdomain all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcvhosts all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>ws <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsaddr <span class="hljs-string">"localhost"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsapi <span class="hljs-string">"klay,eth,personal,rpc,txpool,web3"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsorigins all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>metrics <span class="hljs-operator">-</span><span class="hljs-operator">-</span>prometheus <span class="hljs-operator">-</span><span class="hljs-operator">-</span>port <span class="hljs-number">31270</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcport <span class="hljs-number">31271</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsport <span class="hljs-number">31272</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>subport <span class="hljs-number">31274</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>prometheusport <span class="hljs-number">31275</span>
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">背后运行节点</h3><pre data-type="codeBlock" text="cat &gt; /etc/systemd/system/klaytn.service &lt;&lt; EOF
[Unit]
Description=daemon
After=network-online.target

[Service]
User=root
ExecStart=/usr/local/bin/ken --cypress --datadir /node/full/klaytn/ --syncmode full --gcmode full --multichannel --srvtype fasthttp --txpool.exec-slots.all 4096 --txpool.nonexec-slots.all 4096 --txpool.exec-slots.account 4096 --txpool.nonexec-slots.account 4096 --rpc --rpcaddr &quot;localhost&quot; --rpc.concurrencylimit 60000 --rpcapi &quot;debug,klay,eth,personal,rpc,txpool,web3,net&quot; --rpccorsdomain all --rpcvhosts all --ws --wsaddr &quot;localhost&quot; --wsapi &quot;klay,eth,personal,rpc,txpool,web3&quot; --wsorigins all --metrics --prometheus --port 31270 --rpcport 31271 --wsport 31272 --subport 31274 --prometheusport 31275
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

# Auto-start when os startup
systemctl enable klaytn

# Run Klaytn Endpoint
systemctl start klaytn
"><code>cat <span class="hljs-operator">></span> <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>systemd<span class="hljs-operator">/</span>system<span class="hljs-operator">/</span>klaytn.service <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span> EOF
[Unit]
Description<span class="hljs-operator">=</span>daemon
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target

[Service]
User<span class="hljs-operator">=</span>root
ExecStart<span class="hljs-operator">=</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>ken <span class="hljs-operator">-</span><span class="hljs-operator">-</span>cypress <span class="hljs-operator">-</span><span class="hljs-operator">-</span>datadir <span class="hljs-operator">/</span>node<span class="hljs-operator">/</span>full<span class="hljs-operator">/</span>klaytn<span class="hljs-operator">/</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>syncmode full <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gcmode full <span class="hljs-operator">-</span><span class="hljs-operator">-</span>multichannel <span class="hljs-operator">-</span><span class="hljs-operator">-</span>srvtype fasthttp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.exec-slots.all <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.nonexec-slots.all <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.exec-slots.account <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>txpool.nonexec-slots.account <span class="hljs-number">4096</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcaddr <span class="hljs-string">"localhost"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc.concurrencylimit <span class="hljs-number">60000</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcapi <span class="hljs-string">"debug,klay,eth,personal,rpc,txpool,web3,net"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpccorsdomain all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcvhosts all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>ws <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsaddr <span class="hljs-string">"localhost"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsapi <span class="hljs-string">"klay,eth,personal,rpc,txpool,web3"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsorigins all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>metrics <span class="hljs-operator">-</span><span class="hljs-operator">-</span>prometheus <span class="hljs-operator">-</span><span class="hljs-operator">-</span>port <span class="hljs-number">31270</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpcport <span class="hljs-number">31271</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>wsport <span class="hljs-number">31272</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>subport <span class="hljs-number">31274</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>prometheusport <span class="hljs-number">31275</span>
Restart<span class="hljs-operator">=</span>on<span class="hljs-operator">-</span>failure
RestartSec<span class="hljs-operator">=</span><span class="hljs-number">5</span>
LimitNOFILE<span class="hljs-operator">=</span><span class="hljs-number">65536</span>

[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF

# Auto<span class="hljs-operator">-</span>start when os startup
systemctl enable klaytn

# Run Klaytn Endpoint
systemctl start klaytn
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">查看节点同步状态</h3><pre data-type="codeBlock" text="ken attach /node/full/klaytn/klay.ipc
klay.syncing
klay.blockNumber
"><code>ken attach <span class="hljs-operator">/</span>node<span class="hljs-operator">/</span>full<span class="hljs-operator">/</span>klaytn<span class="hljs-operator">/</span>klay.ipc
klay.syncing
klay.blockNumber
</code></pre><p>如果klay.syncing 命令显示的结果是 false, 那就代表同步成功，可以安装HyperNode了</p><h2 id="h-hypernode" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装HyperNode</h2><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载</h3><pre data-type="codeBlock" text="mkdir ~/HyperNode
cd ~/HyperNode
version=`wget -qO- -t1 -T2 &quot;https://api.github.com/repos/BlockPILabs/testnets/releases/latest&quot; | grep &quot;tag_name&quot; | head -n 1 | awk -F &quot;:&quot; &apos;{print $2}&apos; | sed &apos;s/\&quot;//g;s/,//g;s/ //g&apos;`
wget https://github.com/BlockPILabs/testnets/releases/download/${version}/HyperNode
wget https://github.com/BlockPILabs/testnets/releases/download/${version}/config.yml
chmod +x ./HyperNode
mv ./HyperNode /usr/local/bin/
"><code>mkdir <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode
cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode
version<span class="hljs-operator">=</span>`wget <span class="hljs-operator">-</span>qO<span class="hljs-operator">-</span> <span class="hljs-operator">-</span>t1 <span class="hljs-operator">-</span>T2 <span class="hljs-string">"https://api.github.com/repos/BlockPILabs/testnets/releases/latest"</span> <span class="hljs-operator">|</span> grep <span class="hljs-string">"tag_name"</span> <span class="hljs-operator">|</span> head <span class="hljs-operator">-</span>n <span class="hljs-number">1</span> <span class="hljs-operator">|</span> awk <span class="hljs-operator">-</span>F <span class="hljs-string">":"</span> <span class="hljs-string">'{print $2}'</span> <span class="hljs-operator">|</span> sed <span class="hljs-string">'s/\"//g;s/,//g;s/ //g'</span>`
wget https:<span class="hljs-comment">//github.com/BlockPILabs/testnets/releases/download/${version}/HyperNode</span>
wget https:<span class="hljs-comment">//github.com/BlockPILabs/testnets/releases/download/${version}/config.yml</span>
chmod <span class="hljs-operator">+</span>x ./HyperNode
mv ./HyperNode <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">初始化</h3><pre data-type="codeBlock" text="cd ~/HyperNode
HyperNode init
"><code>cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode
HyperNode init
</code></pre><p>创建passwd.txt文件，{密码} 代入上面初始输入的地址</p><pre data-type="codeBlock" text="echo &apos;{密码}&apos; &gt; ~/HyperNode/passwd.txt
"><code>echo <span class="hljs-string">'{密码}'</span> <span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode<span class="hljs-operator">/</span>passwd.txt
</code></pre><h3 id="h-configyml" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">设置config.yml</h3><pre data-type="codeBlock" text="# 填你钱包的地址，需要用这个钱包登陆网站查看节点状态
provider: &quot;0x**************&quot;

# {beacon_ip} 选择一个ip填入：
# 141.95.205.50
# 15.235.145.122
# 15.235.11.42
beacon: 
[ &quot;{beacon_ip}:9090&quot; ]

# {name} 填入你节点的名字
name: &quot;{name}&quot;
"><code><span class="hljs-comment"># 填你钱包的地址，需要用这个钱包登陆网站查看节点状态</span>
<span class="hljs-section">provider: "0x**************"</span>

<span class="hljs-comment"># {beacon_ip} 选择一个ip填入：</span>
<span class="hljs-comment"># 141.95.205.50</span>
<span class="hljs-comment"># 15.235.145.122</span>
<span class="hljs-comment"># 15.235.11.42</span>
<span class="hljs-section">beacon: </span>
[ <span class="hljs-string">"{beacon_ip}:9090"</span> ]

<span class="hljs-comment"># {name} 填入你节点的名字</span>
<span class="hljs-section">name: "{name}"</span>
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">运行节点</h3><pre data-type="codeBlock" text="cd ~/HyperNode
HyperNode --datadir ~/HyperNode --keystore_path ~/HyperNode/keystore/key --password_path passwd.txt
"><code>cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode
HyperNode <span class="hljs-operator">-</span><span class="hljs-operator">-</span>datadir <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keystore_path <span class="hljs-operator">~</span><span class="hljs-operator">/</span>HyperNode<span class="hljs-operator">/</span>keystore<span class="hljs-operator">/</span>key <span class="hljs-operator">-</span><span class="hljs-operator">-</span>password_path passwd.txt
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">背后运行节点</h3><pre data-type="codeBlock" text="cat &gt; /etc/systemd/system/HyperNode.service &lt;&lt; EOF
[Unit]
Description=daemon
After=network-online.target

[Service]
User=root
WorkingDirectory=/root/HyperNode
ExecStart=/usr/local/bin/HyperNode --datadir /root/HyperNode --keystore_path keystore/key --password_path passwd.txt
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

systemctl enable HyperNode
systemctl start HyperNode
"><code>cat <span class="hljs-operator">></span> <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>systemd<span class="hljs-operator">/</span>system<span class="hljs-operator">/</span>HyperNode.service <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span> EOF
[Unit]
Description<span class="hljs-operator">=</span>daemon
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target

[Service]
User<span class="hljs-operator">=</span>root
WorkingDirectory<span class="hljs-operator">=</span><span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>HyperNode
ExecStart<span class="hljs-operator">=</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>HyperNode <span class="hljs-operator">-</span><span class="hljs-operator">-</span>datadir <span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>HyperNode <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keystore_path keystore<span class="hljs-operator">/</span>key <span class="hljs-operator">-</span><span class="hljs-operator">-</span>password_path passwd.txt
LimitNOFILE<span class="hljs-operator">=</span><span class="hljs-number">65536</span>

[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF

systemctl enable HyperNode
systemctl start HyperNode
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">查看节点日志</h3><pre data-type="codeBlock" text="journalctl -u HyperNode -f
"><code>journalctl <span class="hljs-operator">-</span>u HyperNode <span class="hljs-operator">-</span>f
</code></pre>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[迁移Evmos验证人节点 ]]></title>
            <link>https://paragraph.com/@ericet/evmos-2</link>
            <guid>WGa4wc4GMD4K4iTo7wXV</guid>
            <pubDate>Sun, 10 Jul 2022 15:10:13 GMT</pubDate>
            <description><![CDATA[前几天，Evmos节点升级，其中一个主要的更新是缩短出块的速度。从之前的大概6秒每块，缩短到大概2秒每块 由于大幅缩短了出块速度，之前跑Evmos验证人的服务器显然跟不上出块的速度，频繁的丢块。一丢块，就跟不上同步速度，导致连续的丢块 尝试调整不同的节点设置，都不能解决连续丢块的问题，所以决定更换服务器，换一个NVMe SSD的服务器，因为之前的服务器丢块很大原因是硬盘读写速度跟不上同步速度。 迁移过程还算顺利。迁移Evmos验证人节点后，丢块的次数大大降低了。image.png这里写一下迁移Evmos验证人节点的过程：安装GO 1.17sudo rm -rf /usr/local/go; curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ; cat &#x3C;&#x3C;'EOF' >>$HOME/.profile export GOROOT=/usr/local/go export GOPATH=$HOME/go export GO111MODULE...]]></description>
            <content:encoded><![CDATA[<p>前几天，Evmos节点升级，其中一个主要的更新是缩短出块的速度。从之前的大概6秒每块，缩短到大概2秒每块</p><p>由于大幅缩短了出块速度，之前跑Evmos验证人的服务器显然跟不上出块的速度，频繁的丢块。一丢块，就跟不上同步速度，导致连续的丢块</p><p>尝试调整不同的节点设置，都不能解决连续丢块的问题，所以决定更换服务器，换一个NVMe SSD的服务器，因为之前的服务器丢块很大原因是硬盘读写速度跟不上同步速度。</p><p>迁移过程还算顺利。迁移Evmos验证人节点后，丢块的次数大大降低了。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/aa27d4377b7d7883ceebfd53f691bca2191664856c9b28e7a21b3bd6e13d28a5.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>这里写一下迁移Evmos验证人节点的过程：</p><h2 id="h-go-117" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装GO 1.17</h2><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
"><code>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;
curl https:<span class="hljs-comment">//dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;</span>
cat <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span><span class="hljs-string">'EOF'</span> <span class="hljs-operator">></span><span class="hljs-operator">></span>$HOME<span class="hljs-operator">/</span>.profile
export GOROOT<span class="hljs-operator">=</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go
export GOPATH<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>go
export GO111MODULE<span class="hljs-operator">=</span>on
export PATH<span class="hljs-operator">=</span>$PATH:<span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin:$HOME<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin
EOF
source $HOME<span class="hljs-operator">/</span>.profile
</code></pre><p>#安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装其他必要的环境</h2><pre data-type="codeBlock" text="sudo apt-get update -y &amp;&amp; sudo apt-get upgrade -y;
sudo apt-get install build-essential -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt<span class="hljs-operator">-</span>get upgrade <span class="hljs-operator">-</span>y;
sudo apt<span class="hljs-operator">-</span>get install build<span class="hljs-operator">-</span>essential <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><pre data-type="codeBlock" text="git clone https://github.com/tharsis/evmos
cd evmos &amp;&amp; git checkout tags/v6.0.1 
make install
"><code>git <span class="hljs-built_in">clone</span> https://github.com/tharsis/evmos
<span class="hljs-built_in">cd</span> evmos &#x26;&#x26; git checkout tags/v6.0.1 
make install
</code></pre><p>安装完成后可以运行 evmosd version --long 检查是否安装成功</p><pre data-type="codeBlock" text="evmosd version --long

name: evmos
server_name: evmosd
version: 6.0.1
"><code>evmosd version --<span class="hljs-type">long</span>

<span class="hljs-symbol">name:</span> evmos
<span class="hljs-symbol">server_name:</span> evmosd
<span class="hljs-symbol">version:</span> <span class="hljs-number">6.0</span>.<span class="hljs-number">1</span>
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">初始节点</h2><pre data-type="codeBlock" text="evmosd init &lt;moniker&gt; --chain-id=evmos_9001-2
"><code>evmosd init <span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>evmos_9001<span class="hljs-number">-2</span>
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的名字</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">导入钱包</h2><pre data-type="codeBlock" text="evmosd keys add &lt;your key name&gt; --recover 
"><code>evmosd keys add <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>recover 
</code></pre><p>*<code>&lt;yourKeyName&gt;</code>改成你要设置的钱包名</p><h2 id="h-genesisjson" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">下载genesis.json</h2><pre data-type="codeBlock" text="curl https://archive.evmos.org/mainnet/genesis.json&gt; ~/.evmosd/config/genesis.json
"><code>curl https://archive.evmos.org/mainnet/genesis.json> ~/.evmosd/config/genesis.json
</code></pre><h2 id="h-genesis" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">检查Genesis文件是否正确</h2><pre data-type="codeBlock" text="cd ~/.evmosd/config
echo &quot;4aa13da5eb4b9705ae8a7c3e09d1c36b92d08247dad2a6ed1844d031fcfe296c genesis.json&quot; | sha256sum -c
"><code>cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/config
echo <span class="hljs-string">"4aa13da5eb4b9705ae8a7c3e09d1c36b92d08247dad2a6ed1844d031fcfe296c genesis.json"</span> <span class="hljs-operator">|</span> sha256sum <span class="hljs-operator">-</span>c
</code></pre><h2 id="h-apptoml" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">修改app.toml</h2><pre data-type="codeBlock" text="nano ~/.evmosd/config/app.toml
"><code>nano <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/config<span class="hljs-operator">/</span>app.toml
</code></pre><p>修改以下设置：</p><pre data-type="codeBlock" text="minimum-gas-prices = &quot;25000000000aevmos&quot;
pruning = &quot;custom&quot;
pruning-keep-recent = &quot;100&quot;
pruning-keep-every = &quot;0&quot;
pruning-interval = &quot;10&quot;
snapshot-interval = 0
"><code>minimum<span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices <span class="hljs-operator">=</span> <span class="hljs-string">"25000000000aevmos"</span>
pruning <span class="hljs-operator">=</span> <span class="hljs-string">"custom"</span>
pruning<span class="hljs-operator">-</span>keep<span class="hljs-operator">-</span>recent <span class="hljs-operator">=</span> <span class="hljs-string">"100"</span>
pruning<span class="hljs-operator">-</span>keep<span class="hljs-operator">-</span>every <span class="hljs-operator">=</span> <span class="hljs-string">"0"</span>
pruning<span class="hljs-operator">-</span>interval <span class="hljs-operator">=</span> <span class="hljs-string">"10"</span>
snapshot<span class="hljs-operator">-</span>interval <span class="hljs-operator">=</span> <span class="hljs-number">0</span>
</code></pre><h2 id="h-configtoml" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">修改config.toml</h2><pre data-type="codeBlock" text="nano ~/.evmosd/config/config.toml
"><code>nano <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/config<span class="hljs-operator">/</span>config.toml
</code></pre><p>修改以下设置：</p><pre data-type="codeBlock" text="indexer = &quot;null&quot;
"><code><span class="hljs-attr">indexer</span> = <span class="hljs-string">"null"</span>
</code></pre><h2 id="h-lz4" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装lz4</h2><pre data-type="codeBlock" text="sudo apt update
sudo apt install snapd -y
sudo snap install lz4
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install snapd <span class="hljs-operator">-</span>y
sudo snap install lz4
</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://polkachu.com/tendermint_snapshots/evmos">https://polkachu.com/tendermint_snapshots/evmos</a> 上下载备份</p><p>下载+解压文件命令:</p><pre data-type="codeBlock" text="curl -o - -L https://snapshots1.polkachu.com/snapshots/evmos/evmos_1141681.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.evmosd
"><code>curl -o - -L https://snapshots1.polkachu.com/snapshots/evmos/evmos_1141681.tar.lz4 | lz4 -c -d - | tar -x -C <span class="hljs-variable">$HOME</span>/.evmosd
</code></pre><h2 id="h-cosmovisor" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点(使用Cosmovisor)</h2><h4 id="h-cosmovisor" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">下载并设置Cosmovisor</h4><pre data-type="codeBlock" text="git clone https://github.com/cosmos/cosmos-sdk
cd cosmos-sdk
git checkout v0.44.6
make cosmovisor
cp cosmovisor/cosmovisor $GOPATH/bin/cosmovisor
cd $HOME
mkdir -p ~/.evmosd
mkdir -p ~/.evmosd/cosmovisor
mkdir -p ~/.evmosd/cosmovisor/genesis
mkdir -p ~/.evmosd/cosmovisor/genesis/bin
mkdir -p ~/.evmosd/cosmovisor/upgrades
echo &quot;# Setup Cosmovisor&quot; &gt;&gt; ~/.profile
echo &quot;export DAEMON_NAME=evmosd&quot; &gt;&gt; ~/.profile
echo &quot;export DAEMON_HOME=$HOME/.evmosd&quot; &gt;&gt; ~/.profile
echo &apos;export PATH=&quot;$DAEMON_HOME/cosmovisor/current/bin:$PATH&quot;&apos; &gt;&gt; ~/.profile
source ~/.profile
cp $GOPATH/bin/evmosd ~/.evmosd/cosmovisor/genesis/bin
"><code>git clone https:<span class="hljs-comment">//github.com/cosmos/cosmos-sdk</span>
cd cosmos<span class="hljs-operator">-</span>sdk
git checkout v0<span class="hljs-number">.44</span><span class="hljs-number">.6</span>
make cosmovisor
cp cosmovisor<span class="hljs-operator">/</span>cosmovisor $GOPATH<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>cosmovisor
cd $HOME
mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd
mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/cosmovisor
mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/cosmovisor<span class="hljs-operator">/</span>genesis
mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/cosmovisor<span class="hljs-operator">/</span>genesis<span class="hljs-operator">/</span>bin
mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/cosmovisor<span class="hljs-operator">/</span>upgrades
echo <span class="hljs-string">"# Setup Cosmovisor"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.profile
echo <span class="hljs-string">"export DAEMON_NAME=evmosd"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.profile
echo <span class="hljs-string">"export DAEMON_HOME=$HOME/.evmosd"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.profile
echo <span class="hljs-string">'export PATH="$DAEMON_HOME/cosmovisor/current/bin:$PATH"'</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.profile
source <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.profile
cp $GOPATH<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>evmosd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.evmosd/cosmovisor<span class="hljs-operator">/</span>genesis<span class="hljs-operator">/</span>bin
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">创建背后运行服务</h4><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/evmosd.service &gt; /dev/null &lt;&lt;EOF  
[Unit]
Description=Evmos Daemon
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cosmovisor) start
Restart=always
RestartSec=3
LimitNOFILE=infinity

Environment=&quot;DAEMON_HOME=$HOME/.evmosd&quot;
Environment=&quot;DAEMON_NAME=evmosd&quot;
Environment=&quot;DAEMON_ALLOW_DOWNLOAD_BINARIES=false&quot;
Environment=&quot;DAEMON_RESTART_AFTER_UPGRADE=true&quot;

[Install]
WantedBy=multi-user.target
EOF
"><code>sudo tee /etc/systemd/system/evmosd.service > /dev/null &#x3C;&#x3C;EOF  
<span class="hljs-section">[Unit]</span>
<span class="hljs-attr">Description</span>=Evmos Daemon
<span class="hljs-attr">After</span>=network-<span class="hljs-literal">on</span>line.target

<span class="hljs-section">[Service]</span>
<span class="hljs-attr">User</span>=<span class="hljs-variable">$USER</span>
<span class="hljs-attr">ExecStart</span>=$(which cosmovisor) start
<span class="hljs-attr">Restart</span>=always
<span class="hljs-attr">RestartSec</span>=<span class="hljs-number">3</span>
<span class="hljs-attr">LimitNOFILE</span>=infinity

<span class="hljs-attr">Environment</span>=<span class="hljs-string">"DAEMON_HOME=$HOME/.evmosd"</span>
<span class="hljs-attr">Environment</span>=<span class="hljs-string">"DAEMON_NAME=evmosd"</span>
<span class="hljs-attr">Environment</span>=<span class="hljs-string">"DAEMON_ALLOW_DOWNLOAD_BINARIES=false"</span>
<span class="hljs-attr">Environment</span>=<span class="hljs-string">"DAEMON_RESTART_AFTER_UPGRADE=true"</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 -S systemctl daemon-reload
sudo -S systemctl enable evmosd
sudo -S systemctl start evmosd
"><code>sudo <span class="hljs-operator">-</span>S systemctl daemon<span class="hljs-operator">-</span>reload
sudo <span class="hljs-operator">-</span>S systemctl enable evmosd
sudo <span class="hljs-operator">-</span>S systemctl start evmosd
</code></pre><p>上面的命令运行好后，你的节点就开启了</p><p>用下面命令查看服务：</p><p>查看服务状态</p><pre data-type="codeBlock" text="systemctl status evmosd
"><code>systemctl <span class="hljs-built_in">status</span> evmosd
</code></pre><p>查看服务日志</p><pre data-type="codeBlock" text="journalctl -u evmosd -f
"><code>journalctl <span class="hljs-operator">-</span>u evmosd <span class="hljs-operator">-</span>f
</code></pre><p>等节点同步成功后，把旧节点停止，然后迁移验证人文件到新的服务器</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">迁移验证人文件</h2><p>迁移验证人节点需要的文件是:</p><ul><li><p>~/.evmosd/config/priv_validator_key.json</p></li><li><p>~/.evmosd/config/node_key.json<br>把上面2个文件搬到新的服务器</p></li></ul><pre data-type="codeBlock" text="systemctl restart evmosd
"><code></code></pre><p><strong>重启前请确定旧的节点已经停止，不然同时2个节点一起跑会导致双签</strong></p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[Sei 测试网提交gentx]]></title>
            <link>https://paragraph.com/@ericet/sei-gentx</link>
            <guid>6ZTdnsYBNhy27xIqoILK</guid>
            <pubDate>Sun, 10 Jul 2022 15:00:28 GMT</pubDate>
            <description><![CDATA[image.pngSei的测试网将在7月11日开启，这次的测试网将拿出$SEI代币总量的1%分给参与测试网测试的用户 https://twitter.com/SeiNetwork/status/1545170362605993985?s=20&t=cy9Nr8DH0wRPXCu_OQgm-g 要参与激励网的测试，需要填写： https://docs.google.com/forms/d/e/1FAIpQLSfD-FWT3VrxtYAAmUiwwX5Zbw3mzkZoT6pV0ZAXYqu1yUNtEw/viewform 如果你要参与测试网创世验证人，需要填写: https://docs.google.com/forms/d/e/1FAIpQLSfFm2ATsspXI7Vv915TwoApbFICBjEwW1VXFvK8NyXxCsup_w/viewform 获得测试网创世验证人的好处是，链一上线就是活跃验证人，不需要水水龙头让节点活跃 参与测试网创世验证人，除了需要填写上面的表格，还需要提交gentx 这里写一下生成gentx的过程安装GO 1.17sudo rm -rf /us...]]></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/c77c4af45f26b1bdf5bbaabf1a9bc533cdfde5ff90d2bcc5e4b5d58dbc8042f1.png" alt="image.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">image.png</figcaption></figure><p>Sei的测试网将在7月11日开启，这次的测试网将拿出$SEI代币总量的1%分给参与测试网测试的用户<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/SeiNetwork/status/1545170362605993985?s=20&amp;t=cy9Nr8DH0wRPXCu_OQgm-g">https://twitter.com/SeiNetwork/status/1545170362605993985?s=20&amp;t=cy9Nr8DH0wRPXCu_OQgm-g</a></p><p>要参与激励网的测试，需要填写： <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLSfD-FWT3VrxtYAAmUiwwX5Zbw3mzkZoT6pV0ZAXYqu1yUNtEw/viewform">https://docs.google.com/forms/d/e/1FAIpQLSfD-FWT3VrxtYAAmUiwwX5Zbw3mzkZoT6pV0ZAXYqu1yUNtEw/viewform</a></p><p>如果你要参与测试网创世验证人，需要填写: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLSfFm2ATsspXI7Vv915TwoApbFICBjEwW1VXFvK8NyXxCsup_w/viewform">https://docs.google.com/forms/d/e/1FAIpQLSfFm2ATsspXI7Vv915TwoApbFICBjEwW1VXFvK8NyXxCsup_w/viewform</a></p><p>获得测试网创世验证人的好处是，链一上线就是活跃验证人，不需要水水龙头让节点活跃</p><p>参与测试网创世验证人，除了需要填写上面的表格，还需要提交gentx</p><p>这里写一下生成gentx的过程</p><h2 id="h-go-117" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装GO 1.17</h2><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
"><code>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;
curl https:<span class="hljs-comment">//dl.google.com/go/go1.17.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;</span>
cat <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span><span class="hljs-string">'EOF'</span> <span class="hljs-operator">></span><span class="hljs-operator">></span>$HOME<span class="hljs-operator">/</span>.profile
export GOROOT<span class="hljs-operator">=</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go
export GOPATH<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>go
export GO111MODULE<span class="hljs-operator">=</span>on
export PATH<span class="hljs-operator">=</span>$PATH:<span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin:$HOME<span class="hljs-operator">/</span>go<span class="hljs-operator">/</span>bin
EOF
source $HOME<span class="hljs-operator">/</span>.profile
</code></pre><p>#安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装其他必要的环境</h2><pre data-type="codeBlock" text="sudo apt-get update -y &amp;&amp; sudo apt-get upgrade -y;
sudo apt-get install build-essential -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt<span class="hljs-operator">-</span>get upgrade <span class="hljs-operator">-</span>y;
sudo apt<span class="hljs-operator">-</span>get install build<span class="hljs-operator">-</span>essential <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><pre data-type="codeBlock" text="cd $HOME
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain &amp;&amp; git checkout 1.0.6beta
make install
"><code>cd $HOME
git clone https:<span class="hljs-comment">//github.com/sei-protocol/sei-chain.git</span>
cd sei<span class="hljs-operator">-</span>chain <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> git checkout <span class="hljs-number">1.0</span>.6beta
make install
</code></pre><p>安装完成后可以运行 seid version 检查是否安装成功</p><pre data-type="codeBlock" text="seid version 
"><code></code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">初始节点</h2><pre data-type="codeBlock" text="seid init &lt;moniker&gt; --chain-id=atlantic-1
"><code>seid init <span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>atlantic<span class="hljs-number">-1</span>
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的名字</p><h2 id="h-key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建key</h2><pre data-type="codeBlock" text="seid keys add &lt;your key name&gt; 
"><code>seid keys add <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span> 
</code></pre><p>*<code>&lt;yourKeyName&gt;</code>改成你要设置的钱包名</p><pre data-type="codeBlock" text="seid add-genesis-account $(seid keys show &lt;yourKeyName&gt; -a) 10000000usei
"><code>seid add<span class="hljs-operator">-</span>genesis<span class="hljs-operator">-</span>account $(seid keys show <span class="hljs-operator">&#x3C;</span>yourKeyName<span class="hljs-operator">></span> <span class="hljs-operator">-</span>a) 10000000usei
</code></pre><p>*<code>&lt;your key name&gt;</code>改成你上面设置的钱包名</p><h2 id="h-gentx" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建gentx</h2><pre data-type="codeBlock" text="seid gentx &lt;yourKeyName&gt; 10000000usei \
--chain-id atlantic-1\
--moniker=&lt;moniker&gt;\
--commission-max-change-rate=0.01 \
--commission-max-rate=0.20 \
--commission-rate=0.05 \
--details=&quot;&lt;your_validator_description&gt;&quot; \
--website=&quot;&lt;your_website&gt;&quot;
"><code>seid gentx <span class="hljs-operator">&#x3C;</span>yourKeyName<span class="hljs-operator">></span> 10000000usei \
<span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id atlantic<span class="hljs-number">-1</span>\
<span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></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-number">0</span><span class="hljs-number">.01</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-number">0</span><span class="hljs-number">.20</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-number">0</span><span class="hljs-number">.05</span> \
<span class="hljs-operator">-</span><span class="hljs-operator">-</span>details<span class="hljs-operator">=</span><span class="hljs-string">"&#x3C;your_validator_description>"</span> \
<span class="hljs-operator">-</span><span class="hljs-operator">-</span>website<span class="hljs-operator">=</span><span class="hljs-string">"&#x3C;your_website>"</span>
</code></pre><p>*<code>&lt;your key name&gt;</code>改成你上面设置的钱包名</p><p>创建成功后，gentx文件会在 <code>/root/.seid/config/gentx/</code>目录下</p><h2 id="h-gentx" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">提交gentx</h2><p>fork一下<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/sei-protocol/testnet">https://github.com/sei-protocol/testnet</a><br>然后把上面生成的gentx文件命名gentx-{VALIDATOR_NAME}.json并上传到testnet/sei-incentivized-testnet/gentx 目录下</p><p>提个Pull Request就完成了</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[【科学家养成日记#14】Mora Swap测试网体验所有功能代码]]></title>
            <link>https://paragraph.com/@ericet/14-mora-swap</link>
            <guid>JFoytYolOJTWPgnAoCSr</guid>
            <pubDate>Sun, 10 Apr 2022 03:21:06 GMT</pubDate>
            <description><![CDATA[MoraSwap是Solana EVM链NEON上的DEX，目前还在测试网测试：https://moraswap.com/由于是基于Uniswap的Fork，所以功能基本和Uniswap差不多: 交易，提供流动，Farm，质押 之前写过零零散散这方面的代码，这次准备写个完整的，并且决定用etherjs来完成(web3js没有etherjs好用) 代码: https://github.com/ericet/MoraSwap 这个脚本会自动帮你领水，交易，提供流动，Farm，质押和解除质押，走一遍MoraSwap的所有功能设置git clone https://github.com/ericet/MoraSwap.gitcd MoraSwapnpm install文件改名mv .env.example .env把私钥放在.env 文件里面的TEST_PRIVATE_KEY后面。比如：TEST_PRIVATE_KEY=000000000,011111111,0222222222运行程序node MoraSwap.js交互了也不代表会有空投，代码仅学习用处]]></description>
            <content:encoded><![CDATA[<p>MoraSwap是Solana EVM链NEON上的DEX，目前还在测试网测试：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://moraswap.com/">https://moraswap.com/</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/26edd91877fa837806a96e4855c6a8010e74564cc048a51ae8ba4712f6209eb1.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>由于是基于Uniswap的Fork，所以功能基本和Uniswap差不多: 交易，提供流动，Farm，质押</p><p>之前写过零零散散这方面的代码，这次准备写个完整的，并且决定用etherjs来完成(web3js没有etherjs好用)</p><p>代码: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ericet/MoraSwap">https://github.com/ericet/MoraSwap</a></p><p>这个脚本会自动帮你领水，交易，提供流动，Farm，质押和解除质押，走一遍MoraSwap的所有功能</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">设置</h2><ul><li><p>git clone <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ericet/MoraSwap.git">https://github.com/ericet/MoraSwap.git</a></p></li><li><p>cd MoraSwap</p></li><li><p>npm install</p></li><li><p>文件改名</p><ul><li><p>mv .env.example .env</p></li></ul></li><li><p>把私钥放在.env 文件里面的TEST_PRIVATE_KEY后面。比如：TEST_PRIVATE_KEY=000000000,011111111,0222222222</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行程序</h2><ul><li><p><code>node MoraSwap.js</code></p></li></ul><hr><p>交互了也不代表会有空投，代码仅学习用处</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[挽救泄露助记词上的资金(Cosmos, Juno, Osmosis)]]></title>
            <link>https://paragraph.com/@ericet/cosmos-juno-osmosis</link>
            <guid>WSqeoS0QFNGTRgRcFl40</guid>
            <pubDate>Sat, 09 Apr 2022 04:16:07 GMT</pubDate>
            <description><![CDATA[(Image Source: Pixabay)前段时间，有个群友说他的助记词泄露了，资金被盗，质押的代币也正在解除质押中，问我有没有办法解除质押的第一时间把代币转走？ 所以给这个群友写了一个挽救被泄露助记词上的代币的脚本: https://github.com/ericet/cosmos-learn/blob/master/fundRescue.js 这个脚本会查看解锁时间，解锁最后10分钟会每秒查看钱包余额，一查到有余额就会转到新钱包 脚本虽然写好了，但是没有实战过，所以并不知道效果怎么样 今天群友给我发了红包，说我的脚本很顺利的帮他把刚解锁的ATOM转到安全的钱包去了~ 说明脚本还是有效果的 之前脚本只支持Cosmos，刚修改了一下脚本，支持了Juno和Osmosis 如果你的助记词不小心泄露了，可以用我写的脚本尝试挽救资金最近建了一个twitter新号专门分享自己开发的工具，脚本等。对这些有兴趣的可以关注我的twitter账号：https://twitter.com/ericet369]]></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/e31bed0afba202a8f74af712d80fec4e4903866d3003fdb00c0243f7db822a58.png" alt="(Image Source: Pixabay)" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">(Image Source: Pixabay)</figcaption></figure><p>前段时间，有个群友说他的助记词泄露了，资金被盗，质押的代币也正在解除质押中，问我有没有办法解除质押的第一时间把代币转走？</p><p>所以给这个群友写了一个挽救被泄露助记词上的代币的脚本: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ericet/cosmos-learn/blob/master/fundRescue.js">https://github.com/ericet/cosmos-learn/blob/master/fundRescue.js</a></p><p>这个脚本会查看解锁时间，解锁最后10分钟会每秒查看钱包余额，一查到有余额就会转到新钱包</p><p>脚本虽然写好了，但是没有实战过，所以并不知道效果怎么样</p><p>今天群友给我发了红包，说我的脚本很顺利的帮他把刚解锁的ATOM转到安全的钱包去了~ 说明脚本还是有效果的</p><p>之前脚本只支持Cosmos，刚修改了一下脚本，支持了Juno和Osmosis</p><p>如果你的助记词不小心泄露了，可以用我写的脚本尝试挽救资金</p><hr><p>最近建了一个twitter新号专门分享自己开发的工具，脚本等。对这些有兴趣的可以关注我的twitter账号：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/ericet369">https://twitter.com/ericet369</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d2106b5b8576a44989a03ef362d319ebdd6c09bf07a9138fe05f1cbdce702913.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[KYVE测试网区块链节点搭建]]></title>
            <link>https://paragraph.com/@ericet/kyve</link>
            <guid>hXcf6czLyYN0tSth596z</guid>
            <pubDate>Fri, 08 Apr 2022 03:02:15 GMT</pubDate>
            <description><![CDATA[KYVE目前进行测试网测试(https://app.kyve.network/#/)。和其他Cosmos生态的节点不一样的是，KYVE有2种节点模式。 一种叫Protocol Node, 负责验证数据并上传存储。这种验证节点运行的配置不需要太高，但需要绑定Arweave，并且每个月需要大概0.5 AR 另外一种就是我们比较熟悉的验证人节点（Chain Node), Kyve的网络就是通过这些节点运行 这里介绍一下Chain Node的搭建。官方教程： https://docs.kyve.network/intro/chain-node.html下载节点运行程序wget https://github.com/KYVENetwork/chain/releases/download/v0.0.1/chain_linux_amd64.tar.gz tar -xvzf chain_linux_amd64.tar.gz 初始节点./chaind init &#x3C;moniker>--chain-id korellia 创建key./chaind keys add &#x3C;your k...]]></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/16f1d4afce75915eda9f6204bf028c4f4fda082e7bfd0e3da490c006a1cbfab5.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>KYVE目前进行测试网测试(<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.kyve.network/#/">https://app.kyve.network/#/</a>)。和其他Cosmos生态的节点不一样的是，KYVE有2种节点模式。</p><p>一种叫Protocol Node, 负责验证数据并上传存储。这种验证节点运行的配置不需要太高，但需要绑定Arweave，并且每个月需要大概0.5 AR</p><p>另外一种就是我们比较熟悉的验证人节点（Chain Node), Kyve的网络就是通过这些节点运行</p><p>这里介绍一下Chain Node的搭建。官方教程： <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.kyve.network/intro/chain-node.html">https://docs.kyve.network/intro/chain-node.html</a></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">下载节点运行程序</h2><pre data-type="codeBlock" text="wget https://github.com/KYVENetwork/chain/releases/download/v0.0.1/chain_linux_amd64.tar.gz
tar -xvzf chain_linux_amd64.tar.gz
"><code>wget https:<span class="hljs-comment">//github.com/KYVENetwork/chain/releases/download/v0.0.1/chain_linux_amd64.tar.gz</span>
tar <span class="hljs-operator">-</span>xvzf chain_linux_amd64.tar.gz
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">初始节点</h2><pre data-type="codeBlock" text="./chaind init &lt;moniker&gt;--chain-id korellia
"><code>./chaind init <span class="hljs-operator">&#x3C;</span>moniker<span class="hljs-operator">></span><span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id korellia
</code></pre><h2 id="h-key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建key</h2><pre data-type="codeBlock" text="./chaind keys add &lt;your key name&gt; 
"><code>./chaind keys add <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span> 
</code></pre><h2 id="h-genesisjson" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">获取genesis.json</h2><pre data-type="codeBlock" text="wget https://github.com/KYVENetwork/chain/releases/download/v0.0.1/genesis.json
mv genesis.json ~/.kyve/config/genesis.json
"><code>wget https:<span class="hljs-comment">//github.com/KYVENetwork/chain/releases/download/v0.0.1/genesis.json</span>
mv genesis.json <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.kyve/config<span class="hljs-operator">/</span>genesis.json
</code></pre><h2 id="h-seeds" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">添加Seeds</h2><pre data-type="codeBlock" text="export SEEDS=&quot;e56574f922ff41c68b80700266dfc9e01ecae383@18.156.198.41:26656&quot;
sed -i.bak -e &quot;s/^seeds *=.*/seeds = \&quot;$SEEDS\&quot;/&quot; ~/.kyve/config/config.toml
"><code>export SEEDS<span class="hljs-operator">=</span><span class="hljs-string">"e56574f922ff41c68b80700266dfc9e01ecae383@18.156.198.41:26656"</span>
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^seeds *=.*/seeds = \"$SEEDS\"/"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.kyve/config<span class="hljs-operator">/</span>config.toml
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建背后运行服务</h2><pre data-type="codeBlock" text="tee &lt;&lt;EOF &gt; /dev/null /etc/systemd/system/kyved.service
[Unit]
Description=KYVE Chain-Node daemon
After=network-online.target

[Service]
User=$USER
ExecStart=/$USER/chaind start
Restart=on-failure
RestartSec=3
LimitNOFILE=infinity


[Install]
WantedBy=multi-user.target
EOF
"><code>tee <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">&#x3C;</span>EOF <span class="hljs-operator">></span> <span class="hljs-operator">/</span>dev<span class="hljs-operator">/</span>null <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>systemd<span class="hljs-operator">/</span>system<span class="hljs-operator">/</span>kyved.service
[Unit]
Description<span class="hljs-operator">=</span>KYVE Chain<span class="hljs-operator">-</span>Node daemon
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target

[Service]
User<span class="hljs-operator">=</span>$USER
ExecStart<span class="hljs-operator">=</span><span class="hljs-operator">/</span>$USER<span class="hljs-operator">/</span>chaind start
Restart<span class="hljs-operator">=</span>on<span class="hljs-operator">-</span>failure
RestartSec<span class="hljs-operator">=</span><span class="hljs-number">3</span>
LimitNOFILE<span class="hljs-operator">=</span>infinity


[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><p>创建好后，更新，开启节点服务</p><pre data-type="codeBlock" text="sudo -S systemctl daemon-reload
sudo -S systemctl enable kyved.service
sudo -S systemctl start kyved.service
"><code>sudo <span class="hljs-operator">-</span>S systemctl daemon<span class="hljs-operator">-</span>reload
sudo <span class="hljs-operator">-</span>S systemctl enable kyved.service
sudo <span class="hljs-operator">-</span>S systemctl start kyved.service
</code></pre><p>上面的命令运行好后，你的节点就开启了</p><p>用下面命令查看服务：</p><p>查看服务状态</p><pre data-type="codeBlock" text="systemctl status kyved
"><code>systemctl <span class="hljs-built_in">status</span> kyved
</code></pre><p>查看服务日志</p><pre data-type="codeBlock" text="journalctl -u kyved -f
"><code>journalctl <span class="hljs-operator">-</span>u kyved <span class="hljs-operator">-</span>f
</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://app.kyve.network/#/faucet">https://app.kyve.network/#/faucet</a> 有不同的方式获得测试币</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="./chaind tx staking create-validator --yes \
 --amount 1000000000tkyve \
 --moniker &lt;MONIKER&gt;\
 --commission-rate &quot;0.10&quot; \
 --commission-max-rate &quot;0.20&quot; \
 --commission-max-change-rate &quot;0.01&quot; \
 --min-self-delegation &quot;1&quot; \
 --pubkey &quot;$(./chaind tendermint show-validator)&quot; \
 --from &lt;your key name&gt;\
 --chain-id korellia -y
"><code>./chaind <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>yes \
 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>amount 1000000000tkyve \
 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker <span class="hljs-operator">&#x3C;</span>MONIKER<span class="hljs-operator">></span>\
 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission<span class="hljs-operator">-</span>rate <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-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-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-string">"1"</span> \
 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey <span class="hljs-string">"$(./chaind tendermint show-validator)"</span> \
 <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span>\
 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id korellia <span class="hljs-operator">-</span>y
</code></pre><p>这样你的验证人节点就跑起来了</p><p>可以通过浏览器查看状态： <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.kyve.network/korellia/staking">https://explorer.kyve.network/korellia/staking</a></p><p>目前测试还没宣布有奖励，先跑起来再说</p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
        <item>
            <title><![CDATA[Archway 测试网节点]]></title>
            <link>https://paragraph.com/@ericet/archway</link>
            <guid>cefBfk7csTmCwBWfPZvX</guid>
            <pubDate>Tue, 29 Mar 2022 19:22:05 GMT</pubDate>
            <description><![CDATA[Archway前几天宣布将在4月11日开始有激励的测试网测试并为期30天: https://blog.archway.io/announcing-archways-incentivized-testnet-augusta-8152d2d8f773 用户可以通过以下方式获得激励:节点测试（Torii）功能测试创建dApps和工具写文推广目前有激励的测试网Torii还没上线，但是无激励的测试网Augusta目前正在进行中。我们可以先开始熟悉一下Augusta的节点搭建，方便后面的测试 官方的文档：https://docs.archway.io/docs/validator/overview 说实在的，按照文档来坑挺多的，而且不知道为什么把链的github库隐藏了，所以不能直接从源代码里面编译，只能用官方编译好的docker运行安装Docker如果有了，就跳过这一步sudo apt install docker.io 下载archwayd Docker镜像docker pull archwaynetwork/archwayd:augusta 设置archwayd快捷方式echo "al...]]></description>
            <content:encoded><![CDATA[<p>Archway前几天宣布将在4月11日开始有激励的测试网测试并为期30天: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.archway.io/announcing-archways-incentivized-testnet-augusta-8152d2d8f773">https://blog.archway.io/announcing-archways-incentivized-testnet-augusta-8152d2d8f773</a></p><p>用户可以通过以下方式获得激励:</p><ul><li><p>节点测试（Torii）</p></li><li><p>功能测试</p></li><li><p>创建dApps和工具</p></li><li><p>写文推广</p></li></ul><p>目前有激励的测试网Torii还没上线，但是无激励的测试网Augusta目前正在进行中。我们可以先开始熟悉一下Augusta的节点搭建，方便后面的测试</p><p>官方的文档：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.archway.io/docs/validator/overview">https://docs.archway.io/docs/validator/overview</a></p><p>说实在的，按照文档来坑挺多的，而且不知道为什么把链的github库隐藏了，所以不能直接从源代码里面编译，只能用官方编译好的docker运行</p><h2 id="h-docker" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装Docker</h2><p>如果有了，就跳过这一步</p><pre data-type="codeBlock" text="sudo apt install docker.io
"><code>sudo apt install docker.io
</code></pre><h2 id="h-archwayd-docker" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">下载archwayd Docker镜像</h2><pre data-type="codeBlock" text="docker pull archwaynetwork/archwayd:augusta
"><code>docker pull archwaynetwork/archwayd:augusta
</code></pre><h2 id="h-archwayd" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">设置archwayd快捷方式</h2><pre data-type="codeBlock" text="echo &quot;alias archwayd=&apos;docker run --net=host --rm -it -v ~/.archway:/root/.archway archwaynetwork/archwayd:augusta&apos;&quot; &gt;&gt; ~/.bashrc
source ~/.bashrc
"><code>echo <span class="hljs-string">"alias archwayd='docker run --net=host --rm -it -v ~/.archway:/root/.archway archwaynetwork/archwayd:augusta'"</span> <span class="hljs-operator">></span><span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.bashrc
source <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.bashrc
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">初始节点</h2><pre data-type="codeBlock" text="archwayd init &lt;moniker&gt;
"><code>archwayd <span class="hljs-keyword">init</span> &#x3C;moniker>
</code></pre><p>*<code>&lt;moniker&gt;</code>改成你要设置的验证人名字</p><h2 id="h-key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建Key</h2><pre data-type="codeBlock" text="archwayd keys add &lt;your key name&gt; 
"><code>archwayd keys add <span class="hljs-operator">&#x3C;</span>your key name<span class="hljs-operator">></span> 
</code></pre><h2 id="h-genesisjson" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">下载genesis.json</h2><pre data-type="codeBlock" text="export RPC_URL=&quot;https://rpc.augusta-1.archway.tech&quot;
curl -s &quot;${RPC_URL}/genesis&quot; | jq &apos;.result.genesis&apos; &gt; ~/.archway/config/genesis.json
"><code>export RPC_URL<span class="hljs-operator">=</span><span class="hljs-string">"https://rpc.augusta-1.archway.tech"</span>
curl <span class="hljs-operator">-</span>s <span class="hljs-string">"${RPC_URL}/genesis"</span> <span class="hljs-operator">|</span> jq <span class="hljs-string">'.result.genesis'</span> <span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>genesis.json
</code></pre><h2 id="h-seeds" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">添加Seeds</h2><pre data-type="codeBlock" text="export SEEDS=&quot;2f234549828b18cf5e991cc884707eb65e503bb2@34.74.129.75:31076,c8890bcde31c2959a8aeda172189ec717fef0b2b@95.216.197.14:26656&quot;
sed -i.bak -e &quot;s/^seeds *=.*/seeds = \&quot;$SEEDS\&quot;/&quot; ~/.archway/config/config.toml
"><code>export SEEDS<span class="hljs-operator">=</span><span class="hljs-string">"2f234549828b18cf5e991cc884707eb65e503bb2@34.74.129.75:31076,c8890bcde31c2959a8aeda172189ec717fef0b2b@95.216.197.14:26656"</span>
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^seeds *=.*/seeds = \"$SEEDS\"/"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.archway/config<span class="hljs-operator">/</span>config.toml
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</h2><pre data-type="codeBlock" text="docker run --net=host -d -it -p 1317:1317 -p 26656:26656 -p 26657:26657 \
                    --name archway \
                    -v ~/.archway:/root/.archway archwaynetwork/archwayd:augusta \
                    start \
                    --x-crisis-skip-assert-invariants 
"><code>docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>net<span class="hljs-operator">=</span>host <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span>it <span class="hljs-operator">-</span>p <span class="hljs-number">1317</span>:<span class="hljs-number">1317</span> <span class="hljs-operator">-</span>p <span class="hljs-number">26656</span>:<span class="hljs-number">26656</span> <span class="hljs-operator">-</span>p <span class="hljs-number">26657</span>:<span class="hljs-number">26657</span> \
                    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name archway \
                    <span class="hljs-operator">-</span>v <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.archway:<span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>.archway archwaynetwork<span class="hljs-operator">/</span>archwayd:augusta \
                    start \
                    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>x<span class="hljs-operator">-</span>crisis<span class="hljs-operator">-</span>skip<span class="hljs-operator">-</span><span class="hljs-built_in">assert</span><span class="hljs-operator">-</span>invariants 
</code></pre><p>查看日志</p><pre data-type="codeBlock" text="docker logs archway -f
"><code>docker logs archway <span class="hljs-operator">-</span>f
</code></pre><p>查看节点状态</p><pre data-type="codeBlock" text="curl localhost:26657/status
"><code>curl localhost:26657/status
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">水龙头</h2><p>官方的水龙头坏了，到discord找人要水</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="export AMOUNT=100000uaugust
export VALIDATOR_MONIKER=&lt;your validator name&gt;
export KEY_NAME=&lt;your wallet name&gt;
export CHAIN_ID=augusta-1
export PUB_KEY=`docker exec -it archway archwayd tendermint show-validator`

docker exec -it archway \
  archwayd tx staking create-validator \
  --amount $AMOUNT \
  --from $KEY_NAME \
  -s 1 \
  --commission-max-change-rate &quot;0.01&quot; \
  --commission-max-rate &quot;0.20&quot; \
  --commission-rate &quot;0.01&quot; \
  --min-self-delegation &quot;1&quot; \
  --pubkey $PUB_KEY \
  --moniker $VALIDATOR_MONIKER \
  --chain-id $CHAIN_ID \
  --gas auto \
  --fees 1uaugust
"><code>export AMOUNT<span class="hljs-operator">=</span>100000uaugust
export VALIDATOR_MONIKER<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>your validator name<span class="hljs-operator">></span>
export KEY_NAME<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>your wallet name<span class="hljs-operator">></span>
export CHAIN_ID<span class="hljs-operator">=</span>augusta<span class="hljs-number">-1</span>
export PUB_KEY<span class="hljs-operator">=</span>`docker exec <span class="hljs-operator">-</span>it archway archwayd tendermint show<span class="hljs-operator">-</span>validator`

docker exec <span class="hljs-operator">-</span>it archway \
  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 $AMOUNT \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> $KEY_NAME \
  <span class="hljs-operator">-</span>s <span class="hljs-number">1</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-string">"0.01"</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-string">"0.20"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission<span class="hljs-operator">-</span>rate <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-string">"1"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey $PUB_KEY \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker $VALIDATOR_MONIKER \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id $CHAIN_ID \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas auto \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 1uaugust
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">一些命令</h2><ul><li><p>查看账号余额</p></li></ul><p><code>archwayd q bank balances &lt;wallet address&gt;</code>或者<code>docker exec -it archway archwayd q bank balances &lt;wallet address&gt;</code></p><ul><li><p>查看节点状态</p></li></ul><p><code>curl localhost:26657/status</code>或者<code>archwayd status</code></p><p>测试网浏览器: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://testnet.mintscan.io/crescent/">https://testnet.mintscan.io/crescent/</a></p>]]></content:encoded>
            <author>ericet@newsletter.paragraph.com (Ericet)</author>
        </item>
    </channel>
</rss>