<?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>Silent ⚛| validator</title>
        <link>https://paragraph.com/@exploring</link>
        <description>I run nodes,do test,try something new.

Cosmos fans. Validator in multiple chains.

https://silentvalidator.com</description>
        <lastBuildDate>Wed, 20 May 2026 01:42:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Silent ⚛| validator</title>
            <url>https://storage.googleapis.com/papyrus_images/f6233905739d302bff1611afbdac8442ff564e5054b8a44b938664cc5f2804d8.png</url>
            <link>https://paragraph.com/@exploring</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Nillion 测试网验证者节点教程]]></title>
            <link>https://paragraph.com/@exploring/nillion</link>
            <guid>BXzLg4VCxz06I2SmK4cW</guid>
            <pubDate>Wed, 28 Aug 2024 15:07:02 GMT</pubDate>
            <description><![CDATA[空投查询用`credentials.json 里面的私钥导入keplr 钱包查 Nillion 是一个安全计算网络，它使用多方计算（MPC）等隐私增强技术（PETs）来去中心化和保护高价值数据。这个网络允许用户在不解密数据的情况下进行计算，从而避免了传统的解密-计算-重新加密的安全风险。 Nillion 于 2022 年 12 月以 1.8 亿美元估值完成了 2000 万美元种子轮融资，今年以 4 亿美元的估值完成了 A 轮私募代币融资，Hack VC 领投，未披露具体融资金额。 近期Nillion推出了验证者(verifier)节点，作为验证者，您将确保整个网络的数据完整性，在维护安全和准备主网启动方面发挥关键作用。 早期验证者将有机会因其贡献而获得认可，并在社区中脱颖而出。 官方暗示运行验证者节点有激励。官方暗示奖励官推原文 Nillion @nillion x.com/i/article/1828… 968 10:05 AM • Aug 27, 2024 官方教程本教程仅供参考，请以官方教程为准nillionThis guide details the step-by-st...]]></description>
            <content:encoded><![CDATA[<h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">空投查询</h1><p>用`credentials.json 里面的私钥导入keplr 钱包查</p><p>Nillion 是一个安全计算网络，它使用多方计算（MPC）等隐私增强技术（PETs）来去中心化和保护高价值数据。这个网络允许用户在不解密数据的情况下进行计算，从而避免了传统的解密-计算-重新加密的安全风险。</p><p>Nillion 于 2022 年 12 月以 1.8 亿美元估值完成了 2000 万美元种子轮融资，今年以 4 亿美元的估值完成了 A 轮私募代币融资，Hack VC 领投，未披露具体融资金额。</p><p>近期Nillion推出了验证者(verifier)节点，作为验证者，您将确保整个网络的数据完整性，在维护安全和准备主网启动方面发挥关键作用。</p><p>早期验证者将有机会因其贡献而获得认可，并在社区中脱颖而出。</p><p><strong>官方暗示运行验证者节点有激励</strong>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b658488613941bdb34790403ded5114eb0f0622e96189e8fdf57c642f363d7d0.png" alt="官方暗示奖励" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">官方暗示奖励</figcaption></figure><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官推原文</h1><div data-type="twitter" tweetId="1828448794528100696" tweetData="{&quot;__typename&quot;:&quot;Tweet&quot;,&quot;lang&quot;:&quot;zxx&quot;,&quot;favorite_count&quot;:968,&quot;possibly_sensitive&quot;:false,&quot;created_at&quot;:&quot;2024-08-27T15:05:38.000Z&quot;,&quot;display_text_range&quot;:[0,23],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[{&quot;display_url&quot;:&quot;x.com/i/article/1828…&quot;,&quot;expanded_url&quot;:&quot;http://x.com/i/article/1828412834155503617&quot;,&quot;indices&quot;:[0,23],&quot;url&quot;:&quot;https://t.co/BTX73CT3lx&quot;}],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[]},&quot;id_str&quot;:&quot;1828448794528100696&quot;,&quot;text&quot;:&quot;https://t.co/BTX73CT3lx&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1372220528518397955&quot;,&quot;name&quot;:&quot;Nillion&quot;,&quot;screen_name&quot;:&quot;nillion&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Square&quot;,&quot;verified&quot;:false,&quot;verified_type&quot;:&quot;Business&quot;,&quot;profile_image_url_https&quot;:&quot;https://storage.googleapis.com/papyrus_images/babcb79fbe80fe1ec2cd1a16299e0bf7c5baa8701dc79fa5c85bab29fd170ec4.jpg&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1828448794528100696&quot;],&quot;editable_until_msecs&quot;:&quot;1724774738000&quot;,&quot;is_edit_eligible&quot;:false,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;conversation_count&quot;:218,&quot;news_action_type&quot;:&quot;conversation&quot;,&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false}"> 
  <div class="twitter-embed embed">
    <div class="twitter-header">
        <div style="display:flex">
          <a target="_blank" href="https://twitter.com/nillion">
              <img alt="User Avatar" class="twitter-avatar" src="https://storage.googleapis.com/papyrus_images/babcb79fbe80fe1ec2cd1a16299e0bf7c5baa8701dc79fa5c85bab29fd170ec4.jpg" />
            </a>
            <div style="margin-left:4px;margin-right:auto;line-height:1.2;">
              <a target="_blank" href="https://twitter.com/nillion" class="twitter-displayname">Nillion</a>
              <p><a target="_blank" href="https://twitter.com/nillion" class="twitter-username">@nillion</a></p>
    
            </div>
            <a href="https://twitter.com/nillion/status/1828448794528100696" target="_blank">
              <img alt="Twitter Logo" class="twitter-logo" src="https://paragraph.com/editor/twitter/logo.png" />
            </a>
          </div>
        </div>
      
    <div class="twitter-body">
      <a class="twitter-content-link" href="https://t.co/BTX73CT3lx" target="_blank">x.com/i/article/1828…</a>
      
      
       
    </div>
    
     <div class="twitter-footer">
          <a target="_blank" href="https://twitter.com/nillion/status/1828448794528100696" style="margin-right:16px; display:flex;">
            <img alt="Like Icon" class="twitter-heart" src="https://paragraph.com/editor/twitter/heart.png">
            968
          </a>
          <a target="_blank" href="https://twitter.com/nillion/status/1828448794528100696"><p>10:05 AM • Aug 27, 2024</p></a>
        </div>
    
  </div> 
  </div><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方教程</h1><p>本教程仅供参考，请以官方教程为准</p><div data-type="embedly" src="https://nillion.com/news/1007/" data="{&quot;provider_url&quot;:&quot;https://nillion.com&quot;,&quot;description&quot;:&quot;This guide details the step-by-step process for setting up the environment to run a Nillion verifier on Mac OS. If you&apos;re using Linux or Windows, please refer to the Nillion verifier setup page for specific instructions. Setting up a Nillion verifier on Mac OS is straightforward and will have you contributing to the Nillion network...&quot;,&quot;title&quot;:&quot;nillion&quot;,&quot;thumbnail_width&quot;:2000,&quot;url&quot;:&quot;https://nillion.com/news/how-to-set-up-a-nillion-verifier-a-step-by-step-guide/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/cca7d7ef90ed4da8f7d3c3213a6811df997b72061c25d881fae5344018ff7125.jpg&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;nillion&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:1060,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:2000,&quot;height&quot;:1060,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/cca7d7ef90ed4da8f7d3c3213a6811df997b72061c25d881fae5344018ff7125.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/cca7d7ef90ed4da8f7d3c3213a6811df997b72061c25d881fae5344018ff7125.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://nillion.com/news/1007/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>nillion</h2><p>This guide details the step-by-step process for setting up the environment to run a Nillion verifier on Mac OS. If you&#x27;re using Linux or Windows, please refer to the Nillion verifier setup page for specific instructions. Setting up a Nillion verifier on Mac OS is straightforward and will have you contributing to the Nillion network...</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://nillion.com</span></div><img src="https://storage.googleapis.com/papyrus_images/cca7d7ef90ed4da8f7d3c3213a6811df997b72061c25d881fae5344018ff7125.jpg"/></div></a></div></div><p><strong>本教程使用Ubuntu 22.04的VPS，配置要求很低，最低配的vps目测也能跑。</strong></p><h1 id="h-keplrnillion" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建Keplr中的Nillion钱包</h1><p>我们需要使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/keplrwallet">Keplr钱包</a>, 创建一个新的钱包，保存好助记词。</p><p>打开</p><div data-type="embedly" src="https://chains.keplr.app/" data="{&quot;provider_url&quot;:&quot;https://chains.keplr.app&quot;,&quot;description&quot;:&quot;Search and add these community repo chains on Keplr.&quot;,&quot;title&quot;:&quot;Add Chains to Keplr&quot;,&quot;thumbnail_width&quot;:1920,&quot;url&quot;:&quot;https://chains.keplr.app/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/4c01a02625558321be53cc47c069bca4555f635633d02f0247e20c82e053f041.webp&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Keplr&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:1080,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1920,&quot;height&quot;:1080,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/4c01a02625558321be53cc47c069bca4555f635633d02f0247e20c82e053f041.webp&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/4c01a02625558321be53cc47c069bca4555f635633d02f0247e20c82e053f041.webp"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://chains.keplr.app/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Add Chains to Keplr</h2><p>Search and add these community repo chains on Keplr.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://chains.keplr.app</span></div><img src="https://storage.googleapis.com/papyrus_images/4c01a02625558321be53cc47c069bca4555f635633d02f0247e20c82e053f041.webp"/></div></a></div></div><p>搜索Nillion，点击Add to Keplr按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9a155616ee4150d9e02cb1ed9d1ebcd2daee524227c6b85a3248ebec68d681ae.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>keplr钱包点击左上角设置，点击管理链可见性</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/60b505fb6a72644565f12300319150408bf634a76fadf952e3510c48ab93ae3b.png" alt="管理链可见性" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">管理链可见性</figcaption></figure><p>搜索并添加nillion，保存</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d56ae9537484ccb870b6f9b9fc6eab70cae0be365e1fc474a8f52781b4bc4dbf.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h3 id="h-keplrnillion" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">给Keplr中的nillion钱包领水</h3><p>在keplr钱包中复制你的nillion地址</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/04109a24c82a5edbbfa24f02ddd150e5793f5c364c4f672f68f5876b5e34d6b9.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><div data-type="embedly" src="https://faucet.testnet.nillion.com/" data="{&quot;provider_url&quot;:&quot;https://faucet.testnet.nillion.com&quot;,&quot;title&quot;:&quot;nil Testnet Faucet&quot;,&quot;url&quot;:&quot;https://faucet.testnet.nillion.com/&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Nillion&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><p>成功后，应该能在钱包中看到0.01个测试币</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6cf8ecd02f47b631f1d2aabfbba7b0e0f41c2a5329a7b955916de51f20a5d0df.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><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">初始化节点</h1><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="curl -fssl https://get.docker.com | bash -s docker
"><code>curl <span class="hljs-operator">-</span>fssl https:<span class="hljs-comment">//get.docker.com | bash -s docker</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="docker pull nillion/verifier:v1.0.1
"><code>docker pull nillion/verifier:v1.0.1
</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
mkdir -p nillion/accuser
docker run -v ./nillion/accuser:/var/tmp nillion/verifier:v1.0.1 initialise
"><code>cd
mkdir <span class="hljs-operator">-</span>p nillion<span class="hljs-operator">/</span>accuser
docker run <span class="hljs-operator">-</span>v ./nillion<span class="hljs-operator">/</span>accuser:<span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>tmp nillion<span class="hljs-operator">/</span>verifier:v1<span class="hljs-number">.0</span><span class="hljs-number">.1</span> initialise
</code></pre><p>日志中将输出你的 account_id 和 public_key，你需要这些信息来在 Nillion 门户上注册验证者</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9f87d1b879b43dd35add1c55cda0e9661cb684ab9464f1108c3222639bd87c32.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><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">注册节点</h1><p>打开</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://verifier.nillion.com/">https://verifier.nillion.com/</a></p><p>如果打不开，打开无痕模式(或者清缓存)，换ip(有些地方的ip打开网站会403)</p><p>选择Verifier,点击Set up for Linux,点击第五步</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c4dda9e060266620fe233e9993eec656cdab45f61bb69fa07f20290f48d74d5f.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>输入日志的AccountId 和PublicKey,点击Complete account connection,之后在keplr钱包确认。成功后会显示如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/df7a61bb5a23b9c8396e61832ee6ec9749754a92d684cfee5acb3001a870fe45.png" alt="注册成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">注册成功</figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">给刚刚生成的钱包领水</h2><p>复制<strong>刚刚日志中nillion开头的地址(不是keplr钱包的地址)</strong>，领水</p><div data-type="embedly" src="https://faucet.testnet.nillion.com/" data="{&quot;provider_url&quot;:&quot;https://faucet.testnet.nillion.com&quot;,&quot;title&quot;:&quot;nil Testnet Faucet&quot;,&quot;url&quot;:&quot;https://faucet.testnet.nillion.com/&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Nillion&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">启动节点</h1><p>在注册成功并给刚刚的钱包领水后,可以启动节点</p><h2 id="h-rpc" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">检查rpc</h2><p>可以选择</p><pre data-type="codeBlock" text="https://testnet-nillion-rpc.lavenderfive.com
https://nillion-testnet-rpc.polkachu.com
https://51.89.195.146:26657
"><code>https:<span class="hljs-comment">//testnet-nillion-rpc.lavenderfive.com</span>
https:<span class="hljs-comment">//nillion-testnet-rpc.polkachu.com</span>
https:<span class="hljs-comment">//51.89.195.146:26657</span>
</code></pre><p>等rpc。</p><p>建议先检查rpc是否同步到了最新区块。</p><p>如果没安装jq,先安装jq</p><pre data-type="codeBlock" text="sudo apt-get install jq -y
"><code>sudo apt<span class="hljs-operator">-</span>get install jq <span class="hljs-operator">-</span>y
</code></pre><pre data-type="codeBlock" text="curl -s RPC链接/status |jq .result.sync_info
"><code>curl <span class="hljs-operator">-</span>s RPC链接<span class="hljs-operator">/</span>status <span class="hljs-operator">|</span>jq .result.sync_info
</code></pre><p>如果catching_up为false则该rpc已经同步上。例如</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ffb1d3ff329a6b1c669ba846f22c9fa0df17b3bead760c1bdadd6ec8fe0d0063.png" alt="这个rpc已经同步上了" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">这个rpc已经同步上了</figcaption></figure><p>运行节点</p><pre data-type="codeBlock" text="docker run -d --name nillion_verifier -v ./nillion/accuser:/var/tmp nillion/verifier:v1.0.1 verify --rpc-endpoint &quot;https://testnet-nillion-rpc.lavenderfive.com&quot;
"><code>docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name nillion_verifier <span class="hljs-operator">-</span>v ./nillion<span class="hljs-operator">/</span>accuser:<span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>tmp nillion<span class="hljs-operator">/</span>verifier:v1<span class="hljs-number">.0</span><span class="hljs-number">.1</span> verify <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc<span class="hljs-operator">-</span>endpoint <span class="hljs-string">"https://testnet-nillion-rpc.lavenderfive.com"</span>
</code></pre><p><strong>rpc-endpoint可以换成其他nillion测试网的rpc。</strong></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="docker logs -f nillion_verifier --tail 100
"><code>docker logs <span class="hljs-operator">-</span>f nillion_verifier <span class="hljs-operator">-</span><span class="hljs-operator">-</span>tail <span class="hljs-number">100</span>
</code></pre><p>一开始日志应该像这样</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/75a225a302bb6baa872ed50ecdfe0614778582e5349bb4359887fc4397cdca77.png" alt="一开始的日志" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">一开始的日志</figcaption></figure><p>运行一段时间后，能看到如下图的日志</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9f2d90f54b886c7e44faa26740befa4c5ebc64f8b33c83b0c7db776d7d6a8313.png" alt="后来的日志" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">后来的日志</figcaption></figure><p>如果你看到</p><pre data-type="codeBlock" text="Registered: true
Secret stores Found 在增加
"><code><span class="hljs-symbol">Registered:</span> <span class="hljs-literal">true</span>
Secret stores Found 在增加
</code></pre><p>节点便运行成功了</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">备份</h1><p><strong>建议备份以下文件</strong></p><pre data-type="codeBlock" text="~/nillion/accuser/credentials.json
"><code><span class="hljs-operator">~</span><span class="hljs-operator">/</span>nillion<span class="hljs-operator">/</span>accuser<span class="hljs-operator">/</span>credentials.json
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"></h1><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">常见错误</h1><h3 id="h-registered-truesecret-stores-found" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Registered: True但是Secret stores Found 不增加</h3><p><strong>解决方法</strong></p><p>重启节点</p><h3 id="h-account-sequence-mismatch-expected-xxx-got-xxx-incorrect-account-sequence" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">account sequence mismatch, expected xxx, got xxx: incorrect account sequence</h3><p><strong>解决方法</strong></p><p>重启节点</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">其他命令</h1><p>停止并删除节点</p><pre data-type="codeBlock" text="docker stop nillion_verifier  
docker rm nillion_verifier
"><code>docker stop nillion_verifier  
docker rm nillion_verifier
</code></pre><p>重启节点</p><pre data-type="codeBlock" text="docker stop nillion_verifier  
docker rm nillion_verifier
docker run -d --name nillion_verifier -v ./nillion/accuser:/var/tmp nillion/verifier:v1.0.1 verify --rpc-endpoint &quot;https://testnet-nillion-rpc.lavenderfive.com&quot;
"><code>docker stop nillion_verifier  
docker rm nillion_verifier
docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name nillion_verifier <span class="hljs-operator">-</span>v ./nillion<span class="hljs-operator">/</span>accuser:<span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>tmp nillion<span class="hljs-operator">/</span>verifier:v1<span class="hljs-number">.0</span><span class="hljs-number">.1</span> verify <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc<span class="hljs-operator">-</span>endpoint <span class="hljs-string">"https://testnet-nillion-rpc.lavenderfive.com"</span>
</code></pre><p>更换rpc</p><pre data-type="codeBlock" text="docker stop nillion_verifier
docker rm nillion_verifier
docker run -d --name nillion_verifier -v ./nillion/accuser:/var/tmp nillion/verifier:v1.0.1 verify --rpc-endpoint &quot;新rpc&quot;
"><code>docker stop nillion_verifier
docker rm nillion_verifier
docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name nillion_verifier <span class="hljs-operator">-</span>v ./nillion<span class="hljs-operator">/</span>accuser:<span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>tmp nillion<span class="hljs-operator">/</span>verifier:v1<span class="hljs-number">.0</span><span class="hljs-number">.1</span> verify <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rpc<span class="hljs-operator">-</span>endpoint <span class="hljs-string">"新rpc"</span>
</code></pre>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/c7db84736a32ab204d67b2e93473fa933d95e4df8dddcf27d99436a252f7bfe5.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cysic激励测试网第一阶段节点教程(Ubuntu系统)]]></title>
            <link>https://paragraph.com/@exploring/cysic-ubuntu</link>
            <guid>9MsV8JiwDuEbKTJtzDLY</guid>
            <pubDate>Mon, 29 Jul 2024 18:28:12 GMT</pubDate>
            <description><![CDATA[Cysic是ZK硬件加速平台，致力于设计先进的 ASIC 芯片，帮助缩短 ZK 证明生成时间，成为首个 ZK Prover Network。它是一个实时的 ZK 证明生成和验证层，旨在以最快、最便宜、最简单、最去中心化的方式提供 ZK 证明。 官网：CysicCysic is a real-time ZK Proof Generation Layer with State-of-the-Art hardware and prover network.https://cysic.xyz官推Cysic 最近完成了 1200 万美元的 pre - A 轮融资， OKX Ventures 和 HashKey Capital 联合领投。去年 2 月种子轮融资600万美元， Polychain Capital 领投。目前共融资1800万美元。来自rootdata的信息Cysic Network 的测试网包含 3 个阶段。在每个阶段，都会引入积分激励系统。激励积分旨在奖励测试网的贡献者，包括：验证者计算资源提供者活跃的社区成员第一阶段测试网将引入验证者奖励，以验证者身份加入的用户将仅根据验证贡...]]></description>
            <content:encoded><![CDATA[<p>Cysic是ZK硬件加速平台，致力于设计先进的 ASIC 芯片，帮助缩短 ZK 证明生成时间，成为首个 ZK Prover Network。它是一个实时的 ZK 证明生成和验证层，旨在以最快、最便宜、最简单、最去中心化的方式提供 ZK 证明。</p><p>官网：</p><div data-type="embedly" src="https://cysic.xyz/" data="{&quot;provider_url&quot;:&quot;https://cysic.xyz&quot;,&quot;description&quot;:&quot;Cysic is a real-time ZK Proof Generation Layer with State-of-the-Art hardware and prover network.&quot;,&quot;title&quot;:&quot;Cysic&quot;,&quot;url&quot;:&quot;https://cysic.xyz/&quot;,&quot;author_name&quot;:&quot;Cysic&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Cysic&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://cysic.xyz/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Cysic</h2><p>Cysic is a real-time ZK Proof Generation Layer with State-of-the-Art hardware and prover network.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://cysic.xyz</span></div></div></a></div></div><p>官推</p><div data-type="embedly" src="https://x.com/cysic_xyz" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/cysic_xyz&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/cysic_xyz?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by cysic_xyz&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div><p>Cysic 最近完成了 1200 万美元的 pre - A 轮融资， OKX Ventures 和 HashKey Capital 联合领投。去年 2 月种子轮融资600万美元， Polychain Capital 领投。目前共融资1800万美元。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9805efc33bd6d87934a347c9c2e13ec7121d98c8f532ef04569332c8d9b45755.png" alt="来自rootdata的信息" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">来自rootdata的信息</figcaption></figure><p>Cysic Network 的测试网包含 3 个阶段。在每个阶段，都会引入<strong>积分激励系统</strong>。激励积分旨在奖励测试网的贡献者，包括：</p><ul><li><p>验证者</p></li><li><p>计算资源提供者</p></li><li><p>活跃的社区成员</p></li></ul><p>第一阶段测试网将引入验证者奖励，以验证者身份加入的用户将仅根据验证贡献获得奖励，计算资源提供者预计将在第二阶段获得奖励，参与者获得的<strong>积分将通过一定比例等奖励兑换为主网代币。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e7038736960ff82d22a73bff75ddab16f5391f1fdb7ebdb5b1d6e26a8f88f7c0.png" alt="Cysic Network路线图" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Cysic Network路线图</figcaption></figure><p>Cysic Network的主网预计将于2025年上线。</p><p>更多关于Cysic Network的信息请查看<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@cysic/introduction-of-cysic-network-86d5268e9df3">官方博客</a>。</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">激励测试网第一阶段</h1><p>Cysic 的激励测试网第一阶段现已对验证节点<strong>白名单</strong>上的参与者开放！</p><p>作为验证者，你将在 Cysic 网络上支持真实的 ZK 项目，并从今天开始赚取积分，这些积分将转换为主网代币!</p><p><strong>根据管理的说法，现在没有拿到白名单也还有机会。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2a3d3388083c64e63002ae44fc8aab7f78e3d924b3af34d84a6b05a83161ca89.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>在测试网启动期间，白名单将继续在社区中分发，之前可以通过银河，创作者竞赛等活动获取白名单，未来也会有新的活动。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/680764b89ee044788dbd652340cc5dda82517f3b886abb04c12172520f3ef2e5.png" alt="获取白名单的方法" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">获取白名单的方法</figcaption></figure><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">第一阶段验证者教程</h1><p>本教程仅供参考，请以<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@cysic/join-the-cysic-testnet-as-a-verifier-7b9f31674b41">官方教程</a>为准。</p><p>打开测试网网站</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://testnet.cysic.xyz/m/register">https://testnet.cysic.xyz/m/register</a></p><p>连接你<strong>有白名单的钱包</strong>，选择<strong>Verifier</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ae922648fbff16e3a3590c6048eeeb96ac25c028d731fd1571b92ebe7dfda9d7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>提交你的信息，最下面的是奖励领取地址，需要是<strong>erc20地址</strong>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0f30b4b7de287d58e11f741485e0c23e1561d20e331ce3577c28f559c9a8bc95.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>之后在Cysic 仪表盘（<strong>下方链接</strong>）将看到你的地址</p><p>🔗：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://testnet.cysic.xyz/m/dashboard/verifier">https://testnet.cysic.xyz/m/dashboard/verifier</a></p><p>会显示<strong>pending</strong>状态。需要运行节点才能变成<strong>Accept</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</h2><p>本教程使用<strong>Ubuntu22.04</strong>系统，如果你是其他系统，请参考<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@cysic/join-the-cysic-testnet-as-a-verifier-7b9f31674b41">官方教程</a>。</p><p>如果是<strong>Ubuntu20.04,会遇到GLIBC_* Not found的报错。目前只能用22.04。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">最低配置</h3><ul><li><p><strong>CPU</strong>：单核</p></li><li><p><strong>内存：</strong><s>512 MB</s> <strong>实测512MB不够，建议4G以上内存（4G可能也不够），否则可能遇到OOM 错误</strong></p></li><li><p><strong>磁盘：</strong> 10 GB</p></li><li><p><strong>带宽：</strong> 100 KB/s 上传/下载</p></li></ul><h3 id="h-so" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载验证者二进制文件和.so文件</h3><pre data-type="codeBlock" text="cd ~ 
rm -rf ~/cysic-verifier 
mkdir cysic-verifier 
curl -L https://cysic-verifiers.oss-accelerate.aliyuncs.com/verifier_linux &gt; ~/cysic-verifier/verifier 
curl -L https://cysic-verifiers.oss-accelerate.aliyuncs.com/libzkp.so &gt; ~/cysic-verifier/libzkp.so
"><code>cd <span class="hljs-operator">~</span> 
rm <span class="hljs-operator">-</span>rf <span class="hljs-operator">~</span><span class="hljs-operator">/</span>cysic<span class="hljs-operator">-</span>verifier 
mkdir cysic<span class="hljs-operator">-</span>verifier 
curl <span class="hljs-operator">-</span>L https:<span class="hljs-comment">//cysic-verifiers.oss-accelerate.aliyuncs.com/verifier_linux > ~/cysic-verifier/verifier </span>
curl <span class="hljs-operator">-</span>L https:<span class="hljs-comment">//cysic-verifiers.oss-accelerate.aliyuncs.com/libzkp.so > ~/cysic-verifier/libzkp.so</span>
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">填写配置文件</h3><p>填写你网页上填的的领取奖励的evm地址，并运行</p><pre data-type="codeBlock" text="ADDRESS=你网页上填的的领取奖励的evm地址
"><code><span class="hljs-attr">ADDRESS</span>=你网页上填的的领取奖励的evm地址
</code></pre><p>例如我的</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5cda301a64ab49eacb875374efbd757ad7807732bea2d8e97a51caafa5aac5cd.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><pre data-type="codeBlock" text="cat &lt;&lt;EOF &gt; cysic-verifier/config.yaml
# Not Change
chain:
  # Not Change
  endpoint: &quot;testnet-node-1.prover.xyz:9090&quot;
  # Not Change
  chain_id: &quot;cysicmint_9000-1&quot;
  # Not Change
  gas_coin: &quot;cysic&quot;
  # Not Change
  gas_price: 10
  # Modify Here： ! Your Address (EVM) submitted to claim rewards
claim_reward_address: &quot;$ADDRESS&quot;

server:
  # don&apos;t modify this
  cysic_endpoint: &quot;https://api-testnet.prover.xyz&quot;
EOF
"><code><span class="hljs-string">cat</span> <span class="hljs-string">&#x3C;&#x3C;EOF</span> <span class="hljs-string">></span> <span class="hljs-string">cysic-verifier/config.yaml</span>
<span class="hljs-comment"># Not Change</span>
<span class="hljs-attr">chain:</span>
  <span class="hljs-comment"># Not Change</span>
  <span class="hljs-attr">endpoint:</span> <span class="hljs-string">"testnet-node-1.prover.xyz:9090"</span>
  <span class="hljs-comment"># Not Change</span>
  <span class="hljs-attr">chain_id:</span> <span class="hljs-string">"cysicmint_9000-1"</span>
  <span class="hljs-comment"># Not Change</span>
  <span class="hljs-attr">gas_coin:</span> <span class="hljs-string">"cysic"</span>
  <span class="hljs-comment"># Not Change</span>
  <span class="hljs-attr">gas_price:</span> <span class="hljs-number">10</span>
  <span class="hljs-comment"># Modify Here： ! Your Address (EVM) submitted to claim rewards</span>
<span class="hljs-attr">claim_reward_address:</span> <span class="hljs-string">"$ADDRESS"</span>

<span class="hljs-attr">server:</span>
  <span class="hljs-comment"># don't modify this</span>
  <span class="hljs-attr">cysic_endpoint:</span> <span class="hljs-string">"https://api-testnet.prover.xyz"</span>
<span class="hljs-string">EOF</span>
</code></pre><p>检查你的配置文件，运行</p><pre data-type="codeBlock" text="cat cysic-verifier/config.yaml
"><code>cat cysic<span class="hljs-operator">-</span>verifier<span class="hljs-operator">/</span>config.yaml
</code></pre><p>应该显示如</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6aa9663ae91d928aba262a514bc152cfbea91ea0677540370ca6aec94c46185a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">运行验证者程序</h3><pre data-type="codeBlock" text="chmod +x ~/cysic-verifier/verifier
"><code>chmod <span class="hljs-operator">+</span>x <span class="hljs-operator">~</span><span class="hljs-operator">/</span>cysic<span class="hljs-operator">-</span>verifier<span class="hljs-operator">/</span>verifier
</code></pre><p>以系统服务运行</p><pre data-type="codeBlock" text="sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/verifier.service
[Unit]
Description=cysic verifier
After=network.target
[Service]
User=$USER
Environment=&quot;LD_LIBRARY_PATH=.:~/miniconda3/lib:$LD_LIBRARY_PATH&quot;
Environment=&quot;CHAIN_ID=534352&quot;
WorkingDirectory=$HOME/cysic-verifier
ExecStart=$HOME/cysic-verifier/verifier
Restart=always
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable verifier &amp;&amp; \
sudo systemctl start verifier
"><code>sudo 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>verifier.service
[Unit]
Description<span class="hljs-operator">=</span>cysic verifier
After<span class="hljs-operator">=</span>network.target
[Service]
User<span class="hljs-operator">=</span>$USER
Environment<span class="hljs-operator">=</span><span class="hljs-string">"LD_LIBRARY_PATH=.:~/miniconda3/lib:$LD_LIBRARY_PATH"</span>
Environment<span class="hljs-operator">=</span><span class="hljs-string">"CHAIN_ID=534352"</span>
WorkingDirectory<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>cysic<span class="hljs-operator">-</span>verifier
ExecStart<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>cysic<span class="hljs-operator">-</span>verifier<span class="hljs-operator">/</span>verifier
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">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF

sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable verifier <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start verifier
</code></pre><p>查看日志</p><pre data-type="codeBlock" text=" sudo journalctl -u verifier -f
"><code> sudo journalctl <span class="hljs-operator">-</span>u verifier <span class="hljs-operator">-</span>f
</code></pre><p>你会看到类似下面这样的日志</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d3174bbaba749efdd8d62078acdcb7db9ec51ebfa1e222b324d73fcd4056859a.png" alt="请检查日志里的地址是否正确" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">请检查日志里的地址是否正确</figcaption></figure><p>请检查这个地址是不是你提交的奖励地址。</p><p>如果是第一次启动，会自动下载验证器依赖文件，请等待15-20分钟。</p><p><strong>下载成功，并且地址也通过验证后，你将在日志中看到如下，区块高度将会增加。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f0e50850b4518db222f1209e03d3bb06c7d1676d5cf0bab225e98e7a1da55c68.png" alt="下载完成后，成功运行验证者节点" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">下载完成后，成功运行验证者节点</figcaption></figure><p>如果申请没有通过，则会出现错误如下（可能因为你没有白名单），并且程序会重新检查：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2237ffde6a4e6561c3857da021efbe02ab5f96f4cf085c84a135bb2145ba5cd0.png" alt="错误，可能是你没有白名单" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">错误，可能是你没有白名单</figcaption></figure><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">再次检查仪表盘</h3><p>验证者节点运行成功后，在仪表盘中找到你的地址，你将看到Accept，接下来点击Details</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4a77352407a934344b0136cf57bd85be059c58c7e17e54cbd02f9af039b24ce3.png" alt="点击Details" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">点击Details</figcaption></figure><p>你将看到如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ecbb4c0836e5b4685b00a76c08edbc8a67b9606ac28f828b46a622ad3090bdbc.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>至此，验证者节点便运行成功。节点将在后台运行</strong></p><h3 id="h-key" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">备份key</h3><p><strong>我们在日志中看到了提示，让我们备份key。</strong></p><pre data-type="codeBlock" text="cd ~/.cysic/keys/
ls
"><code>cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.cysic/keys<span class="hljs-operator">/</span>
ls
</code></pre><p>你将看到如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e6d6ff0c70aa15188f368256a494d962378777864b4fee1952c4ebb890a77298.png" alt="备份key" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">备份key</figcaption></figure><p><strong>使用ftp或者sftp连接你的服务器并下载这个文件，备份好</strong></p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">本教程还会持续更新，欢迎关注</h1><div data-type="embedly" src="https://x.com/ethexploring/" data="{&quot;provider_url&quot;:&quot;https://x.com&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://x.com/ethexploring/&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;X (formerly Twitter)&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/b5b54a88e8ba11939b2002d1787484c710061ee1a576b6f81b598aed78ae1434.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Chasm Network Scout节点教程]]></title>
            <link>https://paragraph.com/@exploring/chasm-network-scout</link>
            <guid>T17OeP7axq8OxKBYOaRA</guid>
            <pubDate>Sat, 20 Jul 2024 15:58:54 GMT</pubDate>
            <description><![CDATA[去中心化AI赛道十分火热，Chasm Network是Mantle上的去中心化混合模型网络。 Chasm Network 旨在创建一个高效协作解决复杂问题的 AI 网络。网络的核心组件包括 Orchestrators（协调者）和 Scouts（侦察员）。协调者 (Orchestrators)：像项目经理一样，接收用户请求（称为“意图”），将其分解成更小的任务，并找到最佳的完成方式。侦察员 (Scouts)：像专业工人一样，处理特定任务的部分。协调者将任务分配给合适的侦察员，侦察员完成各自的部分，直到整个任务完成。 Chasm Network 设计理念去中心化专家混合 (DeMoE)：侦察员是各自领域的专家，系统根据任务需求将其分配给最合适的侦察员，确保结果更集中、更高效。用户友好性：为了让新手也能轻松设置节点，Chasm Scout 使用了 Docker 等简化步骤的技术。技术栈：采用 TypeScript 和 Bun 运行时，Bun 运行时能够更高效地利用内存。集成：集成了 Groq 和 OpenRouter 等 API 提供商，未来计划支持用户通过 GPU 运行任务。Chas...]]></description>
            <content:encoded><![CDATA[<p>去中心化AI赛道十分火热，Chasm Network是Mantle上的去中心化混合模型网络。</p><p>Chasm Network 旨在创建一个高效协作解决复杂问题的 AI 网络。网络的核心组件包括 Orchestrators（协调者）和 Scouts（侦察员）。</p><ol><li><p><strong>协调者 (Orchestrators)</strong>：像项目经理一样，接收用户请求（称为“意图”），将其分解成更小的任务，并找到最佳的完成方式。</p></li><li><p><strong>侦察员 (Scouts)</strong>：像专业工人一样，处理特定任务的部分。</p></li></ol><p>协调者将任务分配给合适的侦察员，侦察员完成各自的部分，直到整个任务完成。</p><p>Chasm Network 设计理念</p><ul><li><p><strong>去中心化专家混合 (DeMoE)</strong>：侦察员是各自领域的专家，系统根据任务需求将其分配给最合适的侦察员，确保结果更集中、更高效。</p></li><li><p><strong>用户友好性</strong>：为了让新手也能轻松设置节点，Chasm Scout 使用了 Docker 等简化步骤的技术。</p></li><li><p><strong>技术栈</strong>：采用 TypeScript 和 Bun 运行时，Bun 运行时能够更高效地利用内存。</p></li><li><p><strong>集成</strong>：集成了 Groq 和 OpenRouter 等 API 提供商，未来计划支持用户通过 GPU 运行任务。</p></li></ul><p><strong>Chasm Network近期开启了Season 0，预计将持续8周左右。运行节点能够获取积分，有一定激励。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0efb97cc8052a258b51f18415d5bf11635325bc434dfd24f9adfa317d030aaa1.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><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官推</h1><div data-type="embedly" src="https://x.com/ChasmNetwork" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/ChasmNetwork&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/ChasmNetwork?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by ChasmNetwork&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方文档</h1><div data-type="embedly" src="https://network-docs.chasm.net/" data="{&quot;provider_url&quot;:&quot;https://network-docs.chasm.net&quot;,&quot;description&quot;:&quot;Introduction to Chasm&quot;,&quot;title&quot;:&quot;Entering Chasm | Chasm Network&quot;,&quot;mean_alpha&quot;:254.966666667,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://network-docs.chasm.net&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/1082c0f84da8f33096496926d39a47091bf4bee4f11a6133d499f48f89004854.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Chasm&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/1082c0f84da8f33096496926d39a47091bf4bee4f11a6133d499f48f89004854.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/1082c0f84da8f33096496926d39a47091bf4bee4f11a6133d499f48f89004854.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://network-docs.chasm.net/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Entering Chasm | Chasm Network</h2><p>Introduction to Chasm</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://network-docs.chasm.net</span></div><img src="https://storage.googleapis.com/papyrus_images/1082c0f84da8f33096496926d39a47091bf4bee4f11a6133d499f48f89004854.png"/></div></a></div></div><p>本教程仅供参考，请以官方文档为准。</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">配置要求</h1><p>最低配置:</p><p>1 vCPU,1GB RAM,20GB 硬盘,静态 IP</p><p>建议的配置</p><p>2 vCPU,4GB RAM,50GB SSD,静态 IP</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装教程</h1><h2 id="h-nftscoutuid-webhookapikey" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">铸造NFT以获取SCOUT_UID 和 WEBHOOK_API_KEY</h2><p><strong>你的钱包中需要有0.1个Mantle链的</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.coingecko.com/zh/%E6%95%B0%E5%AD%97%E8%B4%A7%E5%B8%81/mantle"><strong>MNT</strong></a><strong>作为GAS</strong></p><p>打开</p><div data-type="embedly" src="https://scout.chasm.net/private-mint" data="{&quot;provider_url&quot;:&quot;https://scout.chasm.net&quot;,&quot;title&quot;:&quot;Chasm Scout&quot;,&quot;url&quot;:&quot;https://scout.chasm.net/private-mint&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Chasm&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><p>点击_mint(scout)</p><p>Mint成功后</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/56b524227659665f3de7349f95676e5413da50b40e23396494f034ea2dad15d2.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>点击Setup my scouts</p><p>复制这里的内容粘贴到服务器上</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0c7e3c11122e20b4130fbf2702959e97abb8e58d38ed20d9a80d785001bbda4c.png" alt="获取SCOUT_UID 和 WEBHOOK_API_KEY" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">获取SCOUT_UID 和 WEBHOOK_API_KEY</figcaption></figure><h2 id="h-groq-api-key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">注册groq 账户,获取api key</h2><p>打开</p><div data-type="embedly" src="https://console.groq.com/keys" data="{&quot;provider_url&quot;:&quot;https://console.groq.com&quot;,&quot;description&quot;:&quot;Build Fast with GroqCloud&quot;,&quot;title&quot;:&quot;GroqCloud - Build Fast&quot;,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://console.groq.com/keys&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/4adc397b0e8046e6b73caa2371657213eb8c90a1caab71ac3bb52bcd1a2a279d.jpg&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Groq&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/4adc397b0e8046e6b73caa2371657213eb8c90a1caab71ac3bb52bcd1a2a279d.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/4adc397b0e8046e6b73caa2371657213eb8c90a1caab71ac3bb52bcd1a2a279d.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://console.groq.com/keys" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>GroqCloud - Build Fast</h2><p>Build Fast with GroqCloud</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://console.groq.com</span></div><img src="https://storage.googleapis.com/papyrus_images/4adc397b0e8046e6b73caa2371657213eb8c90a1caab71ac3bb52bcd1a2a279d.jpg"/></div></a></div></div><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7c5308a0fbafffb2cc9fb88fc21d01bad5a6a58c73c0ad4d70a68e9c12a7a8d5.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>创建API Key</p><p>保存好获得的api key，在服务器中输入</p><pre data-type="codeBlock" text="GROQ_API_KEY=你得到的APIKEY
"><code><span class="hljs-attr">GROQ_API_KEY</span>=你得到的APIKEY
</code></pre><h2 id="h-openrouteropenaiapi-key" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">（可选）注册OPENROUTER和OPENAI获取API key</h2><p>注册<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://openrouter.ai/settings/keys">OPENROUTER</a>和<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://platform.openai.com/api-keys">OPENAI</a>获取API key</p><pre data-type="codeBlock" text="#可选
#OPENROUTER_API_KEY=你的OPENROUTER_API_KEY
#OPENAI_API_KEY=你的OPENAI_API_KEY
"><code><span class="hljs-comment">#可选</span>
<span class="hljs-comment">#OPENROUTER_API_KEY=你的OPENROUTER_API_KEY</span>
<span class="hljs-comment">#OPENAI_API_KEY=你的OPENAI_API_KEY</span>
</code></pre><h2 id="h-docker" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装docker</h2><pre data-type="codeBlock" text="curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
"><code>curl <span class="hljs-operator">-</span>fsSL https:<span class="hljs-comment">//get.docker.com -o get-docker.sh</span>
sudo sh get<span class="hljs-operator">-</span>docker.sh
</code></pre><h2 id="h-scout" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行scout</h2><p><strong>如果你启动了防火墙</strong>，需要开启3001端口</p><pre data-type="codeBlock" text="sudo ufw allow 3001
sudo ufw allow 3001/tcp
"><code><span class="hljs-string">sudo</span> <span class="hljs-string">ufw</span> <span class="hljs-string">allow</span> <span class="hljs-number">3001</span>
<span class="hljs-string">sudo</span> <span class="hljs-string">ufw</span> <span class="hljs-string">allow</span> <span class="hljs-number">3001</span><span class="hljs-string">/tcp</span>
</code></pre><p>获取WEBHOOK_URL</p><pre data-type="codeBlock" text="ip=$(curl -s4 ifconfig.me/ip)
WEBHOOK_URL=http://$ip:3001/
"><code>ip<span class="hljs-operator">=</span>$(curl <span class="hljs-operator">-</span>s4 ifconfig.me/ip)
WEBHOOK_URL<span class="hljs-operator">=</span>http:<span class="hljs-comment">//$ip:3001/</span>
</code></pre><h3 id="h-env" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">填写.env文件</h3><p>运行如下命令</p><pre data-type="codeBlock" text="cd ~
mkdir scout
cd scout
tee .env &gt; /dev/null &lt;&lt;EOF
PORT=3001
LOGGER_LEVEL=debug

# Chasm
ORCHESTRATOR_URL=https://orchestrator.chasm.net
SCOUT_NAME=myscout
SCOUT_UID=$SCOUT_UID
WEBHOOK_API_KEY=$WEBHOOK_API_KEY
# Scout Webhook Url, update based on your server&apos;s IP and Port
# e.g. http://123.123.123.123:3001/
WEBHOOK_URL=$WEBHOOK_URL

# Chosen Provider (groq, openai)
PROVIDERS=groq
MODEL=gemma2-9b-it
GROQ_API_KEY=$GROQ_API_KEY

# Optional
OPENROUTER_API_KEY=$OPENROUTER_API_KEY
OPENAI_API_KEY=$OPENAI_API_KEY
EOF
"><code>cd ~
mkdir scout
cd scout
tee .env > /dev/null &#x3C;&#x3C;EOF
<span class="hljs-attr">PORT</span>=<span class="hljs-number">3001</span>
<span class="hljs-attr">LOGGER_LEVEL</span>=debug

<span class="hljs-comment"># Chasm</span>
<span class="hljs-attr">ORCHESTRATOR_URL</span>=https://orchestrator.chasm.net
<span class="hljs-attr">SCOUT_NAME</span>=myscout
<span class="hljs-attr">SCOUT_UID</span>=<span class="hljs-variable">$SCOUT_UID</span>
<span class="hljs-attr">WEBHOOK_API_KEY</span>=<span class="hljs-variable">$WEBHOOK_API_KEY</span>
<span class="hljs-comment"># Scout Webhook Url, update based on your server's IP and Port</span>
<span class="hljs-comment"># e.g. http://123.123.123.123:3001/</span>
<span class="hljs-attr">WEBHOOK_URL</span>=<span class="hljs-variable">$WEBHOOK_URL</span>

<span class="hljs-comment"># Chosen Provider (groq, openai)</span>
<span class="hljs-attr">PROVIDERS</span>=groq
<span class="hljs-attr">MODEL</span>=gemma2-<span class="hljs-number">9</span>b-it
<span class="hljs-attr">GROQ_API_KEY</span>=<span class="hljs-variable">$GROQ_API_KEY</span>

<span class="hljs-comment"># Optional</span>
<span class="hljs-attr">OPENROUTER_API_KEY</span>=<span class="hljs-variable">$OPENROUTER_API_KEY</span>
<span class="hljs-attr">OPENAI_API_KEY</span>=<span class="hljs-variable">$OPENAI_API_KEY</span>
EOF
</code></pre><p>运行</p><pre data-type="codeBlock" text="cat .env
"><code><span class="hljs-built_in">cat</span> .<span class="hljs-built_in">env</span>
</code></pre><p>检查,应该看到如下</p><pre data-type="codeBlock" text="PORT=3001
LOGGER_LEVEL=debug

# Chasm
ORCHESTRATOR_URL=https://orchestrator.chasm.net
SCOUT_NAME=myscout
SCOUT_UID=你网页上获取的SCOUT_UID
WEBHOOK_API_KEY=你网页上获取的WEBHOOK_API_KEY
# Scout Webhook Url, update based on your server&apos;s IP and Port
# e.g. http://123.123.123.123:3001/
WEBHOOK_URL=http:/你服务器的ip:3001/

# Chosen Provider (groq, openai)
PROVIDERS=groq
MODEL=gemma2-9b-it
GROQ_API_KEY=你的GROQ_API_KEY

# Optional
OPENROUTER_API_KEY=
OPENAI_API_KEY=
"><code><span class="hljs-attr">PORT</span>=<span class="hljs-number">3001</span>
<span class="hljs-attr">LOGGER_LEVEL</span>=debug

<span class="hljs-comment"># Chasm</span>
<span class="hljs-attr">ORCHESTRATOR_URL</span>=https://orchestrator.chasm.net
<span class="hljs-attr">SCOUT_NAME</span>=myscout
<span class="hljs-attr">SCOUT_UID</span>=你网页上获取的SCOUT_UID
<span class="hljs-attr">WEBHOOK_API_KEY</span>=你网页上获取的WEBHOOK_API_KEY
<span class="hljs-comment"># Scout Webhook Url, update based on your server's IP and Port</span>
<span class="hljs-comment"># e.g. http://123.123.123.123:3001/</span>
<span class="hljs-attr">WEBHOOK_URL</span>=http:/你服务器的ip:<span class="hljs-number">3001</span>/

<span class="hljs-comment"># Chosen Provider (groq, openai)</span>
<span class="hljs-attr">PROVIDERS</span>=groq
<span class="hljs-attr">MODEL</span>=gemma2-<span class="hljs-number">9</span>b-it
<span class="hljs-attr">GROQ_API_KEY</span>=你的GROQ_API_KEY

<span class="hljs-comment"># Optional</span>
<span class="hljs-attr">OPENROUTER_API_KEY</span>=
OPENAI_API_KEY=
</code></pre><h3 id="h-scout" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">启动scout</h3><pre data-type="codeBlock" text="docker pull chasmtech/chasm-scout
docker run -d --restart=always --env-file ./.env -p 3001:3001 --name scout chasmtech/chasm-scout
"><code>docker pull chasmtech<span class="hljs-operator">/</span>chasm<span class="hljs-operator">-</span>scout
docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>restart<span class="hljs-operator">=</span>always <span class="hljs-operator">-</span><span class="hljs-operator">-</span>env<span class="hljs-operator">-</span>file ./.env <span class="hljs-operator">-</span>p <span class="hljs-number">3001</span>:<span class="hljs-number">3001</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name scout chasmtech<span class="hljs-operator">/</span>chasm<span class="hljs-operator">-</span>scout
</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="curl localhost:3001
"><code></code></pre><p>应该能看到ok</p><h3 id="h-llm" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">测试LLM</h3><pre data-type="codeBlock" text="source ./.env
curl -X POST \
     -H &quot;Content-Type: application/json&quot; \
     -H &quot;Authorization: Bearer $WEBHOOK_API_KEY&quot; \
     -d &apos;{&quot;body&quot;:&quot;{\&quot;model\&quot;:\&quot;gemma2-9b-it\&quot;,\&quot;messages\&quot;:[{\&quot;role\&quot;:\&quot;system\&quot;,\&quot;content\&quot;:\&quot;You are a helpful assistant.\&quot;}]}&quot;}&apos; \
     $WEBHOOK_URL
"><code>source <span class="hljs-operator">./.</span>env
curl <span class="hljs-operator">-</span><span class="hljs-type">X</span> <span class="hljs-type">POST</span> \
     <span class="hljs-operator">-</span><span class="hljs-type">H</span> <span class="hljs-string">"Content-Type: application/json"</span> \
     <span class="hljs-operator">-</span><span class="hljs-type">H</span> <span class="hljs-string">"Authorization: Bearer $WEBHOOK_API_KEY"</span> \
     <span class="hljs-operator">-</span>d '{<span class="hljs-string">"body"</span>:<span class="hljs-string">"{<span class="hljs-subst">\"</span>model<span class="hljs-subst">\"</span>:<span class="hljs-subst">\"</span>gemma2-9b-it<span class="hljs-subst">\"</span>,<span class="hljs-subst">\"</span>messages<span class="hljs-subst">\"</span>:[{<span class="hljs-subst">\"</span>role<span class="hljs-subst">\"</span>:<span class="hljs-subst">\"</span>system<span class="hljs-subst">\"</span>,<span class="hljs-subst">\"</span>content<span class="hljs-subst">\"</span>:<span class="hljs-subst">\"</span>You are a helpful assistant.<span class="hljs-subst">\"</span>}]}"</span>}' \
     <span class="hljs-variable">$WEBHOOK_URL</span>
</code></pre><p>返回应该如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9cae5ed7d86c0b660b3d802491f3524e3401350377a8b2bb1e8981ead5e5c62f.png" alt="测试LLM的返回" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">测试LLM的返回</figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">检查仪表盘</h2><p>等待<strong>十五分钟后</strong>检查</p><div data-type="embedly" src="https://scout.chasm.net/dashboard" data="{&quot;provider_url&quot;:&quot;https://scout.chasm.net&quot;,&quot;title&quot;:&quot;Chasm Scout&quot;,&quot;url&quot;:&quot;https://scout.chasm.net/dashboard&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Chasm&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><p>应该可以看到类似</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3048f99c0bc83a39aef9aeef64832c2befb7c4a09e0f1d4aaf59f7efecb03792.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><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">查看排行榜</h3><div data-type="embedly" src="https://scout.chasm.net/leaderboard" data="{&quot;provider_url&quot;:&quot;https://scout.chasm.net&quot;,&quot;title&quot;:&quot;Chasm Scout&quot;,&quot;url&quot;:&quot;https://scout.chasm.net/leaderboard&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Chasm&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">更新</h1><pre data-type="codeBlock" text="docker stop scout
docker rm scout
docker pull chasmtech/chasm-scout:latest
cd ~/scout
docker run -d --restart=always --env-file ./.env -p 3001:3001 --name scout chasmtech/chasm-scout
"><code>docker stop scout
docker rm scout
docker pull chasmtech<span class="hljs-operator">/</span>chasm<span class="hljs-operator">-</span>scout:latest
cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>scout
docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>restart<span class="hljs-operator">=</span>always <span class="hljs-operator">-</span><span class="hljs-operator">-</span>env<span class="hljs-operator">-</span>file ./.env <span class="hljs-operator">-</span>p <span class="hljs-number">3001</span>:<span class="hljs-number">3001</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name scout chasmtech<span class="hljs-operator">/</span>chasm<span class="hljs-operator">-</span>scout
</code></pre><p><br>随后可以检查日志查看节点状态是否正常</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">其他命令</h2><p>查看scout日志</p><pre data-type="codeBlock" text="docker logs scout -f --tail 100
"><code>docker logs scout <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span><span class="hljs-operator">-</span>tail <span class="hljs-number">100</span>
</code></pre><p>重启scout</p><pre data-type="codeBlock" text="cd ~/scout
docker stop scout
docker rm scout
docker run -d --restart=always --env-file ./.env -p 3001:3001 --name scout johnsonchasm/chasm-scout
"><code>cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>scout
docker stop scout
docker rm scout
docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>restart<span class="hljs-operator">=</span>always <span class="hljs-operator">-</span><span class="hljs-operator">-</span>env<span class="hljs-operator">-</span>file ./.env <span class="hljs-operator">-</span>p <span class="hljs-number">3001</span>:<span class="hljs-number">3001</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name scout johnsonchasm<span class="hljs-operator">/</span>chasm<span class="hljs-operator">-</span>scout
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">错误处理</h1><p>如果遇到类似</p><pre data-type="codeBlock" text="info Setting up webhook at: http://xxxxx:3001/
46 |         ws.on(&quot;error&quot;, (error) =&gt; {
47 |             throw new Error(`Handshake failed: ${error.message}\n${JSON.stringify(error, null, 2)}`);
48 |         });
49 |         ws.on(&quot;close&quot;, (code, reason) =&gt; {
50 |             if (code !== 1000) {
51 |                 throw new Error(`❌ Handshake with orchestrator at ${ORCHESTRATOR_URL} failed with error:\n${reason}`);
                           ^
error: ❌ Handshake with orchestrator at https://orchestrator.chasm.net failed with error:
Webhook validation failed
      at /usr/src/app/dist/src/server/handshake.js:51:23
      at emit (node:events:180:48)
      at ws:95:44

Bun v1.1.20 (Linux x64 baseline)
"><code>info Setting up webhook at: http:<span class="hljs-comment">//xxxxx:3001/</span>
<span class="hljs-number">46</span> <span class="hljs-operator">|</span>         ws.on(<span class="hljs-string">"error"</span>, (<span class="hljs-function"><span class="hljs-keyword">error</span>) => </span>{
<span class="hljs-number">47</span> <span class="hljs-operator">|</span>             <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(`Handshake failed: ${<span class="hljs-keyword">error</span>.message}\n${JSON.stringify(<span class="hljs-function"><span class="hljs-keyword">error</span>, <span class="hljs-title">null</span>, 2)}`)</span>;
<span class="hljs-number">48</span> <span class="hljs-operator">|</span>         });
<span class="hljs-number">49</span> <span class="hljs-operator">|</span>         ws.on(<span class="hljs-string">"close"</span>, (code, reason) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
<span class="hljs-number">50</span> <span class="hljs-operator">|</span>             <span class="hljs-keyword">if</span> (code <span class="hljs-operator">!</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">1000</span>) {
<span class="hljs-number">51</span> <span class="hljs-operator">|</span>                 <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(`❌ Handshake with orchestrator at ${ORCHESTRATOR_URL} failed with <span class="hljs-function"><span class="hljs-keyword">error</span>:\<span class="hljs-title">n$</span></span>{reason}`);
                           <span class="hljs-operator">^</span>
<span class="hljs-function"><span class="hljs-keyword">error</span>: ❌ <span class="hljs-title">Handshake</span> <span class="hljs-title">with</span> <span class="hljs-title">orchestrator</span> <span class="hljs-title">at</span> <span class="hljs-title">https</span>:<span class="hljs-comment">//orchestrator.chasm.net failed with error:</span>
<span class="hljs-title">Webhook</span> <span class="hljs-title">validation</span> <span class="hljs-title">failed</span>
      <span class="hljs-title">at</span> /<span class="hljs-title">usr</span>/<span class="hljs-title">src</span>/<span class="hljs-title">app</span>/<span class="hljs-title">dist</span>/<span class="hljs-title">src</span>/<span class="hljs-title">server</span>/<span class="hljs-title">handshake</span>.<span class="hljs-title">js</span>:51:23
      <span class="hljs-title">at</span> <span class="hljs-title"><span class="hljs-keyword">emit</span></span> (<span class="hljs-params">node:events:<span class="hljs-number">180</span>:<span class="hljs-number">48</span></span>)
      <span class="hljs-title">at</span> <span class="hljs-title">ws</span>:95:44

<span class="hljs-title">Bun</span> <span class="hljs-title">v1</span>.1.20 (<span class="hljs-params">Linux x64 baseline</span>)
</span></code></pre><p>的错误，<strong>是项目方服务器的问题。可以先放着，去discord反馈</strong>。容器会自动重启。</p><p>或者尝试手动重启</p><pre data-type="codeBlock" text="cd ~/scout
docker stop scout
docker rm scout
docker run -d --restart=always --env-file ./.env -p 3001:3001 --name scout johnsonchasm/chasm-scout
"><code>cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>scout
docker stop scout
docker rm scout
docker run <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span><span class="hljs-operator">-</span>restart<span class="hljs-operator">=</span>always <span class="hljs-operator">-</span><span class="hljs-operator">-</span>env<span class="hljs-operator">-</span>file ./.env <span class="hljs-operator">-</span>p <span class="hljs-number">3001</span>:<span class="hljs-number">3001</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name scout johnsonchasm<span class="hljs-operator">/</span>chasm<span class="hljs-operator">-</span>scout
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最新更新</h1><p><s>项目方正在解决问题，可以先等项目方更新</s></p><p>项目方完成了更新，可以再试试，我新开的节点目前没有问题</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">本教程还将持续更新，欢迎关注</h1><div data-type="embedly" src="https://x.com/ethexploring/" data="{&quot;provider_url&quot;:&quot;https://x.com&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://x.com/ethexploring/&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;X (formerly Twitter)&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/9e43f8ea1b9227d44549ce2a3b4114225538d55fce7eab80ac409dd144f6e60a.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Airchains 创建CosmWasm Zk Rollup中文教程]]></title>
            <link>https://paragraph.com/@exploring/airchains-cosmwasm-zk-rollup</link>
            <guid>gNsJXDq32yFsFWTdVTsW</guid>
            <pubDate>Sat, 22 Jun 2024 08:19:03 GMT</pubDate>
            <description><![CDATA[Airchains 是一个模块化的 zk-Rollup 框架平台，其独特设计旨在帮助开发人员构建具有无与伦比的速度和隐私性的综合应用程序,在选择执行和数据可用性层方面提供了灵活性。 官方推特：官方网站：Making Confidentiality Accessible | Enabling zkFHEMaking Confidentiality Accessible | Enabling zkFHEhttps://www.airchains.ioAirchains能与celestia, Avail, EigenDa等DA层集成，在执行层方面，支持EVM,Cosmwasm和SVM。近期Airchains启动了Station奖励计划，旨在激励和支持像开发人员在 Airchains 网络上构建出色的项目。 通过在 Airchains 网络上创建Station，您可以开始赚取积分并解锁令人难以置信的奖励！您建造的Station越多，您为生态系统带来的价值越多，您的奖励就越高。本教程将教你如何创建Airchains的Cosmwasm Zk Rollup Station并赚取积分。 由于av...]]></description>
            <content:encoded><![CDATA[<p>Airchains 是一个模块化的 zk-Rollup 框架平台，其独特设计旨在帮助开发人员构建具有无与伦比的速度和隐私性的综合应用程序,在选择执行和数据可用性层方面提供了灵活性。</p><p>官方推特：</p><div data-type="embedly" src="https://x.com/airchains_io" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/airchains_io&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/airchains_io?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by airchains_io&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div><p>官方网站：</p><div data-type="embedly" src="https://www.airchains.io/" data="{&quot;provider_url&quot;:&quot;https://www.airchains.io&quot;,&quot;description&quot;:&quot;Making Confidentiality Accessible | Enabling zkFHE&quot;,&quot;title&quot;:&quot;Making Confidentiality Accessible | Enabling zkFHE&quot;,&quot;url&quot;:&quot;https://www.airchains.io/&quot;,&quot;thumbnail_width&quot;:324,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/e871c070717083587870b8631b0a1d7c76d7238ae8e9753d510f9e73d7c2febc.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Airchains&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:83,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:324,&quot;height&quot;:83,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/e871c070717083587870b8631b0a1d7c76d7238ae8e9753d510f9e73d7c2febc.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/e871c070717083587870b8631b0a1d7c76d7238ae8e9753d510f9e73d7c2febc.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://www.airchains.io/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Making Confidentiality Accessible | Enabling zkFHE</h2><p>Making Confidentiality Accessible | Enabling zkFHE</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://www.airchains.io</span></div><img src="https://storage.googleapis.com/papyrus_images/e871c070717083587870b8631b0a1d7c76d7238ae8e9753d510f9e73d7c2febc.png"/></div></a></div></div><p>Airchains能与celestia, Avail, EigenDa等DA层集成，在执行层方面，支持EVM,Cosmwasm和SVM。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/65418d56f22ab92808c25c7750ab45c279afc7c1ec8b67040cabd61e31c470dc.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>近期Airchains启动了Station奖励计划，旨在激励和支持像开发人员在 Airchains 网络上构建出色的项目。</p><p>通过在 Airchains 网络上创建Station，您可以开始赚取积分并解锁令人难以置信的奖励！您建造的Station越多，您为生态系统带来的价值越多，您的奖励就越高。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d0b361bcbca041452949c4333d852f2502a273870e1d4bcf93ebaa47f380155f.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>本教程将教你如何创建Airchains的Cosmwasm Zk Rollup Station并赚取积分。</p><p>由于avail经常没水，我们选择eigenda作为da。</p><p><strong><em>本教程仅供参考，请以官方文档为准</em></strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.airchains.io/rollups/cosmwasm-zk-rollup/create-an-cosmwasm-rollup">https://docs.airchains.io/rollups/cosmwasm-zk-rollup/create-an-cosmwasm-rollup</a></p><h1 id="h-cosmwasm-zk-rollup-evm-eigendastation" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Cosmwasm Zk Rollup 可能遇到一些奇怪的无法解决的错误，建议创建EVM + Eigenda的station</h1><h1 id="h-evm-eigendatestcn" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">EVM + Eigenda教程可以参考TESTCN老哥的</h1><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@TestnetCn/airchains-rollapp%E9%83%A8%E7%BD%B2-3842a6cba873">https://medium.com/@TestnetCn/airchains-rollapp部署-3842a6cba873</a></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">配置要求</h2><p>系统: Ubuntu 22.04</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b5fe77a603dc11c01f94fb79cd041bf07345bd432b3e4d7bfd6ae953580e1b0b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-" 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 &amp;&amp; apt-get install jq build-essential -y
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> apt<span class="hljs-operator">-</span>get install jq build<span class="hljs-operator">-</span>essential <span class="hljs-operator">-</span>y
</code></pre><h3 id="h-go" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装go</h3><pre data-type="codeBlock" text="curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.bashrc
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/.bashrc
"><code>curl https:<span class="hljs-comment">//dl.google.com/go/go1.22.1.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>.bashrc
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>.bashrc
</code></pre><p>这里我们选择创建Cosmwasm Zk Rollup</p><h2 id="h-github" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">下载GitHub 库</h2><pre data-type="codeBlock" text="cd
git clone https://github.com/airchains-network/wasm-station.git
git clone https://github.com/airchains-network/tracks.git
"><code><span class="hljs-built_in">cd</span>
git <span class="hljs-built_in">clone</span> https://github.com/airchains-network/wasm-station.git
git <span class="hljs-built_in">clone</span> https://github.com/airchains-network/tracks.git
</code></pre><h2 id="h-wasm-station" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">设置Wasm Station</h2><pre data-type="codeBlock" text="cd wasm-station
go mod tidy
"><code><span class="hljs-built_in">cd</span> wasm-station
go mod tidy
</code></pre><pre data-type="codeBlock" text="/bin/bash ./scripts/local-setup.sh
"><code><span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>bash ./scripts<span class="hljs-operator">/</span>local<span class="hljs-operator">-</span>setup.sh
</code></pre><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/e13f9460d0a7d9961a775963c071ecf9b91f3cebcf253d8ddea4b6c7220d6283.png" alt="等待一段时间后，你会看到类似这样的内容" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">等待一段时间后，你会看到类似这样的内容</figcaption></figure><h3 id="h-wasmstation" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">运行wasmstation</h3><pre data-type="codeBlock" text="sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/wasmstationd.service
[Unit]
Description=wasmstationd
After=network.target
[Service]
User=$USER
ExecStart=$HOME/wasm-station/build/wasmstationd start --api.enable
Restart=always
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable wasmstationd &amp;&amp; \
sudo systemctl start wasmstationd
"><code>sudo 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>wasmstationd.service
[Unit]
Description<span class="hljs-operator">=</span>wasmstationd
After<span class="hljs-operator">=</span>network.target
[Service]
User<span class="hljs-operator">=</span>$USER
ExecStart<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>wasm<span class="hljs-operator">-</span>station<span class="hljs-operator">/</span>build<span class="hljs-operator">/</span>wasmstationd start <span class="hljs-operator">-</span><span class="hljs-operator">-</span>api.enable
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">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF

sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable wasmstationd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start wasmstationd
</code></pre><p>查看日志</p><pre data-type="codeBlock" text="sudo journalctl -u wasmstationd -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u wasmstationd <span class="hljs-operator">-</span>f
</code></pre><h2 id="h-da" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">设置DA</h2><h3 id="h-eigenlayer-cli" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>下载eigenlayer cli</strong></h3><pre data-type="codeBlock" text="cd
wget https://github.com/airchains-network/tracks/releases/download/v0.0.2/eigenlayer
sudo chmod +x eigenlayer
sudo mv eigenlayer /usr/local/bin/eigenlayer
"><code><span class="hljs-built_in">cd</span>
wget https://github.com/airchains-network/tracks/releases/download/v0.0.2/eigenlayer
sudo <span class="hljs-built_in">chmod</span> +x eigenlayer
sudo <span class="hljs-built_in">mv</span> eigenlayer /usr/local/bin/eigenlayer
</code></pre><h3 id="h-key" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>创建key</strong></h3><pre data-type="codeBlock" text="eigenlayer operator keys create  -i=true --key-type ecdsa 你的钱包名 
"><code>eigenlayer operator keys create  <span class="hljs-operator">-</span>i<span class="hljs-operator">=</span><span class="hljs-literal">true</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>key<span class="hljs-operator">-</span><span class="hljs-keyword">type</span> ecdsa 你的钱包名 
</code></pre><p><strong>保存好出现的私钥，输入:q 退出</strong></p><p><strong>记录好出现的Public Key hex</strong>，后面要用</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6b19de7c722ce29a5c541601cbbafaf32b51da87c0b36e3aab5d0f316478f943.png" alt="这里的Public Key hex后面有用" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">这里的Public Key hex后面有用</figcaption></figure><h2 id="h-tracks" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">设置Tracks</h2><p>删除所有旧数据</p><pre data-type="codeBlock" text="sudo rm -rf ~/.tracks
"><code>sudo rm <span class="hljs-operator">-</span>rf <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.tracks
</code></pre><p>下载依赖</p><pre data-type="codeBlock" text="cd $HOME/tracks
go mod tidy
"><code><span class="hljs-built_in">cd</span> <span class="hljs-variable">$HOME</span>/tracks
go mod tidy
</code></pre><h3 id="h-sequencer" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">初始化sequencer</h3><pre data-type="codeBlock" text="go run cmd/main.go init --daRpc &quot;disperser-holesky.eigenda.xyz&quot; --daKey &quot;上面的Public Key hex&quot; --daType &quot;eigen&quot; --moniker &quot;节点名&quot; --stationRpc &quot;http://127.0.0.1:26657&quot; --stationAPI &quot;http://127.0.0.1:1317&quot; --stationType &quot;wasm&quot;
"><code>go run cmd<span class="hljs-operator">/</span>main.go init <span class="hljs-operator">-</span><span class="hljs-operator">-</span>daRpc <span class="hljs-string">"disperser-holesky.eigenda.xyz"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>daKey <span class="hljs-string">"上面的Public Key hex"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>daType <span class="hljs-string">"eigen"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker <span class="hljs-string">"节点名"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>stationRpc <span class="hljs-string">"http://127.0.0.1:26657"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>stationAPI <span class="hljs-string">"http://127.0.0.1:1317"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>stationType <span class="hljs-string">"wasm"</span>
</code></pre><p>成功后,能看到如下</p><pre data-type="codeBlock" text="[2024-06-11 09:50:08] » Track initialization successful
"><code>[<span class="hljs-meta">2024-06-11 09:50:08</span>] » Track initialization successful
</code></pre><h3 id="h-airchains" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建<strong>airchains</strong> 地址</h3><pre data-type="codeBlock" text="go run cmd/main.go keys junction --accountName airchains地址名 --accountPath $HOME/.tracks/junction-accounts/keys
"><code>go run cmd<span class="hljs-operator">/</span>main.go keys junction <span class="hljs-operator">-</span><span class="hljs-operator">-</span>accountName airchains地址名 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>accountPath $HOME<span class="hljs-operator">/</span>.tracks/junction<span class="hljs-operator">-</span>accounts<span class="hljs-operator">/</span>keys
</code></pre><p><strong>注意保存这里显示的助记词</strong>，否则之后无法恢复。<strong>这里也会显示air开头的地址，后面有用</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">领水</h3><p>在discord的Switchyard-faucet频道发送</p><pre data-type="codeBlock" text="$faucet air开头的地址领水
"><code><span class="hljs-variable">$faucet</span> air开头的地址领水
</code></pre><p>如果discord水龙头没水了，可以试试这个</p><div data-type="embedly" src="https://airchains.faucetme.pro/" data="{&quot;provider_url&quot;:&quot;https://airchains.faucetme.pro&quot;,&quot;description&quot;:&quot;Multichain faucet helps with fair and reliable token distribution in various networks Quick and safe way to get tokens&quot;,&quot;title&quot;:&quot;FAUCETME | AIRCHAINS&quot;,&quot;mean_alpha&quot;:63.75,&quot;thumbnail_width&quot;:1920,&quot;url&quot;:&quot;https://airchains.faucetme.pro/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/afb7922072c741f326f5c09b8a54168ef99a658b0c068c16dc9956b6e4a51648.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Faucetme&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:1080,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1920,&quot;height&quot;:1080,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/afb7922072c741f326f5c09b8a54168ef99a658b0c068c16dc9956b6e4a51648.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/afb7922072c741f326f5c09b8a54168ef99a658b0c068c16dc9956b6e4a51648.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://airchains.faucetme.pro/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>FAUCETME | AIRCHAINS</h2><p>Multichain faucet helps with fair and reliable token distribution in various networks Quick and safe way to get tokens</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://airchains.faucetme.pro</span></div><img src="https://storage.googleapis.com/papyrus_images/afb7922072c741f326f5c09b8a54168ef99a658b0c068c16dc9956b6e4a51648.png"/></div></a></div></div><h3 id="h-prover" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">初始化prover</h3><pre data-type="codeBlock" text="go run cmd/main.go prover v1WASM
"><code>go run cmd<span class="hljs-operator">/</span>main.go prover v1WASM
</code></pre><p>获取bootstrapNode值</p><pre data-type="codeBlock" text="nodeid=$(grep &quot;node_id&quot; ~/.tracks/config/sequencer.toml | awk -F &apos;&quot;&apos; &apos;{print $2}&apos;)
ip=$(curl -s4 ifconfig.me/ip)
bootstrapNode=/ip4/$ip/tcp/2300/p2p/$nodeid
echo $bootstrapNode
"><code>nodeid<span class="hljs-operator">=</span>$(grep <span class="hljs-string">"node_id"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.tracks/config<span class="hljs-operator">/</span>sequencer.toml <span class="hljs-operator">|</span> awk <span class="hljs-operator">-</span>F <span class="hljs-string">'"'</span> <span class="hljs-string">'{print $2}'</span>)
ip<span class="hljs-operator">=</span>$(curl <span class="hljs-operator">-</span>s4 ifconfig.me/ip)
bootstrapNode<span class="hljs-operator">=</span><span class="hljs-operator">/</span>ip4<span class="hljs-operator">/</span>$ip<span class="hljs-operator">/</span>tcp<span class="hljs-operator">/</span><span class="hljs-number">2300</span><span class="hljs-operator">/</span>p2p<span class="hljs-operator">/</span>$nodeid
echo $bootstrapNode
</code></pre><p>最后显示的的应该类似</p><pre data-type="codeBlock" text="/ip4/&lt;你服务器的ip&gt;/tcp/2300/p2p/你的nodeid
"><code><span class="hljs-operator">/</span>ip4<span class="hljs-operator">/</span><span class="hljs-operator">&#x3C;</span>你服务器的ip<span class="hljs-operator">></span><span class="hljs-operator">/</span>tcp<span class="hljs-operator">/</span><span class="hljs-number">2300</span><span class="hljs-operator">/</span>p2p<span class="hljs-operator">/</span>你的nodeid
</code></pre><p>这就是你的bootstrapNode值</p><h3 id="h-station" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建station</h3><pre data-type="codeBlock" text="go run cmd/main.go create-station --accountName airchains地址名 --accountPath $HOME/.tracks/junction-accounts/keys --jsonRPC &quot;https://junction-testnet-rpc.synergynodes.com/&quot; --info &quot;WASM Track&quot; --tracks 刚刚air开头的地址 --bootstrapNode &quot;刚刚显示的bootstrapNode&quot;
"><code>go run cmd<span class="hljs-operator">/</span>main.go create<span class="hljs-operator">-</span>station <span class="hljs-operator">-</span><span class="hljs-operator">-</span>accountName airchains地址名 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>accountPath $HOME<span class="hljs-operator">/</span>.tracks/junction<span class="hljs-operator">-</span>accounts<span class="hljs-operator">/</span>keys <span class="hljs-operator">-</span><span class="hljs-operator">-</span>jsonRPC <span class="hljs-string">"https://junction-testnet-rpc.synergynodes.com/"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>info <span class="hljs-string">"WASM Track"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>tracks 刚刚air开头的地址 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>bootstrapNode <span class="hljs-string">"刚刚显示的bootstrapNode"</span>
</code></pre><p><strong>等待一段时间后</strong>，会显示如下</p><pre data-type="codeBlock" text="[2024-06-11 10:16:32] » tracks address: air1mwe3cpx52vmr2nl75yppl0xw2w5htgtyq93env
[2024-06-11 10:16:32] » Currently user have 2.000000AMF
[2024-06-11 10:16:44] » txHash: 3D7688A44BCDBED043380C5367B0B1320187B34E46B6C52E82BD16843D145FE3
[2024-06-11 10:16:44] » /root/.tracks/config/genesis.json created
[2024-06-11 10:16:44] » vrfPrivKey ID: 124014616c36ba23183504643d101a875c99531732bb83f6366e8be2c776bc03
[2024-06-11 10:16:44] » vrfPubKey ID: 13223019114f6a1d4d2068bf2dd58982d63d5c914412976a5291372a51deb542
[2024-06-11 10:16:44] » Successfully Created VRF public and private Keys
[2024-06-11 10:16:44] » Successfully created station
"><code>[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">32</span>] » tracks <span class="hljs-keyword">address</span>: air1mwe3cpx52vmr2nl75yppl0xw2w5htgtyq93env
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">32</span>] » Currently user have <span class="hljs-number">2</span>.000000AMF
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">44</span>] » txHash: 3D7688A44BCDBED043380C5367B0B1320187B34E46B6C52E82BD16843D145FE3
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">44</span>] » <span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>.tracks/config<span class="hljs-operator">/</span>genesis.json created
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">44</span>] » vrfPrivKey ID: 124014616c36ba23183504643d101a875c99531732bb83f6366e8be2c776bc03
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">44</span>] » vrfPubKey ID: 13223019114f6a1d4d2068bf2dd58982d63d5c914412976a5291372a51deb542
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">44</span>] » Successfully Created VRF <span class="hljs-keyword">public</span> and <span class="hljs-keyword">private</span> Keys
[<span class="hljs-number">2024</span><span class="hljs-operator">-</span>06<span class="hljs-number">-11</span> <span class="hljs-number">10</span>:<span class="hljs-number">16</span>:<span class="hljs-number">44</span>] » Successfully created station
</code></pre><h3 id="h-gas-price" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">修改代码默认的gas price</h3><pre data-type="codeBlock" text="sed -i &apos;s/gasFees := fmt.Sprintf(&quot;%damf&quot;, gas)/gasFees := fmt.Sprintf(&quot;%damf&quot;, 2*gas)/&apos; &quot;$HOME/tracks/junction/verifyPod.go&quot;
sed -i &apos;s/gasFees := fmt.Sprintf(&quot;%damf&quot;, gas)/gasFees := fmt.Sprintf(&quot;%damf&quot;, 2*gas)/&apos; &quot;$HOME/tracks/junction/validateVRF.go&quot;
sed -i &apos;s/gasFees := fmt.Sprintf(&quot;%damf&quot;, gas)/gasFees := fmt.Sprintf(&quot;%damf&quot;, 3*gas)/&apos; &quot;$HOME/tracks/junction/submitPod.go&quot;
"><code>sed -<span class="hljs-selector-tag">i</span> 's/gasFees := fmt.<span class="hljs-built_in">Sprintf</span>(<span class="hljs-string">"%damf"</span>, gas)/gasFees := fmt.<span class="hljs-built_in">Sprintf</span>(<span class="hljs-string">"%damf"</span>, <span class="hljs-number">2</span>*gas)/<span class="hljs-string">' "$HOME/tracks/junction/verifyPod.go"
sed -i '</span>s/gasFees := fmt.<span class="hljs-built_in">Sprintf</span>(<span class="hljs-string">"%damf"</span>, gas)/gasFees := fmt.<span class="hljs-built_in">Sprintf</span>(<span class="hljs-string">"%damf"</span>, <span class="hljs-number">2</span>*gas)/<span class="hljs-string">' "$HOME/tracks/junction/validateVRF.go"
sed -i '</span>s/gasFees := fmt.<span class="hljs-built_in">Sprintf</span>(<span class="hljs-string">"%damf"</span>, gas)/gasFees := fmt.<span class="hljs-built_in">Sprintf</span>(<span class="hljs-string">"%damf"</span>, <span class="hljs-number">3</span>*gas)/<span class="hljs-string">' "$HOME/tracks/junction/submitPod.go"
</span></code></pre><h3 id="h-station" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">启动station</h3><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/stationd.service &gt; /dev/null &lt;&lt; EOF
[Unit]
Description=station track service
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/tracks/
ExecStart=$(which go) run cmd/main.go start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable stationd
sudo systemctl restart stationd
"><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>stationd.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>station track service
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target
[Service]
User<span class="hljs-operator">=</span>$USER
WorkingDirectory<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>tracks<span class="hljs-operator">/</span>
ExecStart<span class="hljs-operator">=</span>$(which go) run cmd<span class="hljs-operator">/</span>main.go 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">65535</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
sudo systemctl daemon<span class="hljs-operator">-</span>reload
sudo systemctl enable stationd
sudo systemctl restart stationd
</code></pre><h3 id="h-station" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">查看station日志</h3><pre data-type="codeBlock" text="sudo journalctl -u stationd -f -o cat
"><code>sudo journalctl <span class="hljs-operator">-</span>u stationd <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>o cat
</code></pre><p>Ctrl +c 退出查看日志</p><h2 id="h-tx" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">刷TX</h2><p>创建脚本</p><pre data-type="codeBlock" text="cd
addr=$($HOME/wasm-station/build/wasmstationd keys show node --keyring-backend test -a)
sudo tee spam.sh &gt; /dev/null &lt;&lt; EOF
#!/bin/bash

while true; do
  $HOME/wasm-station/build/wasmstationd tx bank send node ${addr} 1stake --from node --chain-id station-1 --keyring-backend test -y 
  sleep 6  # Add a sleep to avoid overwhelming the system or network
done
EOF
"><code>cd
addr<span class="hljs-operator">=</span>$($HOME<span class="hljs-operator">/</span>wasm<span class="hljs-operator">-</span>station<span class="hljs-operator">/</span>build<span class="hljs-operator">/</span>wasmstationd keys show node <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keyring<span class="hljs-operator">-</span>backend test <span class="hljs-operator">-</span>a)
sudo tee spam.sh <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
#<span class="hljs-operator">!</span><span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>bash

<span class="hljs-keyword">while</span> <span class="hljs-literal">true</span>; do
  $HOME<span class="hljs-operator">/</span>wasm<span class="hljs-operator">-</span>station<span class="hljs-operator">/</span>build<span class="hljs-operator">/</span>wasmstationd <span class="hljs-built_in">tx</span> bank send node ${addr} 1stake <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> node <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id station<span class="hljs-number">-1</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keyring<span class="hljs-operator">-</span>backend test <span class="hljs-operator">-</span>y 
  sleep <span class="hljs-number">6</span>  # Add a sleep to avoid overwhelming the system or network
done
EOF
</code></pre><p>后台运行刷tx脚本</p><pre data-type="codeBlock" text="nohup bash spam.sh &amp;
"><code>nohup bash spam.sh <span class="hljs-operator">&#x26;</span>
</code></pre><p>看日志，正常是这样。成功之后，你会在rollup中每6秒发一笔交易。</p><p><code>cat nohup.out</code></p><pre data-type="codeBlock" text="code: 0
codespace: &quot;&quot;
data: &quot;&quot;
events: []
gas_used: &quot;0&quot;
gas_wanted: &quot;0&quot;
height: &quot;0&quot;
info: &quot;&quot;
logs: []
raw_log: &quot;&quot;
timestamp: &quot;&quot;
tx: null
txhash: F2F9C6911D3D48C98CAC47773E0B7B4C8E9AD23BFD10692177BA5C8C69980A3B
code: 0
codespace: &quot;&quot;
data: &quot;&quot;
events: []
gas_used: &quot;0&quot;
gas_wanted: &quot;0&quot;
height: &quot;0&quot;
info: &quot;&quot;
logs: []
raw_log: &quot;&quot;
timestamp: &quot;&quot;
tx: null
txhash: ACB167A5B5E806B59497EA49B825106E1AB4C8FA7808AA89A726F4109E4E00FB
"><code><span class="hljs-symbol">code:</span> <span class="hljs-number">0</span>
<span class="hljs-symbol">codespace:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">data:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">events:</span> []
<span class="hljs-symbol">gas_used:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">gas_wanted:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">height:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">info:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">logs:</span> []
<span class="hljs-symbol">raw_log:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">timestamp:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">tx:</span> null
<span class="hljs-symbol">txhash:</span> F2F9C6911D3D48C98CAC47773E0B7B4C8E9AD23BFD10692177BA5C8C69980A3B
<span class="hljs-symbol">code:</span> <span class="hljs-number">0</span>
<span class="hljs-symbol">codespace:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">data:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">events:</span> []
<span class="hljs-symbol">gas_used:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">gas_wanted:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">height:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">info:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">logs:</span> []
<span class="hljs-symbol">raw_log:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">timestamp:</span> <span class="hljs-string">""</span>
<span class="hljs-symbol">tx:</span> null
<span class="hljs-symbol">txhash:</span> ACB167A5B5E806B59497EA49B825106E1AB4C8FA7808AA89A726F4109E4E00FB
</code></pre><p>再次查看station日志</p><pre data-type="codeBlock" text="sudo journalctl -u stationd -f -o cat
"><code>sudo journalctl <span class="hljs-operator">-</span>u stationd <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>o cat
</code></pre><p>正常会看到这样的日志</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7a7ca2b4840fdec27766c7e7d6b347f0eae5819db35be81ea9b1a4e13fc27336.png" alt="正常的日志" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">正常的日志</figcaption></figure><p>如果有错误，可以在airchains discord频道问问。</p><h1 id="h-stationd" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">更新stationd到</h1><pre data-type="codeBlock" text="sudo systemctl stop stationd 
cd ~/tracks &amp;&amp; git reset --hard HEAD &amp;&amp; git pull &amp;&amp; git checkout v0.0.5
sudo systemctl start stationd
"><code>sudo systemctl stop stationd 
cd <span class="hljs-operator">~</span><span class="hljs-operator">/</span>tracks <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> git reset <span class="hljs-operator">-</span><span class="hljs-operator">-</span>hard HEAD <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> git pull <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> git checkout v0<span class="hljs-number">.0</span><span class="hljs-number">.5</span>
sudo systemctl start stationd
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">常见问题</h1><p>a. stationd日志一直是</p><pre data-type="codeBlock" text="New Block Found
"><code>New Block Found
</code></pre><p>没有其他日志，并且不加分。</p><p><strong>解决方法</strong></p><p>重启stationd</p><pre data-type="codeBlock" text="sudo systemctl restart stationd
"><code></code></pre><p><em>b. station日志中有各种奇怪的报错。</em></p><p><strong>解决方法</strong></p><p>回滚并重启stationd</p><pre data-type="codeBlock" text="sudo systemctl stop stationd
cd $HOME/tracks
go run cmd/main.go rollback
go run cmd/main.go rollback
go run cmd/main.go rollback
sudo systemctl restart stationd
"><code>sudo systemctl stop stationd
cd $HOME<span class="hljs-operator">/</span>tracks
go run cmd<span class="hljs-operator">/</span>main.go rollback
go run cmd<span class="hljs-operator">/</span>main.go rollback
go run cmd<span class="hljs-operator">/</span>main.go rollback
sudo systemctl restart stationd
</code></pre><p>如果回滚无效。考虑换一个rpc试试。还是不行的话去discord英文频道和项目方反馈。</p><p><strong>可以在discord中文频道找群友分享的定时重启的脚本。</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">查看积分</h2><p>接下来我们需要将airchains钱包（air开头的)钱包导入到<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.leapwallet.io/">leap钱包</a>中。</p><p>点击钱包上方的按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/adbd047dd3a0e5f3ea56a08216d4ac8636934cfa81bbf195e7b946abeefd9d0a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>点击导入助记词</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c038877f6e7e5ced101a290837de84cec705cc97463b264eb1b8acb08fe77b39.png" alt="导入助记词" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">导入助记词</figcaption></figure><p>接下来打开</p><div data-type="embedly" src="https://points.airchains.io/" data="{&quot;provider_url&quot;:&quot;https://points.airchains.io&quot;,&quot;description&quot;:&quot;Station Rewards Program&quot;,&quot;title&quot;:&quot;Station Points Program&quot;,&quot;url&quot;:&quot;https://points.airchains.io/&quot;,&quot;thumbnail_width&quot;:1080,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Airchains&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:608}" format="small"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://points.airchains.io/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Station Points Program</h2><p>Station Rewards Program</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://points.airchains.io</span></div></div></a></div></div><p>连接钱包，接下来你应该能看到积分，如图</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c16b21734863ec73e88f5a16846a2235446a24f26cec104a70d116e9b5678199.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>如果你的节点日志正常，却没有积分。可以在discord里面问问，也许是积分的网站没有同步到最新状态。</p><p>本教程还会持续更新，欢迎关注</p><div data-type="embedly" src="https://x.com/ethexploring/" data="{&quot;provider_url&quot;:&quot;https://x.com&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://x.com/ethexploring/&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;X (formerly Twitter)&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/2620209eab15c19281bf343053eb04e574d8384580b7cc9c5c90c6840a61c97a.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Initia节点激励测试网中文教程]]></title>
            <link>https://paragraph.com/@exploring/initia</link>
            <guid>Uixc8vBNZBycLAaKn6Ax</guid>
            <pubDate>Tue, 14 May 2024 18:31:00 GMT</pubDate>
            <description><![CDATA[Initia是Binance Labs孵化的Cosmos生态模块化L1, 种子轮融资了750万美元。 近期，其开启了节点激励测试网。无门槛，完成任务有积分。 官方博客：The Validator Initiation: A Guide to Initia&#x27;s Incentivized Testnet for ValidatorsThe Validator Initiation: A Guide to Initia&#x27;s Incentivized Testnet for Validators This document is a guide for validators who are willing to participate in Initia&#x27;s Public Testnet. Dear ...https://medium.com详细规则 https://initia-xyz.notion.site/The-Initiation-Validator-Tasks-6d88ab0034644473907435662f9285b3 每周验证者会有不同的...]]></description>
            <content:encoded><![CDATA[<p>Initia是Binance Labs孵化的Cosmos生态模块化L1, 种子轮融资了750万美元。</p><p>近期，其开启了节点激励测试网。无门槛，完成任务有积分。</p><p>官方博客：</p><div data-type="embedly" src="https://medium.com/@initiafdn/the-validator-initiation-a-guide-to-initias-incentivized-testnet-for-validators-b6ddd2eff632" data="{&quot;provider_url&quot;:&quot;https://medium.com&quot;,&quot;description&quot;:&quot;The Validator Initiation: A Guide to Initia&apos;s Incentivized Testnet for Validators This document is a guide for validators who are willing to participate in Initia&apos;s Public Testnet. Dear ...&quot;,&quot;title&quot;:&quot;The Validator Initiation: A Guide to Initia&apos;s Incentivized Testnet for Validators&quot;,&quot;author_name&quot;:&quot;Initia&quot;,&quot;url&quot;:&quot;https://medium.com/@initialabs/the-validator-initiation-a-guide-to-initias-incentivized-testnet-for-validators-b6ddd2eff632&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/640c591111f21673af9d565e190d569504bb2ec1ff8cfc17ed1c7e88d1a570bf.jpg&quot;,&quot;thumbnail_width&quot;:1200,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Medium&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:675,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:675,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/640c591111f21673af9d565e190d569504bb2ec1ff8cfc17ed1c7e88d1a570bf.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/640c591111f21673af9d565e190d569504bb2ec1ff8cfc17ed1c7e88d1a570bf.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://medium.com/@initiafdn/the-validator-initiation-a-guide-to-initias-incentivized-testnet-for-validators-b6ddd2eff632" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>The Validator Initiation: A Guide to Initia&#x27;s Incentivized Testnet for Validators</h2><p>The Validator Initiation: A Guide to Initia&#x27;s Incentivized Testnet for Validators This document is a guide for validators who are willing to participate in Initia&#x27;s Public Testnet. Dear ...</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://medium.com</span></div><img src="https://storage.googleapis.com/papyrus_images/640c591111f21673af9d565e190d569504bb2ec1ff8cfc17ed1c7e88d1a570bf.jpg"/></div></a></div></div><p>详细规则</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://initia-xyz.notion.site/The-Initiation-Validator-Tasks-6d88ab0034644473907435662f9285b3">https://initia-xyz.notion.site/The-Initiation-Validator-Tasks-6d88ab0034644473907435662f9285b3</a></p><p>每周验证者会有不同的任务，现在是Pre-phase,任务是<strong>创建验证者</strong>和<strong>发布initia测试网启动和你对initia的愿望的推文</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ac4d9dead3a1984e37f19164014c2237c3b327c34605bcc11ef3507a9205a4d1.png" alt="第一周任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">第一周任务</figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方教程</h2><div data-type="embedly" src="https://docs.initia.xyz/run-initia-node/running-initia-node" data="{&quot;provider_url&quot;:&quot;https://docs.initia.xyz&quot;,&quot;title&quot;:&quot;Page Not Found&quot;,&quot;url&quot;:&quot;https://docs.initia.xyz/run-initia-node/running-initia-node&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Initia&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最低配置</h2><ul><li><p>4核 CPU</p></li><li><p>16 GB RAM</p></li><li><p>1 TB SSD Storage</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装基础环境</h2><p>安装go</p><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.22.1.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.22.1.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><p>安装其他必要的环境</p><pre data-type="codeBlock" text="sudo apt-get update -y &amp;&amp; sudo apt-get upgrade -y;
sudo apt-get install curl build-essential make gcc jq git -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 curl build<span class="hljs-operator">-</span>essential make gcc jq git <span class="hljs-operator">-</span>y;
</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
git clone https://github.com/initia-labs/initia.git
cd initia
git checkout  v0.2.15
make install
"><code><span class="hljs-built_in">cd</span>
git <span class="hljs-built_in">clone</span> https://github.com/initia-labs/initia.git
<span class="hljs-built_in">cd</span> initia
git checkout  v0.2.15
make install
</code></pre><p>安装完成后可以运行 <code>initiad version</code>检查是否安装成功。</p><p>显示应为<code>v0.2.14</code></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</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="moniker=&lt;你的节点名&gt;
initiad init $moniker --chain-id=initiation-1
initiad config set client chain-id initiation-1
"><code>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你的节点名<span class="hljs-operator">></span>
initiad init $moniker <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>initiation<span class="hljs-number">-1</span>
initiad config set client chain<span class="hljs-operator">-</span>id initiation<span class="hljs-number">-1</span>
</code></pre><h3 id="h-genesis" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载Genesis 文件</h3><pre data-type="codeBlock" text="curl -s https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json &gt;  ~/.initia/config/genesis.json
"><code>curl -s https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json >  ~/.initia/config/genesis.json
</code></pre><h3 id="h-peerseed" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">设置peer和seed</h3><pre data-type="codeBlock" text="PEERS=&quot;d9f51610a17983ec18c7f3eb4abeed3b2091e271@49.12.60.119:26656,95071a39cab00a428c532c682c6cd05618f5a9f4@46.4.80.48:25756,6a6d164766341e4e4f56d0359f130a757f21851a@95.217.148.179:29656,f3e8eb0d3e12eb527ac4ce18ab9c570900595eae@185.215.165.42:26656,17c9bad77ebddb367fcb15aa8c49ee96e879f5e9@109.205.177.233:17956,da4da3eb06fc744054783f101e710aa61ea935c9@162.62.61.65:26656,c1569478ea96b364549c2bd2ebb0cd1b6480b994@194.180.188.42:27656,67c434b23f89606040ca2373ff02dece102aeb73@95.217.199.12:26606,c08e6b6e514869113d121859c1eecdd68fa4f5dd@109.123.247.164:26656,4b93ef428d2df62744b72428ca4b36bd31ebe290@195.201.60.182:26656,e2d76117aa4148bfc57570e0302dd4d747d60e5f@185.188.249.78:27656,ee8af01a38ee80a20a99f46df96f536dbb1f9e98@85.10.202.138:26656,6793d5a0757b1cb2a91ccc8dbd7008f1b7fcafd1@116.203.170.29:26656,a90dc21c3b122e6030ccdeb999c8349a95cdc0d5@194.195.87.170:27656,99df4681c8120da8270e24a4d3115965e3dfc3b9@86.48.5.15:26656,06519a2ae809d45bee37ada21f406fb358d4bbe4@31.220.90.175:27656,6024362f196b0f5df5f0abaf0552712d5b0333e7@37.27.43.80:26656,fbb7d528c2e9bb117fc4b646894e30ba533f7274@88.99.6.62:26656,bec0aa266f7b683900425cb73d0b4a5bbfd4f2dd@173.249.43.100:14656,e114eb5d7d5877ea4b55c2833bc426f15b7065b2@144.91.107.151:26656,b3ec1240c18a14c664a458d211decccffe246e63@65.109.94.98:14656,df3c89aa5bb7b7a29ec72243873cf1d2d8d3cb60@37.27.43.255:17956,6f7b16ca1a6084c743b472229c613dadc6e39719@109.199.122.176:26656,de3f8976450c8da6c603540e3b12adc24da54b6d@89.117.63.143:26656,4de71d3e17c550c79913ebdb69f4a543b89e82ab@138.201.142.39:26656,d1aeb143f1e4b8b2390a37fe87864d396b61c342@109.123.253.29:26656,94efe0c3640a9bf570b6e93479f271295a4c60ec@37.27.48.43:36656,e4698df4431ba5f77a2f92c0407f4bd9bc250f0b@188.34.153.80:15656,512b3f72d36af79a83c8601cacd1352b351120bd@194.242.57.225:26656,7d9d8f9c805aa1a689ccdee6b0c31c5758e394a9@65.108.212.96:26656,dd089499da61d7a8edee96222e9e7670d592a6d9@138.201.221.165:26656,340e16aa9c7c0d826f6c11abd56aaecd3032fdd1@65.109.131.117:27656,4d492ffc2dedb855d592fed85e4a818088e11dc0@37.27.118.143:27656,0d236f1685afac05769889b2fcd9fc6ff75edb61@116.202.85.52:17956,3d6f9e7375eedbc74cca96c38a2a79b4839bbaa9@138.201.80.7:26656,b88db6299cbee4c62ec6b175f2b81e2d7fab29f2@37.27.101.12:27656,475f1c69d9e7439a44593c48783f8c96927cd3ee@88.99.93.232:26656,61b253d6b0b641c6d18d9327506ed9e5d965158e@88.99.61.240:26656,9d54238dd545cebadc3eb0dcdb9b7a2acad11316@37.27.91.4:15656,4ef1780069aec640b9593c11f0048da6a507cbb8@88.99.65.242:26656,71ad933bbe6809bcaa7d42f9e550566fbe32a3f0@162.62.119.12:26656,340c31516a8558b27c3ad77d4e80bcac0b5d35c6@136.243.145.40:26656,fac8d530e1f88fff0b171f3e0cae8729cec566df@49.12.133.188:26656,9630e06f869d4244b721e3735132b7bede7d59b8@49.12.127.119:26656,89ba0093c88e581754874ca66915ae86c4f50ba3@78.46.76.145:35656,cac0f0d14f8b7b53bec16ded6e463d76078a3ff9@136.243.173.61:26656,9b952bf9ca0a2d2a0daa0cda3d0eed39d8884466@167.233.5.244:26656,d6da76083c359045dff88026c94d4ebe4248b8e4@138.201.61.152:14656,3d5d9814c5e8db4cda3288371740c2cb84363cfc@138.201.123.246:10656,5ef43490bfe9a6dda06d4599cac1ec35a23b8d88@65.109.122.105:26656,6492da60849602458a44b003429e9f6d377630e2@138.201.19.210:26656,d9ced3a7d2e43adad92cb54782d588a34cc54c2b@167.235.13.19:28656,db57c7a87bf38e4a214e229f61f52e8e0fda6c5d@116.202.39.234:36656,5e084d6e6a0ace24d2534e6be52b6a43290c4652@49.13.220.163:15656,b7e61e910f7bfa90951e7306495241a6843e8c44@77.90.13.193:26656,415504f7b41751c75e49830cd1e763f5be95be8f@49.13.240.171:26656,6ea036fb6c477ba2e93175b787cae941237186f6@88.99.136.124:26656,4f87aa1929a9288659d0085accfec637d0778d21@49.13.240.179:26656,b28177081d99a867e3a3a84ace3a80eb6e2798ee@148.251.70.79:26656,173732195f2415244cec126aa1900d3165e267e6@188.40.106.205:26656,571a5063d4bf12676bcbc0c903ba6a522b228a2b@168.119.36.37:26656,5716bb0d8085dd7c6e0b93e97596bb0f8854170b@88.99.199.48:26656,3afd41553d3a75166cb9f92c25d6ffc9f2d77bc7@49.12.56.172:26656,148c0845575c874e677978112b1c8059090ed4ab@162.55.239.166:29656,df42604836366941edafa198f3e0c4aa6e6295d0@49.12.60.120:26656,11def52311da45136fce35bca39db9e7d403aa9c@188.40.97.159:47656,d70ee6a6de3e91fc527881e5803789e9d48b706d@49.13.240.184:26656,617040d808fb44d260a86b63ba7811c7b6055fb0@94.130.17.36:26656,1a91a724bc4b626e20bcfbb7cd52a6f8df69554a@5.9.231.225:26656,d698baad551c45c9529f3d35c6c9bd359d4accd3@88.99.146.162:26656,0c6fb597e320293976b70f8406bdaafd4814f474@168.119.130.219:26656,33455905a397b214b22598900eafe7540b26d49c@142.132.200.200:26656,b8a957a490470730bd804888abe442aaf38680c0@148.251.91.93:27656,abbc3c6f28f8be89d66d0d27848058e49b6e55b3@88.198.54.43:14656,a1a5d022469a0966c7ba2d07d817b2a2f30f317b@159.69.142.51:50156,82ed19c5e6671e5cc7c85cd59af6da17a0ecd30d@176.9.86.232:26656,52c5772313c6b1b569177f9ac91b69a53972e5c3@49.13.240.166:26656,6589f7bff2939c7caf7d1ddef8aabf581d5f4dba@88.99.69.24:53456,714fcd2ce9231499721e526962485ec828bcaab4@185.252.235.248:53456,7326a0ff905b9a4cd06dfabac43bbf1c1a9dcec0@88.99.249.107:26656,30cc64926bf84003606090359be402a1e5b8a847@88.99.58.84:26656,160563659abb079213cddb3b55a0fa733c88d956@185.130.227.130:27656,fb0f5e7b665e0d2fc679e17a9e18bc0140796e7b@38.242.232.103:15656,d04c1d123f1a4437eb79d2d5ea64c89f06cdb2a8@77.90.6.18:26656,33406f6a30026105248105891c21f839a0bcfe9a@43.131.60.204:26656,4fc5aacc26a9efe8b3e62172193142c283494e57@43.157.30.37:26656,f57348fe1d9ea1147f6debb23576a624f70b5d16@116.202.233.2:50156,8cf83fb644b7caab0a908c061ac9d0236b4442de@88.99.89.212:26656,81e68bec54d26cac0f756caa6a98a62d2d543f2b@95.111.237.120:14656,ca4187d42ce51fb65a170d27bc86bd8dda60e852@49.13.222.0:11656,467ba1840b8d8a7554444363709c56f5ebe6c94a@46.226.167.25:26656,c342808684cccc209ba7019c5c6d87aeeada2f28@49.13.240.181:26656,01956ddb1f25579f0590b3b43aea662d57d41780@43.157.47.34:26656,364b90dbbb2f845e74560c39a056d8001b353498@43.131.61.109:26656,7aa28abc3575d3a52b0f71d72713dff30c38b1da@213.133.111.189:26656,ba4ad2ba33126691cba9d2783de854e8e0aa9c9a@158.220.106.163:26656,00a1378da1a77c4018715bdf5243bf8f61458375@159.69.85.157:15656,ae772b154c86ce515ccbb696769d0128854a9e9c@49.12.60.36:26656,ab0748fdea82b9d313a2b9dab836e94326fa44b9@164.90.166.81:26656,9510fef9caf8d51ea81ce73d1273561d2089f673@43.157.25.48:26656&quot;
sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;$PEERS\&quot;/&quot; $HOME/.initia/config/config.toml
sed -i.bak -e &quot;s/^seeds *=.*/seeds = \&quot;$seeds\&quot;/&quot; ~/.initia/config/config.toml
"><code>PEERS=<span class="hljs-string">"d9f51610a17983ec18c7f3eb4abeed3b2091e271@49.12.60.119:26656,95071a39cab00a428c532c682c6cd05618f5a9f4@46.4.80.48:25756,6a6d164766341e4e4f56d0359f130a757f21851a@95.217.148.179:29656,f3e8eb0d3e12eb527ac4ce18ab9c570900595eae@185.215.165.42:26656,17c9bad77ebddb367fcb15aa8c49ee96e879f5e9@109.205.177.233:17956,da4da3eb06fc744054783f101e710aa61ea935c9@162.62.61.65:26656,c1569478ea96b364549c2bd2ebb0cd1b6480b994@194.180.188.42:27656,67c434b23f89606040ca2373ff02dece102aeb73@95.217.199.12:26606,c08e6b6e514869113d121859c1eecdd68fa4f5dd@109.123.247.164:26656,4b93ef428d2df62744b72428ca4b36bd31ebe290@195.201.60.182:26656,e2d76117aa4148bfc57570e0302dd4d747d60e5f@185.188.249.78:27656,ee8af01a38ee80a20a99f46df96f536dbb1f9e98@85.10.202.138:26656,6793d5a0757b1cb2a91ccc8dbd7008f1b7fcafd1@116.203.170.29:26656,a90dc21c3b122e6030ccdeb999c8349a95cdc0d5@194.195.87.170:27656,99df4681c8120da8270e24a4d3115965e3dfc3b9@86.48.5.15:26656,06519a2ae809d45bee37ada21f406fb358d4bbe4@31.220.90.175:27656,6024362f196b0f5df5f0abaf0552712d5b0333e7@37.27.43.80:26656,fbb7d528c2e9bb117fc4b646894e30ba533f7274@88.99.6.62:26656,bec0aa266f7b683900425cb73d0b4a5bbfd4f2dd@173.249.43.100:14656,e114eb5d7d5877ea4b55c2833bc426f15b7065b2@144.91.107.151:26656,b3ec1240c18a14c664a458d211decccffe246e63@65.109.94.98:14656,df3c89aa5bb7b7a29ec72243873cf1d2d8d3cb60@37.27.43.255:17956,6f7b16ca1a6084c743b472229c613dadc6e39719@109.199.122.176:26656,de3f8976450c8da6c603540e3b12adc24da54b6d@89.117.63.143:26656,4de71d3e17c550c79913ebdb69f4a543b89e82ab@138.201.142.39:26656,d1aeb143f1e4b8b2390a37fe87864d396b61c342@109.123.253.29:26656,94efe0c3640a9bf570b6e93479f271295a4c60ec@37.27.48.43:36656,e4698df4431ba5f77a2f92c0407f4bd9bc250f0b@188.34.153.80:15656,512b3f72d36af79a83c8601cacd1352b351120bd@194.242.57.225:26656,7d9d8f9c805aa1a689ccdee6b0c31c5758e394a9@65.108.212.96:26656,dd089499da61d7a8edee96222e9e7670d592a6d9@138.201.221.165:26656,340e16aa9c7c0d826f6c11abd56aaecd3032fdd1@65.109.131.117:27656,4d492ffc2dedb855d592fed85e4a818088e11dc0@37.27.118.143:27656,0d236f1685afac05769889b2fcd9fc6ff75edb61@116.202.85.52:17956,3d6f9e7375eedbc74cca96c38a2a79b4839bbaa9@138.201.80.7:26656,b88db6299cbee4c62ec6b175f2b81e2d7fab29f2@37.27.101.12:27656,475f1c69d9e7439a44593c48783f8c96927cd3ee@88.99.93.232:26656,61b253d6b0b641c6d18d9327506ed9e5d965158e@88.99.61.240:26656,9d54238dd545cebadc3eb0dcdb9b7a2acad11316@37.27.91.4:15656,4ef1780069aec640b9593c11f0048da6a507cbb8@88.99.65.242:26656,71ad933bbe6809bcaa7d42f9e550566fbe32a3f0@162.62.119.12:26656,340c31516a8558b27c3ad77d4e80bcac0b5d35c6@136.243.145.40:26656,fac8d530e1f88fff0b171f3e0cae8729cec566df@49.12.133.188:26656,9630e06f869d4244b721e3735132b7bede7d59b8@49.12.127.119:26656,89ba0093c88e581754874ca66915ae86c4f50ba3@78.46.76.145:35656,cac0f0d14f8b7b53bec16ded6e463d76078a3ff9@136.243.173.61:26656,9b952bf9ca0a2d2a0daa0cda3d0eed39d8884466@167.233.5.244:26656,d6da76083c359045dff88026c94d4ebe4248b8e4@138.201.61.152:14656,3d5d9814c5e8db4cda3288371740c2cb84363cfc@138.201.123.246:10656,5ef43490bfe9a6dda06d4599cac1ec35a23b8d88@65.109.122.105:26656,6492da60849602458a44b003429e9f6d377630e2@138.201.19.210:26656,d9ced3a7d2e43adad92cb54782d588a34cc54c2b@167.235.13.19:28656,db57c7a87bf38e4a214e229f61f52e8e0fda6c5d@116.202.39.234:36656,5e084d6e6a0ace24d2534e6be52b6a43290c4652@49.13.220.163:15656,b7e61e910f7bfa90951e7306495241a6843e8c44@77.90.13.193:26656,415504f7b41751c75e49830cd1e763f5be95be8f@49.13.240.171:26656,6ea036fb6c477ba2e93175b787cae941237186f6@88.99.136.124:26656,4f87aa1929a9288659d0085accfec637d0778d21@49.13.240.179:26656,b28177081d99a867e3a3a84ace3a80eb6e2798ee@148.251.70.79:26656,173732195f2415244cec126aa1900d3165e267e6@188.40.106.205:26656,571a5063d4bf12676bcbc0c903ba6a522b228a2b@168.119.36.37:26656,5716bb0d8085dd7c6e0b93e97596bb0f8854170b@88.99.199.48:26656,3afd41553d3a75166cb9f92c25d6ffc9f2d77bc7@49.12.56.172:26656,148c0845575c874e677978112b1c8059090ed4ab@162.55.239.166:29656,df42604836366941edafa198f3e0c4aa6e6295d0@49.12.60.120:26656,11def52311da45136fce35bca39db9e7d403aa9c@188.40.97.159:47656,d70ee6a6de3e91fc527881e5803789e9d48b706d@49.13.240.184:26656,617040d808fb44d260a86b63ba7811c7b6055fb0@94.130.17.36:26656,1a91a724bc4b626e20bcfbb7cd52a6f8df69554a@5.9.231.225:26656,d698baad551c45c9529f3d35c6c9bd359d4accd3@88.99.146.162:26656,0c6fb597e320293976b70f8406bdaafd4814f474@168.119.130.219:26656,33455905a397b214b22598900eafe7540b26d49c@142.132.200.200:26656,b8a957a490470730bd804888abe442aaf38680c0@148.251.91.93:27656,abbc3c6f28f8be89d66d0d27848058e49b6e55b3@88.198.54.43:14656,a1a5d022469a0966c7ba2d07d817b2a2f30f317b@159.69.142.51:50156,82ed19c5e6671e5cc7c85cd59af6da17a0ecd30d@176.9.86.232:26656,52c5772313c6b1b569177f9ac91b69a53972e5c3@49.13.240.166:26656,6589f7bff2939c7caf7d1ddef8aabf581d5f4dba@88.99.69.24:53456,714fcd2ce9231499721e526962485ec828bcaab4@185.252.235.248:53456,7326a0ff905b9a4cd06dfabac43bbf1c1a9dcec0@88.99.249.107:26656,30cc64926bf84003606090359be402a1e5b8a847@88.99.58.84:26656,160563659abb079213cddb3b55a0fa733c88d956@185.130.227.130:27656,fb0f5e7b665e0d2fc679e17a9e18bc0140796e7b@38.242.232.103:15656,d04c1d123f1a4437eb79d2d5ea64c89f06cdb2a8@77.90.6.18:26656,33406f6a30026105248105891c21f839a0bcfe9a@43.131.60.204:26656,4fc5aacc26a9efe8b3e62172193142c283494e57@43.157.30.37:26656,f57348fe1d9ea1147f6debb23576a624f70b5d16@116.202.233.2:50156,8cf83fb644b7caab0a908c061ac9d0236b4442de@88.99.89.212:26656,81e68bec54d26cac0f756caa6a98a62d2d543f2b@95.111.237.120:14656,ca4187d42ce51fb65a170d27bc86bd8dda60e852@49.13.222.0:11656,467ba1840b8d8a7554444363709c56f5ebe6c94a@46.226.167.25:26656,c342808684cccc209ba7019c5c6d87aeeada2f28@49.13.240.181:26656,01956ddb1f25579f0590b3b43aea662d57d41780@43.157.47.34:26656,364b90dbbb2f845e74560c39a056d8001b353498@43.131.61.109:26656,7aa28abc3575d3a52b0f71d72713dff30c38b1da@213.133.111.189:26656,ba4ad2ba33126691cba9d2783de854e8e0aa9c9a@158.220.106.163:26656,00a1378da1a77c4018715bdf5243bf8f61458375@159.69.85.157:15656,ae772b154c86ce515ccbb696769d0128854a9e9c@49.12.60.36:26656,ab0748fdea82b9d313a2b9dab836e94326fa44b9@164.90.166.81:26656,9510fef9caf8d51ea81ce73d1273561d2089f673@43.157.25.48:26656"</span>
sed -i.bak -e <span class="hljs-string">"s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/"</span> $HOME/.initia/config/config.toml
sed -i.bak -e <span class="hljs-string">"s/^seeds *=.*/seeds = \"$seeds\"/"</span> ~<span class="hljs-regexp">/.initia/</span>config/config.toml
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">自定义端口（可选）</h3><p>可以修改端口（避免和其他cosmos节点冲突）。</p><pre data-type="codeBlock" text="portrange=27
sed -i &quot;s/:6060/:${portrange}060/g&quot; ~/.initia/config/config.toml 
sed -i &quot;s/:26657/:${portrange}657/g&quot; ~/.initia/config/config.toml 
sed -i &quot;s/:26656/:${portrange}656/g&quot; ~/.initia/config/config.toml 
sed -i &quot;s/:26660/:${portrange}660/g&quot; ~/.initia/config/config.toml 
sed -i &quot;s/:9090/:${portrange}090/g&quot; ~/.initia/config/app.toml 
sed -i &quot;s/:9091/:${portrange}091/g&quot; ~/.initia/config/app.toml 
sed -i &quot;s/:1317/:${portrange}317/g&quot; ~/.initia/config/app.toml 
sed -i &quot;s/:8545/:${portrange}545/g&quot; ~/.initia/config/app.toml 
sed -i &quot;s/:8546/:${portrange}546/g&quot; ~/.initia/config/app.toml 
"><code>portrange<span class="hljs-operator">=</span><span class="hljs-number">27</span>
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:6060/:${portrange}060/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>config.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:26657/:${portrange}657/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>config.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:26656/:${portrange}656/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>config.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:26660/:${portrange}660/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>config.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:9090/:${portrange}090/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:9091/:${portrange}091/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:1317/:${portrange}317/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:8545/:${portrange}545/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml 
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/:8546/:${portrange}546/g"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml 
</code></pre><h3 id="h-rpc27657grpc2709090902" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">这里我们把rpc端口设置成了27657，grpc端口设置成了27090（默认为9090）这2个端口后面有用</h3><h2 id="h-pruning" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Pruning设置</h2><pre data-type="codeBlock" text="pruning=&quot;custom&quot; &amp;&amp; \
pruning_keep_recent=&quot;100&quot; &amp;&amp; \
pruning_keep_every=&quot;0&quot; &amp;&amp; \
pruning_interval=&quot;10&quot; &amp;&amp; \
sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.initia/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.initia/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&quot;$pruning_keep_every\&quot;/&quot; $HOME/.initia/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.initia/config/app.toml
"><code>pruning<span class="hljs-operator">=</span><span class="hljs-string">"custom"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_recent<span class="hljs-operator">=</span><span class="hljs-string">"100"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_every<span class="hljs-operator">=</span><span class="hljs-string">"0"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_interval<span class="hljs-operator">=</span><span class="hljs-string">"10"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning *=.*/pruning = \"$pruning\"/"</span> $HOME<span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/"</span> $HOME<span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/"</span> $HOME<span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/"</span> $HOME<span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">下载快照</h2><p>最新快照见</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polkachu.com/testnets/initia/snapshots">https://polkachu.com/testnets/initia/snapshots</a></p><pre data-type="codeBlock" text="cd
sudo apt install lz4 -y
wget -O initia_187918.tar.lz4 https://snapshots.polkachu.com/testnet-snapshots/initia/initia_187918.tar.lz4 --inet4-only
initiad tendermint unsafe-reset-all --home $HOME/.initia --keep-addr-book

lz4 -c -d initia_187918.tar.lz4  | tar -x -C $HOME/.initia
"><code>cd
sudo apt install lz4 <span class="hljs-operator">-</span>y
wget <span class="hljs-operator">-</span>O initia_187918.tar.lz4 https:<span class="hljs-comment">//snapshots.polkachu.com/testnet-snapshots/initia/initia_187918.tar.lz4 --inet4-only</span>
initiad tendermint unsafe<span class="hljs-operator">-</span>reset<span class="hljs-operator">-</span>all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home $HOME<span class="hljs-operator">/</span>.initia <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keep<span class="hljs-operator">-</span>addr<span class="hljs-operator">-</span>book

lz4 <span class="hljs-operator">-</span>c <span class="hljs-operator">-</span>d initia_187918.tar.lz4  <span class="hljs-operator">|</span> tar <span class="hljs-operator">-</span>x <span class="hljs-operator">-</span>C $HOME<span class="hljs-operator">/</span>.initia
</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="sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/initia.service
[Unit]
Description=initia daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which initiad) start
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
"><code>sudo 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>initia.service
[Unit]
Description<span class="hljs-operator">=</span>initia 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>$(which initiad) 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><span class="hljs-number">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><pre data-type="codeBlock" text="sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable initia &amp;&amp; \
sudo systemctl restart initia
"><code>sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable initia <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl restart initia
</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="sudo journalctl -u initia -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u initia <span class="hljs-operator">-</span>f
</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="curl -s localhost:27657/status | jq .result | jq .sync_info
"><code>curl <span class="hljs-operator">-</span>s localhost:<span class="hljs-number">27657</span><span class="hljs-operator">/</span>status <span class="hljs-operator">|</span> jq .result <span class="hljs-operator">|</span> jq .sync_info
</code></pre><p><strong>这里的27657是根据你之前设置的rpc端口27657。</strong></p><p>同步需要一段时间，其中显示<code> &quot;catching_up&quot;:</code>显示为<code>false</code></p><p><strong>并且latest_block_height 和</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scan.testnet.initia.xyz/initiation-1"><strong>区块浏览器</strong></a><strong>高度差不多，即同步上了。</strong></p><p>如果一直没有开始同步一般是因为peer不够，可以考虑添加Peer或者使用别人的addrbook。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建验证人</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="initiad keys add &lt;钱包名&gt;
"><code>initiad keys add <span class="hljs-operator">&#x3C;</span>钱包名<span class="hljs-operator">></span>
</code></pre><p><strong>注意请保存助记词。若不保存，之后将无法恢复。</strong></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="initiad keys list 
"><code>initiad <span class="hljs-keyword">keys</span> list 
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">领取测试币</h3><h3 id="h-httpsfaucettestnetinitiaxyz" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://faucet.testnet.initia.xyz/">https://faucet.testnet.initia.xyz/</a></h3><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>节点同步之后</strong>可以用</h3><pre data-type="codeBlock" text="initiad query bank balances  你的initia地址
"><code>initiad <span class="hljs-keyword">query</span> bank balances  你的initia地址
</code></pre><p>查询测试币余额。</p><p><strong>修改client默认的rpc</strong></p><p><strong>这里的27657是你之前设置的rpc端口27657(如果没有修改过端口，默认是26657)</strong></p><pre data-type="codeBlock" text="initiad config set client node tcp://127.0.0.1:27657
"><code>initiad config set client node tcp:<span class="hljs-comment">//127.0.0.1:27657</span>
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建验证人</h3><p>获取足够测试币，且节点完成同步后，可以创建验证人。</p><pre data-type="codeBlock" text="daemon=initiad
denom=uinit
moniker=验证人名
chainid=initiation-1
$daemon tx mstaking create-validator \
    --amount=1000000$denom \
    --pubkey=$($daemon tendermint show-validator) \
    --moniker=$moniker \
    --chain-id=$chainid \
    --commission-rate=0.05 \
    --commission-max-rate=0.2 \
    --commission-max-change-rate=0.1 \
    --from=钱包名 --gas 500000 --fees 300000$denom
"><code>daemon<span class="hljs-operator">=</span>initiad
denom<span class="hljs-operator">=</span>uinit
moniker<span class="hljs-operator">=</span>验证人名
chainid<span class="hljs-operator">=</span>initiation<span class="hljs-number">-1</span>
$daemon <span class="hljs-built_in">tx</span> mstaking create<span class="hljs-operator">-</span>validator \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>amount<span class="hljs-operator">=</span>1000000$denom \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$($daemon tendermint show<span class="hljs-operator">-</span>validator) \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span>$moniker \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>$chainid \
    <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>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">.2</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">.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">-</span><span class="hljs-operator">-</span>gas <span class="hljs-number">500000</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 300000$denom
</code></pre><p>之后可以去区块浏览器 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scan.testnet.initia.xyz/initiation-1">https://scan.testnet.initia.xyz/initiation-1</a> 查看验证者是否创建成功。如果能查到，<strong>你就完成了创建验证者任务</strong>。</p><p>（目前只有质押前30的节点才是活跃节点，活跃与否应该不影响任务）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/eb5a8ec846d905ce3f8790aea302dcb99d9d629b53db220ea95e20789c88a0ef.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>创建完验证者建议备份</strong><code>~/.initia/config/priv_validator_key.json</code></p><p><strong>创建成功后需要填表,注意地址是initvaloper开头那个，如何获取下面的内容有说。</strong></p><p>此表格将于 UTC 时间 5 月 19 日 14:59 截止</p><div data-type="embedly" src="https://forms.gle/LtxqGcJPNYXwwkxP9" data="{&quot;provider_url&quot;:&quot;http://docs.google.com&quot;,&quot;description&quot;:&quot;This form is designed to filter out spam validators in Initia&apos;s testnet, Initiation-1. Validators must complete and submit this form to verify their legitimacy. Only the submitted/proved validators will be shown on our frontend. This form will be closed on May 19th, 14:59 UTC&quot;,&quot;title&quot;:&quot;The Validator Initiation Form&quot;,&quot;thumbnail_width&quot;:1200,&quot;height&quot;:675,&quot;width&quot;:760,&quot;html&quot;:&quot;&lt;iframe loading=\&quot;lazy\&quot; class=\&quot;embedly-embed\&quot; src=\&quot;//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLSc09Kl6mXyZHOL12n_6IUA8MCcL6OqzTqsoZn9N8gpptoeU_Q%2Fviewform%3Fembedded%3Dtrue&amp;display_name=Google+Docs&amp;url=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLSc09Kl6mXyZHOL12n_6IUA8MCcL6OqzTqsoZn9N8gpptoeU_Q%2Fclosedform&amp;image=https%3A%2F%2Flh4.googleusercontent.com%2FsaTAonKlRR0k_gXMekt4sIrqOYJhCrzft3HStnCDQkc_1chFKPvhmwfcZGKbFl8pU16AM2vXCtqgmyk%3Dw1200-h630-p&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=google\&quot; width=\&quot;760\&quot; height=\&quot;675\&quot; scrolling=\&quot;auto\&quot; title=\&quot;Google Docs embed\&quot; frameborder=\&quot;0\&quot; allow=\&quot;autoplay; fullscreen; encrypted-media; picture-in-picture;\&quot; allowfullscreen=\&quot;true\&quot;&gt;&lt;/iframe&gt;&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Google Docs&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/8069380dc11ad971d9b90d070121337b04ad01299a24cc0d71800537fb17641c.png&quot;,&quot;type&quot;:&quot;rich&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/8069380dc11ad971d9b90d070121337b04ad01299a24cc0d71800537fb17641c.png&quot;}}}" format="iframe"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/8069380dc11ad971d9b90d070121337b04ad01299a24cc0d71800537fb17641c.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://forms.gle/LtxqGcJPNYXwwkxP9" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>The Validator Initiation Form</h2><p>This form is designed to filter out spam validators in Initia&#x27;s testnet, Initiation-1. Validators must complete and submit this form to verify their legitimacy. Only the submitted/proved validators will be shown on our frontend. This form will be closed on May 19th, 14:59 UTC</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>http://docs.google.com</span></div><img src="https://storage.googleapis.com/papyrus_images/8069380dc11ad971d9b90d070121337b04ad01299a24cc0d71800537fb17641c.png"/></div></a></div></div><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">更新：新表格</h1><p>正确填写才有分数 Friday, May 24th 00:00 UTC 截止</p><div data-type="embedly" src="https://forms.gle/HqLFePaka2NLmzY98" data="{&quot;provider_url&quot;:&quot;http://docs.google.com&quot;,&quot;description&quot;:&quot;The Phase 1 of the testnet validator program has begun. This process is to evaluate our validators and select the genesis set of validators of the mainnet. Note that only the validators who has completed this form will be eligible for the selection program. Phase 1 will be closed on Friday, May 24th 00:00 UTC.&quot;,&quot;title&quot;:&quot;[Phase 1] Initiation-1 Validator Initiation&quot;,&quot;thumbnail_width&quot;:1200,&quot;height&quot;:675,&quot;width&quot;:760,&quot;html&quot;:&quot;&lt;iframe loading=\&quot;lazy\&quot; class=\&quot;embedly-embed\&quot; src=\&quot;//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLSfVogD1QPExjqQMZHFZdyCNWiioQQ-JtDMfpNPQG7E81qG9rQ%2Fviewform%3Fembedded%3Dtrue&amp;display_name=Google+Docs&amp;url=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLSfVogD1QPExjqQMZHFZdyCNWiioQQ-JtDMfpNPQG7E81qG9rQ%2Fclosedform&amp;image=https%3A%2F%2Flh6.googleusercontent.com%2Fz1Tp-jcsqDhLxVYegDBabH1XMNFQR6IjXBNY-ZYn9z6D6_FuQfIqB5Sxqbb2TkJItIpkYYvRfLHicYQ%3Dw1200-h630-p&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=google\&quot; width=\&quot;760\&quot; height=\&quot;675\&quot; scrolling=\&quot;auto\&quot; title=\&quot;Google Docs embed\&quot; frameborder=\&quot;0\&quot; allow=\&quot;autoplay; fullscreen; encrypted-media; picture-in-picture;\&quot; allowfullscreen=\&quot;true\&quot;&gt;&lt;/iframe&gt;&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Google Docs&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/d272fad9bb4deee2af6c46d84bff92d0e2ce7d6e10daf4ddc20d23ef4a9f1f54.png&quot;,&quot;type&quot;:&quot;rich&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/d272fad9bb4deee2af6c46d84bff92d0e2ce7d6e10daf4ddc20d23ef4a9f1f54.png&quot;}}}" format="iframe"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/d272fad9bb4deee2af6c46d84bff92d0e2ce7d6e10daf4ddc20d23ef4a9f1f54.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://forms.gle/HqLFePaka2NLmzY98" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>[Phase 1] Initiation-1 Validator Initiation</h2><p>The Phase 1 of the testnet validator program has begun. This process is to evaluate our validators and select the genesis set of validators of the mainnet. Note that only the validators who has completed this form will be eligible for the selection program. Phase 1 will be closed on Friday, May 24th 00:00 UTC.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>http://docs.google.com</span></div><img src="https://storage.googleapis.com/papyrus_images/d272fad9bb4deee2af6c46d84bff92d0e2ce7d6e10daf4ddc20d23ef4a9f1f54.png"/></div></a></div></div><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>其他验证者相关的命令</strong></h2><p><strong>获取你的验证者地址</strong></p><pre data-type="codeBlock" text="initiad debug addr 你的钱包地址
"><code>initiad <span class="hljs-built_in">debug</span> addr 你的钱包地址
</code></pre><p>返回的Bech32 Val地址就是验证者地址</p><p><strong>质押</strong></p><pre data-type="codeBlock" text="initiad tx mstaking delegate 你要质押的验证人地址 数量uinit --from 你的钱包名 -y --fees 200000uinit --gas 500000
"><code>initiad <span class="hljs-built_in">tx</span> mstaking delegate 你要质押的验证人地址 数量uinit <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> 你的钱包名 <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200000uinit <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas <span class="hljs-number">500000</span>
</code></pre><p>Unjail (如果被jail了才需要)</p><pre data-type="codeBlock" text="initiad tx slashing unjail  --from 你的钱包名 --gas 500000 --fees 200000uinit 
"><code>initiad <span class="hljs-built_in">tx</span> slashing unjail  <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> 你的钱包名 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas <span class="hljs-number">500000</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200000uinit 
</code></pre><p><strong>给验证者在浏览器添加图标</strong></p><p>我们需要注册</p><div data-type="embedly" src="https://keybase.io/" data="{&quot;provider_url&quot;:&quot;https://keybase.io&quot;,&quot;description&quot;:&quot;Keybase is for keeping everyone&apos;s chats and files safe, from families to communities to companies. MacOS, Windows, Linux, iPhone, and Android.&quot;,&quot;title&quot;:&quot;Keybase&quot;,&quot;url&quot;:&quot;https://keybase.io/&quot;,&quot;thumbnail_width&quot;:1374,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/d5243a1ae53dfe45e515fba1ff325574ec27cf16cf92e4694d4547a80437b761.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Keybase&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:867,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1374,&quot;height&quot;:867,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/d5243a1ae53dfe45e515fba1ff325574ec27cf16cf92e4694d4547a80437b761.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/d5243a1ae53dfe45e515fba1ff325574ec27cf16cf92e4694d4547a80437b761.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://keybase.io/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Keybase</h2><p>Keybase is for keeping everyone&#x27;s chats and files safe, from families to communities to companies. MacOS, Windows, Linux, iPhone, and Android.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://keybase.io</span></div><img src="https://storage.googleapis.com/papyrus_images/d5243a1ae53dfe45e515fba1ff325574ec27cf16cf92e4694d4547a80437b761.png"/></div></a></div></div><p>得到一个16位id，并设置你的keybase profile头像。这个头像将在区块浏览器上显示</p><p>接下来运行命令</p><pre data-type="codeBlock" text=" initiad tx mstaking edit-validator --from test --identity 你的keybase16位id --from 你的钱包名  --gas 500000 --fees 200000uinit 
"><code> initiad <span class="hljs-built_in">tx</span> mstaking edit<span class="hljs-operator">-</span>validator <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> test <span class="hljs-operator">-</span><span class="hljs-operator">-</span>identity 你的keybase16位id <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">-</span>gas <span class="hljs-number">500000</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 200000uinit 
</code></pre><p>一段时间后，头像就会在浏览器显示，例如我的</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/57568664dcbfe7af43254bc298bee0757ed1a1e8e448e1d0ccf86c55e26d19d7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行预言机(这是第二周的任务，暂时不用做)</h2><pre data-type="codeBlock" text="cd
git clone https://github.com/skip-mev/slinky.git
cd slinky
# checkout proper version
git checkout v0.4.3
make build
"><code><span class="hljs-built_in">cd</span>
git <span class="hljs-built_in">clone</span> https://github.com/skip-mev/slinky.git
<span class="hljs-built_in">cd</span> slinky
<span class="hljs-comment"># checkout proper version</span>
git checkout v0.4.3
make build
</code></pre><p>创建预言机服务,<strong>注意下面的27090要和你之前设置的gprc端口一致（如果没有修改端口，默认是9090）</strong></p><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/slinky.service &gt; /dev/null &lt;&lt;EOF
[Unit]
Description=slinky
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/slinky 
ExecStart=$HOME/slinky/build/slinky --oracle-config-path ./config/core/oracle.json --market-map-endpoint 0.0.0.0:27090
StandardOutput=syslog
StandardError=syslog
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable  slinky.service
sudo systemctl start slinky.service
"><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>slinky.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>slinky
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target
[Service]
User<span class="hljs-operator">=</span>$USER
WorkingDirectory<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>slinky 
ExecStart<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>slinky<span class="hljs-operator">/</span>build<span class="hljs-operator">/</span>slinky <span class="hljs-operator">-</span><span class="hljs-operator">-</span>oracle<span class="hljs-operator">-</span>config<span class="hljs-operator">-</span>path ./config<span class="hljs-operator">/</span>core<span class="hljs-operator">/</span>oracle.json <span class="hljs-operator">-</span><span class="hljs-operator">-</span>market<span class="hljs-operator">-</span>map<span class="hljs-operator">-</span>endpoint <span class="hljs-number">0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span>:<span class="hljs-number">27090</span>
StandardOutput<span class="hljs-operator">=</span>syslog
StandardError<span class="hljs-operator">=</span>syslog
Restart<span class="hljs-operator">=</span>always
RestartSec<span class="hljs-operator">=</span><span class="hljs-number">10</span>
LimitNOFILE<span class="hljs-operator">=</span><span class="hljs-number">65535</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF

sudo systemctl daemon<span class="hljs-operator">-</span>reload
sudo systemctl enable  slinky.service
sudo systemctl start slinky.service
</code></pre><p>修改initia节点的config，以启动预言机</p><pre data-type="codeBlock" text="sed -i -e &apos;s/^enabled = &quot;false&quot;/enabled = &quot;true&quot;/&apos; \
       -e &apos;s/^oracle_address = &quot;&quot;/oracle_address = &quot;127.0.0.1:8080&quot;/&apos; \
       -e &apos;s/^client_timeout = &quot;2s&quot;/client_timeout = &quot;500ms&quot;/&apos; \
       -e &apos;s/^metrics_enabled = &quot;false&quot;/metrics_enabled = &quot;false&quot;/&apos; \           
       $HOME/.initia/config/app.toml 
"><code>sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">'s/^enabled = "false"/enabled = "true"/'</span> \
       <span class="hljs-operator">-</span>e <span class="hljs-string">'s/^oracle_address = ""/oracle_address = "127.0.0.1:8080"/'</span> \
       <span class="hljs-operator">-</span>e <span class="hljs-string">'s/^client_timeout = "2s"/client_timeout = "500ms"/'</span> \
       <span class="hljs-operator">-</span>e <span class="hljs-string">'s/^metrics_enabled = "false"/metrics_enabled = "false"/'</span> \           
       $HOME<span class="hljs-operator">/</span>.initia/config<span class="hljs-operator">/</span>app.toml 
</code></pre><p>重启initia节点</p><pre data-type="codeBlock" text="sudo systemctl restart initia
sleep 20
"><code>sudo systemctl restart initia
<span class="hljs-built_in">sleep</span> 20
</code></pre><p>查看节点日志</p><pre data-type="codeBlock" text="sudo journalctl -u  initia -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u  initia <span class="hljs-operator">-</span>f
</code></pre><p>查看预言机日志</p><pre data-type="codeBlock" text="sudo journalctl -u  slinky -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u  slinky <span class="hljs-operator">-</span>f
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">其他命令</h1><p>停止节点</p><pre data-type="codeBlock" text="sudo systemctl stop initia
"><code>sudo systemctl stop initia
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">本教程还会持续更新，欢迎关注</h1><div data-type="embedly" src="https://twitter.com/EthExploring" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/EthExploring&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/EthExploring?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by EthExploring&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/91af969afc0aa03586f89795fffcc2b034c0c45f429de3256be50050ee91f4ac.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Nubit Pre-Alpha 测试网教程]]></title>
            <link>https://paragraph.com/@exploring/nubit-pre-alpha</link>
            <guid>bmTEx3iW3XNAC5IFLaSL</guid>
            <pubDate>Wed, 03 Apr 2024 20:25:12 GMT</pubDate>
            <description><![CDATA[Nubit介绍Nubit是第一个可扩展的比特币原生数据可用性层，由比特币保护安全性，面向比特币社区。 Nubit 能够毫不妥协地扩展比特币的数据容量，为 Ordinals、Layer 2、价格预言机和索引器等应用程序提供支持，从而扩大比特币生态系统的范围和效率。它利用创新的高性能共识算法和闪电网络继承了比特币完全抗审查的本质。近日，其完成了300 万美元 Pre-Seed 轮融资，dao5、OKX Ventures、Primitive Ventures 等参投。 Nubit推出了Nubit Pre-Alpha 测试网。在这个测试网上，用户可以在各种比特币模块化扩展 dApp 中运行 Nubit 的模块化索引器。 本文仅供参考，请以官方博客 和官方github为准。如何参与Pre-Alpha测试网想加入Pre-Alpha测试网，需要加入Nubit Pre-Alpha 测试网候补名单活动。 你需要有UniSAT或者OKX钱包 首先在https://www.points.nubit.org 注册候补名单。 首先连接推特并关注nubit官方推特 然后连接BTC钱包。建议连接有BRC20 ...]]></description>
            <content:encoded><![CDATA[<h1 id="h-nubit" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Nubit介绍</h1><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/nubit_org">Nubit</a>是第一个可扩展的比特币原生数据可用性层，由比特币保护安全性，面向比特币社区。 Nubit 能够毫不妥协地扩展比特币的数据容量，为 Ordinals、Layer 2、价格预言机和索引器等应用程序提供支持，从而扩大比特币生态系统的范围和效率。它利用创新的高性能共识算法和闪电网络继承了比特币完全抗审查的本质。近日，其完成了300 万美元 Pre-Seed 轮融资，dao5、OKX Ventures、Primitive Ventures 等参投。</p><p>Nubit推出了<strong>Nubit Pre-Alpha 测试网</strong>。在这个测试网上，用户可以在各种比特币模块化扩展 dApp 中运行 Nubit 的模块化索引器。</p><p><strong>本文仅供参考，请以</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@nubit_org/nubit-pre-alpha-testnet-concise-guide-8a6ae813fc76"><strong>官方博客</strong></a><strong> 和官方</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/RiemaLabs/modular-indexer-light?tab=readme-ov-file#detailed-configuration-instructions"><strong>github</strong></a><strong>为准。</strong></p><h2 id="h-pre-alpha" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">如何参与Pre-Alpha测试网</h2><p>想加入Pre-Alpha测试网，需要加入<strong>Nubit Pre-Alpha 测试网候补名单活动。</strong></p><p>你需要有UniSAT或者OKX钱包</p><p>首先在</p><pre data-type="codeBlock" text="https://www.points.nubit.org
"><code>https:<span class="hljs-comment">//www.points.nubit.org</span>
</code></pre><p>注册候补名单。</p><p>首先连接推特并关注<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/nubit_org">nubit官方推特</a></p><p>然后连接BTC钱包。<strong>建议连接有BRC20 和 Ordinals的钱包，可以获得额外的积分</strong>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d8b017bf08d790c2363b04ef7da803a9c87bfae67f23506d9d27141af8233d01.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>你可以输入我的邀请码 <code>XtMYL</code></p><p><strong>如果你填写过Pre-Alpha 测试网兴趣表，可以填写官方发给你的邀请码（可以获得1000分）。</strong></p><p>登陆后，可以看到你的积分。</p><p>- 加入候补名单即可获得 100 分。</p><p>- 填写 Pre-Alpha 测试网兴趣表，早鸟者可获得 1000 点奖励。</p><p>- BRC20 和 Ordinals 持有者可获得积分。</p><p><strong>你需要有2000分才能解锁gas coupon并运行节点。</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">获取积分</h2><p>你可以通过邀请你的朋友获得积分</p><p>1.<strong>邀请积分</strong>：获得你邀请的前十名用户10%的积分，比如你邀请的用户获得了注册的100积分，你就会获得10积分，同时他也邀请了一人获得了10积分，你就还可以获得1积分。</p><p>2.<strong>二级邀请积分</strong>：奖励发放给受邀者的朋友，其总积分的 5%计入您名下。如你的朋友邀请了一位朋友，获得了100积分，你获得5积分</p><p>3.<strong>速度奖励</strong>：快速响应带来回报。 90 分钟内接受的邀请将为您赢得额外 50 积分，在应用任何其他奖金之前增加您的总积分。比如90分钟内你的朋友接受了邀请，获得50积分，<strong>所以你应该在你创建注册后，快速邀请朋友加入</strong>。</p><p>4.<strong>邀请里程碑提升</strong>：获得 10 次成功邀请后，您的累积积分将提升 50%。激活无限制邀请代码后，此提升适用于您的前 10 个使用的代码。此里程碑后的其他邀请不符合进一步提升的资格。这个机会只能使用一次，比如你获得了2000积分，邀请10个人后，你的积分会变成3000. 不过注意，此机会仅能使用一次。</p><p><strong>有2000分后</strong>，你就解锁了<strong>Gas Coupon，接下来就可以运行轻索引节点。</strong></p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</h1><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">配置要求</h3><p>CPU：单核</p><p><strong>内存：</strong> 512MB</p><p><strong>磁盘：</strong> 30 GB</p><p><strong>带宽</strong>：100 KB/s 上传/下载</p><p><strong>本教程使用于Ubuntu</strong></p><h3 id="h-go" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装go</h3><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go
curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.bashrc
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/.bashrc
"><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.22.1.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>.bashrc
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>.bashrc
</code></pre><p>运行 <code>go version</code> 应该返回</p><p>go version go1.22.1 linux/amd64</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="cd
git clone https://github.com/RiemaLabs/modular-indexer-light.git
cd modular-indexer-light
go mod tidy
"><code><span class="hljs-built_in">cd</span>
git <span class="hljs-built_in">clone</span> https://github.com/RiemaLabs/modular-indexer-light.git
<span class="hljs-built_in">cd</span> modular-indexer-light
go mod tidy
</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="cp config.example.json config.json
"><code>cp config.example.json config.json
</code></pre><p>留空namespace id</p><pre data-type="codeBlock" text="sed -i &apos;/&quot;report&quot;:/,/}/ s/&quot;namespaceID&quot;: &quot;[^&quot;]*&quot;/&quot;namespaceID&quot;: &quot;&quot;/&apos; config.json
"><code>sed -i '/<span class="hljs-attr">"report"</span><span class="hljs-punctuation">:</span>/<span class="hljs-punctuation">,</span>/<span class="hljs-punctuation">}</span>/ s/<span class="hljs-attr">"namespaceID"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"[^"</span><span class="hljs-punctuation">]</span>*<span class="hljs-string">"/"</span>namespaceID<span class="hljs-string">": "</span><span class="hljs-string">"/' config.json
</span></code></pre><p>设置轻索引器名称</p><pre data-type="codeBlock" text="name=&quot;你自己取的轻索引器名称&quot;
sed -i &quot;/\&quot;report\&quot;:/,/}/ s/\&quot;name\&quot;: \&quot;[^\&quot;]*\&quot;/\&quot;name\&quot;: \&quot;$name\&quot;/&quot; config.json
"><code>name<span class="hljs-operator">=</span><span class="hljs-string">"你自己取的轻索引器名称"</span>
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"/<span class="hljs-subst">\"</span>report<span class="hljs-subst">\"</span>:/,/}/ s/<span class="hljs-subst">\"</span>name<span class="hljs-subst">\"</span>: <span class="hljs-subst">\"</span>[^<span class="hljs-subst">\"</span>]*<span class="hljs-subst">\"</span>/<span class="hljs-subst">\"</span>name<span class="hljs-subst">\"</span>: <span class="hljs-subst">\"</span>$name<span class="hljs-subst">\"</span>/"</span> config.json
</code></pre><p>gas coupon在页面最下方</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.points.nubit.org/">https://www.points.nubit.org/</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cf968673509ebdbb634120be79471b30c0cee9758162037afeb449a79aa2dd9b.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>设置gas coupon</p><pre data-type="codeBlock" text="gasCoupon=&quot;从网站复制得到的gas coupon&quot;
sed -i &quot;s/\&quot;gasCoupon\&quot;: \&quot;[^\&quot;]*\&quot;/\&quot;gasCoupon\&quot;: \&quot;$gasCoupon\&quot;/&quot; config.json
"><code>gasCoupon<span class="hljs-operator">=</span><span class="hljs-string">"从网站复制得到的gas coupon"</span>
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/<span class="hljs-subst">\"</span>gasCoupon<span class="hljs-subst">\"</span>: <span class="hljs-subst">\"</span>[^<span class="hljs-subst">\"</span>]*<span class="hljs-subst">\"</span>/<span class="hljs-subst">\"</span>gasCoupon<span class="hljs-subst">\"</span>: <span class="hljs-subst">\"</span>$gasCoupon<span class="hljs-subst">\"</span>/"</span> config.json
</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="go build
./modular-indexer-light
"><code>go build
./modular<span class="hljs-operator">-</span>indexer<span class="hljs-operator">-</span>light
</code></pre><p>运行后会出现</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/837320f7bc2f3274bf7e4cab9676882647287e1f57d8bca03af10c6679977041.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>输入你自己取的namespace name并回车。等待一段时间后，会出现如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/98e5b92108950d11ba6dddcfe80edf9487eecd199ddee2ed8cfea9252c2091af.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>这时候你的namespace id就创建成功了,这时我们按ctrl+c 退出。</p><p>我们可以在浏览器看到你的namespace id</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.explorer.nubit.org/#/namespaces">https://www.explorer.nubit.org/#/namespaces</a></p><h2 id="h-confignamespace-id" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">在config中设置你刚创建成功的namespace id</h2><pre data-type="codeBlock" text="namespaceid=&quot;你刚创建成功的namespaceid，如我的0x00000018&quot;
sed -i &quot;/\&quot;report\&quot;:/,/}/ s/\&quot;namespaceID\&quot;: \&quot;[^\&quot;]*\&quot;/\&quot;namespaceID\&quot;: \&quot;$namespaceid\&quot;/&quot; config.json
"><code>namespaceid<span class="hljs-operator">=</span><span class="hljs-string">"你刚创建成功的namespaceid，如我的0x00000018"</span>
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"/<span class="hljs-subst">\"</span>report<span class="hljs-subst">\"</span>:/,/}/ s/<span class="hljs-subst">\"</span>namespaceID<span class="hljs-subst">\"</span>: <span class="hljs-subst">\"</span>[^<span class="hljs-subst">\"</span>]*<span class="hljs-subst">\"</span>/<span class="hljs-subst">\"</span>namespaceID<span class="hljs-subst">\"</span>: <span class="hljs-subst">\"</span>$namespaceid<span class="hljs-subst">\"</span>/"</span> config.json
</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 tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/lightindexerd.service
[Unit]
Description=lightindexer daemon
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/modular-indexer-light
ExecStart=$HOME/modular-indexer-light/modular-indexer-light
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF


sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable lightindexerd &amp;&amp; \
sudo systemctl start lightindexerd
"><code>sudo 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>lightindexerd.service
[Unit]
Description<span class="hljs-operator">=</span>lightindexer daemon
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target
[Service]
User<span class="hljs-operator">=</span>$USER
WorkingDirectory<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>modular<span class="hljs-operator">-</span>indexer<span class="hljs-operator">-</span>light
ExecStart<span class="hljs-operator">=</span>$HOME<span class="hljs-operator">/</span>modular<span class="hljs-operator">-</span>indexer<span class="hljs-operator">-</span>light<span class="hljs-operator">/</span>modular<span class="hljs-operator">-</span>indexer<span class="hljs-operator">-</span>light
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><span class="hljs-number">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF


sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable lightindexerd <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start lightindexerd
</code></pre><p>查看日志</p><pre data-type="codeBlock" text="sudo journalctl -u lightindexerd -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u lightindexerd <span class="hljs-operator">-</span>f
</code></pre><p>日志应显示如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e5e4435e617ce52603d199300ffcb5cdc1f3665ae95dc37f1c0eb12c7d248a84.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>你可以在 <code>你的ip:8080/对应路径</code> 访问api。</p><p>api文档如下</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.nubit.org/modular-indexer/nubit-light-indexer-apis">https://docs.nubit.org/modular-indexer/nubit-light-indexer-apis</a></p><p>比如你可以访问</p><pre data-type="codeBlock" text="http://你的ip:8080/v1/brc20_verifiable/light/state
"><code>http://你的ip:8080/v1/brc20_verifiable/light/state
</code></pre><p>检查索引是否能验证brc20状态。正常情况返回为</p><pre data-type="codeBlock" text="{&quot;state&quot;:&quot;system is ready&quot;}
"><code><span class="hljs-punctuation">{</span><span class="hljs-attr">"state"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"system is ready"</span><span class="hljs-punctuation">}</span>
</code></pre>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/7184027b14dcbd29f03543e65ca7819afb087a34e18abf62dc9b90fac96721b2.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nimble Miner Setup Guide]]></title>
            <link>https://paragraph.com/@exploring/nimble-miner-setup-guide</link>
            <guid>CiZmvEYJkSoFllR7voeY</guid>
            <pubDate>Fri, 22 Mar 2024 08:01:36 GMT</pubDate>
            <description><![CDATA[Official guidehttps://github.com/nimble-technology/nimble-wikiRequirementsUbuntu 20.04+ with GPU , installed Graphics driver. Disk: 256 GB(based on official requirement) The guide is working for vastai instancealso working with ubuntu22.04 instanceInstall Go sudo rm -rf /usr/local/go curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ; cat &#x3C;&#x3C;'EOF' >>$HOME/.bashrc export GOROOT=/usr/local/go export GOPATH=$HOME/go export GO111MODULE=on export PA...]]></description>
            <content:encoded><![CDATA[<h1 id="h-official-guide" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Official guide</h1><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/nimble-technology/nimble-wiki">https://github.com/nimble-technology/nimble-wiki</a></p><h1 id="h-requirements" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Requirements</h1><p>Ubuntu 20.04+ with GPU , installed Graphics driver.</p><p>Disk: 256 GB(based on official requirement)</p><p><strong>The guide is working for</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://cloud.vast.ai/?ref_id=100603">vastai</a> instance</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a174851dac829e250d8e9c03726e8a0cd2047678ac25d72a409e27b995dffd2b.png" alt="also working with ubuntu22.04 instance" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">also working with ubuntu22.04 instance</figcaption></figure><h2 id="h-install-go" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Install Go</h2><pre data-type="codeBlock" text="
sudo rm -rf /usr/local/go
curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.bashrc
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/.bashrc
"><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.22.1.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>.bashrc
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>.bashrc
</code></pre><h2 id="h-install-build-essential" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Install build-essential</h2><pre data-type="codeBlock" text="sudo apt update -y &amp;&amp; sudo apt install build-essential
"><code>sudo apt update <span class="hljs-operator">-</span>y <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt install build<span class="hljs-operator">-</span>essential
</code></pre><h2 id="h-install-miniconda" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Install Miniconda</h2><pre data-type="codeBlock" text="cd
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
source $HOME/.bashrc
"><code>cd
mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>miniconda3
wget https:<span class="hljs-comment">//repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh</span>
bash <span class="hljs-operator">~</span><span class="hljs-operator">/</span>miniconda3<span class="hljs-operator">/</span>miniconda.sh <span class="hljs-operator">-</span>b <span class="hljs-operator">-</span>u <span class="hljs-operator">-</span>p <span class="hljs-operator">~</span><span class="hljs-operator">/</span>miniconda3
rm <span class="hljs-operator">-</span>rf <span class="hljs-operator">~</span><span class="hljs-operator">/</span>miniconda3<span class="hljs-operator">/</span>miniconda.sh
<span class="hljs-operator">~</span><span class="hljs-operator">/</span>miniconda3<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>conda init bash
source $HOME<span class="hljs-operator">/</span>.bashrc
</code></pre><h2 id="h-set-up-python-environment" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Set up python environment</h2><pre data-type="codeBlock" text="conda create -n nimble python=3.11 -y
conda activate nimble
"><code>conda create <span class="hljs-operator">-</span>n nimble python<span class="hljs-operator">=</span><span class="hljs-number">3.11</span> <span class="hljs-operator">-</span>y
conda activate nimble
</code></pre><h2 id="h-install-nimble-networkd-and-create-wallet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Install nimble-networkd and create wallet</h2><pre data-type="codeBlock" text="mkdir $HOME/nimble &amp;&amp; cd $HOME/nimble

git clone https://github.com/nimble-technology/wallet-public.git

cd wallet-public

make install
"><code><span class="hljs-built_in">mkdir</span> <span class="hljs-variable">$HOME</span>/nimble &#x26;&#x26; <span class="hljs-built_in">cd</span> <span class="hljs-variable">$HOME</span>/nimble

git <span class="hljs-built_in">clone</span> https://github.com/nimble-technology/wallet-public.git

<span class="hljs-built_in">cd</span> wallet-public

make install
</code></pre><h3 id="h-create-wallet" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Create wallet</h3><pre data-type="codeBlock" text="nimble-networkd keys add &lt;YOUR WALLET NAME&gt;
"><code>nimble<span class="hljs-operator">-</span>networkd keys add <span class="hljs-operator">&#x3C;</span>YOUR WALLET NAME<span class="hljs-operator">></span>
</code></pre><p><strong>You must back up your mnemonic here or you won’t be able to recover it.</strong></p><h2 id="h-start-miner" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Start Miner</h2><pre data-type="codeBlock" text="cd  $HOME/nimble
git clone https://github.com/nimble-technology/nimble-miner-public.git
cd nimble-miner-public
make install
source ./nimenv_localminers/bin/activate
make run addr=&lt;The wallet address you just set&gt;
"><code>cd  $HOME<span class="hljs-operator">/</span>nimble
git clone https:<span class="hljs-comment">//github.com/nimble-technology/nimble-miner-public.git</span>
cd nimble<span class="hljs-operator">-</span>miner<span class="hljs-operator">-</span><span class="hljs-keyword">public</span>
make install
source ./nimenv_localminers<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>activate
make run addr<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>The wallet <span class="hljs-keyword">address</span> you just set<span class="hljs-operator">></span>
</code></pre><p>If everything work fine, you will see logs like this</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/dcc0caad79e1b03c91aadcf2441c99344ec775a6e632112ee65b8072086a7d93.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-one-click-script" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">One Click Script</h2><p>You must use nimble-networkd to create wallet first.</p><div data-type="embedly" src="https://raw.githubusercontent.com/silentnoname/Nimble/main/nimble.sh" data="{&quot;url&quot;:&quot;https://raw.githubusercontent.com/silentnoname/Nimble/main/nimble.sh&quot;,&quot;provider_url&quot;:&quot;https://raw.githubusercontent.com&quot;,&quot;provider_name&quot;:&quot;Raw&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><pre data-type="codeBlock" text="addr=&lt;Your Address&gt;
wget https://raw.githubusercontent.com/silentnoname/Nimble/main/nimble.sh &amp;&amp; chmod +x nimble.sh &amp;&amp;bash nimble.sh $addr
"><code>addr=&#x3C;Your Address>
wget https://raw.githubusercontent.com/silentnoname/Nimble/main/nimble.sh &#x26;&#x26; <span class="hljs-built_in">chmod</span> +x nimble.sh &#x26;&#x26;bash nimble.sh <span class="hljs-variable">$addr</span>
</code></pre>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/6dc9bf9aa83235cdf6971f0d131d40494432350a11a5989afc515bc0cc9c7090.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[使用 Avail 作为 DA 层部署 Madara 应用链]]></title>
            <link>https://paragraph.com/@exploring/avail-da-madara</link>
            <guid>1lMCdDjfUSmiLYsi8Bu2</guid>
            <pubDate>Sun, 04 Feb 2024 08:32:55 GMT</pubDate>
            <description><![CDATA[最新更新这个任务已经结束了。您必须在排行榜上有积分，才能在节点冲突结束时考虑获得奖励。官方也不再接受新的tickets。 Avail，由Polygon前联合创始人Anurag Arjun创建，是一个专注于数据可用性（DA）的模块化区块链(和celestia同赛道)。 它为下一代去中心化应用和主权级Rollup提供支持，特别强调轻客户端通过对等网络轻松验证数据可用性的能力。Avail的模块化设计使开发人员可以更容易地集成区块链技术，无需担心验证节点集合或代币经济模型。此外，它支持各种执行环境，包括EVM、WASM和新的自定义运行时。 近期Avail 开启了Clash of Nodes激励测试网，完成任务有积分。目前有一个Anyone都能参与的任务——使用 Madara 和 Karnot 部署应用链。目前虽然在官方文档显示为暂停状态，但是PR通过后能在排行榜显示，有积分。这是一个所有人都能参与的任务如何参与—来自官方文档官方提到了如何参与：部署 Madara 应用链：使用 Karnot CLI 进行快速部署。您可以选择自己托管或请求Karnot团队提供托管服务。在 Avail Gol...]]></description>
            <content:encoded><![CDATA[<h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最新更新</h1><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0f617d936e0219361d98fd9b912c11a6e6b741506e2402f6234b3d7b81af0e85.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>这个任务已经结束了。您必须在排行榜上有积分，才能在节点冲突结束时考虑获得奖励。官方也不再接受新的tickets。</strong></p><p>Avail，由Polygon前联合创始人Anurag Arjun创建，是一个专注于数据可用性（DA）的模块化区块链(和celestia同赛道)。</p><p>它为下一代去中心化应用和主权级Rollup提供支持，特别强调轻客户端通过对等网络轻松验证数据可用性的能力。Avail的模块化设计使开发人员可以更容易地集成区块链技术，无需担心验证节点集合或代币经济模型。此外，它支持各种执行环境，包括EVM、WASM和新的自定义运行时。</p><p>近期Avail 开启了<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.availproject.org/clash-of-nodes/challenges/">Clash of Nodes<strong>激励测试网</strong></a>，<strong>完成任务有积分</strong>。目前有一个Anyone都能参与的任务——使用 Madara 和 Karnot 部署应用链。目前虽然在官方文档显示为暂停状态，<strong>但是PR通过后能在排行榜显示，有积分</strong>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/eca2753c970d0396489899d693789e6d982ab5bc43644be5232c83ee17d66333.png" alt="这是一个所有人都能参与的任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">这是一个所有人都能参与的任务</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/09f7e42025a978bbe38f5a8988685aa7b277d3e9712c7e134c9b18b13f61f4e2.png" alt="如何参与—来自官方文档" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">如何参与—来自官方文档</figcaption></figure><p>官方提到了如何参与：</p><ol><li><p><strong>部署 Madara 应用链</strong>：使用 Karnot CLI 进行快速部署。您可以选择<strong>自己托管</strong>或请求Karnot团队提供托管服务。</p></li><li><p><strong>在 Avail Goldberg 测试网上部署</strong>：选择将您的链数据发布到 Avail Goldberg 测试网上。</p></li><li><p><strong>为您的帐户注入资金</strong>：使用 Avail Goldberg 水龙头获取 Goldberg 测试网的代币。</p></li><li><p><strong>为Clash of Nodes列出您的应用链</strong>：创建一个 PR，按照指定的 JSON 格式在 Karnot CLI 的官方存储库上列出您的应用链。</p></li></ol><p><strong>本教程选择自己托管应用链，仅供参考，请以</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.availproject.org/clash-of-nodes/dymension/"><strong>官方教程</strong></a><strong>和</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/karnot.eth/5y5OV_kiX9UJDW1HGc8mXcummpcgt4VpwjQRHMzDlFI"><strong>karnot给的教程</strong></a><strong>为准。</strong></p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">配置要求</h1><p>根据Karnot的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/karnot.eth/5y5OV_kiX9UJDW1HGc8mXcummpcgt4VpwjQRHMzDlFI">mirror文章</a>,由于madara cli目前在本地构建madara镜像，需要一定的配置。官方测试时用了<strong>4 vCPU, 16 GB memory and 50 GB storage的实例</strong></p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">基础环境配置</h1><p>安装必要的基础环境</p><pre data-type="codeBlock" text="sudo apt-get update -y
sudo apt-get install git jq build-essential pkg-config libssl-dev clang protobuf-compiler screen -y
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y
sudo apt<span class="hljs-operator">-</span>get install git jq build<span class="hljs-operator">-</span>essential pkg<span class="hljs-operator">-</span>config libssl<span class="hljs-operator">-</span>dev clang protobuf<span class="hljs-operator">-</span>compiler screen <span class="hljs-operator">-</span>y
</code></pre><p>安装docker</p><pre data-type="codeBlock" text="curl -fsSL https://get.docker.com -o install-docker.sh &amp;&amp; bash install-docker.sh
"><code>curl <span class="hljs-operator">-</span>fsSL https:<span class="hljs-comment">//get.docker.com -o install-docker.sh &#x26;&#x26; bash install-docker.sh</span>
</code></pre><p>安装rust</p><pre data-type="codeBlock" text="curl --proto &apos;=https&apos; --tlsv1.2 -sSf https://sh.rustup.rs | sh
source &quot;$HOME/.cargo/env&quot;
"><code>curl <span class="hljs-operator">-</span><span class="hljs-operator">-</span>proto <span class="hljs-string">'=https'</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>tlsv1<span class="hljs-number">.2</span> <span class="hljs-operator">-</span>sSf https:<span class="hljs-comment">//sh.rustup.rs | sh</span>
source <span class="hljs-string">"$HOME/.cargo/env"</span>
</code></pre><p>安装madara cli</p><pre data-type="codeBlock" text="git clone https://github.com/karnotxyz/madara-cli
cd madara-cli
cargo build --release
cp ./target/release/madara $HOME/.cargo/bin
"><code>git clone https:<span class="hljs-comment">//github.com/karnotxyz/madara-cli</span>
cd madara<span class="hljs-operator">-</span>cli
cargo build <span class="hljs-operator">-</span><span class="hljs-operator">-</span>release
cp ./target<span class="hljs-operator">/</span>release<span class="hljs-operator">/</span>madara $HOME<span class="hljs-operator">/</span>.cargo/bin
</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="madara init
"><code>madara <span class="hljs-keyword">init</span>
</code></pre><p>这里需要输入一个独特的chain name</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bb28e5bde1e88617606851d6e7b9b436ec37522afd07b331f818b446c19190ba.png" alt="init" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">init</figcaption></figure><p><strong>注意：由于之后要替换钱包，请不要给这个钱包领水。</strong></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://polkadot.js.org/extension/">https://polkadot.js.org/extension/</a> 插件</p><p>新建一个钱包，保存好助记词。</p><p>这个助记词也导入到</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goldberg.avail.tools/#/">https://goldberg.avail.tools/#/</a></p><p><strong>接下来去Avail discord领取测试币，需要验证Gitcoin Passport（具体规则见Avail discord faucet-access频道）</strong></p><p>验证完成后，在goldberg-faucet频道发</p><pre data-type="codeBlock" text="/deposit 你的avail地址
"><code>/deposit 你的avail地址
</code></pre><p>把配置文件里的助记词替换成刚刚创建的</p><pre data-type="codeBlock" text="m=&quot;你的助记词&quot;
sed -i &quot;s/\&quot;seed\&quot;:\&quot;[^\&quot;]*\&quot;/\&quot;seed\&quot;:\&quot;$m\&quot;/&quot; ~/.madara/app-chains/&lt;刚刚的chain name&gt;/da-config.json
"><code>m<span class="hljs-operator">=</span><span class="hljs-string">"你的助记词"</span>
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/\"seed\":\"[^\"]*\"/\"seed\":\"$m\"/"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.madara/app<span class="hljs-operator">-</span>chains<span class="hljs-operator">/</span><span class="hljs-operator">&#x3C;</span>刚刚的chain name<span class="hljs-operator">></span><span class="hljs-operator">/</span>da<span class="hljs-operator">-</span>config.json
</code></pre><p>把配置文件里的地址也替换成刚刚创建的</p><pre data-type="codeBlock" text="address=&quot;刚刚导入得到的地址&quot;
"><code><span class="hljs-attr">address</span>=<span class="hljs-string">"刚刚导入得到的地址"</span>
</code></pre><pre data-type="codeBlock" text="sed -i &quot;s/\&quot;address\&quot;:\&quot;[^\&quot;]*\&quot;/\&quot;address\&quot;:\&quot;$address\&quot;/&quot; ~/.madara/app-chains/&lt;刚刚的chain name&gt;/da-config.json
"><code>sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/\"address\":\"[^\"]*\"/\"address\":\"$address\"/"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.madara/app<span class="hljs-operator">-</span>chains<span class="hljs-operator">/</span><span class="hljs-operator">&#x3C;</span>刚刚的chain name<span class="hljs-operator">></span><span class="hljs-operator">/</span>da<span class="hljs-operator">-</span>config.json
</code></pre><p>检查</p><pre data-type="codeBlock" text="cat ~/.madara/app-chains/&lt;刚刚的chain name&gt;/da-config.json
"><code>cat <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.madara/app<span class="hljs-operator">-</span>chains<span class="hljs-operator">/</span><span class="hljs-operator">&#x3C;</span>刚刚的chain name<span class="hljs-operator">></span><span class="hljs-operator">/</span>da<span class="hljs-operator">-</span>config.json
</code></pre><h2 id="h-app-id" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">生成App Id</h2><p>打开</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app-id-gen.vercel.app/">https://app-id-gen.vercel.app/</a></p><p>点击Detect extensions按钮，选择你之前创建的账户。</p><p>接下来在黑色框中输入你刚刚的app name,然后点击send tx and create app id按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7b59c8567cdec44963e0a763f6965dbfdc589e2ff7e492bf4d3e1656061c7898.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>接下来在Find an App Id下方的框中输入你刚刚的appname，点击Search App id按钮。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ac6bec23f0287561d45d500a4a74ff5872d4f4c65a1a9f86a33ec953b35e6445.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>App found - AppId: xxx, Owner: xxxxxx</p><p>其中Appid后面的数字就是我们需要的Appid。</p><h2 id="h-app-id" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">替换App Id</h2><pre data-type="codeBlock" text="appid=你刚刚得到的数字
sed -i &quot;s/\&quot;app_id\&quot;:\s*[0-9]*/\&quot;app_id\&quot;:$appid/&quot; ~/.madara/app-chains/&lt;刚刚的chainname&gt;/da-config.json
"><code>appid<span class="hljs-operator">=</span>你刚刚得到的数字
sed <span class="hljs-operator">-</span>i <span class="hljs-string">"s/\"app_id\":\s*[0-9]*/\"app_id\":$appid/"</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.madara/app<span class="hljs-operator">-</span>chains<span class="hljs-operator">/</span><span class="hljs-operator">&#x3C;</span>刚刚的chainname<span class="hljs-operator">></span><span class="hljs-operator">/</span>da<span class="hljs-operator">-</span>config.json
</code></pre><p>检查</p><pre data-type="codeBlock" text="cat ~/.madara/app-chains/&lt;刚刚的chain name&gt;/da-config.json
"><code>cat <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.madara/app<span class="hljs-operator">-</span>chains<span class="hljs-operator">/</span><span class="hljs-operator">&#x3C;</span>刚刚的chain name<span class="hljs-operator">></span><span class="hljs-operator">/</span>da<span class="hljs-operator">-</span>config.json
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">启动你的链</h2><p>启动一个screen终端</p><pre data-type="codeBlock" text="screen -S madara
cd
madara run
"><code>screen -S madara
cd
madara run
</code></pre><p>上下键选择你的链，然后按回车。</p><p>接下来需要等待较长时间(等待编译，时间取决于你的机器配置)。</p><p>编译结束后，会有一个问题。</p><p>? Have you funded your Avail address xxx using the faucet? (Y/n)</p><p>输入y按回车即可。正常运行后会这样显示</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/62e4e62d46e23787566574e66b73b3ea8cd4ac7c037355dae5bd52e53d9ec232.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">启动浏览器</h2><p>按Ctrl +AD 退出这个screen (他会在后台运行)</p><pre data-type="codeBlock" text="screen -S explorer
"><code>screen <span class="hljs-operator">-</span>S explorer
</code></pre><p>打开一个浏览器的screen终端</p><pre data-type="codeBlock" text="madara explorer --host=你的ip地址(不需要http或者https，纯ip即可)
"><code>madara explorer <span class="hljs-operator">-</span><span class="hljs-operator">-</span>host<span class="hljs-operator">=</span>你的ip地址(不需要http或者https，纯ip即可)
</code></pre><p>正常情况显示</p><pre data-type="codeBlock" text="🐳 Running docker image: ghcr.io/lambdaclass/stark_compass_explorer:v0.2.34.3-1
🧭 Explorer is running on http://localhost:4000
"><code>🐳 Running docker image: ghcr.io/lambdaclass<span class="hljs-operator">/</span>stark_compass_explorer:v0<span class="hljs-number">.2</span><span class="hljs-number">.34</span><span class="hljs-number">.3</span><span class="hljs-number">-1</span>
🧭 Explorer <span class="hljs-keyword">is</span> running on http:<span class="hljs-comment">//localhost:4000</span>
</code></pre><p>打开<code>http://你的ip:4000</code> 能看到如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ae38fcff435136f207e6b9016b35bd376d0fac17afb589e83d556725e2b8c59f.png" alt="浏览器" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">浏览器</figcaption></figure><p>我们的应用链和浏览器就跑起来了。</p><p>按Ctrl +AD 退出这个screen (他会在后台运行)</p><p>下面是对我们有用的3个endpoints</p><ol><li><p><code>rpc_url</code>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://13.233.147.221:9944/">http://你的ip:9944</a></p></li><li><p><code>explorer_url</code>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://13.233.147.221:4000/">http://你的ip:4000</a></p></li><li><p><code>metrics_endpoint</code>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://13.233.147.221:9615/metrics">http://你的ip:9615/metrics</a></p></li></ol><p>浏览器和metrics endpoint的链接都可以直接在浏览器打开，你可以打开验证一下。（<strong>如果打不开，请检查防火墙设置</strong>）</p><p>注 1：对于<code>metrics_endpoint</code>您需要在/metrics前面添加端口号</p><p>注 2：请勿在端口号后添加 <code>/</code></p><h2 id="h-pr" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建PR</h2><p>1.打开 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/karnotxyz/avail-campaign-listing">https://github.com/karnotxyz/avail-campaign-listing</a></p><p>并点击右上角的fork按钮。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/eebb3b9015414ebd2fc7ab77f1353b4c5ceea4935d54127d0a58b0e4bb27f2f0.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>如果你以前fork过，打开你自己的库</p><p>（ <code>https://github.com/&lt;你的github用户名&gt;/avail-campaign-listing</code>）</p><p>点击Sync fork,并点击Update Branch</p><p>2. 运行</p><pre data-type="codeBlock" text="cd &amp;&amp; git clone https://github.com/&lt;你的github用户名&gt;/avail-campaign-listing
"><code><span class="hljs-built_in">cd</span> &#x26;&#x26; git <span class="hljs-built_in">clone</span> https://github.com/&#x3C;你的github用户名>/avail-campaign-listing
</code></pre><p>3. 运行</p><pre data-type="codeBlock" text="cd avail-campaign-listing/app_chains
"><code>cd avail<span class="hljs-operator">-</span>campaign<span class="hljs-operator">-</span>listing<span class="hljs-operator">/</span>app_chains
</code></pre><p>4.打开</p><div data-type="embedly" src="https://www.uuidgenerator.net/version4" data="{&quot;provider_url&quot;:&quot;https://www.uuidgenerator.net&quot;,&quot;description&quot;:&quot;Quickly and easily generate individual or bulk sets of universally unique identifiers (UUIDs).&quot;,&quot;title&quot;:&quot;Online UUID Generator&quot;,&quot;url&quot;:&quot;https://www.uuidgenerator.net/version4&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Uuidgenerator&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://www.uuidgenerator.net/version4" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Online UUID Generator</h2><p>Quickly and easily generate individual or bulk sets of universally unique identifiers (UUIDs).</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://www.uuidgenerator.net</span></div></div></a></div></div><p>生成一个类似</p><pre data-type="codeBlock" text="d0a850e3-f34f-49cf-a5ee-bf4c9bfbc91b
"><code>d0a850e3<span class="hljs-operator">-</span>f34f<span class="hljs-operator">-</span>49cf<span class="hljs-operator">-</span>a5ee<span class="hljs-operator">-</span>bf4c9bfbc91b
</code></pre><p>的id。</p><p>5.创建json文件</p><pre data-type="codeBlock" text="id=刚刚的id
touch $id.json
"><code><span class="hljs-built_in">id</span>=刚刚的<span class="hljs-built_in">id</span>
<span class="hljs-built_in">touch</span> <span class="hljs-variable">$id</span>.json
</code></pre><p>6.填写以下内容到刚刚创建的json中，（可以使用vim等文本编辑器，方法请自行百度或者谷歌）</p><pre data-type="codeBlock" text="{
  &quot;name&quot;: &quot;&lt;chain name&gt;&quot;,
  &quot;logo&quot;: &quot;&lt;logo 链接,比如我的 https://i.imgur.com/0KUHPnZ.png&gt;&quot;,
  &quot;rpc_url&quot;: &quot;http://你的ip:9944&quot;,
  &quot;explorer_url&quot;: &quot;http://你的ip:4000&quot;,
  &quot;metrics_endpoint&quot;: &quot;http://你的ip:9615/metrics&quot;,
  &quot;id&quot;: &quot;你刚刚生成的id&quot;
}
"><code><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"&#x3C;chain name>"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"logo"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"&#x3C;logo 链接,比如我的 https://i.imgur.com/0KUHPnZ.png>"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"rpc_url"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"http://你的ip:9944"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"explorer_url"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"http://你的ip:4000"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"metrics_endpoint"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"http://你的ip:9615/metrics"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"你刚刚生成的id"</span>
<span class="hljs-punctuation">}</span>
</code></pre><p>下面是官方示例,请根据自己情况修改</p><pre data-type="codeBlock" text="{
  &quot;name&quot;: &quot;my_app_chain&quot;,
  &quot;logo&quot;: &quot;https://placehold.co/400x400&quot;,
  &quot;rpc_url&quot;: &quot;https://rpc.mychain.xyz&quot;,
  &quot;explorer_url&quot;: &quot;https://explorer.mychain.xyz&quot;,
  &quot;metrics_endpoint&quot;: &quot;https://metrics.mychain.xyz&quot;,
  &quot;id&quot;: &quot;942ff35e-f048-4d10-ae61-6cb970cad2f0&quot;
}
"><code><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"my_app_chain"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"logo"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://placehold.co/400x400"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"rpc_url"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://rpc.mychain.xyz"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"explorer_url"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://explorer.mychain.xyz"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"metrics_endpoint"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://metrics.mychain.xyz"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"942ff35e-f048-4d10-ae61-6cb970cad2f0"</span>
<span class="hljs-punctuation">}</span>
</code></pre><p>7. 在github添加并提交你的更改。</p><pre data-type="codeBlock" text="git add .
git commit -m &quot;Adding 你的chainname&quot;
git push -u origin main
"><code>git add .
git commit <span class="hljs-operator">-</span>m <span class="hljs-string">"Adding 你的chainname"</span>
git push <span class="hljs-operator">-</span>u origin main
</code></pre><p>这里需要登陆github并输入密码。然而密码处必须填写你自己设置的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.jianshu.com/p/5e15eb39ab31">access token</a>。</p><p>8. 向</p><div data-type="embedly" src="https://github.com/karnotxyz/avail-campaign-listing" data="{&quot;provider_url&quot;:&quot;https://github.com&quot;,&quot;description&quot;:&quot;Contribute to karnotxyz/avail-campaign-listing development by creating an account on GitHub.&quot;,&quot;title&quot;:&quot;GitHub - karnotxyz/avail-campaign-listing&quot;,&quot;author_name&quot;:&quot;karnotxyz&quot;,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://github.com/karnotxyz/avail-campaign-listing&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/198603d1bfc95e3ad345b9f1da83496d102a701e285d018f78135ed99e89ed16.png&quot;,&quot;author_url&quot;:&quot;https://github.com/karnotxyz&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;GitHub&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:600,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:600,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/198603d1bfc95e3ad345b9f1da83496d102a701e285d018f78135ed99e89ed16.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/198603d1bfc95e3ad345b9f1da83496d102a701e285d018f78135ed99e89ed16.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://github.com/karnotxyz/avail-campaign-listing" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>GitHub - karnotxyz/avail-campaign-listing</h2><p>Contribute to karnotxyz/avail-campaign-listing development by creating an account on GitHub.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://github.com</span></div><img src="https://storage.googleapis.com/papyrus_images/198603d1bfc95e3ad345b9f1da83496d102a701e285d018f78135ed99e89ed16.png"/></div></a></div></div><p>提交pull request。</p><p>打开你自己的仓库</p><pre data-type="codeBlock" text="https://github.com/&lt;你的github用户名&gt;/avail-campaign-listing
"><code>https://github.com/&#x3C;你的github用户名>/avail-campaign-listing
</code></pre><p>点击contribute按钮下的Open pull request，提交PR。 更多信息可以自行谷歌或者百度</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/dfc5e4f8066287a2c1062198124ce08b3d8e93cfed7d650d64a443a3349938ba.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>9. 之后，等待PR通过即可。<strong>PR合并需要等待较长时间。PR合并后，应用链将出现在</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://leaderboard.availproject.org/"><strong>排行榜</strong></a><strong>。（也需要一段时间）</strong></p><p>至此应用链的运行和注册便完成了。我们只需要保持<strong>稳定运行</strong>即可。 你可以在上面开发Dapp, 吸引用户来交互，增加自己应用链的TVL，也许能获得更多奖励。</p><p><strong>以下是来自Karnot官方的Madara开发教程，大家如果想要在appchain开发东西，增加交互输，可以参考。（非必需）</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/karnot.eth/6acUc1sKrFjBEHG5UHptNeY2CjiXhgyb-kKZ1zTxoUc">https://mirror.xyz/karnot.eth/6acUc1sKrFjBEHG5UHptNeY2CjiXhgyb-kKZ1zTxoUc</a></p><p><strong>来自推特大佬@skyMetaverse的补充</strong></p><p>提交PR等待merge的时候，<strong>如果提示json文件的格式要正确</strong>。可以使用下面的命令将json文件格式化 ，然后重新提交。</p><pre data-type="codeBlock" text="npx prettier --write &quot;app_chains/改成自己的UUID.json&quot;
"><code>npx prettier <span class="hljs-operator">-</span><span class="hljs-operator">-</span>write <span class="hljs-string">"app_chains/改成自己的UUID.json"</span>
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">测试币消耗过快，不够用怎么办</h2><p>打开app-chain-builders频道</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6f0ef976f53ea368a6304c03425a45408570930961a0d3885b33d8a8c33bc655.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>点击 I Agree按钮，可以获得AppChain Builder这个role。之后，在频道发</p><pre data-type="codeBlock" text="/deposit-rollup 你的avail地址
"><code><span class="hljs-operator">/</span>deposit<span class="hljs-operator">-</span>rollup 你的avail地址
</code></pre><p>这将让你每天能领25AVL, 一周最多 200 AVL。</p><h2 id="h-avail-discord-developer-discussions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">如果有问题，可以在Avail discord的 <code>#developer-discussions</code> 频道提问。</h2><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>如果有新的变化，本教程还会持续更新。</strong></h1><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>欢迎关注我的推特</strong></h1><div data-type="embedly" src="https://twitter.com/EthExploring" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/EthExploring&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/EthExploring?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by EthExploring&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/6b22f3fea830b3024cb707114da244261b4dfd5a6e602ee1a27a563fd50a09b8.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[使用Avail作为DA部署Dymension RollApps]]></title>
            <link>https://paragraph.com/@exploring/avail-da-dymension-rollapps</link>
            <guid>FJIS70UUZSsia5avdamj</guid>
            <pubDate>Sat, 27 Jan 2024 12:29:04 GMT</pubDate>
            <description><![CDATA[最新更新这个任务已经结束了。您必须在排行榜上有积分，才能在节点冲突结束时考虑获得奖励。官方也不再接受新的tickets。 Avail，由Polygon前联合创始人Anurag Arjun创建，是一个专注于数据可用性（DA）的模块化区块链(和celestia同赛道)。 它为下一代去中心化应用和主权级Rollup提供支持，特别强调轻客户端通过对等网络轻松验证数据可用性的能力。Avail的模块化设计使开发人员可以更容易地集成区块链技术，无需担心验证节点集合或代币经济模型。此外，它支持各种执行环境，包括EVM、WASM和新的自定义运行时。 近期Avail 开启了Clash of Nodes激励测试网，完成任务有积分。目前有一个Anyone都能参与的任务——使用Avail作为DA部署Dymension RollApps。官方文档中提到了哪些ROLLAPP符合要求使用Avail作为DA层可操作和可访问：RollApp 应在可公开访问的环境中主动运行和托管，而不是局限于专用网络。功能性：必须不仅仅是一个裸节点；RollApp 应具备操作特性或功能。公共界面：提供可公开访问的网页，以便用户与 R...]]></description>
            <content:encoded><![CDATA[<h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最新更新</h1><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/dd3dafceba758d7b4d481301b67f5e58821de67ea2f564a6f737c932ccf78284.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>这个任务已经结束了。您必须在排行榜上有积分，才能在节点冲突结束时考虑获得奖励。官方也不再接受新的tickets。</strong></p><p>Avail，由Polygon前联合创始人Anurag Arjun创建，是一个专注于数据可用性（DA）的模块化区块链(和celestia同赛道)。</p><p>它为下一代去中心化应用和主权级Rollup提供支持，特别强调轻客户端通过对等网络轻松验证数据可用性的能力。Avail的模块化设计使开发人员可以更容易地集成区块链技术，无需担心验证节点集合或代币经济模型。此外，它支持各种执行环境，包括EVM、WASM和新的自定义运行时。</p><p>近期Avail 开启了<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.availproject.org/clash-of-nodes/challenges/">Clash of Nodes<strong>激励测试网</strong></a>，<strong>完成任务有积分</strong>。目前有一个Anyone都能参与的任务——使用Avail作为DA部署Dymension RollApps。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ef7013c2fadb492debe708181bb3162d7a3c59096b8049073a6bce276f614864.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>官方文档中提到了哪些ROLLAPP符合要求</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0983333683b334ac92e5f1ff541bce8189af0c4e125694c5cdb3db87226855bc.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol><li><p>使用Avail作为DA层</p></li><li><p>可操作和可访问：RollApp 应在可公开访问的环境中主动运行和托管，而不是局限于专用网络。</p></li><li><p>功能性：必须不仅仅是一个裸节点；RollApp 应具备操作特性或功能。</p></li><li><p>公共界面：提供可公开访问的网页，以便用户与 RollApp 交互，或其使用的详细说明。</p></li><li><p><strong>护照验证</strong>：管理 RollApp 的团队成员必须在社区内具有“<strong>Passport verified</strong>”角色。（通过Gitcoin Passport认证）</p></li></ol><p><strong>本教程仅供参考，请以</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.availproject.org/clash-of-nodes/dymension/"><strong>官方教程</strong></a><strong>为准。</strong></p><h1 id="h-rollapp" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>部署Rollapp</strong></h1><p><strong>本教程是新建rollapp，如果你有老的rollapp需要迁移，请根据</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.availproject.org/clash-of-nodes/dymension/"><strong>官方教程</strong></a><strong>。（迁移比新建验证更简单）</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>硬件要求</strong></h3><ul><li><p>2核</p></li><li><p>至少 100GB SSD 磁盘存储</p></li><li><p>至少 16GB RAM</p></li><li><p>至少 100mbps 网络带宽</p></li></ul><h3 id="h-roller" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>安装roller</strong></h3><pre data-type="codeBlock" text="sudo apt update -y
sudo apt install jq -y
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
"><code>sudo apt update <span class="hljs-operator">-</span>y
sudo apt install jq <span class="hljs-operator">-</span>y
curl <span class="hljs-operator">-</span>L https:<span class="hljs-comment">//dymensionxyz.github.io/roller/install.sh | bash</span>
</code></pre><p>安装成功显示如下</p><pre data-type="codeBlock" text="💈 Installation complete! You can now use roller from your terminal.
"><code>💈 Installation complete<span class="hljs-operator">!</span> You can <span class="hljs-built_in">now</span> use roller <span class="hljs-keyword">from</span> your terminal.
</code></pre><p>验证</p><pre data-type="codeBlock" text="roller version
"><code></code></pre><p>输出中应该有</p><pre data-type="codeBlock" text="💈 Roller version v1.0.6-beta
💈 Build time: 2024-01-18T09:05:45+0000&quot;
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
"><code>💈 Roller version v1<span class="hljs-number">.0</span><span class="hljs-number">.6</span><span class="hljs-operator">-</span>beta
💈 Build time: <span class="hljs-number">2024</span><span class="hljs-operator">-</span>01<span class="hljs-operator">-</span>18T09:05:<span class="hljs-number">45</span><span class="hljs-operator">+</span>0000<span class="hljs-string">"
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
</span></code></pre><h3 id="h-rollapp" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>初始化RollApp</strong></h3><p>这里我们选择默认的EVM环境,DA层为Avail。</p><pre data-type="codeBlock" text="roller config init &lt;rollapp-id&gt; &lt;denom&gt; --da Avail
"><code>roller config init <span class="hljs-operator">&#x3C;</span>rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>denom<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>da Avail
</code></pre><p>其中<code>rollapp-id</code>格式如下</p><pre data-type="codeBlock" text="仅包含字母字符

例如: berlin,test
"><code>仅包含字母字符

例如: berlin,<span class="hljs-built_in">test</span>
</code></pre><p><code>denom</code>为你的rollapp原生代币的名称。如BTC,PEPE,DYM等，需要3字母以上。</p><p>如果成功，会显示如下。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a8dbe3c051542c181908b333e9573b3312ccf9650236f349b776710a802a163a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>这里我们得到了3个地址，需要领水龙头。dym开头的地址去Dymension Discord #froopyland-faucet 频道发<code>$request &lt;dym开头的地址&gt;</code></p><p><strong>领取avail测试币需要在Avail discord领取，需要验证Gitcoin Passport（具体规则见Avail discord faucet-access频道）。</strong></p><p>验证完成后，在goldberg-faucet频道发</p><pre data-type="codeBlock" text="/deposit 你的avail地址
"><code>/deposit 你的avail地址
</code></pre><p>领到测试币后，我们可以注册我们的rollapp了。</p><pre data-type="codeBlock" text="roller tx register
"><code>roller tx <span class="hljs-keyword">register</span>
</code></pre><p>注册成功会显示如下</p><p><code>💈 Rollapp &apos;xxx_4544616-1&apos; has been successfully registered on the hub.</code></p><p>接下来运行我们的rollapp。我们将其配置成服务运行。</p><p>输入</p><pre data-type="codeBlock" text="roller services load
"><code>roller services <span class="hljs-built_in">load</span>
</code></pre><p>成功后会显示<code>💈 Services &apos;sequencer&apos;, &apos;da-light-client&apos; and &apos;relayer&apos; been loaded successfully. To start them, use &apos;systemctl start &lt;service&gt;&apos;.</code></p><p><strong>官方的默认hub rpc不太稳定,我们可以换成其他的。</strong></p><pre data-type="codeBlock" text=" roller config set hub-rpc &quot;https://rpc-dymension-testnet.mzonder.com:443&quot;
"><code> roller config set hub-rpc <span class="hljs-string">"https://rpc-dymension-testnet.mzonder.com:443"</span>
</code></pre><p>接下来输入</p><pre data-type="codeBlock" text="sudo systemctl enable sequencer
sudo systemctl enable relayer
"><code>sudo systemctl <span class="hljs-built_in">enable</span> sequencer
sudo systemctl <span class="hljs-built_in">enable</span> relayer
</code></pre><p>和</p><pre data-type="codeBlock" text="sudo systemctl start sequencer
sudo systemctl start relayer
"><code>sudo systemctl <span class="hljs-keyword">start</span> sequencer
sudo systemctl <span class="hljs-keyword">start</span> relayer
</code></pre><p>以启动服务。</p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>检查运行状态</strong></h4><pre data-type="codeBlock" text="sudo systemctl status sequencer
sudo systemctl status relayer
"><code>sudo systemctl <span class="hljs-built_in">status</span> sequencer
sudo systemctl <span class="hljs-built_in">status</span> relayer
</code></pre><p>正常情况下，2个都应显示为active (running)。</p><h4 id="h-sequencer-ctrlc" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>查看sequencer 日志(按ctrl+c退出)</strong></h4><pre data-type="codeBlock" text="sudo journalctl -u sequencer -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u sequencer <span class="hljs-operator">-</span>f
</code></pre><p>正常情况应该看到</p><pre data-type="codeBlock" text="💈 The Rollapp sequencer is running on your local machine!
💈 Default endpoints:
💈 EVM RPC: http://0.0.0.0:8545
💈 Node RPC: http://0.0.0.0:26657
💈 Rest API: http://0.0.0.0:1317
💈 Log file path:  /Users/USERNAME/.roller/rollapp/rollapp.log
💈 Rollapp root dir:  /Users/USERNAME/.roller/rollapp
"><code>💈 The Rollapp sequencer <span class="hljs-keyword">is</span> running on your local machine<span class="hljs-operator">!</span>
💈 Default endpoints:
💈 EVM RPC: http:<span class="hljs-comment">//0.0.0.0:8545</span>
💈 Node RPC: http:<span class="hljs-comment">//0.0.0.0:26657</span>
💈 Rest API: http:<span class="hljs-comment">//0.0.0.0:1317</span>
💈 Log file path:  <span class="hljs-operator">/</span>Users<span class="hljs-operator">/</span>USERNAME<span class="hljs-operator">/</span>.roller/rollapp<span class="hljs-operator">/</span>rollapp.log
💈 Rollapp root dir:  <span class="hljs-operator">/</span>Users<span class="hljs-operator">/</span>USERNAME<span class="hljs-operator">/</span>.roller/rollapp
</code></pre><p>查看详细日志</p><pre data-type="codeBlock" text="tail -f ~/.roller/rollapp/rollapp.log 
"><code>tail <span class="hljs-operator">-</span>f <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.roller/rollapp<span class="hljs-operator">/</span>rollapp.log 
</code></pre><h4 id="h-ctrlc" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>查看中继器日志(按ctrl+c退出)</strong></h4><pre data-type="codeBlock" text="sudo journalctl -u relayer -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u relayer <span class="hljs-operator">-</span>f
</code></pre><p>正常情况应该看到</p><pre data-type="codeBlock" text="💈 The relayer is running successfully on you local machine on channel channel-0!
"><code>💈 The relayer <span class="hljs-keyword">is</span> running successfully <span class="hljs-keyword">on</span> you local machine <span class="hljs-keyword">on</span> channel channel<span class="hljs-number">-0</span>!
</code></pre><p><strong>注意：中继器（relayer）通常需要较长时间才能启动成功,一般要几小时以上。请耐心等待。</strong></p><p><strong>如果一直都没有成功，则通道可能已进入卡住状态。请打开一个新终端并运行</strong></p><pre data-type="codeBlock" text="sudo systemctl stop relayer
roller relayer start --override
"><code>sudo systemctl stop relayer
roller relayer start <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">override</span>
</code></pre><p>以创建新通道。</p><p>完成后，关闭终端并重启服务</p><pre data-type="codeBlock" text="sudo systemctl restart relayer
"><code></code></pre><p><strong>查看relayer 详细日志(如果你的中继器一直有问题才需要看这部分)</strong></p><pre data-type="codeBlock" text=" tail -f ~/.roller/relayer/relayer.log
"><code> tail <span class="hljs-operator">-</span>f <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.roller/relayer<span class="hljs-operator">/</span>relayer.log
</code></pre><p>如果一直是这样的日志(503, error in json rpc client …) 可能是hub rpc问题</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ef1f0e3c7093b8c2ca3241082fb7cbddcd69a776b8aea72e4a785d74afb177a4.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>建议换一个hub rpc</p><pre data-type="codeBlock" text="roller config set hub-rpc &quot;新的hub rpc:443&quot;
sudo systemctl restart sequencer
sudo systemctl restart relayer
"><code>roller config set hub-rpc <span class="hljs-string">"新的hub rpc:443"</span>
sudo systemctl restart sequencer
sudo systemctl restart relayer
</code></pre><p>也可能是avail rpc的问题。</p><pre data-type="codeBlock" text="tail -f ~/.roller/rollapp/rollapp.log 
"><code>tail <span class="hljs-operator">-</span>f <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.roller/rollapp<span class="hljs-operator">/</span>rollapp.log 
</code></pre><p>检查sequencer +da的日志。</p><p>如果出现</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3c2f4144fbf9c6413893e17f16a8043a6a0e0a6f6a8eeb5d918e3f234a7f12f6.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>说明avail rpc有问题，建议去avail discord反馈。正常应该是这样的</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3b0a916878770435ddbe5a05d75ab74291cfb230ae0ddd8f94ec969ccb74250c.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>然后等几分钟再看看relayer日志。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e95404f8e0807beb6e8042cf5ca098ad1a522d50dbf2eb4fa921f48e5fcd9792.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><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>监控</strong></h3><p>请参考官方教程<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.dymension.xyz/build/production/monitor">https://docs.dymension.xyz/build/production/monitor</a></p><h3 id="h-ibc" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>IBC 转账</strong></h3><p>如果你的中继器运行成功了，运行</p><pre data-type="codeBlock" text="roller relayer  status
"><code>roller relayer  <span class="hljs-built_in">status</span>
</code></pre><p>会显示如下</p><pre data-type="codeBlock" text="💈 Relayer Channels: src, channel-0 &lt;-&gt; channel-1, dst
"><code>💈 Relayer Channels: src, channel<span class="hljs-number">-0</span> <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">-</span><span class="hljs-operator">></span> channel<span class="hljs-number">-1</span>, dst
</code></pre><p>这时，source channel将是<strong>channel-0 （具体数字不一定是0，1）</strong></p><p>如果显示的内容不是上面这样，说明你的relayer还没有运行成功，<strong>如果十几小时以上还没有成功，请运行以下命令，以创建新通道。</strong></p><pre data-type="codeBlock" text="sudo systemctl stop relayer
roller relayer start --override
"><code>sudo systemctl stop relayer
roller relayer start <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">override</span>
</code></pre><p>完成后，关闭终端并重启服务</p><pre data-type="codeBlock" text="sudo systemctl restart relayer
"><code></code></pre><p>可以用这个命令进行ibc transfer （<strong>这个命令不是必须的</strong>）</p><pre data-type="codeBlock" text="rollapp_evm tx ibc-transfer transfer transfer &lt;src-channel&gt; &lt;destination-address&gt; 5000000000000000000000000&lt;base-denom&gt; --from rollapp_sequencer --keyring-backend test --home ~/.roller/rollapp --broadcast-mode block
"><code>rollapp_evm <span class="hljs-built_in">tx</span> ibc<span class="hljs-operator">-</span>transfer transfer transfer <span class="hljs-operator">&#x3C;</span>src<span class="hljs-operator">-</span>channel<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>destination<span class="hljs-operator">-</span><span class="hljs-keyword">address</span><span class="hljs-operator">></span> <span class="hljs-number">5000000000000000000000000</span><span class="hljs-operator">&#x3C;</span>base<span class="hljs-operator">-</span>denom<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> rollapp_sequencer <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keyring<span class="hljs-operator">-</span>backend test <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.roller/rollapp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>broadcast<span class="hljs-operator">-</span>mode <span class="hljs-built_in">block</span>
</code></pre><p>注意这里的 <code>src-channel</code> 就是上面显示的source channel。 而<code>base-denom</code> 是小写字母 u加上你刚刚设置的denon。如<code>utest</code></p><p><em>这里的数量和以太坊wei 相对于ether一样。1 xxx= 10^18 uxxxx</em></p><p><strong>用户应该预计 IBC 交易提交和目标地址接收之间会有大约 15 -30分钟的延迟。这是为了模拟防欺诈期，只有在防欺诈期过后，资金才会在 Dymension Hub 上可用</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>给水龙头转账</strong></h3><p>如果你的中继器运行成功了，运行</p><pre data-type="codeBlock" text="roller relayer  status
"><code>roller relayer  <span class="hljs-built_in">status</span>
</code></pre><p>会显示如下</p><pre data-type="codeBlock" text="💈 Relayer Channels: src, channel-0 &lt;-&gt; channel-1, dst
"><code>💈 Relayer Channels: src, channel<span class="hljs-number">-0</span> <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">-</span><span class="hljs-operator">></span> channel<span class="hljs-number">-1</span>, dst
</code></pre><p><strong>channel不一定是0，1。</strong> 之后我们可以运行以下命令转移部分资金给水龙头。</p><pre data-type="codeBlock" text="roller tx fund-faucet
"><code>roller <span class="hljs-built_in">tx</span> fund<span class="hljs-operator">-</span>faucet
</code></pre><p>等待15-30分钟后，可以去Discord #froopyland-faucet 频道发以下命令查询你的ibc transfer是否成功，<strong>如果没有成功，可以再发几次交易</strong>。</p><pre data-type="codeBlock" text="$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 &lt;你的rollapp-id&gt;
"><code>$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 <span class="hljs-operator">&#x3C;</span>你的rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span>
</code></pre><p>这里的rollapp-id可以通过 <code>roller config show</code> 查看，类似<code>silent_1319141-1</code></p><p>如果成功后，其他用户将可以通过</p><pre data-type="codeBlock" text="$request &lt;user-address&gt; &lt;rollapp-id&gt;
"><code>$request <span class="hljs-operator">&#x3C;</span>user<span class="hljs-operator">-</span><span class="hljs-keyword">address</span><span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span>
</code></pre><p>领取你的rollapp测试币。并与你的rollapp交互。</p><p>PR通过后，建议使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://portal.dymension.xyz/">门户</a>将代币IBC 传输到相应的 RollApp。</p><h2 id="h-rollapprollapp" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>开发你的rollapp（目前这个步骤是必须的，你需要在rollapp部署智能合约，并且应该能够向管理描述它到底做了什么）</strong></h2><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>导出私钥</strong></h3><p>运行<code>roller keys list</code> 将显示如下</p><pre data-type="codeBlock" text="🔑 Addresses:

  my_celes_key        | RollApp Sequencer account on the Celestia network
  hub_sequencer       | RollApp Sequencer account on the Dymension Hub
  rollapp_sequencer   | RollApp Sequencer account on the RollApp
  relayer-hub-key     | IBC relayer account on Dymension Hub
  relayer-rollapp-key | IBC relayer account on RollApp
"><code>🔑 Addresses:

  my_celes_key        <span class="hljs-operator">|</span> RollApp Sequencer account on the Celestia network
  hub_sequencer       <span class="hljs-operator">|</span> RollApp Sequencer account on the Dymension Hub
  rollapp_sequencer   <span class="hljs-operator">|</span> RollApp Sequencer account on the RollApp
  relayer<span class="hljs-operator">-</span>hub<span class="hljs-operator">-</span>key     <span class="hljs-operator">|</span> IBC relayer account on Dymension Hub
  relayer<span class="hljs-operator">-</span>rollapp<span class="hljs-operator">-</span>key <span class="hljs-operator">|</span> IBC relayer account on RollApp
</code></pre><p>目前支持导出 <code>hub_sequencer</code>, <code>rollapp_sequencer</code> and <code>my_celes_key</code> 使用</p><pre data-type="codeBlock" text="roller keys export rollapp_sequencer
"><code>roller keys <span class="hljs-keyword">export</span> rollapp_sequencer
</code></pre><p>导出你的<code>rollapp_sequencer</code> 私钥，你可以将私钥导入到metamask等其他地方。</p><p>使用以下配置连接到你自己的rollapp网络。</p><pre data-type="codeBlock" text="Network Name: &lt;YOUR-ROLLAPP-NAME&gt;

New RPC URL: &lt;RPC-END-POINT&gt; //  http://你的ip:8545

Chain ID: &lt;YOUR-CHAIN-ID&gt; // 你的EIP155 数字 (middle number of RollApp ID，对于test_101-1， 这个数字是101)

Currency Symbol (optional): &lt;你rollapp 原生代币，如ETH,DYM&gt;
"><code>Network Name: <span class="hljs-operator">&#x3C;</span>YOUR<span class="hljs-operator">-</span>ROLLAPP<span class="hljs-operator">-</span>NAME<span class="hljs-operator">></span>

New RPC URL: <span class="hljs-operator">&#x3C;</span>RPC<span class="hljs-operator">-</span>END<span class="hljs-operator">-</span>POINT<span class="hljs-operator">></span> <span class="hljs-comment">//  http://你的ip:8545</span>

Chain ID: <span class="hljs-operator">&#x3C;</span>YOUR<span class="hljs-operator">-</span>CHAIN<span class="hljs-operator">-</span>ID<span class="hljs-operator">></span> <span class="hljs-comment">// 你的EIP155 数字 (middle number of RollApp ID，对于test_101-1， 这个数字是101)</span>

Currency Symbol (optional): <span class="hljs-operator">&#x3C;</span>你rollapp 原生代币，如ETH,DYM<span class="hljs-operator">></span>
</code></pre><p><strong>接下来，你可以想在别的evm链开发一样，开发你自己的app了。可以查看官方教程中的示例。</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.dymension.xyz/build/quick-start/evm/create"><strong>用Remix 部署合约并交互。</strong></a><strong> 也可以用truffle,hardhat等。</strong></p><h1 id="h-https-rollapp-rpc" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>设置https rollapp rpc</strong></h1><p>开发人员应在https下提供以下端点。这将允许用户能够与您的 RollApp 交互：</p><ol><li><p>RollApp RPC 端点（默认端口<code>26657</code>）</p></li><li><p>Rest端点（默认端口<code>1317</code>）</p></li><li><p>JSON RPC 端点（默认端口<code>8545</code>。仅与 EVM RollApps 相关）</p></li></ol><p><strong>首先，你需要准备一个域名，并将 RPC、REST 和 JSON RPC 端点的相应域名解析指向你的服务器。接下来，你可以使用 Nginx 或 Caddy 来配置 HTTPS 代理。请注意，这个配置过程相对复杂，建议你查询相关文档学习</strong>。</p><h1 id="h-rollapp-dymension-registry" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>将您的 RollApp 添加到 Dymension Registry</strong></h1><p><strong>此注册过程在 Dymension Hub 中为您的 RollApp 引入了专用命名空间。注册后，RollApp 就会被 Dymension Hub 识别，从而允许排序器在链上发布状态更新，并增强不同生态系统之间的互操作性。</strong></p><p>为了将您的RollApp添加到Dymension Registry，需要执行下面的步骤</p><p>1. 按照给水龙头转账部分所述，用您的 rollapp 代币为Discord水龙头提供资金。</p><p>可以用下面的命令查询。</p><pre data-type="codeBlock" text="$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 &lt;RollApp-ID&gt;
"><code>$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 <span class="hljs-operator">&#x3C;</span>RollApp<span class="hljs-operator">-</span>ID<span class="hljs-operator">></span>
</code></pre><p>2.打开 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/dymensionxyz/chain-registry">https://github.com/dymensionxyz/chain-registry</a></p><p>(<strong>注意，现在更换了一个新的github链接)</strong></p><p>并点击右上角的fork按钮。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/12497bb5dd954af7690d75b2dd77efa215df5bdf5605984cd5b3c674adb389f3.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>如果你以前fork过，打开你自己的库</p><p>（ <code>https://github.com/&lt;你的github用户名&gt;/chain-registry</code>）</p><p>点击Sync fork,点击Update Branch</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8a78672dd5c35a5d364348b7c8f46dde8da8d11dcad9195b56ffbb92875fabe1.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>3. 运行</p><pre data-type="codeBlock" text="git clone https://github.com/&lt;你的github用户名&gt;/chain-registry 
"><code>git <span class="hljs-built_in">clone</span> https://github.com/&#x3C;你的github用户名>/chain-registry 
</code></pre><p>4. 运行</p><pre data-type="codeBlock" text="cd chain-registry/devnet
"><code><span class="hljs-built_in">cd</span> chain-registry/devnet
</code></pre><p>5. 通过 <code>roller config show</code> 命令找到你的RollappID 。并运行</p><pre data-type="codeBlock" text="export ROLLAPP_ID=&lt;你看到的RollappID&gt;
"><code>export ROLLAPP_ID<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你看到的RollappID<span class="hljs-operator">></span>
</code></pre><p>6. 创建适当的文件和文件夹</p><pre data-type="codeBlock" text="mkdir -p $ROLLAPP_ID/logos cd $ROLLAPP_ID &amp;&amp; touch $ROLLAPP_ID.json 
"><code><span class="hljs-built_in">mkdir</span> -p <span class="hljs-variable">$ROLLAPP_ID</span>/logos <span class="hljs-built_in">cd</span> <span class="hljs-variable">$ROLLAPP_ID</span> &#x26;&#x26; <span class="hljs-built_in">touch</span> <span class="hljs-variable">$ROLLAPP_ID</span>.json 
</code></pre><p>7. 将您的 RollApp 图标添加到该logos文件夹​​中。图标文件名：.. 可以是 SVG、PNG 或 JPG 格式（<strong>请确保文件不超过 50KB</strong>）。例如silent_1319141-1.jpg。可以使用FTP上传文件到服务器里，具体用法请自行百度或者谷歌。 8. 运行roller config export 并将 JSON 输出复制粘贴到 刚刚创建的$ROLLAPP_ID.json文件 并填写以下字段（可以使用vim等文本编辑器，方法请自行百度或者谷歌）： a. rpc: <code>&quot;http://&lt;你的ip或者域名&gt;:&lt;端口&gt;&quot; (默认端口是26657)</code> <strong>根据新要求，需要是https端点。</strong> b. rest: <code>&quot;http://&lt;你的ip或者域名&gt;:&lt;端口&gt;&quot; (默认端口是1317)</code> <strong>根据新要求，需要是https端点。</strong> c. evm rpc (仅仅适用于evm rollapp): <code>&quot;http://&lt;你的ip或者域名&gt;:&lt;端口&gt;&quot; (默认端口是8545)</code> <strong>根据新要求，需要是https端点。</strong> d. Logo path: <code>&quot;/logos/&lt;RollApp-ID&gt;.&lt;format&gt;&quot;</code> 可选字段: e. chainName: 在门户页面替换 <code>&lt;RollApp-ID&gt;</code> 作为你的Rollapp名称 f. description: add <code>&quot;&lt;你的RollApp描述&gt;&quot;,</code> 以显示在门户页面里 g. website: add <code>&quot;&lt;你的rollapp的网址&gt;&quot;,</code>以显示在门户页面里 json下方<code>&quot;analytics&quot;: true,</code> <strong>必须补充以下内容</strong> <code>&quot;goldberg&quot;: true</code> <code>&quot;availAddress&quot;: &quot;&lt;你Rollapp的avail 地址 &gt;&quot;</code> avail 地址运行<code>roller keys list</code> 可以得到 下面是<strong>avail官方给的模版，请参考这个模版</strong> {
  &quot;chainId&quot;: &quot;your_chain_id&quot;,
  &quot;chainName&quot;: &quot;Your Chain Name&quot;,
  &quot;rpc&quot;: &quot;http://your.rpc.url:port&quot;,
  &quot;rest&quot;: &quot;http://your.rest.url:port&quot;,
  &quot;bech32Prefix&quot;: &quot;your_prefix&quot;,
  &quot;currencies&quot;: [
    {
      &quot;displayDenom&quot;: &quot;YOUR_TOKEN&quot;,
      &quot;baseDenom&quot;: &quot;uYOUR_TOKEN&quot;,
      &quot;decimals&quot;: 18,
      &quot;logo&quot;: &quot;/path/to/your/logo.png&quot;,
      &quot;type&quot;: &quot;main&quot;
    }
  ],
  &quot;coinType&quot;: 60,
  &quot;faucetUrl&quot;: &quot;http://link.to.your.faucet&quot;,
  &quot;website&quot;: &quot;http://link.to.your.website&quot;,
  &quot;logo&quot;: &quot;/path/to/your/logo.png&quot;,
  &quot;ibc&quot;: {
    &quot;hubChannel&quot;: &quot;your_hub_channel&quot;,
    &quot;channel&quot;: &quot;your_channel&quot;,
    &quot;timeout&quot;: 172800000
  },
  &quot;evm&quot;: {
    &quot;chainId&quot;: &quot;your_evm_chain_id&quot;,
    &quot;rpc&quot;: &quot;http://your.evm.rpc.url:port&quot;
  },
  &quot;type&quot;: &quot;RollApp&quot;,
  &quot;da&quot;: &quot;Avail&quot;,
  &quot;description&quot;: &quot;Description of your RollApp&quot;,
  &quot;analytics&quot;: true,
  &quot;goldberg&quot;: true,
  &quot;availAddress&quot;: &quot;Your RollApp&apos;s Avail address&quot;
}
<strong>然后可以通过</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://jsonlint.com/">https://jsonlint.com/</a> <strong>这类工具验证你的json格式。</strong> 9. 在github添加并提交你的更改。 git add .
git commit -m &quot;added RollApp&quot;
git push -u origin main
这里需要登陆github并输入密码。然而密码处必须填写你自己设置的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.jianshu.com/p/5e15eb39ab31">access token</a>。 10. 向 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/dymensionxyz/chain-registry">https://github.com/dymensionxyz/chain-registry</a> 提交pull request。 打开你自己的仓库 https://github.com/&lt;你的github用户名&gt;/chain-registry
点击contribute按钮下的Open pull request，提交PR。 更多信息可以自行谷歌或者百度 <strong>由于官方需要看我们rollapp的活动，我们需要在没有前端的情况下向rollapp存入DYM并转出DYM。这个过程非常繁琐，已经有人找官方反馈了，但是目前暂时还没有变化。</strong> 方法一：可以使用 https://explorer.nodestake.org/wallet/keplr?chain
输入自定义链的config,然后添加自己的链到Keplr钱包中，然后使用钱包进行ibc转账。这里不详细写，可以去avail discord求助。 <strong>方法二:使用命令行</strong> 10. 用新钱包向你的rollapp存入DYM 创建一个新钱包 dymd keys add 钱包名
去Dymension Discord #froopyland-faucet 频道发<code>$request &lt;dym开头的地址&gt;</code> 领到水后，在同一频道发 $balance &lt;dym开头的地址&gt;
查询余额 接下来我们进行IBC 转账 首先查询自己rollapp的port和channel roller relayer status
会显示如 Active src, channel-0 &lt;-&gt; channel-8399, dst
这里的channel-8399 是我们转账到dymension hub要用的 <strong>src-channel</strong> 我们可以用自己的rollapp_sequencer 作为接收地址（<code>roller keys list</code> 可以看） 设置好dymension的rpc和chain-id dymd config node https://rpc-dymension-testnet.mzonder.com:443
dymd config chain-id froopyland_100-1
向你的Rollapp IBC转账（这里转了10个dym）<strong>转账不一定能成功，建议多发送几次交易。</strong> dymd tx ibc-transfer transfer transfer  &lt;你的src-channel&gt; &lt;你的rollapp_sequencer地址，ethm开头&gt; 1000000000000000000udym --from &lt;刚刚设置的钱包名&gt;  --fees 20000udym -y 
我们可以通过命令查询DYM是否成功到达你的rollapp_sequencer钱包。 接下来我们需要一个去掉0x的0x地址 这里的钱包地址由这个命令得到 rollapp_evm debug addr 你刚刚的接收地址
<strong>注：需要Address (hex): 后面的地址</strong> 接下来运行下面的命令查询 WALLET_ADDRESS=刚得到的去掉0x的钱包地址
CONTRACT_ADDRESS=0x80b5a32E4F032B2a058b4F29EC95EEfEEB87aDcd
curl -s -X POST -H &quot;Content-Type: application/json&quot; \
  --data &apos;{&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;eth_call&quot;,&quot;params&quot;:[{&quot;to&quot;: &quot;&apos;$CONTRACT_ADDRESS&apos;&quot;, &quot;data&quot;: &quot;0x70a08231000000000000000000000000&apos;$WALLET_ADDRESS&apos;&quot;},&quot;latest&quot;],&quot;id&quot;:1}&apos; \
  http://127.0.0.1:8545
如果结果<strong>不为</strong> {&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;id&quot;:1,&quot;result&quot;:&quot;0x0000000000000000000000000000000000000000000000000000000000000000&quot;}
就说明ibc转账到账了。<strong>到账后才能进行下一步操作</strong>，如果一直不到账，可以考虑<strong>多发几次IBC 交易</strong>。 11. 从你的rollapp中转出dym到dymension hub 将你的rollapp_sequencer钱包导入rollapp_evm。 首先需要导出你的<code>rollapp_sequencer</code> 私钥（刚刚接收dym的钱包） roller keys export rollapp_sequencer
接下来将私钥导入到rollapp_evm 以进行ibc转账 rollapp_evm keys  unsafe-import-eth-key 钱包名 私钥
我们需要将erc20的dym转换为Cosmos coin rollapp_evm tx erc20  convert-erc20 0x80b5a32E4F032B2a058b4F29EC95EEfEEB87aDcd 10000000000000000000 --from 刚刚导入的钱包名 --chain-id 你的RollappID --gas 10000000 -y
<strong>注: roller config show 可以看你的RollappID</strong> 运行以下命令查询转换结果 rollapp_evm query bank balances &lt;你的rollapp_sequencer地址，ethm开头&gt;
如果转换成功，能看到类似下面的结果 balances:
- amount: &quot;10000000000000000000&quot;
  denom: ibc/15B5176FE96608C01D36B7B23A990E2AE4E16BAE78EDA4D54B2672B844922823
我们终于可以将rollapp中的dym IBC转账到Dymension Hub了。 首先查询自己rollapp的port和channel roller relayer status
会显示如 Active src, channel-0 &lt;-&gt; channel-8399, dst
其中channel-0 是我们从自己的rollapp转出DYM到Dymension Hub要用的 <strong>src-channel</strong> 我们可以用之前新创建的dym地址当接收地址（随便用一个dym地址也行）。 向Dymension Hub IBC转账（这里转了2个dym） rollapp_evm tx ibc-transfer transfer transfer  &lt;你的src-channel&gt; &lt;你之前创建的dym地址，dym开头&gt; 2000000000000000000ibc/15B5176FE96608C01D36B7B23A990E2AE4E16BAE78EDA4D54B2672B844922823 --from &lt;刚刚设置的钱包名&gt;  -y --gas 1000000 --chain-id 你的RollappID
例如下方是我的命令,你需要根据自己的情况修改。 rollapp_evm tx ibc-transfer transfer transfer channel-0 dym1sfla5j67eyepslh0s6ltr4ype724pk3wrg24ly  2000000000000000000ibc/15B5176FE96608C01D36B7B23A990E2AE4E16BAE78EDA4D54B2672B844922823 --from silent  -y --gas 1000000 --chain-id silent_4544616-1
如果转账成功，你将在之后看到之前的dym钱包余额增加（这里转了2个dym）。<strong>转账不一定能成功，可以多发送几次交易。这里增加的是in Txs Count</strong> 如果成功后(dym接收地址余额增加)，<strong>等待半小时到一小时左右可以打开以下网站(网站更新感觉很慢)</strong> https://fl.dym.fyi/rollapp/&lt;你的RollappID&gt;
<strong>注: roller config show 可以看你的RollappID</strong> <strong>打开网站看IBC 30 days activities这栏</strong> <strong>需要In Txs Count 和 Out Txs Count 都大于一，如果你完成了上面的步骤，应该达到了要求。</strong> 12. 验证你的rollapp 去avail discord 中 rollapp-verification 频道开票。 发送自己的<strong>Github PR链接</strong>，和 https://fl.dym.fyi/rollapp/&lt;你的RollappID&gt;
等待管理验证。 之后管理会要求你用hub_sequencer地址从metamask转指定数量的DYM到他指定的地址。 首先导出hub_sequencer地址 roller keys export hub_sequencer
然后导入到小狐狸里。小狐狸里需要根据下面配置添加并切换至DYM网络 Network name: Dymension Froopyland testnet
RPC: https://froopyland-json.rpc.silknodes.io/
Chain-id: 100
Symbol: DYM
Explorer URL: https://fl.dym.fy
之后，用你刚刚导入的hub_sequencer钱包给<strong>官方指定的地址发指定数额的DYM</strong>。 <strong>之后将这笔交易的区块浏览器链接发给管理</strong>,等待管理验证。 如果验证通过后，PR 将会被Merge(<strong>需要等待较长时间，可能一两天？</strong>)。 之后，你的rollapp会显示在 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://portal.dymension.xyz/">https://portal.dymension.xyz/</a> 同时能看到Avail的Logo。 Leaderboard 网站也能看到你的rollapp。 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://leaderboard.availproject.org/">https://leaderboard.availproject.org/</a> 至此Rollapp的运行和注册便完成了。我们只需要保持<strong>稳定运行</strong>即可。 你可以在上面开发Dapp, 吸引用户来交互，增加自己rollapp的TVL，也许能获得更多奖励。 <strong>如果有新的变化，本教程还会持续更新。</strong> <strong>欢迎关注我的推特</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/EthExploring">https://twitter.com/EthExploring</a></p>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/cf8351a62205c31cffee64f4781abbb65a92b4147e0705b918b4c062f497fda5.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Babylon测试网验证者教程]]></title>
            <link>https://paragraph.com/@exploring/babylon</link>
            <guid>ehlA4fkiMjtNZOQIWSdW</guid>
            <pubDate>Mon, 22 Jan 2024 09:59:12 GMT</pubDate>
            <description><![CDATA[Babylon(巴比伦)是由斯坦福大学 David Tse 教授创立的基于Cosmos SDK的 L1 区块链，致力于扩展比特币安全性以保护去中心化世界。 目前，巴比伦包括两个协议：比特币时间戳：这个协议将任何数据（如PoS区块链）的简洁且可验证的时间戳发送到比特币；比特币质押：这个协议允许比特币资产为任何去中心化系统提供经济安全性，通过无需信任（自我保管）的质押方式。Babylon将启用Bitcoin的质押，通过BabylonBTC 质押者可以在没有托管风险的情况下赚取收益。PoS 链可以通过比特币进行保护，无需任何更改。无需桥接BTC，比特币资产仍保留在比特币上。巴比伦目前完成了两轮融资,总共融资了2600万美元，Polychain, Hackvc等资本参与了投资，目前在测试网阶段。 根据官方消息，目前用户可以以如下几种方式参与巴比伦。 1）运行一个节点，甚至成为验证者。（https://docs.babylonchain.io/docs/user-guides/btc-timestamping-testnet/overview ） 2）作为比特币质押服务的用户参与。（请等待...]]></description>
            <content:encoded><![CDATA[<p>Babylon(巴比伦)是由斯坦福大学 David Tse 教授创立的基于Cosmos SDK的 L1 区块链，致力于扩展比特币安全性以保护去中心化世界。</p><p>目前，巴比伦包括两个协议：</p><ol><li><p><strong>比特币时间戳</strong>：这个协议将任何数据（如PoS区块链）的简洁且可验证的时间戳发送到比特币；</p></li><li><p><strong>比特币质押</strong>：这个协议允许比特币资产为任何去中心化系统提供经济安全性，通过无需信任（自我保管）的质押方式。</p></li></ol><p>Babylon将启用Bitcoin的质押，通过Babylon</p><ul><li><p>BTC 质押者可以在没有托管风险的情况下赚取收益。</p></li><li><p>PoS 链可以通过比特币进行保护，无需任何更改。</p></li><li><p>无需桥接BTC，比特币资产仍保留在比特币上。</p></li></ul><p><strong>巴比伦目前完成了两轮融资,总共融资了2600万美元，Polychain, Hackvc等资本参与了投资，目前在测试网阶段。</strong></p><p>根据官方消息，目前用户可以以如下几种方式参与巴比伦。</p><p>1）运行一个节点，甚至成为验证者。（<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.babylonchain.io/docs/user-guides/btc-timestamping-testnet/overview">https://docs.babylonchain.io/docs/user-guides/btc-timestamping-testnet/overview</a> ）</p><p>2）作为比特币质押服务的用户参与。（请等待测试网的启动公告）</p><p>3） 在Babylon上开发DApps。（在 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/babylonchain/storage-contract">https://github.com/babylonchain/storage-contract</a> 中提供了开发者的玩具示例）</p><p>4）连接到Cosmos链并连接到Babylon。</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行测试网验证人</h1><p>目前的公共测试网<strong>不是激励性测试网</strong>。<strong>建议体验为主，为接下来的测试网做准备</strong>。</p><p><strong><em>本教程仅供参考，请以</em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.babylonchain.io/docs/user-guides/btc-timestamping-testnet/overview"><strong><em>官方教程</em></strong></a><strong><em>为准</em></strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最低配置</h2><p>Ubuntu 系统</p><p>2 CPU</p><p>4 GB RAM</p><p>100GB SSD</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装基础环境</h2><p>安装go</p><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.bashrc
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/.bashrc
"><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.21.5.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>.bashrc
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>.bashrc
</code></pre><p>安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><p>安装其他必要的环境</p><pre data-type="codeBlock" text="sudo apt-get update -y
sudo apt-get install curl build-essential jq git lz4 -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y
sudo apt<span class="hljs-operator">-</span>get install curl build<span class="hljs-operator">-</span>essential jq git lz4 <span class="hljs-operator">-</span>y;
</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
git clone https://github.com/babylonchain/babylon.git
cd babylon
git checkout v0.7.2
make install
"><code><span class="hljs-built_in">cd</span>
git <span class="hljs-built_in">clone</span> https://github.com/babylonchain/babylon.git
<span class="hljs-built_in">cd</span> babylon
git checkout v0.7.2
make install
</code></pre><p>安装完成后可以运行 <code>babylond version</code>检查是否安装成功。</p><p>显示应为v0.7.2</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</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="moniker=&lt;你的节点名&gt;
babylond init $moniker --chain-id=bbn-test-2
babylond config chain-id bbn-test-2
"><code>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你的节点名<span class="hljs-operator">></span>
babylond init $moniker <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>bbn<span class="hljs-operator">-</span>test<span class="hljs-number">-2</span>
babylond config chain<span class="hljs-operator">-</span>id bbn<span class="hljs-operator">-</span>test<span class="hljs-number">-2</span>
</code></pre><h3 id="h-genesis" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载Genesis 文件</h3><pre data-type="codeBlock" text="cd
wget https://github.com/babylonchain/networks/raw/main/bbn-test-2/genesis.tar.bz2
tar -xjf genesis.tar.bz2 &amp;&amp; rm genesis.tar.bz2
mv genesis.json ~/.babylond/config/genesis.json
"><code>cd
wget https:<span class="hljs-comment">//github.com/babylonchain/networks/raw/main/bbn-test-2/genesis.tar.bz2</span>
tar <span class="hljs-operator">-</span>xjf genesis.tar.bz2 <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> rm genesis.tar.bz2
mv genesis.json <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.babylond/config<span class="hljs-operator">/</span>genesis.json
</code></pre><h3 id="h-peer" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">设置peer</h3><pre data-type="codeBlock" text="cd
PEERS=&quot;8665926525cab128fb6820c12e693beae32189cb@2.58.82.86:16456,97483fca7392b9e5286a79c2f15bbc6cd8078c51@89.116.26.9:16456,b79270829412972d4561fddd7b0b19d0ff86e7cb@154.42.7.136:26656,44e51fce32337a039c95a8322bc000994f781025@38.242.213.26:16456,5404edff89d93e97832ab294a88c91bcb8b0e594@54.238.212.246:26656,34ce32c340ee34fb1dce5bf6db3f6bd7bbfe9e74@89.117.58.67:26656,0123d9c8840ef3c9f8b966525bf9ab48012fd29d@65.108.129.239:40656,9330158f5529919c6755789a49289106c0906044@142.93.111.103:31156,36777fb6c115526b9f93c3ed8b12924edef4ed5a@144.91.122.16:31156,0a0d7d245ea67cfeec7d000085260fbe695544f4@207.180.251.220:11656,47758f2d0098336450fb469bdddbd28d33ef55ef@164.68.109.193:26656,08f8da861fcf6e21d6f04d6b21e3486c0d406521@84.247.176.34:16456,118a68dbb190bec1b9882ef27c0edb5af79a052e@104.248.198.47:31156,e55cf962ad87b9136c961818f8f6cf7919b98601@161.97.142.95:16456,2581815dc03b24493d8fa782b103053ff0c101cf@109.205.183.92:16456,39b8c9adc8801d5c2b444fe7145860eb04bbc9ec@65.108.59.77:31156,eef91e5162efc7741a1befa580c38e7c2beed646@173.212.242.247:16456,09096f5f317e8cfa430838e52c77f8219ac440b6@89.116.29.88:26656,16f033e6a8ee599948f2ab9349899ef2bbded61a@65.109.70.45:27656,530fdeb6dabd3973d2a6c292281508a145a66514@164.92.147.45:31156,948793178a6a1ed76ede26d0d0b20d28c2987f1b@62.171.144.190:16456,67cc3790dc79b5b20db33e082d7baa1c3283b29f@37.27.55.100:24656,d0eee59ce53bdd6d82d01281f36819d9b94e7a34@46.4.57.161:16456,84b6e369a271ddf70b7e0922abfe603809769b8b@35.188.47.245:16456,f68522d692c9efc0d6fdae32877394c46b5996d9@154.42.7.189:26656,c9c67bb3a27642a4c4486394f281fc7262c2b91a@65.109.27.66:16456,05b82c341f2b4a38ad818ee008a7ff7e6989a0f3@2.59.156.143:16456,f03de36968bffdd85d39f967790a9a5407ffa6a0@158.220.111.115:16456,f82d5e03c398427c73b56e7269c3036401494c68@217.76.51.234:16456,127d74389dfa4994856648a4efe22a1c60d05a9b@185.219.142.112:16456,af5bbd5e8a568e92884dc4420f8128ad530e0506@185.217.197.227:16456,40847bca6a8ce81505be286c89d8a77ec8e16855@62.171.170.251:16456,32f630b3f1968f6414c0ea5eaad95e02f0363e52@80.65.211.25:26656,0145f790c613115eab414a88f49af52c21513137@185.187.170.244:26656,3d1f62f5ca2e59d74afc01ee03ff219ddee798f0@167.86.114.38:16456,5a5a641151f96d2ebcae7a0c82e1019f83cb08f3@158.220.111.116:16456,725995e126fece1b39071c464d91df7a4cc5f355@4.227.169.16:16456,6644af43b3c8f30c3cda94b28a4f8f81bc03b2cf@194.163.170.129:16456,899c8c04812b245114b9e41f30d1d39c0ec8b5aa@45.94.209.251:16456,0b036129ab350352fb420e366c57c62137f6ccbd@207.180.242.155:16456,50e73c636d2003b429443dc95d38e0df51a64ada@109.123.241.165:16456,5aab12afc44f6e7aa483db25edcef911f3d23265@38.242.216.136:16456,894e1db27292893cc3bc28a812002f6c5a3c5ee5@89.116.30.4:16456,0f8fbe7f95140f201532af60f95f11e382917706@5.78.115.108:26656,2acab2ec47cf74c08837e80397385fda71aeac2c@109.205.180.179:16456,2ba1c7faaaece764e967f22d27579310d03d69f0@154.42.7.84:26656,c5740321ed9c88ae1f68756bcfae6ce72c7496aa@158.220.117.40:16456,b7ed57fe3a7733d3ba4f9811f837400ada0756ad@176.124.198.67:16456,e385f4a8d1ec856be009184e69a330001bd5bac3@31.220.81.18:16456,e0a500684bda510d8f135e5a7cee16f13fd0be03@45.84.138.177:16456,5385dede6e35968e25079ccaa3ea2f2c0d6081fb@217.76.55.142:16456,752d875a6b5cfc1d4d3472d0b8960a934d24432a@84.247.129.5:16456,ea6e8374c3ff2603d535d2648d963b76bd4fd314@109.123.242.32:26656,5b876e871bc2b844a4a2d0ea1fd7ae3768b0e404@80.65.211.208:31156,030bc7c0258bed9a3a7f351086e63b5f5a1239b1@64.23.152.172:16456,0dc7db2998653f0100d6a78976d67334c22e793b@207.180.227.245:16456,41c49af20914f90cf6470df840937a8fda8e938b@74.48.96.73:31156,4a4464bdc267c945d63748a752fa476e0dd8bdbe@85.239.233.251:16456,3768787187f3d8e7d40a5f447d88eaf2c1868fa0@167.86.124.216:16456,d406e755b67d692502c9d4aac38900fe50f0eb9f@194.163.173.205:16456,e9504655fb196e5a590d3de61de1c8dabae37154@194.163.147.249:16456,c44dea4d05903e40ec84a875ab5e37aab3337ca8@45.87.154.220:26656,a2d1338f7d97a5e2cdd5292852fbb42ef6e078d7@161.97.117.23:16456,56278f82c1ceb4c51675e5ab1b0cce4bb67e6cb1@185.202.223.139:16456,51314f182689b204c314f9c0fda2e82a7daa6666@95.111.238.104:16456,1d5afb181d1cd5c37eee2bf5c6ffd80741fca013@62.171.169.236:16456,5fc87fd93fe205247b35fd19440fb7f3d4234f44@84.247.174.173:31656,a8a37b3969c7282f76e68280407335e051d75d63@185.217.197.15:16456,4109f679495f0375830c727c8c9b4e1fc7f3d049@84.247.169.225:16456,c08fe104825dc3ce6ee5f2582f00e497aa8a1c37@75.119.141.16:16456,2fb643493b8ebe450df69758b48c9ff0024e8acc@184.174.34.61:16456,c7893a07860ef132575bc75cf67db63df3a1e4f1@154.42.7.171:26656,279eb15f3a9cc7f90f6a025c66e0b16b6ef58597@185.241.151.110:16456,badbfa1b9fb9077f2a5380e1d59fa6253bf1561f@38.242.234.159:16456,09ad2c93fe84ebf93ce28e43b290fa3b9f3bbf24@161.97.72.103:16456,8af526c37c4892745038d8016ec44056b1a70725@rpc1.testnet.babylonchain.io:26656,8f90a461326ea81c3d43a4e92a8192d8133ca731@115.75.207.21:16456,fd1f698473a06fe717ba7a7e6ea65dd235daefff@genesis-validator1.testnet.babylonchain.io:26656,e8a1ee75decc9c77774c8d13d53d4994c368bff0@161.97.140.251:16456,45215defb2c66c2c427c3bad19f70ad9d765268e@173.249.55.113:16456,6595e73d40ac5771cc510e5a35db144840a7ed4c@116.203.97.211:16456,7dd029e9b3324f12419b34fa453558e90eeb7743@38.242.250.63:16456,ba3a508f05deb21729f9c4e4a4288ffc60ceb01e@154.42.7.38:26656,cc01114366a5520eb9883bfa0e070f0c7b6888dc@154.42.7.183:26656,4a13ce7ce1ceaa527310ffae4fa0b5e9e09d703d@154.42.7.198:26656,4a4f42f81fcf721e197aa0aef075914dcbdc4528@154.42.7.187:26656,0b926256faabb143a03e88a270fa5f618983c167@154.42.7.35:26656,66886aae0323cee9467a5b2bd6dec33899a7ef1c@154.42.7.36:26656,debea867ba3b70c384eb3e529f4e1ea018cf6d46@154.42.7.37:26656,3412554180ddb0f5ad92c3e33dbb12081ecb3b73@154.42.7.39:26656,c5d027f654739450e5845442dcf0ffb94b399938@154.42.7.80:26656,ea5ef5c5336e86d4376728aa4e0698546eac6b8f@154.42.7.145:26656,7ffaacf1ea89b2aa74a554851c96dcf178f243dd@154.42.7.113:26656,7caa73ddca9219878cd6f834133489307083285f@154.42.7.150:26656,0b1ae20b6be9a94322e09f8a1018ef9fe190acf4@148.251.177.108:20656,e37a883d7e1175096dba08a268e7cbe0066476e7@109.123.244.160:16456,67b31015271e75cb9c3762462467fa1b4d1ffa8b@173.212.242.100:16456,4afa7a82cb264892491eb6f9a1953adddd98d9b7@154.42.7.190:26656,ed48c57c13c8ba54e29635b640ac3217e315118d@194.163.176.216:16456,a1cb66979d71b31305e760ef1c8288a3101088c2@194.60.87.74:16456,7ab94a61b34e29f64793d35b00550b6fc03d5207@45.76.80.18:16456,ee6691e91c4538d976a846e799bdce3eb6f50312@154.42.7.55:26656,d81a6f3de406b054a86278200a198f72381287fe@161.97.108.152:26656,2029b842c3eb07265d64a96f41d8f8a461b332ac@154.42.7.192:26656,9b8a98bf62eacc17d81af574b17762f7212b504e@38.242.239.200:16456,8cb87ac14fc02c9ebf1ace9db073005f2b84d26e@154.42.7.62:26656,98d9d0b1686b2286be4b3b6e969b94a8aa1099ac@89.117.61.154:16456,cdd4e8750ccac467b4bf0ff9ba9f1e84542a24b7@65.21.244.219:16456,e75e72ce9c0289d020430d7661c89d7ef605b83b@88.99.98.157:16456,62c5ba8fc87693a2e9167fdb1323e6eaa95d7236@62.171.162.95:16456,259c253393eb30a5941ee6f3856dde418a601acb@161.35.229.92:16456,8e3b56f02d831fb11d880806094bae28bb008927@87.248.64.115:16456,668cd98c28fbe3a4cf13bfae2666f480938f88c4@84.247.169.42:3156,4ae59f728a23d3a4cf32f07d846ba9afc7845cea@135.181.143.55:16456,37896797924b1cb18bce9b9542ba3da915a85038@genesis-validator3.testnet.babylonchain.io:26656,9cb8579ce37b7788bd4ddec249c279f9dbc95d11@193.46.243.253:16456,b27e755189b2719066278671dd1485d3388c4e3c@213.73.206.15:16456,8b87546627f3c565d3a958c3cfb0967c2dd3461d@38.242.215.70:16456,23d267f25dd294572ff4d60a10a1b48d74a57b68@65.21.183.181:16456,ef53a96f1c13040f2b842f4e8111e47299d406e1@79.137.205.7:16456,e89bc7bbe068d531d079785e3cb5c86b2de79888@162.251.238.11:26656,30caba0357792263ca4d658a9b84a7aafbfb3854@89.117.51.186:16456,3eb18a1be76a26c98477eff08a81a055ca59ba5c@62.171.150.54:16456,28fa1dbe003b325f5d55fd307f0d696d0a18318d@217.76.60.200:16456,bb3164eb561275dc640d30014d17dbb9547e284a@213.136.83.74:16456,3d5b7450a7770b0d3abd2abd5fb339d0293474d1@89.116.31.210:16456,89a4dbf6593caa6d337cf02b049cab245ceb6ede@128.140.73.180:26656,6627516cfd0bf7718e8b1204b2c8129fd3844d44@49.13.167.53:26656,1016bb6d890ffafe49eb8b2264937bdbcd775135@46.4.5.45:20656,f5d8da432e8f31754943500562a1dd58d561e66a@95.6.28.8:30656,7c48d6713b44e529a186ebe95fcf8c0f245d580e@116.203.203.208:26656,1a6e0812ca80cd3a3846f6460480862089f24348@164.68.111.143:33656,1e6fc4becb8011d15d739e0e6aee04ed1f0f9e9d@84.247.142.244:16456,e65bea8cd04d9defa5389a041aa994e00c8e27a9@185.252.220.89:25018,5e5a13c41fa73a420bfdb9a52070ed6ebe01552f@185.197.250.29:16456,4f2a63904294aa619523ab5f80ab35f9e41fadce@148.251.2.19:55706,b4abb45ce5d0367a192189207ee90ac51647bb2d@195.14.6.2:26656,7e2c922b8281f7db344c4005dcbf395ad123f01c@194.163.179.176:26656,007e364cc15157ac9f3ecc856c92916f2cff5a7d@84.247.162.11:16456,cc43cffdb2ecc5142bc63e758a9740a71bad1a88@148.251.140.92:36656,050ea55834dac4b6e9a5329c12de16aaca88226e@217.76.58.2:16456,5685dda53d3921895429d1296feee4a562a862ff@38.242.233.201:16456,606b4f67b98c1d4cc273462cc7663bb31a0212ab@207.180.224.225:16456,e7141e9dcf76c18d5ecf70f6b1fde44e30de90a4@31.220.72.51:16456,30fce9878e04efae5860559267589c7f0a5a462d@217.76.49.103:16456,e03b03a3282739615030d623ca1a9952c522b71c@164.68.113.223:16456,bb5b722855de2ce91f03686ded9557ff40a6879a@31.220.72.52:16456,ae2d3554761736d7a237436e442a2a8fca7389da@154.42.7.77:26656,704bdcf540c892a1829677ded6e28cb98967444d@184.174.37.183:16456,7c4373b2a1f4f574c8c6f5f800094e59bb78e5f8@192.248.188.57:26656,d27a8b77aff701341cb6c35b75c0acb32a3b3869@38.242.246.98:16456,a39f248ff0a50aa4565e469c2cd32d393f31fc45@155.133.27.209:16456,3822d4a6ab42b2b47587a5e460464902c4e00172@167.86.91.136:16456,4d31e08fba8acfd4a50948acb4c104cab2fd6032@31.187.74.142:16456,d38b62989c7990ca891b18353085c5c1c7e84974@31.220.73.120:16456,b06dad729c5df6254522c462568d5399434a5b88@161.97.124.242:16456,97cd56529fde47b167c280846d5ad09d2e48d51a@164.68.96.223:16456,393ec4a2bb359679236ca23425cc757efbb4b8e4@82.208.23.190:16456,2e35005813a766746a5c486192ea284e1ccfaec5@138.201.200.32:16456,e20aedea09157c1279bc0914d991f86fcc00d65e@62.171.186.246:16456,d8d28ced52b9714eb7466de869950daaa3f07092@116.203.40.107:16456,288fbd8e3221dba6605a399e56b191c4c566ae91@62.171.134.31:16456,9869b6671117804d6f199a3ed01037286d6df996@194.61.28.11:16456,496a8bae158c2249a930ddac69173598e4a1ef46@207.180.203.252:16456,00ee5d81ab9b8baddb84fe6db1875f81f52001a2@149.102.157.1:16456,6e304e2cca21902d5d4bbf6238fab20abf1d835b@154.42.7.41:26656,338a3a239f5ab61b8c042a6a7fecde4065964962@45.140.185.152:16456,21e57dce3240cd34dfc016c9df5c1afce9c7dc55@38.242.213.226:16456,3ba556d4b540f242972bbc8d38ee57aaf77e839c@84.247.179.185:16456,474567846a454e30bda51c5fa6c7d2aa3f9169a6@185.217.125.160:16456,d15aa9cb0e5145ad98ec5f9c6461a520f9413605@161.97.120.220:16456,01551e3c939416e3a9bd8ec40b35f880de8bb75f@86.48.1.112:16456,a7c42ff093c632d4f771e66294b617a0fc58590d@65.108.41.26:16456,67cda73aadbc1ce10ec7c1e6befdd1bcc0ce3093@75.119.145.178:16456,7cd61869c1cc698416079b40b0c2ee2babdc1a16@161.97.92.129:16456,5d3272610cb846d186d0876f1f20fb723299b5fb@62.171.169.28:16456,43632272f490f6132f8b0f7e35c1f946fa7ede08@185.185.82.104:16456,e4f04c9123868467a02dcbeff1dc4bbf2fc817a3@65.21.32.88:16456,d57bb8dd0b283a150631235974a6d13fe4a6b113@31.220.92.150:16456,67b58a6ae76d27a5c6a161c9b5752caed8c3f471@46.228.199.33:16456,eab120746d6c42d9b74796a6e95d789b99222636@62.171.173.238:16456,2b6ef1b128fd63312b6129179b06b62161305c24@158.220.108.84:16456,eff15050e512636bffedee0bba01d78402132d98@185.197.195.44:16456,52a8a13135276ae147ea045b9ea83b62db16aa66@167.86.69.225:16456,c3bffcd3d6be49865de962d7fca246a5a0edcf82@161.97.101.27:16456,2d56ef5502333cc5ea214ee284e7ae97969f0a8a@109.123.247.220:16456,38ef5a1f557759b7e08762a83cf3473a62fa4d0e@65.109.20.18:16456,dc59f8b0e56d6a202f8971626549f4c873f55fcd@161.97.101.213:16456,1e704fa23b39490e5282cb5776e8170e1439f4be@161.97.123.220:16456,6b7d26ae643bf4683907981faa162d1180b31c54@85.215.77.38:16456,ebf39600a16e2a4a0f79ab9a18b03d263f868564@31.220.76.60:16456,bb8c2fb6cf4f51ebd3b378325b4f728cc0e5b6c3@194.60.201.175:16456,67d0c70c8ee2ce22638081f60fbf76ea5d3dd9af@genesis-validator4.testnet.babylonchain.io:26656,c01f6e33f9a9310c97b9be7667ee0768391706af@65.108.4.212:16456&quot;
sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;$PEERS\&quot;/&quot; $HOME/.babylond/config/config.toml
"><code>cd
PEERS=<span class="hljs-string">"8665926525cab128fb6820c12e693beae32189cb@2.58.82.86:16456,97483fca7392b9e5286a79c2f15bbc6cd8078c51@89.116.26.9:16456,b79270829412972d4561fddd7b0b19d0ff86e7cb@154.42.7.136:26656,44e51fce32337a039c95a8322bc000994f781025@38.242.213.26:16456,5404edff89d93e97832ab294a88c91bcb8b0e594@54.238.212.246:26656,34ce32c340ee34fb1dce5bf6db3f6bd7bbfe9e74@89.117.58.67:26656,0123d9c8840ef3c9f8b966525bf9ab48012fd29d@65.108.129.239:40656,9330158f5529919c6755789a49289106c0906044@142.93.111.103:31156,36777fb6c115526b9f93c3ed8b12924edef4ed5a@144.91.122.16:31156,0a0d7d245ea67cfeec7d000085260fbe695544f4@207.180.251.220:11656,47758f2d0098336450fb469bdddbd28d33ef55ef@164.68.109.193:26656,08f8da861fcf6e21d6f04d6b21e3486c0d406521@84.247.176.34:16456,118a68dbb190bec1b9882ef27c0edb5af79a052e@104.248.198.47:31156,e55cf962ad87b9136c961818f8f6cf7919b98601@161.97.142.95:16456,2581815dc03b24493d8fa782b103053ff0c101cf@109.205.183.92:16456,39b8c9adc8801d5c2b444fe7145860eb04bbc9ec@65.108.59.77:31156,eef91e5162efc7741a1befa580c38e7c2beed646@173.212.242.247:16456,09096f5f317e8cfa430838e52c77f8219ac440b6@89.116.29.88:26656,16f033e6a8ee599948f2ab9349899ef2bbded61a@65.109.70.45:27656,530fdeb6dabd3973d2a6c292281508a145a66514@164.92.147.45:31156,948793178a6a1ed76ede26d0d0b20d28c2987f1b@62.171.144.190:16456,67cc3790dc79b5b20db33e082d7baa1c3283b29f@37.27.55.100:24656,d0eee59ce53bdd6d82d01281f36819d9b94e7a34@46.4.57.161:16456,84b6e369a271ddf70b7e0922abfe603809769b8b@35.188.47.245:16456,f68522d692c9efc0d6fdae32877394c46b5996d9@154.42.7.189:26656,c9c67bb3a27642a4c4486394f281fc7262c2b91a@65.109.27.66:16456,05b82c341f2b4a38ad818ee008a7ff7e6989a0f3@2.59.156.143:16456,f03de36968bffdd85d39f967790a9a5407ffa6a0@158.220.111.115:16456,f82d5e03c398427c73b56e7269c3036401494c68@217.76.51.234:16456,127d74389dfa4994856648a4efe22a1c60d05a9b@185.219.142.112:16456,af5bbd5e8a568e92884dc4420f8128ad530e0506@185.217.197.227:16456,40847bca6a8ce81505be286c89d8a77ec8e16855@62.171.170.251:16456,32f630b3f1968f6414c0ea5eaad95e02f0363e52@80.65.211.25:26656,0145f790c613115eab414a88f49af52c21513137@185.187.170.244:26656,3d1f62f5ca2e59d74afc01ee03ff219ddee798f0@167.86.114.38:16456,5a5a641151f96d2ebcae7a0c82e1019f83cb08f3@158.220.111.116:16456,725995e126fece1b39071c464d91df7a4cc5f355@4.227.169.16:16456,6644af43b3c8f30c3cda94b28a4f8f81bc03b2cf@194.163.170.129:16456,899c8c04812b245114b9e41f30d1d39c0ec8b5aa@45.94.209.251:16456,0b036129ab350352fb420e366c57c62137f6ccbd@207.180.242.155:16456,50e73c636d2003b429443dc95d38e0df51a64ada@109.123.241.165:16456,5aab12afc44f6e7aa483db25edcef911f3d23265@38.242.216.136:16456,894e1db27292893cc3bc28a812002f6c5a3c5ee5@89.116.30.4:16456,0f8fbe7f95140f201532af60f95f11e382917706@5.78.115.108:26656,2acab2ec47cf74c08837e80397385fda71aeac2c@109.205.180.179:16456,2ba1c7faaaece764e967f22d27579310d03d69f0@154.42.7.84:26656,c5740321ed9c88ae1f68756bcfae6ce72c7496aa@158.220.117.40:16456,b7ed57fe3a7733d3ba4f9811f837400ada0756ad@176.124.198.67:16456,e385f4a8d1ec856be009184e69a330001bd5bac3@31.220.81.18:16456,e0a500684bda510d8f135e5a7cee16f13fd0be03@45.84.138.177:16456,5385dede6e35968e25079ccaa3ea2f2c0d6081fb@217.76.55.142:16456,752d875a6b5cfc1d4d3472d0b8960a934d24432a@84.247.129.5:16456,ea6e8374c3ff2603d535d2648d963b76bd4fd314@109.123.242.32:26656,5b876e871bc2b844a4a2d0ea1fd7ae3768b0e404@80.65.211.208:31156,030bc7c0258bed9a3a7f351086e63b5f5a1239b1@64.23.152.172:16456,0dc7db2998653f0100d6a78976d67334c22e793b@207.180.227.245:16456,41c49af20914f90cf6470df840937a8fda8e938b@74.48.96.73:31156,4a4464bdc267c945d63748a752fa476e0dd8bdbe@85.239.233.251:16456,3768787187f3d8e7d40a5f447d88eaf2c1868fa0@167.86.124.216:16456,d406e755b67d692502c9d4aac38900fe50f0eb9f@194.163.173.205:16456,e9504655fb196e5a590d3de61de1c8dabae37154@194.163.147.249:16456,c44dea4d05903e40ec84a875ab5e37aab3337ca8@45.87.154.220:26656,a2d1338f7d97a5e2cdd5292852fbb42ef6e078d7@161.97.117.23:16456,56278f82c1ceb4c51675e5ab1b0cce4bb67e6cb1@185.202.223.139:16456,51314f182689b204c314f9c0fda2e82a7daa6666@95.111.238.104:16456,1d5afb181d1cd5c37eee2bf5c6ffd80741fca013@62.171.169.236:16456,5fc87fd93fe205247b35fd19440fb7f3d4234f44@84.247.174.173:31656,a8a37b3969c7282f76e68280407335e051d75d63@185.217.197.15:16456,4109f679495f0375830c727c8c9b4e1fc7f3d049@84.247.169.225:16456,c08fe104825dc3ce6ee5f2582f00e497aa8a1c37@75.119.141.16:16456,2fb643493b8ebe450df69758b48c9ff0024e8acc@184.174.34.61:16456,c7893a07860ef132575bc75cf67db63df3a1e4f1@154.42.7.171:26656,279eb15f3a9cc7f90f6a025c66e0b16b6ef58597@185.241.151.110:16456,badbfa1b9fb9077f2a5380e1d59fa6253bf1561f@38.242.234.159:16456,09ad2c93fe84ebf93ce28e43b290fa3b9f3bbf24@161.97.72.103:16456,8af526c37c4892745038d8016ec44056b1a70725@rpc1.testnet.babylonchain.io:26656,8f90a461326ea81c3d43a4e92a8192d8133ca731@115.75.207.21:16456,fd1f698473a06fe717ba7a7e6ea65dd235daefff@genesis-validator1.testnet.babylonchain.io:26656,e8a1ee75decc9c77774c8d13d53d4994c368bff0@161.97.140.251:16456,45215defb2c66c2c427c3bad19f70ad9d765268e@173.249.55.113:16456,6595e73d40ac5771cc510e5a35db144840a7ed4c@116.203.97.211:16456,7dd029e9b3324f12419b34fa453558e90eeb7743@38.242.250.63:16456,ba3a508f05deb21729f9c4e4a4288ffc60ceb01e@154.42.7.38:26656,cc01114366a5520eb9883bfa0e070f0c7b6888dc@154.42.7.183:26656,4a13ce7ce1ceaa527310ffae4fa0b5e9e09d703d@154.42.7.198:26656,4a4f42f81fcf721e197aa0aef075914dcbdc4528@154.42.7.187:26656,0b926256faabb143a03e88a270fa5f618983c167@154.42.7.35:26656,66886aae0323cee9467a5b2bd6dec33899a7ef1c@154.42.7.36:26656,debea867ba3b70c384eb3e529f4e1ea018cf6d46@154.42.7.37:26656,3412554180ddb0f5ad92c3e33dbb12081ecb3b73@154.42.7.39:26656,c5d027f654739450e5845442dcf0ffb94b399938@154.42.7.80:26656,ea5ef5c5336e86d4376728aa4e0698546eac6b8f@154.42.7.145:26656,7ffaacf1ea89b2aa74a554851c96dcf178f243dd@154.42.7.113:26656,7caa73ddca9219878cd6f834133489307083285f@154.42.7.150:26656,0b1ae20b6be9a94322e09f8a1018ef9fe190acf4@148.251.177.108:20656,e37a883d7e1175096dba08a268e7cbe0066476e7@109.123.244.160:16456,67b31015271e75cb9c3762462467fa1b4d1ffa8b@173.212.242.100:16456,4afa7a82cb264892491eb6f9a1953adddd98d9b7@154.42.7.190:26656,ed48c57c13c8ba54e29635b640ac3217e315118d@194.163.176.216:16456,a1cb66979d71b31305e760ef1c8288a3101088c2@194.60.87.74:16456,7ab94a61b34e29f64793d35b00550b6fc03d5207@45.76.80.18:16456,ee6691e91c4538d976a846e799bdce3eb6f50312@154.42.7.55:26656,d81a6f3de406b054a86278200a198f72381287fe@161.97.108.152:26656,2029b842c3eb07265d64a96f41d8f8a461b332ac@154.42.7.192:26656,9b8a98bf62eacc17d81af574b17762f7212b504e@38.242.239.200:16456,8cb87ac14fc02c9ebf1ace9db073005f2b84d26e@154.42.7.62:26656,98d9d0b1686b2286be4b3b6e969b94a8aa1099ac@89.117.61.154:16456,cdd4e8750ccac467b4bf0ff9ba9f1e84542a24b7@65.21.244.219:16456,e75e72ce9c0289d020430d7661c89d7ef605b83b@88.99.98.157:16456,62c5ba8fc87693a2e9167fdb1323e6eaa95d7236@62.171.162.95:16456,259c253393eb30a5941ee6f3856dde418a601acb@161.35.229.92:16456,8e3b56f02d831fb11d880806094bae28bb008927@87.248.64.115:16456,668cd98c28fbe3a4cf13bfae2666f480938f88c4@84.247.169.42:3156,4ae59f728a23d3a4cf32f07d846ba9afc7845cea@135.181.143.55:16456,37896797924b1cb18bce9b9542ba3da915a85038@genesis-validator3.testnet.babylonchain.io:26656,9cb8579ce37b7788bd4ddec249c279f9dbc95d11@193.46.243.253:16456,b27e755189b2719066278671dd1485d3388c4e3c@213.73.206.15:16456,8b87546627f3c565d3a958c3cfb0967c2dd3461d@38.242.215.70:16456,23d267f25dd294572ff4d60a10a1b48d74a57b68@65.21.183.181:16456,ef53a96f1c13040f2b842f4e8111e47299d406e1@79.137.205.7:16456,e89bc7bbe068d531d079785e3cb5c86b2de79888@162.251.238.11:26656,30caba0357792263ca4d658a9b84a7aafbfb3854@89.117.51.186:16456,3eb18a1be76a26c98477eff08a81a055ca59ba5c@62.171.150.54:16456,28fa1dbe003b325f5d55fd307f0d696d0a18318d@217.76.60.200:16456,bb3164eb561275dc640d30014d17dbb9547e284a@213.136.83.74:16456,3d5b7450a7770b0d3abd2abd5fb339d0293474d1@89.116.31.210:16456,89a4dbf6593caa6d337cf02b049cab245ceb6ede@128.140.73.180:26656,6627516cfd0bf7718e8b1204b2c8129fd3844d44@49.13.167.53:26656,1016bb6d890ffafe49eb8b2264937bdbcd775135@46.4.5.45:20656,f5d8da432e8f31754943500562a1dd58d561e66a@95.6.28.8:30656,7c48d6713b44e529a186ebe95fcf8c0f245d580e@116.203.203.208:26656,1a6e0812ca80cd3a3846f6460480862089f24348@164.68.111.143:33656,1e6fc4becb8011d15d739e0e6aee04ed1f0f9e9d@84.247.142.244:16456,e65bea8cd04d9defa5389a041aa994e00c8e27a9@185.252.220.89:25018,5e5a13c41fa73a420bfdb9a52070ed6ebe01552f@185.197.250.29:16456,4f2a63904294aa619523ab5f80ab35f9e41fadce@148.251.2.19:55706,b4abb45ce5d0367a192189207ee90ac51647bb2d@195.14.6.2:26656,7e2c922b8281f7db344c4005dcbf395ad123f01c@194.163.179.176:26656,007e364cc15157ac9f3ecc856c92916f2cff5a7d@84.247.162.11:16456,cc43cffdb2ecc5142bc63e758a9740a71bad1a88@148.251.140.92:36656,050ea55834dac4b6e9a5329c12de16aaca88226e@217.76.58.2:16456,5685dda53d3921895429d1296feee4a562a862ff@38.242.233.201:16456,606b4f67b98c1d4cc273462cc7663bb31a0212ab@207.180.224.225:16456,e7141e9dcf76c18d5ecf70f6b1fde44e30de90a4@31.220.72.51:16456,30fce9878e04efae5860559267589c7f0a5a462d@217.76.49.103:16456,e03b03a3282739615030d623ca1a9952c522b71c@164.68.113.223:16456,bb5b722855de2ce91f03686ded9557ff40a6879a@31.220.72.52:16456,ae2d3554761736d7a237436e442a2a8fca7389da@154.42.7.77:26656,704bdcf540c892a1829677ded6e28cb98967444d@184.174.37.183:16456,7c4373b2a1f4f574c8c6f5f800094e59bb78e5f8@192.248.188.57:26656,d27a8b77aff701341cb6c35b75c0acb32a3b3869@38.242.246.98:16456,a39f248ff0a50aa4565e469c2cd32d393f31fc45@155.133.27.209:16456,3822d4a6ab42b2b47587a5e460464902c4e00172@167.86.91.136:16456,4d31e08fba8acfd4a50948acb4c104cab2fd6032@31.187.74.142:16456,d38b62989c7990ca891b18353085c5c1c7e84974@31.220.73.120:16456,b06dad729c5df6254522c462568d5399434a5b88@161.97.124.242:16456,97cd56529fde47b167c280846d5ad09d2e48d51a@164.68.96.223:16456,393ec4a2bb359679236ca23425cc757efbb4b8e4@82.208.23.190:16456,2e35005813a766746a5c486192ea284e1ccfaec5@138.201.200.32:16456,e20aedea09157c1279bc0914d991f86fcc00d65e@62.171.186.246:16456,d8d28ced52b9714eb7466de869950daaa3f07092@116.203.40.107:16456,288fbd8e3221dba6605a399e56b191c4c566ae91@62.171.134.31:16456,9869b6671117804d6f199a3ed01037286d6df996@194.61.28.11:16456,496a8bae158c2249a930ddac69173598e4a1ef46@207.180.203.252:16456,00ee5d81ab9b8baddb84fe6db1875f81f52001a2@149.102.157.1:16456,6e304e2cca21902d5d4bbf6238fab20abf1d835b@154.42.7.41:26656,338a3a239f5ab61b8c042a6a7fecde4065964962@45.140.185.152:16456,21e57dce3240cd34dfc016c9df5c1afce9c7dc55@38.242.213.226:16456,3ba556d4b540f242972bbc8d38ee57aaf77e839c@84.247.179.185:16456,474567846a454e30bda51c5fa6c7d2aa3f9169a6@185.217.125.160:16456,d15aa9cb0e5145ad98ec5f9c6461a520f9413605@161.97.120.220:16456,01551e3c939416e3a9bd8ec40b35f880de8bb75f@86.48.1.112:16456,a7c42ff093c632d4f771e66294b617a0fc58590d@65.108.41.26:16456,67cda73aadbc1ce10ec7c1e6befdd1bcc0ce3093@75.119.145.178:16456,7cd61869c1cc698416079b40b0c2ee2babdc1a16@161.97.92.129:16456,5d3272610cb846d186d0876f1f20fb723299b5fb@62.171.169.28:16456,43632272f490f6132f8b0f7e35c1f946fa7ede08@185.185.82.104:16456,e4f04c9123868467a02dcbeff1dc4bbf2fc817a3@65.21.32.88:16456,d57bb8dd0b283a150631235974a6d13fe4a6b113@31.220.92.150:16456,67b58a6ae76d27a5c6a161c9b5752caed8c3f471@46.228.199.33:16456,eab120746d6c42d9b74796a6e95d789b99222636@62.171.173.238:16456,2b6ef1b128fd63312b6129179b06b62161305c24@158.220.108.84:16456,eff15050e512636bffedee0bba01d78402132d98@185.197.195.44:16456,52a8a13135276ae147ea045b9ea83b62db16aa66@167.86.69.225:16456,c3bffcd3d6be49865de962d7fca246a5a0edcf82@161.97.101.27:16456,2d56ef5502333cc5ea214ee284e7ae97969f0a8a@109.123.247.220:16456,38ef5a1f557759b7e08762a83cf3473a62fa4d0e@65.109.20.18:16456,dc59f8b0e56d6a202f8971626549f4c873f55fcd@161.97.101.213:16456,1e704fa23b39490e5282cb5776e8170e1439f4be@161.97.123.220:16456,6b7d26ae643bf4683907981faa162d1180b31c54@85.215.77.38:16456,ebf39600a16e2a4a0f79ab9a18b03d263f868564@31.220.76.60:16456,bb8c2fb6cf4f51ebd3b378325b4f728cc0e5b6c3@194.60.201.175:16456,67d0c70c8ee2ce22638081f60fbf76ea5d3dd9af@genesis-validator4.testnet.babylonchain.io:26656,c01f6e33f9a9310c97b9be7667ee0768391706af@65.108.4.212:16456"</span>
sed -i.bak -e <span class="hljs-string">"s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/"</span> $HOME/.babylond/config/config.toml
</code></pre><h3 id="h-pruning" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pruning设置</h3><pre data-type="codeBlock" text="pruning=&quot;custom&quot; &amp;&amp; \
pruning_keep_recent=&quot;100&quot; &amp;&amp; \
pruning_keep_every=&quot;0&quot; &amp;&amp; \
pruning_interval=&quot;10&quot; &amp;&amp; \
sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.babylond/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.babylond/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&quot;$pruning_keep_every\&quot;/&quot; $HOME/.babylond/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.babylond/config/app.toml
"><code>pruning<span class="hljs-operator">=</span><span class="hljs-string">"custom"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_recent<span class="hljs-operator">=</span><span class="hljs-string">"100"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_every<span class="hljs-operator">=</span><span class="hljs-string">"0"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_interval<span class="hljs-operator">=</span><span class="hljs-string">"10"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning *=.*/pruning = \"$pruning\"/"</span> $HOME<span class="hljs-operator">/</span>.babylond/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/"</span> $HOME<span class="hljs-operator">/</span>.babylond/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/"</span> $HOME<span class="hljs-operator">/</span>.babylond/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/"</span> $HOME<span class="hljs-operator">/</span>.babylond/config<span class="hljs-operator">/</span>app.toml
</code></pre><h3 id="h-addrbook" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载addrbook</h3><pre data-type="codeBlock" text="cd
wget -O addrbook.json https://snapshots.liveraven.net/snapshots/babylon/addrbook.json --inet4-only
mv addrbook.json ~/.babylond/config
"><code>cd
wget <span class="hljs-operator">-</span>O addrbook.json https:<span class="hljs-comment">//snapshots.liveraven.net/snapshots/babylon/addrbook.json --inet4-only</span>
mv addrbook.json <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.babylond/config
</code></pre><h3 id="h-kjnodes" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载最新快照同步(当前使用的是Kjnodes提供的快照)</h3><pre data-type="codeBlock" text="cd
rm -rf $HOME/.babylond/data
curl -L https://snapshots.kjnodes.com/babylon-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.babylond
"><code><span class="hljs-built_in">cd</span>
<span class="hljs-built_in">rm</span> -rf <span class="hljs-variable">$HOME</span>/.babylond/data
curl -L https://snapshots.kjnodes.com/babylon-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C <span class="hljs-variable">$HOME</span>/.babylond
</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="sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/babylond.service
[Unit]
Description=babylond daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which babylond) start
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable babylond &amp;&amp; \
sudo systemctl start babylond
"><code>sudo 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>babylond.service
[Unit]
Description<span class="hljs-operator">=</span>babylond 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>$(which babylond) 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><span class="hljs-number">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable babylond <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start babylond
</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="sudo journalctl -u babylond -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u babylond <span class="hljs-operator">-</span>f
</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="curl -s localhost:26657/status | jq .result | jq .sync_info
"><code>curl <span class="hljs-operator">-</span>s localhost:<span class="hljs-number">26657</span><span class="hljs-operator">/</span>status <span class="hljs-operator">|</span> jq .result <span class="hljs-operator">|</span> jq .sync_info
</code></pre><p>同步需要一段时间，其中显示<code> &quot;catching_up&quot;:</code>显示为<code>false</code>且 <code>latest_block_height</code> 和区块浏览器<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://babylon.explorers.guru/">https://babylon.explorers.guru/</a> 的最新区块接近即已经同步上。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">从快照重新同步</h3><p>当日志里看到类似</p><pre data-type="codeBlock" text="ERR Error in validation err=&quot;wrong Block.Header.LastResultsHash.  Expected 3645B015E73E39C42F0F1376A436A34DA6DE6DD074D61A97E455F9CCA17E1E69, got C3A1C86AEC71816A78DEA803E57892F4D0ADFC92C36B16B4D0DE5550E7541C73&quot; module=blockchain
"><code>ERR <span class="hljs-built_in">Error</span> in validation err<span class="hljs-operator">=</span><span class="hljs-string">"wrong Block.Header.LastResultsHash.  Expected 3645B015E73E39C42F0F1376A436A34DA6DE6DD074D61A97E455F9CCA17E1E69, got C3A1C86AEC71816A78DEA803E57892F4D0ADFC92C36B16B4D0DE5550E7541C73"</span> module<span class="hljs-operator">=</span>blockchain
</code></pre><p><strong>并且区块高度不能增长，需要确认你目前使用的babylond版本为0.7.2 ，并且需要从快照重新同步。</strong></p><pre data-type="codeBlock" text="sudo systemctl stop babylond.service
cp $HOME/.babylond/data/priv_validator_state.json $HOME/.babylond/priv_validator_state.json.backup
rm -rf $HOME/.babylond/data

curl -L https://snapshots.kjnodes.com/babylon-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.babylond
mv $HOME/.babylond/priv_validator_state.json.backup $HOME/.babylond/data/priv_validator_state.json
sudo systemctl restart babylond.service 
"><code>sudo systemctl stop babylond.service
cp $HOME<span class="hljs-operator">/</span>.babylond/data<span class="hljs-operator">/</span>priv_validator_state.json $HOME<span class="hljs-operator">/</span>.babylond/priv_validator_state.json.backup
rm <span class="hljs-operator">-</span>rf $HOME<span class="hljs-operator">/</span>.babylond/data

curl <span class="hljs-operator">-</span>L https:<span class="hljs-comment">//snapshots.kjnodes.com/babylon-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.babylond</span>
mv $HOME<span class="hljs-operator">/</span>.babylond/priv_validator_state.json.backup $HOME<span class="hljs-operator">/</span>.babylond/data<span class="hljs-operator">/</span>priv_validator_state.json
sudo systemctl restart babylond.service 
</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="curl -sS http://127.0.0.1:26657/net_info | jq -r &apos;.result.peers[] | &quot;\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)&quot;&apos; | awk -F &apos;:&apos; &apos;{print $1&quot;:&quot;$(NF)}‘
"><code>curl -sS <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/127.0.0.1:26657/net</span>_info |<span class="hljs-params"> jq -r '.result.peers[] </span>| <span class="hljs-string">"\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"</span><span class="hljs-string">' | awk -F '</span><span class="hljs-symbol">:<span class="hljs-string">' '</span></span>{print <span class="hljs-variable">$1</span><span class="hljs-string">":"</span><span class="hljs-variable">$(</span><span class="hljs-variable constant_">NF</span>)}‘
</code></pre><p><strong>返回的peer就1，2个的话，说明你连接不到Peer，可以在discord搜一搜别人提供的peer和addrbook（大部分peer都连不上，可能因为节点太多，大部分Peer都到了连接上限）</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建验证人</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="babylond  keys add 钱包名 --keyring-backend test
"><code>babylond  keys add 钱包名 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keyring<span class="hljs-operator">-</span>backend test
</code></pre><p><strong>注意请保存助记词。若不保存，之后将无法恢复。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">领取测试币</h3><p>加入官方discord，<strong>get-a-role</strong> 频道点tech role 然后去 <strong>⁠faucet</strong> 领</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/13b8ada58e3396d9aa467a7a94ee91dc4b65f6fe081b9c0f9fc2e9f00120c32f.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>去faucet频道发</p><pre data-type="codeBlock" text="!faucet 你的babylon地址
"><code><span class="hljs-addition">!faucet 你的babylon地址</span>
</code></pre><p><strong>节点同步之后</strong>可以用</p><pre data-type="codeBlock" text="babylond query bank balances 你的babylon地址
"><code>babylond <span class="hljs-keyword">query</span> bank balances 你的babylon地址
</code></pre><p>查询测试币余额。</p><h3 id="h-bls-key" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建BLS key</h3><pre data-type="codeBlock" text="babylond create-bls-key 你的babylon地址
"><code>babylond create<span class="hljs-operator">-</span>bls<span class="hljs-operator">-</span>key 你的babylon地址
</code></pre><p>设置默认keyring-backend</p><pre data-type="codeBlock" text="babylond config keyring-backend test
"><code>babylond config keyring-backend test
</code></pre><h3 id="h-apptomlkey" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">修改app.toml中的key</h3><pre data-type="codeBlock" text="keyname=&quot;你的钱包名&quot;
sed -i &apos;s/key-name = &quot;&quot;/key-name = &quot;&apos;&quot;$keyname&quot;&apos;&quot;/&apos; ~/.babylond/config/app.toml
"><code>keyname<span class="hljs-operator">=</span><span class="hljs-string">"你的钱包名"</span>
sed <span class="hljs-operator">-</span>i <span class="hljs-string">'s/key-name = ""/key-name = "'</span><span class="hljs-string">"$keyname"</span><span class="hljs-string">'"/'</span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.babylond/config<span class="hljs-operator">/</span>app.toml
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建验证人</h3><p>获取足够测试币，且节点完成同步后，可以创建验证人。<strong>只有质押量在前80的验证人才是活跃验证人。目前最低191个测试币</strong></p><pre data-type="codeBlock" text="moniker=验证人名
chainid=bbn-test-2
wallet=钱包名
babylond tx checkpointing create-validator \
    --amount=&quot;1000000ubbn&quot; \
    --pubkey=$(babylond tendermint show-validator) \
    --moniker $moniker \
    --chain-id=$chainid \
    --gas=&quot;auto&quot; \
    --gas-adjustment=2 \
    --gas-prices=&quot;0.0025ubbn&quot; \
    --keyring-backend=test \
    --from=$wallet \
    --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>moniker<span class="hljs-operator">=</span>验证人名
chainid<span class="hljs-operator">=</span>bbn<span class="hljs-operator">-</span>test<span class="hljs-number">-2</span>
wallet<span class="hljs-operator">=</span>钱包名
babylond <span class="hljs-built_in">tx</span> checkpointing create<span class="hljs-operator">-</span>validator \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>amount<span class="hljs-operator">=</span><span class="hljs-string">"1000000ubbn"</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$(babylond tendermint show<span class="hljs-operator">-</span>validator) \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker $moniker \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>$chainid \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keyring<span class="hljs-operator">-</span>backend<span class="hljs-operator">=</span>test \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span>$wallet \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>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><strong>在babylon上，只有在一个纪元结束后才能成为验证者。对于测试网，一个纪元持续约 30 分钟。</strong></p><p>之后可以去区块浏览器<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://babylon.explorers.guru/validators">https://babylon.explorers.guru/validators</a> 查看你的验证人是否创建成功。(<strong>由于验证者过多，不一定能很快显示在上面)</strong></p><p>查看自己的验证人地址</p><pre data-type="codeBlock" text="babylond keys show  你的钱包名 -a --bech val
"><code>babylond keys show  你的钱包名 <span class="hljs-operator">-</span>a <span class="hljs-operator">-</span><span class="hljs-operator">-</span>bech val
</code></pre><p><strong>验证自己的验证人</strong></p><pre data-type="codeBlock" text="babylond query  staking validator 验证者地址
"><code>babylond <span class="hljs-keyword">query</span>  staking validator 验证者地址
</code></pre><p>正常情况会返回类似如下的结果。</p><pre data-type="codeBlock" text="commission:
  commission_rates:
    max_change_rate: &quot;0.010000000000000000&quot;
    max_rate: &quot;0.200000000000000000&quot;
    rate: &quot;0.100000000000000000&quot;
  update_time: &quot;2024-01-22T09:22:41.030776250Z&quot;
consensus_pubkey:
  &apos;@type&apos;: /cosmos.crypto.ed25519.PubKey
  key: 4HQWUhu8D6cl9raURZZdDp6wtWACMpBbb4IgyyT3BF0=
delegator_shares: &quot;1000000.000000000000000000&quot;
description:
  details: &quot;&quot;
  identity: &quot;&quot;
  moniker: 你的moniker
  security_contact: &quot;&quot;
  website: &quot;&quot;
jailed: false
min_self_delegation: &quot;1&quot;
operator_address: 你的验证者地址
status: BOND_STATUS_UNBONDED
tokens: &quot;1000000&quot;
unbonding_height: &quot;0&quot;
unbonding_ids: []
unbonding_on_hold_ref_count: &quot;0&quot;
unbonding_time: &quot;1970-01-01T00:00:00Z&quot;
"><code><span class="hljs-symbol">commission:</span>
  commission_rates:
    max_change_rate: <span class="hljs-string">"0.010000000000000000"</span>
    max_rate: <span class="hljs-string">"0.200000000000000000"</span>
    rate: <span class="hljs-string">"0.100000000000000000"</span>
  update_time: <span class="hljs-string">"2024-01-22T09:22:41.030776250Z"</span>
<span class="hljs-symbol">consensus_pubkey:</span>
  <span class="hljs-comment">'@type': /cosmos.crypto.ed25519.PubKey</span>
  <span class="hljs-keyword">key</span>: <span class="hljs-number">4</span>HQWUhu8D6cl9raURZZdDp6wtWACMpBbb4IgyyT3BF0=
<span class="hljs-symbol">delegator_shares:</span> <span class="hljs-string">"1000000.000000000000000000"</span>
<span class="hljs-symbol">description:</span>
  details: <span class="hljs-string">""</span>
  identity: <span class="hljs-string">""</span>
  moniker: 你的moniker
  security_contact: <span class="hljs-string">""</span>
  website: <span class="hljs-string">""</span>
<span class="hljs-symbol">jailed:</span> <span class="hljs-literal">false</span>
<span class="hljs-symbol">min_self_delegation:</span> <span class="hljs-string">"1"</span>
<span class="hljs-symbol">operator_address:</span> 你的验证者地址
<span class="hljs-symbol">status:</span> BOND_STATUS_UNBONDED
<span class="hljs-symbol">tokens:</span> <span class="hljs-string">"1000000"</span>
<span class="hljs-symbol">unbonding_height:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">unbonding_ids:</span> []
<span class="hljs-symbol">unbonding_on_hold_ref_count:</span> <span class="hljs-string">"0"</span>
<span class="hljs-symbol">unbonding_time:</span> <span class="hljs-string">"1970-01-01T00:00:00Z"</span>
</code></pre><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">常用命令</h2><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">服务管理</h4><p>检查日志</p><pre data-type="codeBlock" text="sudo journalctl -u babylond -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u babylond <span class="hljs-operator">-</span>f
</code></pre><p>运行/重启节点</p><pre data-type="codeBlock" text="sudo systemctl restart babylond
"><code></code></pre><p>停止节点</p><pre data-type="codeBlock" text="sudo systemctl stop babylond
"><code>sudo systemctl stop babylond
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">节点信息</h4><p>同步信息</p><pre data-type="codeBlock" text="babylond status 2&gt;&amp;1 | jq .SyncInfo
"><code>babylond status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .SyncInfo
</code></pre><p>获取node id</p><pre data-type="codeBlock" text="babylond tendermint show-node-id
"><code>babylond tendermint show<span class="hljs-operator">-</span>node<span class="hljs-operator">-</span>id
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">钱包操作</h4><p>显示所有钱包</p><pre data-type="codeBlock" text="babylond keys list
"><code>babylond <span class="hljs-keyword">keys</span> list
</code></pre><p>查询当前你的验证人地址</p><pre data-type="codeBlock" text="babylond keys show  你的钱包名 -a --bech val
"><code>babylond keys show  你的钱包名 <span class="hljs-operator">-</span>a <span class="hljs-operator">-</span><span class="hljs-operator">-</span>bech val
</code></pre><p>恢复钱包</p><pre data-type="codeBlock" text="babylond keys add 你的钱包名 --recover
"><code>babylond keys <span class="hljs-keyword">add</span> 你的钱包名 <span class="hljs-comment">--recover</span>
</code></pre><p>删除钱包</p><pre data-type="codeBlock" text="babylond keys delete 你的钱包名
"><code>babylond <span class="hljs-keyword">keys</span> <span class="hljs-keyword">delete</span> 你的钱包名
</code></pre><p>查询余额</p><pre data-type="codeBlock" text="babylond query bank balances babylon地址
"><code>babylond <span class="hljs-keyword">query</span> bank balances babylon地址
</code></pre><p>发送代币</p><pre data-type="codeBlock" text="babylond tx bank send 你的钱包名 接收者babylon地址 数量ubbn --from 你的钱包名 --gas=&quot;auto&quot; --gas-adjustment=2 --gas-prices=&quot;0.0025ubbn&quot; -y
"><code>babylond <span class="hljs-built_in">tx</span> bank send 你的钱包名 接收者babylon地址 数量ubbn <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">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span> <span class="hljs-operator">-</span>y
</code></pre><p><strong>注意：1bbn=1000000ubbn</strong></p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">投票</h4><pre data-type="codeBlock" text="babylond tx gov vote 提案编号 投票选项 --from 你的钱包名 -y  --gas=&quot;auto&quot; --gas-adjustment=2  --gas-prices=&quot;0.0025ubbn&quot;
"><code>babylond <span class="hljs-built_in">tx</span> gov vote 提案编号 投票选项 <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> 你的钱包名 <span class="hljs-operator">-</span>y  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span>  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span>
</code></pre><p>投票选项包括yes/no/no_with_veto/abstain。大部分情况我们投yes就好。</p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">质押，提取奖励</h4><p>质押</p><pre data-type="codeBlock" text="babylond tx staking delegate 你要质押的验证人地址 数量ubbn --from 你的钱包名 -y  --gas=&quot;auto&quot; --gas-adjustment=2 --gas-prices=&quot;0.0025ubbn&quot;
"><code>babylond <span class="hljs-built_in">tx</span> staking delegate 你要质押的验证人地址 数量ubbn <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> 你的钱包名 <span class="hljs-operator">-</span>y  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span>
</code></pre><p>解除质押</p><pre data-type="codeBlock" text="babylond tx staking unbond 你要解除质押的验证人地址 数量ubbn --from &lt;你的钱包名&gt; -y --gas=&quot;auto&quot; --gas-adjustment=2 --gas-prices=&quot;0.0025ubbn&quot;
"><code>babylond <span class="hljs-built_in">tx</span> staking unbond 你要解除质押的验证人地址 数量ubbn <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span>
</code></pre><p>提取质押奖励和验证人佣金</p><pre data-type="codeBlock" text="babylond tx distribution withdraw-rewards 你的验证人地址 --commission --from 你的钱包名 -y  --gas=&quot;auto&quot; --gas-adjustment=2 --gas-prices=&quot;0.0025ubbn&quot;
"><code>babylond <span class="hljs-built_in">tx</span> distribution withdraw<span class="hljs-operator">-</span>rewards 你的验证人地址 <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> 你的钱包名 <span class="hljs-operator">-</span>y  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span>
</code></pre><p>提取所有奖励</p><pre data-type="codeBlock" text="babylond tx distribution withdraw-all-rewards --from=你的钱包名 -y --gas=&quot;auto&quot; --gas-adjustment=2 --gas-prices=&quot;0.0025ubbn&quot;
"><code>babylond <span class="hljs-built_in">tx</span> distribution withdraw<span class="hljs-operator">-</span>all<span class="hljs-operator">-</span>rewards <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">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span>
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">验证人管理</h4><p>Unjail</p><pre data-type="codeBlock" text="babylond tx slashing unjail --from 你的钱包名 -y  --gas=&quot;auto&quot; --gas-adjustment=2 --gas-prices=&quot;0.0025ubbn&quot;
"><code>babylond <span class="hljs-built_in">tx</span> slashing unjail <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> 你的钱包名 <span class="hljs-operator">-</span>y  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-string">"auto"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>adjustment<span class="hljs-operator">=</span><span class="hljs-number">2</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">-</span>prices<span class="hljs-operator">=</span><span class="hljs-string">"0.0025ubbn"</span>
</code></pre><p>本教程还会持续更新，欢迎关注</p><div data-type="embedly" src="https://twitter.com/EthExploring" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/EthExploring&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/EthExploring?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by EthExploring&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/3e21430025a6a88412f7105da8ffac1d691557a0a6d137dfaf49e90b4ce0b5fa.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Namada Trusted Setup 空投领取]]></title>
            <link>https://paragraph.com/@exploring/namada-trusted-setup</link>
            <guid>vrS2tD3dQbYIzbD9d7ME</guid>
            <pubDate>Thu, 07 Dec 2023 18:03:56 GMT</pubDate>
            <description><![CDATA[官方博客https://namada.net/blog/the-namada-rpgf-drop-is-live领取网址rpgfdrop.namada.net Trusted Setup是Namada在2022年11月搞的活动，活动详情可以看官方博客 参与过Trusted Setup能获得Namada的RPGF空投如果你参与了Trusted Setup 并保存了助记词，你就可以领取空投。 首先可以先安装 https://namada.net/extension 插件创建一个新的namada钱包，记得保存好助记词。 之后建议去国外Ubuntu系统的服务器上操作（国内可能有网络问题，需要配置代理）。 首先安装rustcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" 安装完成后cd $HOME git clone https://github.com/anoma/namada-trusted-setup-claimer.git 然后运行cd namada-tr...]]></description>
            <content:encoded><![CDATA[<h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方博客</h1><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://namada.net/blog/the-namada-rpgf-drop-is-live">https://namada.net/blog/the-namada-rpgf-drop-is-live</a></p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">领取网址</h1><p><strong>rpgfdrop.namada.net</strong></p><p>Trusted Setup是Namada在2022年11月搞的活动，活动详情可以看<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://namada.net/blog/announcing-the-namada-trusted-setup-ceremony">官方博客</a></p><p>参与过Trusted Setup能获得Namada的RPGF空投</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6b15d54e14d695767dc354d4e03e41d0910ad243f1926edbcf1358e819d19a1d.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>如果你参与了Trusted Setup 并保存了助记词，你就可以领取空投。</p><p>首先可以先安装 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://namada.net/extension">https://namada.net/extension</a> 插件创建一个新的namada钱包，<strong>记得保存好助记词。</strong></p><p>之后建议去国外Ubuntu系统的服务器上操作（国内可能有网络问题，需要配置代理）。</p><p>首先安装rust</p><pre data-type="codeBlock" text="curl --proto &apos;=https&apos; --tlsv1.2 -sSf https://sh.rustup.rs | sh
source &quot;$HOME/.cargo/env&quot;
"><code>curl <span class="hljs-operator">-</span><span class="hljs-operator">-</span>proto <span class="hljs-string">'=https'</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>tlsv1<span class="hljs-number">.2</span> <span class="hljs-operator">-</span>sSf https:<span class="hljs-comment">//sh.rustup.rs | sh</span>
source <span class="hljs-string">"$HOME/.cargo/env"</span>
</code></pre><p>安装完成后</p><pre data-type="codeBlock" text="cd $HOME
git clone https://github.com/anoma/namada-trusted-setup-claimer.git
"><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/anoma/namada-trusted-setup-claimer.git
</code></pre><p>然后运行</p><pre data-type="codeBlock" text="cd namada-trusted-setup-claimer
cargo run
"><code>cd namada<span class="hljs-operator">-</span>trusted<span class="hljs-operator">-</span>setup<span class="hljs-operator">-</span>claimer
cargo run
</code></pre><p>显示</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cd7294e1c3da757407b838a920f8710c9b01b7dfcaeebd83619b4c0a9991ee86.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>输入助记词（只需要单词）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/937b76f6cd257a1776c67bff4a1170f7c51ad018fd2ff517049df4ba2bd43e25.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>输入后先选择show pubkey选项，得到pubkey。</p><p>打开 rpgfdrop.namada.net， 选择Trusted Setup</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/19da7e6f95fae7569ab8481d18240888fb07b5c9da3b76f6939e221206b6e899.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>将得到的pubkey输入到网站中，如果有资格，点击proceed to claim。</p><p>后面网站上会给你一个nonce。</p><p>得到nonce后，在命令行选择sign message，粘贴nonc得到signature,填入网站。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b6a66f9b2b6e827040249aae04551bf034c0c05ffc9930307515cfa81c9c3acd.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>之后网页下方输入你刚刚创建的namada钱包的pubkey和Transparent Address即可。</p><p>最后显示如下，恭喜你，领取成功！</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/67cad97a8bc8042988b3d4d57a4c544d87798df2fadaabbef8d069b423d1769d.png" alt="空投领取成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">空投领取成功</figcaption></figure><p>欢迎关注</p><div data-type="embedly" src="https://twitter.com/EthExploring" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/EthExploring&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/EthExploring?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by EthExploring&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/41c885d97a3a7388b10ea7704a060bb108fe1ae06f1a7a28d5c5612537c4aa71.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nibiru 激励测试网交易竞赛教程]]></title>
            <link>https://paragraph.com/@exploring/nibiru-6</link>
            <guid>VsCZ7lq1v8caK7XeA4YH</guid>
            <pubDate>Fri, 15 Sep 2023 06:39:29 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，激励测试网第四阶段交易竞赛刚刚开放，明牌有奖励。要KYC。 本文仅供参考，请以官方博客为准。 先分析一下规则。 这次交易竞赛前 1000 名将获得测试网的积分，积分对应于将在主网上获得的总奖励。前100名将获得额外的NFT奖励。比赛详情比赛时间：北京时间9月13日0点至北京时间10月13日0点排名标准：损益百分比：比赛期间赚取的最高损益百分比（P&L）。积分分配：根据排名，前1000名交易者将获得积分。评分系统Rank Bonus系统鼓励交易者在当前等级内前进，确保持续的动力，即使达到下一个奖励等级似乎很遥远。 你的排名越高，你的奖励就越多。 例如，在 2-10 等级中，基准奖励为 3,200 点。 但排名 2 的交易者会获得额外的rank bonus，总计 3,800 点，而排名 10 的交易者仅获得 3,200 点的基准奖...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/NibiruChain">Nibiru</a>是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/024-itn-4.html">激励测试网第四阶段交易竞赛</a>刚刚开放，明牌有奖励。要KYC。</p><p>本文仅供参考，请以<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/024-itn-4.html">官方博客</a>为准。</p><p>先分析一下规则。</p><p><strong>这次交易竞赛前 1000 名将获得测试网的积分，积分对应于将在主网上获得的总奖励。前100名将获得额外的NFT奖励。</strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>比赛详情</strong></h2><ul><li><p><strong>比赛时间</strong>：北京时间9月13日0点至北京时间10月13日0点</p></li><li><p><strong>排名标准</strong>：损益百分比：比赛期间赚取的最高损益百分比（P&amp;L）。</p></li><li><p><strong>积分分配</strong>：根据排名，前1000名交易者将获得积分。</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">评分系统</h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/419d3ba8f434b54b74b22df053c869ab5ba3df23585a2359bc393001d50167b2.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>Rank Bonus系统鼓励交易者在当前等级内前进，确保持续的动力，即使达到下一个奖励等级似乎很遥远。 你的排名越高，你的奖励就越多。</p><p>例如，在 2-10 等级中，基准奖励为 3,200 点。 但排名 2 的交易者会获得额外的rank bonus，总计 3,800 点，而排名 10 的交易者仅获得 3,200 点的基准奖励。</p><p>rank bonus由一个人在等级中的位置（相对于其最高和最低排名）决定。 定义公式为：</p><pre data-type="codeBlock" text="BonusMultiplier = (tier.floorRank - rank) / (tier.floorRank - tier.maxRank)
RankBonus = BonusMultiplier * maxRankBonus
"><code>BonusMultiplier <span class="hljs-operator">=</span> (tier.floorRank <span class="hljs-operator">-</span> rank) <span class="hljs-operator">/</span> (tier.floorRank <span class="hljs-operator">-</span> tier.maxRank)
RankBonus <span class="hljs-operator">=</span> BonusMultiplier <span class="hljs-operator">*</span> maxRankBonus
</code></pre><p>即BonusMultiplier（奖金乘数）=</p><p>(该等级段的最低排名 - 当前排名) / (该等级段的最低排名- 该等级段的最高排名)</p><p>RankBonus =奖金乘数乘以该等级段的maxRankBonus(最高等级奖金)来得到。</p><p>一些具体例子：<code>reward = base_pts + rank_bonus</code></p><ul><li><p>排名 2：基准奖励(base points)= 3200, <code>rank_bonus</code>= 600</p></li><li><p>排名 10：基准奖励(base points)= 3200, <code>rank_bonus</code>= 0</p></li><li><p>排名 15：由于该等级最低排名为 50，该等级最高排名为 11，最高等级奖金为 500。因此rank bonus为 (50 - 15) / (50 - 11) * 500。因此，排名15的基准奖励(base points)为2000，rank bonus≈448.7.</p></li></ul><h2 id="h-pnl" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">损益（<strong>PnL</strong>）的计算</h2><p>交易竞赛将根据交易者的盈利和亏损（PnL）百分比来评估交易者。</p><pre data-type="codeBlock" text="output = total NUSD withdrawn
input = total NUSD input
percentagePnl = (output - input) / input
"><code><span class="hljs-attr">output</span> = total NUSD withdrawn
<span class="hljs-attr">input</span> = total NUSD input
<span class="hljs-attr">percentagePnl</span> = (output - input) / input
</code></pre><p>损益百分比=(提取的NUSD-投入的NUSD)/投入的NUSD</p><p>例如,一个交易者开始有100 NUSD, 结束时有125 NUSD, 那么他的PnL百分比就是25%。</p><p>官方排除了直接使用PnL作为测量标准,以避免在测试网上对节点运营商和水龙头资金获取者带来不公平优势,这些人可能会积累大量的NIBI和NUSD作为初始资本。</p><p>此外,官方还设置了最低交易量要求以符合资格。这可以抵御诸如女巫攻击对奖金池的威胁,在这种攻击中,交易者可以将资本分割到许多微小的账户中。</p><p>所以简单来说:</p><ol><li><p>使用百分比收益来衡量,而不是绝对收益</p></li><li><p>设置最低交易量,避免初始资本优势和奖金池被攻击</p></li></ol><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">如何参与</h2><p>在</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><p>完成注册并完成<strong>所有任务</strong>。（<strong>注：ITN-4添加了新的任务，如果你以前注册过，记得完成这些新的任务</strong>）</p><p><strong>如果你参与过ITN1-3，请使用之前同样的钱包来参加ITN4。这将有助于确保积分计算准确，并确保您在领奖过程中获得顺畅的体验。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">参与交易竞赛</h3><p>首先你需要安装好<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/keplrwallet">Keplr钱包</a>或者<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/leap_cosmos">Leap钱包</a>。本教程使用的是keplr钱包。</p><h4 id="h-nibiru-itn-1" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">移除nibiru-itn-1</h4><p><strong>如果你参加过之前的测试网，由于这次是新测试网，建议移除之前的网络。如果你第一次参加Nibiru测试网，可以跳过下面的步骤。</strong></p><p>点击左上角</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cbda3f72c031bb1362121072cd2835de699437d0f1e7dcbcf9eefae51b069b6c.png" alt="点击左上角" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">点击左上角</figcaption></figure><p>点击settings并选择general</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/45c7b4791e5a7a02e0c301dae3f61afdd8326120cbd523e5d1871f21cf3eb43a.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>点击Manage Non-Native Chains</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f4e26ab4384d0712c4a592f93c2a1953459c3756477082dcdc88bee0bebfe192.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>点击x移除nibiru-itn-1</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6587ff0d4a02641b25591dbeb30a04d53d49d8c9fbfa9021e297e3644e10e164.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h4 id="h-nibiru-itn-2" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">添加nibiru-itn-2</h4><p>如果你是新用户，或者你成功移除了nibiru-itn-1。接下来，我们可以添加这次测试网的新网络nibiru-itn-2</p><p>打开</p><div data-type="embedly" src="https://app.nibiru.fi/perps" data="{&quot;provider_url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;description&quot;:&quot;The Nibiru \&quot;Super App\&quot;. Swap, bridge, stake, and interact with smart contract applications&quot;,&quot;title&quot;:&quot;Web App | Nibiru&quot;,&quot;mean_alpha&quot;:253.696,&quot;thumbnail_width&quot;:1125,&quot;url&quot;:&quot;https://app.nibiru.fi/perps&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Web App | Nibiru&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:750,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1125,&quot;height&quot;:750,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://app.nibiru.fi/perps" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Web App | Nibiru</h2><p>The Nibiru &quot;Super App&quot;. Swap, bridge, stake, and interact with smart contract applications</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://app.nibiru.fi</span></div><img src="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/></div></a></div></div><p>点击右上方连接钱包，并添加新网络nibiru-itn-2。</p><p><strong>如果连接钱包遇到问题，建议刷新重试，或者等一会儿再试试。</strong></p><p><strong>我们需要重新领测试币。</strong> 点击Faucet进入Faucet界面领测试币。（测试币没有任何价值）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/aff6af1079f00580a90523ad29fc291bf297ead2fdbfac69d9927fdf4511c9d9.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>领取成功后，你应该能在钱包看见11个nibi。如果失败，可以去Discord的faucet 频道领水。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3b6ab8efefefaa59cc34f1c270757b9eb5957e54d29913d3b9fd53be4033f856.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">交易</h4><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/docs/ecosystem/nibi-perps/">官方文档</a>中有Nibi Perps的相关概念，大家可以自行阅读学习。这里只是一个比较简单的教程。</p><p>切到Nibi-Perps界面</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/36f53daed52560164e069fbe4ed39d9e43b1848c9cddaff62ece83f4df07e838.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>输入保证金数量和杠杆倍数(Leverage)，点击Open Position开单。如果你想开空单，点击short。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/60547afe19687b8531650af78e69ee26615c05d501940bbee82b235dd9b61c5c.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>交易成功后，仓位便会显示如下。如果你想平仓，点击<strong>Close</strong>即可。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/69c78fcafcf5d99f7cdf6625df63c9e44bdb9bf4604f5326713cfb6d9b17273e.png" alt="当前仓位" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">当前仓位</figcaption></figure><p><strong>如果遇到问题，建议刷新重试，或者等一段时间再试试。有问题或者其他建议可以在Discord feedback频道反馈。</strong></p><p>学会基本操作后，接下来，通过交易让自己赚取尽可能多的NUSD吧，盈利百分比越高，排名越高，奖励分数越高。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">查看排名</h2><p>可以在Leaderboard界面查看当前的排名,搜索自己的地址查询自己当前的排名。排名每小时刷新一次。前1000名将获得奖励，前100名有额外的NFT。</p><p>比赛结束后，Nibiru 将在网站上公布最终结果，并通过电子邮件和社交媒体分享最新消息。</p><div data-type="embedly" src="https://app.nibiru.fi/leaderboard" data="{&quot;provider_url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;description&quot;:&quot;The Nibiru \&quot;Super App\&quot;. Swap, bridge, stake, and interact with smart contract applications&quot;,&quot;title&quot;:&quot;Web App | Nibiru&quot;,&quot;mean_alpha&quot;:253.696,&quot;thumbnail_width&quot;:1125,&quot;url&quot;:&quot;https://app.nibiru.fi/leaderboard&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Web App | Nibiru&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:750,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1125,&quot;height&quot;:750,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://app.nibiru.fi/leaderboard" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Web App | Nibiru</h2><p>The Nibiru &quot;Super App&quot;. Swap, bridge, stake, and interact with smart contract applications</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://app.nibiru.fi</span></div><img src="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/></div></a></div></div><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>欢迎关注我的推特</strong></h1><div data-type="embedly" src="https://twitter.com/EthExploring" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/EthExploring&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/EthExploring?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by EthExploring&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/c8d1b680aa3f22c8ee17c2906ba4c58759fdacff76f00e009510d0cd363c0c88.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dymension rollapp部署教程]]></title>
            <link>https://paragraph.com/@exploring/dymension-rollapp</link>
            <guid>ewgJUx0J2rFVdNx0Prcc</guid>
            <pubDate>Wed, 23 Aug 2023 10:42:02 GMT</pubDate>
            <description><![CDATA[模块化区块链是近期的热点，Dymension是模块化区块链的结算层，开发者能够基于Dymension 构建RollApps。RollApps 能够使用 Dymension Hub 与任何支持 IBC 的链进行交互，因此将成为不断发展的 IBC 生态系统的一部分。 官网：Dymension: The Chain LaunchpadDymension L1 is a decentralized Chain Launchpad, giving creators the power to transform ideas into thriving blockchains.https://dymension.xyz官推：Dymension之前融资了670万美元。近期激励测试网floopyland刚刚上线。1%的DYM代币将分配给测试网参与者。其中，40%奖励分配给验证者（据管理说，验证者已经被选出），40%奖励分配给rollapp部署者，10%的奖励分配给最好的10个Rollapp，10%奖励分配给用户。根据官方博客和公告。只有Discord有RollApp-fam role的人才有资格拿...]]></description>
            <content:encoded><![CDATA[<p>模块化区块链是近期的热点，Dymension是模块化区块链的结算层，开发者能够基于Dymension 构建RollApps。RollApps 能够使用 Dymension Hub 与任何支持 IBC 的链进行交互，因此将成为不断发展的 IBC 生态系统的一部分。</p><p>官网：</p><div data-type="embedly" src="https://dymension.xyz/" data="{&quot;provider_url&quot;:&quot;https://dymension.xyz&quot;,&quot;description&quot;:&quot;Dymension L1 is a decentralized Chain Launchpad, giving creators the power to transform ideas into thriving blockchains.&quot;,&quot;title&quot;:&quot;Dymension: The Chain Launchpad&quot;,&quot;mean_alpha&quot;:89.4043062201,&quot;thumbnail_width&quot;:800,&quot;url&quot;:&quot;https://dymension.xyz/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/6530fb586ef445094138e7749e4a68bed78f78e7f4775a7a32cb63e8eaad6bc2.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;dymension&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:418,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:800,&quot;height&quot;:418,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/6530fb586ef445094138e7749e4a68bed78f78e7f4775a7a32cb63e8eaad6bc2.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/6530fb586ef445094138e7749e4a68bed78f78e7f4775a7a32cb63e8eaad6bc2.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://dymension.xyz/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Dymension: The Chain Launchpad</h2><p>Dymension L1 is a decentralized Chain Launchpad, giving creators the power to transform ideas into thriving blockchains.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://dymension.xyz</span></div><img src="https://storage.googleapis.com/papyrus_images/6530fb586ef445094138e7749e4a68bed78f78e7f4775a7a32cb63e8eaad6bc2.png"/></div></a></div></div><p>官推：</p><div data-type="embedly" src="https://twitter.com/dymension" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/dymension&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/dymension?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by dymension&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div><p>Dymension之前融资了670万美元。近期<strong>激励测试网</strong>floopyland刚刚上线。1%的DYM代币将分配给测试网参与者。其中，40%奖励分配给验证者（<strong>据管理说，验证者已经被选出</strong>），40%奖励分配给rollapp部署者，10%的奖励分配给最好的10个Rollapp，10%奖励分配给用户。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e7bd6e784e8db732f4838dab084ba24bf82ac1fb479d157b5013055f3595b2c8.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>根据<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@dymension/froopyland-is-live-8bf21e9d7046">官方博客</a>和公告。<strong>只有Discord有RollApp-fam role的人才有资格拿rollapp部署者的奖励。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5ff446f0b5a362cb1ddaa816f07b6733d7aabe16c5dd43bc9d9a9cd2eb5f45c2.png" alt="只有在discord有Rollapp-fam role的人才有资格拿rollapp部署者奖励" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">只有在discord有Rollapp-fam role的人才有资格拿rollapp部署者奖励</figcaption></figure><p>解锁奖励的关键在于部署 RollApp（在 Roller 工具的帮助下变得非常容易），并根据 RollApp 的正常运行时间（RPC 端点可用性的奖励）按比例分配奖励。</p><h1 id="h-rollapp-fam-role" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">如果没有<strong>RollApp-fam role</strong> 怎么办？</h1><p>官方博客中说 <strong>如果您没有 RollApp-fam 角色，但您是一名真正的Builder，</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dymension.typeform.com/build"><strong>请联系我们</strong></a><strong>，描述您的经验和 RollApp 想法。</strong></p><p>Discord公告中说<strong>对于那些没有 RollApp-fam 角色的人，可以构建并部署一个独特的 RollApp，以表明您已经思考并投入了工作。 然后在 ⁠#share-your-rollapp 上分享您的 RollApp 并告诉我们。</strong></p><p>同时也可以在Discord多活跃，关注新活动，也有可能拿到这个role。</p><h1 id="h-v106" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">目前团队又更新了版本，请更新到v1.0.6。</h1><p><strong><em>注：本教程仅供参考，请以</em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.dymension.xyz/build/roller/"><strong><em>官方教程</em></strong></a><strong><em>为准。</em></strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">从老版本更新（如果你之前部署过应用，可以迁移。否则建议完全重新搞）</h2><p>安装最新版本roller</p><pre data-type="codeBlock" text="curl -L https://dymensionxyz.github.io/roller/install.sh | bash
"><code>curl <span class="hljs-operator">-</span>L https:<span class="hljs-comment">//dymensionxyz.github.io/roller/install.sh | bash</span>
</code></pre><p>停止之前的roller</p><pre data-type="codeBlock" text="sudo systemctl stop relayer
sudo systemctl stop sequencer
sudo systemctl stop da-light-client
"><code>sudo systemctl stop relayer
sudo systemctl stop sequencer
sudo systemctl stop da-light-client
</code></pre><p>迁移</p><pre data-type="codeBlock" text="roller migrate
"><code></code></pre><p>重新启动roller</p><pre data-type="codeBlock" text="sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
"><code>sudo systemctl <span class="hljs-keyword">start</span> da<span class="hljs-operator">-</span>light<span class="hljs-operator">-</span>client
sudo systemctl <span class="hljs-keyword">start</span> sequencer
sudo systemctl <span class="hljs-keyword">start</span> relayer
</code></pre><p>现在检查版本应该为</p><pre data-type="codeBlock" text="roller version
💈 Roller version v1.0.6-beta
💈 Build time: 2024-01-18T09:05:45+0000&quot;
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
"><code>roller version
💈 Roller version v1<span class="hljs-number">.0</span><span class="hljs-number">.6</span><span class="hljs-operator">-</span>beta
💈 Build time: <span class="hljs-number">2024</span><span class="hljs-operator">-</span>01<span class="hljs-operator">-</span>18T09:05:<span class="hljs-number">45</span><span class="hljs-operator">+</span>0000<span class="hljs-string">"
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
</span></code></pre><p><strong>升级后需要重新领celestia 的水。</strong></p><pre data-type="codeBlock" text=" journalctl -u da-light-client.service -f
"><code> journalctl <span class="hljs-operator">-</span>u da<span class="hljs-operator">-</span>light<span class="hljs-operator">-</span>client.service <span class="hljs-operator">-</span>f
</code></pre><p>看celestia的新地址。</p><h1 id="h-rollapp" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">部署Rollapp</h1><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">硬件要求</h3><ul><li><p>2核</p></li><li><p>至少 100GB SSD 磁盘存储</p></li><li><p>至少 16GB RAM</p></li><li><p>至少 100mbps 网络带宽</p></li></ul><h3 id="h-roller" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装roller</h3><pre data-type="codeBlock" text="sudo apt update -y
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
"><code>sudo apt update <span class="hljs-operator">-</span>y
curl <span class="hljs-operator">-</span>L https:<span class="hljs-comment">//dymensionxyz.github.io/roller/install.sh | bash</span>
</code></pre><p>安装成功显示如下</p><pre data-type="codeBlock" text="💈 Installation complete! You can now use roller from your terminal.
"><code>💈 Installation complete<span class="hljs-operator">!</span> You can <span class="hljs-built_in">now</span> use roller <span class="hljs-keyword">from</span> your terminal.
</code></pre><p>验证</p><pre data-type="codeBlock" text="roller version
"><code></code></pre><p>输出中应该有</p><pre data-type="codeBlock" text="💈 Roller version v1.0.6-beta
💈 Build time: 2024-01-18T09:05:45+0000&quot;
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
"><code>💈 Roller version v1<span class="hljs-number">.0</span><span class="hljs-number">.6</span><span class="hljs-operator">-</span>beta
💈 Build time: <span class="hljs-number">2024</span><span class="hljs-operator">-</span>01<span class="hljs-operator">-</span>18T09:05:<span class="hljs-number">45</span><span class="hljs-operator">+</span>0000<span class="hljs-string">"
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
</span></code></pre><h3 id="h-rollapp" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">初始化RollApp</h3><p>这里我们选择默认的EVM环境,DA层为默认的celestia。</p><p>接下来输入</p><pre data-type="codeBlock" text="roller config init &lt;rollapp-id&gt; &lt;denom&gt; --da Celestia
"><code>roller config init <span class="hljs-operator">&#x3C;</span>rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>denom<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>da Celestia
</code></pre><p><strong>如果你想使用Avail 作为Da(可选)</strong></p><pre data-type="codeBlock" text="roller config init &lt;rollapp-id&gt; &lt;denom&gt; --da Avail
"><code>roller config init <span class="hljs-operator">&#x3C;</span>rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>denom<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>da Avail
</code></pre><p>其中<code>rollapp-id</code>格式如下</p><pre data-type="codeBlock" text="仅包含字母字符

例如: berlin,test
"><code>仅包含字母字符

例如: berlin,<span class="hljs-built_in">test</span>
</code></pre><p><code>denom</code>为你的rollapp原生代币的名称。如BTC,PEPE,DYM等，需要3字母以上。</p><p>如果成功，会显示如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a67f5390ae7adefeb5401d12af6efbdd3836df1e7ee8653b1d79ce905092e7d0.png" alt="init" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">init</figcaption></figure><p>这里我们得到了3个地址，需要领水龙头。dym开头的地址去Discord #froopyland-faucet 频道发<code>$request &lt;dym开头的地址&gt;</code>，celestia开头的去Discord #celestia-faucet 频道发<code>$request &lt;celestia开头的地址&gt;</code>查余额在相应频道发<code>$balance &lt;地址&gt;</code></p><p><strong>领取avail测试币在avail-faucet 输入 /deposit &lt;地址&gt;</strong></p><p>领到测试币后，我们可以注册我们的rollapp了。</p><pre data-type="codeBlock" text="roller tx register
"><code>roller tx <span class="hljs-keyword">register</span>
</code></pre><p>注册成功会显示如下</p><p><code>💈 Rollapp &apos;test_101-1&apos; has been successfully registered on the hub.</code></p><p>接下来运行我们的rollapp。<strong>由于我们的rollapp可能需要运行3个月左右</strong>。我们将其配置成服务运行。</p><p>输入</p><pre data-type="codeBlock" text="roller services load
"><code>roller services <span class="hljs-built_in">load</span>
</code></pre><p>成功后会显示<code>💈 Services &apos;sequencer&apos;, &apos;da-light-client&apos; and &apos;relayer&apos; been loaded successfully. To start them, use &apos;systemctl start &lt;service&gt;&apos;.</code></p><p>接下来输入</p><pre data-type="codeBlock" text="sudo systemctl enable da-light-client
sudo systemctl enable sequencer
sudo systemctl enable relayer
"><code>sudo systemctl <span class="hljs-built_in">enable</span> da-light-client
sudo systemctl <span class="hljs-built_in">enable</span> sequencer
sudo systemctl <span class="hljs-built_in">enable</span> relayer
</code></pre><p>和</p><pre data-type="codeBlock" text="sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
"><code>sudo systemctl <span class="hljs-keyword">start</span> da<span class="hljs-operator">-</span>light<span class="hljs-operator">-</span>client
sudo systemctl <span class="hljs-keyword">start</span> sequencer
sudo systemctl <span class="hljs-keyword">start</span> relayer
</code></pre><p>以启动服务。</p><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 systemctl status da-light-client
sudo systemctl status sequencer
sudo systemctl status relayer
"><code>sudo systemctl <span class="hljs-built_in">status</span> da-light-client
sudo systemctl <span class="hljs-built_in">status</span> sequencer
sudo systemctl <span class="hljs-built_in">status</span> relayer
</code></pre><p>正常情况下，3个都应显示为active (running)。</p><h4 id="h-dactrlc" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">查看DA轻节点日志(按ctrl+c退出)</h4><pre data-type="codeBlock" text="sudo journalctl -u da-light-client -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u da<span class="hljs-operator">-</span>light<span class="hljs-operator">-</span>client <span class="hljs-operator">-</span>f
</code></pre><p>正常情况应该看到</p><pre data-type="codeBlock" text="💈 The data availability light node is running on your local machine!
"><code>💈 The data availability light node <span class="hljs-keyword">is</span> running <span class="hljs-keyword">on</span> your local machine!
</code></pre><h4 id="h-sequencer-ctrlc" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">查看sequencer 日志(按ctrl+c退出)</h4><pre data-type="codeBlock" text="sudo journalctl -u sequencer -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u sequencer <span class="hljs-operator">-</span>f
</code></pre><p>正常情况应该看到</p><pre data-type="codeBlock" text="💈 The Rollapp sequencer is running on your local machine!
💈 Default endpoints:
💈 EVM RPC: http://0.0.0.0:8545
💈 Node RPC: http://0.0.0.0:26657
💈 Rest API: http://0.0.0.0:1317
💈 Log file path:  /Users/USERNAME/.roller/rollapp/rollapp.log
💈 Rollapp root dir:  /Users/USERNAME/.roller/rollapp
"><code>💈 The Rollapp sequencer <span class="hljs-keyword">is</span> running on your local machine<span class="hljs-operator">!</span>
💈 Default endpoints:
💈 EVM RPC: http:<span class="hljs-comment">//0.0.0.0:8545</span>
💈 Node RPC: http:<span class="hljs-comment">//0.0.0.0:26657</span>
💈 Rest API: http:<span class="hljs-comment">//0.0.0.0:1317</span>
💈 Log file path:  <span class="hljs-operator">/</span>Users<span class="hljs-operator">/</span>USERNAME<span class="hljs-operator">/</span>.roller/rollapp<span class="hljs-operator">/</span>rollapp.log
💈 Rollapp root dir:  <span class="hljs-operator">/</span>Users<span class="hljs-operator">/</span>USERNAME<span class="hljs-operator">/</span>.roller/rollapp
</code></pre><h4 id="h-ctrlc" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">查看中继器日志(按ctrl+c退出)</h4><pre data-type="codeBlock" text="sudo journalctl -u relayer -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u relayer <span class="hljs-operator">-</span>f
</code></pre><p>正常情况应该看到</p><pre data-type="codeBlock" text="💈 The relayer is running successfully on you local machine on channel channel-0!
"><code>💈 The relayer <span class="hljs-keyword">is</span> running successfully <span class="hljs-keyword">on</span> you local machine <span class="hljs-keyword">on</span> channel channel<span class="hljs-number">-0</span>!
</code></pre><p><strong>注意：中继器（relayer）通常需要较长时间才能启动成功,一般要几小时以上。请耐心等待。</strong></p><p><strong>如果一直都没有成功，则通道可能已进入卡住状态。请打开一个新终端并运行</strong></p><pre data-type="codeBlock" text="roller relayer start --override
"><code>roller relayer start <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">override</span>
</code></pre><p>以创建新通道。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">监控</h3><p>请参考官方教程<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.dymension.xyz/build/production/monitor">https://docs.dymension.xyz/build/production/monitor</a></p><h3 id="h-ibc" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">IBC 转账</h3><p>如果你的中继器运行成功了，运行</p><pre data-type="codeBlock" text="roller relayer  status
"><code>roller relayer  <span class="hljs-built_in">status</span>
</code></pre><p>会显示如下</p><pre data-type="codeBlock" text="💈 Relayer Channels: src, channel-0 &lt;-&gt; channel-1, dst
"><code>💈 Relayer Channels: src, channel<span class="hljs-number">-0</span> <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">-</span><span class="hljs-operator">></span> channel<span class="hljs-number">-1</span>, dst
</code></pre><p>这时，source channel将是<strong>channel-0</strong></p><p>如果显示的内容不是上面这样，说明你的relayer还没有运行成功，<strong>如果几小时以上还没有成功，请运行以下命令，以创建新通道。</strong></p><pre data-type="codeBlock" text="roller relayer start --override
"><code>roller relayer start <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">override</span>
</code></pre><p>可以用这个命令进行ibc transfer （<strong>这个命令不是必须的</strong>）</p><pre data-type="codeBlock" text="rollapp_evm tx ibc-transfer transfer transfer &lt;src-channel&gt; &lt;destination-address&gt; 5000000000000000000000000&lt;base-denom&gt; --from rollapp_sequencer --keyring-backend test --home ~/.roller/rollapp --broadcast-mode block
"><code>rollapp_evm <span class="hljs-built_in">tx</span> ibc<span class="hljs-operator">-</span>transfer transfer transfer <span class="hljs-operator">&#x3C;</span>src<span class="hljs-operator">-</span>channel<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>destination<span class="hljs-operator">-</span><span class="hljs-keyword">address</span><span class="hljs-operator">></span> <span class="hljs-number">5000000000000000000000000</span><span class="hljs-operator">&#x3C;</span>base<span class="hljs-operator">-</span>denom<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> rollapp_sequencer <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keyring<span class="hljs-operator">-</span>backend test <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.roller/rollapp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>broadcast<span class="hljs-operator">-</span>mode <span class="hljs-built_in">block</span>
</code></pre><p>注意这里的 <code>src-channel</code> 就是上面显示的source channel。 而<code>base-denom</code> 是小写字母 u加上你刚刚设置的denon。如<code>utest</code></p><p><em>这里的数量和以太坊wei 相对于ether一样。1 xxx= 10^18 uxxxx</em></p><p><strong>用户应该预计 IBC 交易提交和目标地址接收之间会有大约 15 -30分钟的延迟。这是为了模拟防欺诈期，只有在防欺诈期过后，资金才会在 Dymension Hub 上可用</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">给水龙头转账</h3><p>如果你的中继器运行成功了，运行</p><pre data-type="codeBlock" text="roller relayer  status
"><code>roller relayer  <span class="hljs-built_in">status</span>
</code></pre><p>会显示如下</p><pre data-type="codeBlock" text="💈 Relayer Channels: src, channel-0 &lt;-&gt; channel-1, dst
"><code>💈 Relayer Channels: src, channel<span class="hljs-number">-0</span> <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">-</span><span class="hljs-operator">></span> channel<span class="hljs-number">-1</span>, dst
</code></pre><p>**channel不一定是0，1。**之后我们可以运行以下命令转移部分资金给水龙头。</p><pre data-type="codeBlock" text="roller tx fund-faucet
"><code>roller <span class="hljs-built_in">tx</span> fund<span class="hljs-operator">-</span>faucet
</code></pre><p>等待15-30分钟后，可以去Discord #froopyland-faucet 频道发以下命令查询你的ibc transfer是否成功。</p><pre data-type="codeBlock" text="$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 &lt;你的rollapp-id&gt;
"><code>$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 <span class="hljs-operator">&#x3C;</span>你的rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span>
</code></pre><p>这里的rollapp-id可以通过 <code>roller config show</code> 查看，类似<code>silent_1319141-1</code></p><p>如果成功后，其他用户将可以通过</p><pre data-type="codeBlock" text="$request &lt;user-address&gt; &lt;rollapp-id&gt;
"><code>$request <span class="hljs-operator">&#x3C;</span>user<span class="hljs-operator">-</span><span class="hljs-keyword">address</span><span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>rollapp<span class="hljs-operator">-</span>id<span class="hljs-operator">></span>
</code></pre><p>领取你的rollapp测试币。并与你的rollapp交互。</p><p>之后建议使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://portal.dymension.xyz/">门户</a>将代币IBC 传输到相应的 RollApp。</p><h2 id="h-rollapp" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">开发你的rollapp</h2><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">导出私钥</h3><p>运行<code>roller keys list</code> 将显示如下</p><pre data-type="codeBlock" text="🔑 Addresses:

  my_celes_key        | RollApp Sequencer account on the Celestia network
  hub_sequencer       | RollApp Sequencer account on the Dymension Hub
  rollapp_sequencer   | RollApp Sequencer account on the RollApp
  relayer-hub-key     | IBC relayer account on Dymension Hub
  relayer-rollapp-key | IBC relayer account on RollApp
"><code>🔑 Addresses:

  my_celes_key        <span class="hljs-operator">|</span> RollApp Sequencer account on the Celestia network
  hub_sequencer       <span class="hljs-operator">|</span> RollApp Sequencer account on the Dymension Hub
  rollapp_sequencer   <span class="hljs-operator">|</span> RollApp Sequencer account on the RollApp
  relayer<span class="hljs-operator">-</span>hub<span class="hljs-operator">-</span>key     <span class="hljs-operator">|</span> IBC relayer account on Dymension Hub
  relayer<span class="hljs-operator">-</span>rollapp<span class="hljs-operator">-</span>key <span class="hljs-operator">|</span> IBC relayer account on RollApp
</code></pre><p>目前支持导出 <code>hub_sequencer</code>, <code>rollapp_sequencer</code> and <code>my_celes_key</code> 使用</p><pre data-type="codeBlock" text="roller keys export rollapp_sequencer
"><code>roller keys <span class="hljs-keyword">export</span> rollapp_sequencer
</code></pre><p>导出你的<code>rollapp_sequencer</code> 私钥，你可以将私钥导入到metamask等其他地方。</p><p>使用以下配置连接到你自己的rollapp网络。</p><pre data-type="codeBlock" text="Network Name: &lt;YOUR-ROLLAPP-NAME&gt;

New RPC URL: &lt;RPC-END-POINT&gt; //  http:/你的ip:8545

Chain ID: &lt;YOUR-CHAIN-ID&gt; // 你的EIP155 数字 (middle number of RollApp ID，对于test_101-1， 这个数字是101)

Currency Symbol (optional): &lt;你rollapp 原生代币，如ETH,DYM&gt;
"><code>Network Name: <span class="hljs-operator">&#x3C;</span>YOUR<span class="hljs-operator">-</span>ROLLAPP<span class="hljs-operator">-</span>NAME<span class="hljs-operator">></span>

New RPC URL: <span class="hljs-operator">&#x3C;</span>RPC<span class="hljs-operator">-</span>END<span class="hljs-operator">-</span>POINT<span class="hljs-operator">></span> <span class="hljs-comment">//  http:/你的ip:8545</span>

Chain ID: <span class="hljs-operator">&#x3C;</span>YOUR<span class="hljs-operator">-</span>CHAIN<span class="hljs-operator">-</span>ID<span class="hljs-operator">></span> <span class="hljs-comment">// 你的EIP155 数字 (middle number of RollApp ID，对于test_101-1， 这个数字是101)</span>

Currency Symbol (optional): <span class="hljs-operator">&#x3C;</span>你rollapp 原生代币，如ETH,DYM<span class="hljs-operator">></span>
</code></pre><p>接下来，你可以想在别的evm链开发一样，开发你自己的app了。可以查看官方教程中的示例。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.dymension.xyz/build/quick-start/evm/create">用Remix 部署合约并交互。</a></p><h2 id="h-rollapp" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">列出你的RollApp</h2><p>根据官方博客，我们需要<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.dymension.xyz/build/production/portal-listing">列出自己的rollapp</a>。</p><p>只有具有<code>RollApp-fam</code>角色的开发人员才有资格在门户上列出他们的 RollApp。</p><p>开发人员应在http或https下提供以下端点。这将允许用户能够与您的 RollApp 交互：</p><ol><li><p>RollApp RPC 端点（默认端口<code>26657</code>）</p></li><li><p>Rest端点（默认端口<code>1317</code>）</p></li><li><p>JSON RPC 端点（默认端口<code>8545</code>。仅与 EVM RollApps 相关）</p></li></ol><p>为了列出您的 RollApp，需要执行下面的步骤</p><ol><li><p>按照给水龙头转账部分所述，用您的 rollapp 代币为Discord水龙头提供资金。</p><p>可以用下面的命令查询。</p><pre data-type="codeBlock" text="$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 &lt;RollApp-ID&gt;
"><code>$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 <span class="hljs-operator">&#x3C;</span>RollApp<span class="hljs-operator">-</span>ID<span class="hljs-operator">></span>
</code></pre></li><li><p>打开</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/dymensionxyz/rollapp-registry">https://github.com/dymensionxyz/rollapp-registry</a></p><p>并点击右上角的fork按钮。</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/51bc685b81869cf6b795a94ac95792e8437aad9d1fa60c0ca612092055da1798.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>3. 运行</p><pre data-type="codeBlock" text="git clone https://github.com/&lt;你的github用户名&gt;/rollapp-registry
"><code>git <span class="hljs-built_in">clone</span> https://github.com/&#x3C;你的github用户名>/rollapp-registry
</code></pre><p>4. 运行</p><pre data-type="codeBlock" text="cd rollapp-registry
"><code><span class="hljs-built_in">cd</span> rollapp-registry
</code></pre><p>5. 通过 <code>roller config show</code> 命令找到你的RollappID 。并运行</p><pre data-type="codeBlock" text="export ROLLAPP_ID=&lt;你看到的RollappID&gt;
"><code>export ROLLAPP_ID<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你看到的RollappID<span class="hljs-operator">></span>
</code></pre><p>6.创建适当的文件和文件夹</p><pre data-type="codeBlock" text="mkdir -p $ROLLAPP_ID/logos
cd $ROLLAPP_ID &amp;&amp; touch $ROLLAPP_ID.json
"><code><span class="hljs-built_in">mkdir</span> -p <span class="hljs-variable">$ROLLAPP_ID</span>/logos
<span class="hljs-built_in">cd</span> <span class="hljs-variable">$ROLLAPP_ID</span> &#x26;&#x26; <span class="hljs-built_in">touch</span> <span class="hljs-variable">$ROLLAPP_ID</span>.json
</code></pre><p>7. 将您的 RollApp 图标添加到该<code>logos</code>文件夹​​中。图标文件名：<code>&lt;RollApp-ID&gt;.&lt;format&gt;</code>. 可以是 SVG、PNG 或 JPG 格式（<strong>请确保文件不超过 50KB</strong>）。例如silent_1319141-1.jpg。可以使用FTP上传文件到服务器里，具体用法请自行百度或者谷歌。</p><p>8. 运行<code>roller config export</code> 并将 JSON 输出复制粘贴到 .json 并填写以下字段（可以使用vim等文本编辑器，方法请自行百度或者谷歌）： a. RPC: <code>&quot;http://&lt;你的ip或者域名&gt;:&lt;端口&gt;&quot; (默认端口是26657)</code> b. REST: <code>&quot;http://&lt;你的ip或者域名&gt;:&lt;端口&gt;&quot; (默认端口是1317)</code> c. EVM RPC (仅仅适用于evm rollapp): <code>&quot;http://&lt;你的ip或者域名&gt;:&lt;端口&gt;&quot; (默认端口是8545)</code> d. Logo path: <code>&quot;/logos/&lt;RollApp-ID&gt;.&lt;format&gt;&quot;</code> 可选字段: e. chainName: 在门户页面替换 <code>&lt;RollApp-ID&gt;</code> 作为你的Rollapp名称 f. description: add <code>&quot;&lt;你的RollApp描述&gt;&quot;,</code> 以显示在门户页面里 g. website: add <code>&quot;&lt;你的rollapp的网址&gt;&quot;,</code>以显示在门户页面里 <strong>示例 （andromeda_2548179-1.json）</strong> {
    &quot;chainId&quot;: &quot;andromeda_2548179-1&quot;,
    &quot;chainName&quot;: &quot;Andromeda&quot;,
    &quot;rpc&quot;: &quot;https://froopy-rollapp-rpc.andromedapool.com&quot;,
    &quot;rest&quot;: &quot;https://froopy-rollapp-rest.andromedapool.com&quot;,
    &quot;bech32Prefix&quot;: &quot;ethm&quot;,
    &quot;currencies&quot;: [
      {
        &quot;displayDenom&quot;: &quot;pool&quot;,
        &quot;baseDenom&quot;: &quot;upool&quot;,
        &quot;decimals&quot;: 18,
        &quot;logo&quot;: &quot;/logos/andromeda_2548179-1.png&quot;,
        &quot;type&quot;: &quot;main&quot;
      }
    ],
    &quot;coinType&quot;: 60,
    &quot;faucetUrl&quot;: &quot;https://discord.com/channels/956961633165529098/1125047988247593010&quot;,
    &quot;logo&quot;: &quot;/logos/andromeda_2548179-1.png&quot;,
    &quot;ibc&quot;: {
      &quot;hubChannel&quot;: &quot;channel-5372&quot;,
      &quot;channel&quot;: &quot;channel-0&quot;,
      &quot;timeout&quot;: 172800000
    },
    &quot;evm&quot;: {
      &quot;chainId&quot;: &quot;0x26e1d3&quot;,
      &quot;rpc&quot;: &quot;https://froopy-rollapp-jsonrpc.andromedapool.com&quot;
    },
    &quot;type&quot;: &quot;RollApp&quot;,
    &quot;da&quot;: &quot;Celestia&quot;,
    &quot;analytics&quot;: true,
    &quot;rewards&quot;: true
  }
9. 在github添加并提交你的更改。 git add .
git commit -m &quot;added RollApp&quot;
git push -u origin main
这里需要登陆github并输入密码。然而密码处必须填写你自己设置的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.jianshu.com/p/5e15eb39ab31">access token</a>。 10. 向 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/dymensionXYZ/rollapp-registry">https://github.com/dymensionXYZ/rollapp-registry</a> 提交pull request。 打开你自己的仓库 https://github.com/&lt;你的github用户名&gt;/rollapp-registry
点击contribute按钮下的Open pull request，提交PR。 更多信息可以自行谷歌或者百度 pr示例 11. 在Discord list-your-rollapp频道发送 <code>$pair Rollapp-Id</code> <strong>然后，社区管理员将在 Discord 中与您开始对话。请您密切关注，以便尽快完成列出流程。</strong> 列出RollApp后，我们的任务就完成了。 根据官方博客，奖励将根据 RollApp 的正常运行时间（RPC 端点可用性的奖励）按比例分配奖励，我们只需要保证RollApp正常运行即可。 <strong><em>至于如何成为前10的RollApp。我估计比较优质的，有很多用户的RollApp才有希望。难度比较大。</em></strong> 如果有新的变化，本教程还会持续更新。 欢迎关注我的推特 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/EthExploring">https://twitter.com/EthExploring</a></p>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/41b39a67c45c025aaddee5859b9be21186076267badc3f1a6d6ca6cfc9bb0f8e.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nibiru激励性测试网第三阶段教程]]></title>
            <link>https://paragraph.com/@exploring/nibiru-4</link>
            <guid>kAPm92ctn6wj2Q3VAWr1</guid>
            <pubDate>Fri, 26 May 2023 09:19:32 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，激励测试网第三阶段刚刚开放，明牌有奖励。要KYC。 本教程仅供参考，请以官方博客为准。 官方推特：NIT #3 主要围绕： （1）Nibi-Perps(永续合约) （2）Nibi-Swap(现货交易) 测试网注册：(必须要先注册才能参与激励测试网，之前注册过的朋友可以跳过) https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration NIT 3 的参与者有机会获得价值 500 美元的 ATOM 代币额外奖励。ATOM 奖励将直接发送到随机选择的 20 个符合条件的用户的 Cosmos 地址。 额外奖励注册：（建议注册，和上面不是一个链接。不确定是不是必须的） https://gleam.io/MplSo/nibiru-itn-phase-3-registrat...]]></description>
            <content:encoded><![CDATA[<p>Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/016-itn-3.html">激励测试网第三阶段刚刚开放</a>，明牌有奖励。要KYC。</p><p><strong><em>本教程仅供参考，请以</em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/016-itn-3.html"><strong><em>官方博客</em></strong></a><strong><em>为准。</em></strong></p><p>官方推特：</p><div data-type="embedly" src="https://twitter.com/NibiruChain" data="{&quot;provider_url&quot;:&quot;https://twitter.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://twitter.com/NibiruChain&quot;,&quot;html&quot;:&quot;&lt;a class=\&quot;twitter-timeline\&quot; href=\&quot;https://twitter.com/NibiruChain?ref_src=twsrc%5Etfw\&quot;&gt;Tweets by NibiruChain&lt;/a&gt;\n&lt;script async src=\&quot;https://platform.twitter.com/widgets.js\&quot; charset=\&quot;utf-8\&quot;&gt;&lt;/script&gt;&quot;,&quot;provider_name&quot;:&quot;Twitter&quot;,&quot;cache_age&quot;:3153600000,&quot;type&quot;:&quot;rich&quot;}" format="iframe"></div><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/016-itn-3.html">NIT #3</a> 主要围绕：</p><p>（1）Nibi-Perps(永续合约)</p><p>（2）Nibi-Swap(现货交易)</p><p>测试网注册：<strong>(必须要先注册才能参与激励测试网，之前注册过的朋友可以跳过)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><p><em>NIT 3 的参与者有机会获得价值 500 美元的 ATOM 代币额外奖励。ATOM 奖励将直接发送到随机选择的 20 个符合条件的用户的 Cosmos 地址。</em></p><p>额外奖励注册：<strong>（建议注册，和上面不是一个链接。不确定是不是必须的）</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/MplSo/nibiru-itn-phase-3-registration-w-extra-reward">https://gleam.io/MplSo/nibiru-itn-phase-3-registration-w-extra-reward</a></p><p>（请注意：在 6 月 1 日活动结束后最多可能需要 10 个工作日才能发放奖励。）</p><p>本次的任务如下：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8737689dd5feb8193eb3fcef2f75aeaf2b8bb62f9aa6158feb2c4ec90fae030d.png" alt="任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">任务</figcaption></figure><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">前提条件</h1><p>首先你需要安装好<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/keplrwallet">Keplr钱包</a>。打开</p><div data-type="embedly" src="https://app.nibiru.fi/" data="{&quot;provider_url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;description&quot;:&quot;The Nibiru \&quot;Super App\&quot;. Swap, bridge, stake, and interact with smart contract applications&quot;,&quot;title&quot;:&quot;Web App | Nibiru&quot;,&quot;mean_alpha&quot;:253.696,&quot;thumbnail_width&quot;:1125,&quot;url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Web App | Nibiru&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:750,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1125,&quot;height&quot;:750,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://app.nibiru.fi/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Web App | Nibiru</h2><p>The Nibiru &quot;Super App&quot;. Swap, bridge, stake, and interact with smart contract applications</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://app.nibiru.fi</span></div><img src="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/></div></a></div></div><p>点右上角连接钱包，添加Nibiru-itn-1网络。并将keplr钱包切换到Nibiru-itn-1</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bbbee2c577ae43af6d40575637a9df56732b507d8a879da2fef097702d7802e3.png" alt="切换到Nibiru-itn-1" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">切换到Nibiru-itn-1</figcaption></figure><p>如果连接钱包遇到这个错误。<strong>建议等会再试试</strong>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/23ea98012077f7ceae08ef5e98de997aeca7349efe71a57a230a1d31ba2a8cac.png" alt="连接钱包" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">连接钱包</figcaption></figure><p>进入Faucet界面领水</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4a261f7b0827ba9cd30e24a0a49c966f672a36d784107b2dc6a70fd5c1f8e50a.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>点击页面中间的Faucet按钮。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/74bc9c1f44ee7037480b2dcb67340af8da2ab6a2968d744fa345713e04dac288.png" alt="领水失败" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水失败</figcaption></figure><p>遇到这种错误就刷新重试。可能要试很多次才能成功。显示如下就是成功了。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/594cdb4bfb1ca23239eb623bb444c6d1a77b9df84d0fd020f6f11a1b092f08a1.png" alt="领水成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水成功</figcaption></figure><p><strong>成功后我们就可以开始做任务了。</strong></p><h1 id="h-nibi-perps" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Nibi-Perps部分</h1><h3 id="h-eth" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">开启一个ETH永续仓位</h3><p>切换到Nibi-Perps页面。网页加载需要一段时间，网页加载出来后。</p><p>选择ETH:USD， 输入NUSD数量，后点击Open Position。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a9268305f4a73c630ca6545c1b0313c05223a3d9956eeba095854117838e49fe.png" alt="开启一个ETH永续仓位" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">开启一个ETH永续仓位</figcaption></figure><p>在keplr钱包确认交易，成功后，右下角显示如下。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3bc4913028ea0f567af64193208d00b6d8c575919fd5c2a905f086e7375cd2f6.png" alt="开仓成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">开仓成功</figcaption></figure><p>Your Positions处也会显示出你的仓位。（可能要等待一段时间才会加载出来）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ebccfaa3b16e00f43e643a3ec7f184cd6cd113c78e1ecf4c7dd836f5689daba0.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>如果失败，建议刷新，等待一段时间后重试几次。</strong></p><h3 id="h-btc" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">开启一个BTC永续仓位</h3><p><strong>选择BTC:USD，其他步骤和上面一样。</strong></p><p>如果成功，等待一段时间后，Your Positions处会显示出你的BTC仓位。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c2e0ad15073138673aba265bf8ad2a4ea7d8bccf624ea7919a242c136fc2955c.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>如果失败，建议刷新，等待一段时间后重试几次。</strong></p><h3 id="h-30make-a-funding-payment" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">进行一次资金支付（最多需要30分钟）（Make a funding payment ）</h3><p>我们可以看到页面上显示了Next funding剩余的时间。这个实际上便是平时我们开合约时的资金费率。倒计时结束后，便会进行<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="">funding payment</a>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9cac0d4b93a99e42e7e4bf261b41c4e283caf228a6fc5e57fecb45e9ba54a1e1.png" alt="funding payment" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">funding payment</figcaption></figure><p><strong>你只需要在持有仓位的情况下等待一个倒计时结束。（最多30分钟）<em>之后平仓即可。</em></strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">平仓</h3><p>我们刚刚已经开了两个仓位。只需要点击Close关闭任何一个仓位即可。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9fa41358816979e1427bbd02fb8535f49e230a0da245134d331b472977592a47.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>成功后右下角将显示如下。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1216ee56569cd374f7535f33247ea5c6fe38c910566284e609c29a12025128e6.png" alt="成功平仓" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">成功平仓</figcaption></figure><p>等待一段时间后，Your Positions处的仓位也会消失。</p><p>我们已经完成了Nibi-Perps部分的任务，接下来是Nibi-Swap的任务。</p><h1 id="h-nibi-swap" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Nibi-Swap部分</h1><h3 id="h-constant-product-poolswap" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">在恒定产品池(constant product pool)中进行swap</h3><p>切换到Nibi-Swap页面。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1f1f6fbc54bd14c41f0d182923dfcec0036b329455b7248e962ab6e6844ac4e0.png" alt="切换到Nibi-Swap页面" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">切换到Nibi-Swap页面</figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/docs/ecosystem/nibi-swap/constant-product.html">恒定产品池</a>：该模型为代币的所有可能价格和所有市场变动提供流动性。非常适合用户希望进行投机交易的主要加密货币市场。</p><p>选择用NIBI swap NUSD。输入金额后点击Swap</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/da4460245733d6f2aafda8ff1476a1ba933a2d95f73a69c515a7c505b8ed13c0.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>成功后，右下角显示如下。<strong>如果失败。建议刷新，等待一段时间后重试。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c320ea38cd529a168f9a493abf5ef92f9d948b176dd86734798e9b1e8ac233e8.png" alt="swap成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">swap成功</figcaption></figure><h3 id="h-stableswap-poolswap" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">在稳定交换池（stableswap pool)swap</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/docs/ecosystem/nibi-swap/stableswap.html">稳定交换池</a>：非常适合以 1:1 的目标汇率促进代币之间的资本高效交易。随着稳定互换池的储备变得更加不平衡，该池的行为更像是一个恒定产品池。</p><p>选择用USDT swap NUSD。输入金额后点击Swap。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f7ae7893ea1b415b8dd5ad5a25f1a1f439de2da61131b43e6a86e0d3ff484d59.png" alt="stableswap池" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">stableswap池</figcaption></figure><p>成功后，右下角显示如下。<strong>如果失败。建议刷新，等待一段时间后重试。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c3532fd85e3eea4a9ac832d5a122f34e0ac5bcc76a02bd31874682a66d883699.png" alt="Swap成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Swap成功</figcaption></figure><h3 id="h-constant-product-poollp" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">在恒定产品池（constant product pool）加LP</h3><p>进入Pools界面，选择NiBI/NUSD</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2b524d8c0502634cc0eddf850841ab11de079fe80ac57eecf4da4e1dfc720bab.png" alt="NIBI/NUSD" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">NIBI/NUSD</figcaption></figure><p>点击Deposit，<strong>NIBI和NUSD处都输入一定金额</strong>。之后点击Add Liquidity。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/88b6b068cce6aff5938c1027f7daa2cc7bf17d398031849b72bb470d0bba64cd.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>交易成功后，右下角显示如下。<strong>如果失败，建议换个金额，重试几次。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/160645375ae09105494f93d89094a6fa6a904344afb2d97b732c1c1628368586.png" alt="加LP成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">加LP成功</figcaption></figure><p>成功后。界面处也可以看到你目前的LP头寸。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e1bb65eeaa653bd79dd962b83bc8b1d0e5aa6662a378ac2055ea963c76d02408.png" alt="界面处能看到你当前的头寸" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">界面处能看到你当前的头寸</figcaption></figure><h3 id="h-stableswap-poollp" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">在稳定交换池（stableswap pool）加LP</h3><p>点击Back to Pools</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2ba6ca2c6dd27873261df15b843f4f0533e8523fb06b4b481629f4b316302bce.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>选择NUSD/USDT</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2c37f740563a84a907e7438f247d28682ff700a46bb369322329bd7840b80f8a.png" alt="选择NUSD/USDT" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">选择NUSD/USDT</figcaption></figure><p>接下来的操作和之前一样。不再赘述。<strong>如果失败，建议换个金额，重试几次。</strong></p><p>成功后，可以看到当前的仓位。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5fa943da375aea3f4cc72d71aeffc725cdbc23959b4af3f1dcbc0f4c10cce4a3.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>至此，我们就完成了Nibiru激励测试网第三阶段的任务。</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">往期任务教程</h1><p><strong>注意：目前暂时不能确定现在做之前的任务还有没有分。</strong></p><p>往期任务：</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/007-itn-1.html">#7 | Nibiru 激励测试网 1</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/010-itn-2-cosmwasm-governance#cosmwasm-tutorial---instantiate-and-execute-contract">#10 | Nibiru 激励测试网 2</a></p></li></ul><p>我写的中文教程</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/a3Ie1mQ5lbNz3VJCh9dd1CmXbhgxXF9hgLlwYbzHiOI">https://mirror.xyz/exploring.eth/a3Ie1mQ5lbNz3VJCh9dd1CmXbhgxXF9hgLlwYbzHiOI</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/olqlabbcPxKXCVsZb2kfPuZme-nzFUgG3m8d7jcd1L4">https://mirror.xyz/exploring.eth/olqlabbcPxKXCVsZb2kfPuZme-nzFUgG3m8d7jcd1L4</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/Z-K9MVYHJWzvsmLeYvguSMO7JysLpRnE4M_TvZ0-5ak">https://mirror.xyz/exploring.eth/Z-K9MVYHJWzvsmLeYvguSMO7JysLpRnE4M_TvZ0-5ak</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/kHCPsU3q2PCT5kCXBM-yJsFvIRwJsr9x4eiw7CjTkdY">https://mirror.xyz/exploring.eth/kHCPsU3q2PCT5kCXBM-yJsFvIRwJsr9x4eiw7CjTkdY</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/uAdo9m0zs2gJOjQQe0X8hvOzwaFqqAOFYxfIIvaVR_c">https://mirror.xyz/exploring.eth/uAdo9m0zs2gJOjQQe0X8hvOzwaFqqAOFYxfIIvaVR_c</a></p><h1 id="h-httpssilentvalidatorcom" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">欢迎关注 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h1>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/ad827c11c7d82ed7526f88a386eea3dde5f2b47eb3f868ee2fe33f47996e10cd.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Nibiru激励性测试网第二阶段-智能合约]]></title>
            <link>https://paragraph.com/@exploring/nibiru-3</link>
            <guid>b2lggE4ulO9Pb94GVFZa</guid>
            <pubDate>Tue, 11 Apr 2023 20:04:59 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，激励测试网第二阶段刚刚开放，明牌有奖励。要KYC。 NIT #2 主要围绕两件事： （1）让 Nibiru Chain 的用户熟悉智能合约部署和交易执行 （2）通过试验更大的验证器集大小来对我们的基础设施进行实时测试。通过这种方式，我们应该对真正去中心化网络的更快出块时间和终结性的一些限制有深刻的理解。 测试网注册：(必须要先注册才能参与激励测试网,第一阶段注册过的朋友可以跳过) https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration 这次测试网主要有两类任务。本文为智能合约任务的教程。本文需要在命令行操作，有一定难度。如果没有相关经验，可以去完成相对简单的治理任务。 智能合约任务如下：智能合约任务我们主要需要完成以下操作。部署合约实例化合约执行合约前提条...]]></description>
            <content:encoded><![CDATA[<p>Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/010-itn-2-cosmwasm-governance.html">激励测试网第二阶段刚刚开放</a>，明牌有奖励。要KYC。</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/010-itn-2-cosmwasm-governance.html">NIT #2</a> 主要围绕两件事：</p><p>（1）让 Nibiru Chain 的用户熟悉智能合约部署和交易执行</p><p>（2）通过试验更大的验证器集大小来对我们的基础设施进行实时测试。通过这种方式，我们应该对真正去中心化网络的更快出块时间和终结性的一些限制有深刻的理解。</p><p>测试网注册：<strong>(必须要先注册才能参与激励测试网,第一阶段注册过的朋友可以跳过)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><p>这次测试网主要有两类任务。本文为智能合约任务的教程。<strong>本文需要在命令行操作，有一定难度。如果没有相关经验，可以去完成相对简单的</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/kHCPsU3q2PCT5kCXBM-yJsFvIRwJsr9x4eiw7CjTkdY">治理任务</a>。</p><p>智能合约任务如下：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ab16ce08b857e2fd8b9c8676601c8f84233b0ce5e5bdd806605591bd235777d5.png" alt="智能合约任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">智能合约任务</figcaption></figure><p>我们主要需要完成以下操作。</p><ol><li><p>部署合约</p></li><li><p>实例化合约</p></li><li><p>执行合约</p></li></ol><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">前提条件</h1><p>在你的linux系统服务器上安装好nibid程序，可以参考我之前的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/Z-K9MVYHJWzvsmLeYvguSMO7JysLpRnE4M_TvZ0-5ak">节点教程</a>。</p><p><strong>注：我们不需要运行节点，可以使用别人提供的公共Rpc。</strong></p><p>使用公共RPC作为默认RPC</p><pre data-type="codeBlock" text="nibid config node https://t-nibiru.rpc.utsa.tech:443
"><code>nibid config node https:<span class="hljs-comment">//t-nibiru.rpc.utsa.tech:443</span>
</code></pre><p>备选的公共RPC:</p><pre data-type="codeBlock" text="https://nibiru-testnet.nodejumper.io:443
https://rpc-t.nibiru.nodestake.top:443
"><code>https:<span class="hljs-comment">//nibiru-testnet.nodejumper.io:443</span>
https:<span class="hljs-comment">//rpc-t.nibiru.nodestake.top:443</span>
</code></pre><p>用助记词导入你的钱包(<strong>如果你已经导入，请忽略</strong>)</p><pre data-type="codeBlock" text="nibid keys add xxx --recover
"><code>nibid keys <span class="hljs-keyword">add</span> xxx <span class="hljs-comment">--recover</span>
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">部署合约</h1><p>首先下载已经编译好的合约二进制文件</p><pre data-type="codeBlock" text="wget https://github.com/NibiruChain/cw-nibiru/raw/main/artifacts-cw-plus/cw1_whitelist.wasm
"><code>wget https://github.com/NibiruChain/cw-nibiru/raw/main/artifacts-cw-plus/cw1_whitelist.wasm
</code></pre><p>部署合约</p><pre data-type="codeBlock" text="KEY_NAME=钱包名
CONTRACT_WASM=&quot;cw1_whitelist.wasm&quot; 
nibid tx wasm store $CONTRACT_WASM --from $KEY_NAME --gas=2000000 --fees=200000unibi --chain-id nibiru-itn-1  -y
"><code>KEY_NAME<span class="hljs-operator">=</span>钱包名
CONTRACT_WASM<span class="hljs-operator">=</span><span class="hljs-string">"cw1_whitelist.wasm"</span> 
nibid <span class="hljs-built_in">tx</span> wasm store $CONTRACT_WASM <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> $KEY_NAME <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas<span class="hljs-operator">=</span><span class="hljs-number">2000000</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees<span class="hljs-operator">=</span>200000unibi <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id nibiru<span class="hljs-operator">-</span>itn<span class="hljs-number">-1</span>  <span class="hljs-operator">-</span>y
</code></pre><p><strong>保存得到的txhash</strong>，可以去下面的区块浏览器检查是否成功。也可以用下面的命令可以查询到你刚刚部署的合约的信息。</p><div data-type="embedly" src="https://nibiru.explorers.guru/" data="{&quot;provider_url&quot;:&quot;https://nibiru.explorers.guru&quot;,&quot;description&quot;:&quot;Get insights into Nibiru (NIBI) network via Nodes.Guru blockchain explorer. Track the latest block, staking APR, inflation rate, your stake and more.&quot;,&quot;title&quot;:&quot;Nibiru (NIBI) Blockchain Explorer - Main Network Overview&quot;,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://nibiru.explorers.guru/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Explorers&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://nibiru.explorers.guru/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Nibiru (NIBI) Blockchain Explorer - Main Network Overview</h2><p>Get insights into Nibiru (NIBI) network via Nodes.Guru blockchain explorer. Track the latest block, staking APR, inflation rate, your stake and more.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://nibiru.explorers.guru</span></div><img src="https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg"/></div></a></div></div><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a434b0760d55e240c1a935bec038412506071101134a3966fc2ca341e7394e92.png" alt="交易成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">交易成功</figcaption></figure><pre data-type="codeBlock" text="txhash=刚刚的txhash
nibid query tx  $txhash --output json | jq -r &apos;.logs[] | .events[]&apos;
"><code>txhash<span class="hljs-operator">=</span>刚刚的txhash
nibid query <span class="hljs-built_in">tx</span>  $txhash <span class="hljs-operator">-</span><span class="hljs-operator">-</span>output json <span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r <span class="hljs-string">'.logs[] | .events[]'</span>
</code></pre><p>如果交易成功，上面的命令显示如下。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2d1b682eba247aaae6742f0856628cef5efccc91f300476cd688dae249689103.png" alt="query tx显示如下" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">query tx显示如下</figcaption></figure><p>这里得到的code_id在实例化合约的时候有用。但是本教程中暂时用不到。</p><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">实例化合约</h1><p>这里我们要实例化的是一个cw20代币合约<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/CosmWasm/cw-plus/blob/main/packages/cw20/README.md">https://github.com/CosmWasm/cw-plus/blob/main/packages/cw20/README.md</a></p><p>这个合约目前已经被存储在链上,它的code id为2257。如果你想实例化自己部署的合约，可以去部署一个cw20合约。</p><p>首先，设置一些环境变量</p><pre data-type="codeBlock" text="code_id=2257
address=你的nibiru钱包地址
KEY_NAME=你的钱包名
"><code><span class="hljs-attr">code_id</span>=<span class="hljs-number">2257</span>
<span class="hljs-attr">address</span>=你的nibiru钱包地址
<span class="hljs-attr">KEY_NAME</span>=你的钱包名
</code></pre><p>创建一个json文件，用于传递实例化时需要的参数</p><pre data-type="codeBlock" text="tee args.json &gt; /dev/null &lt;&lt;EOF
{
  &quot;name&quot;: &quot;Custom CW20 token&quot;,
  &quot;symbol&quot;: &quot;CWXX&quot;,
  &quot;decimals&quot;: 6,
  &quot;initial_balances&quot;: [
    {
      &quot;address&quot;: &quot;${address}&quot;,
      &quot;amount&quot;: &quot;555444000&quot;
    }
  ],
  &quot;mint&quot;: { &quot;minter&quot;: &quot;${address}&quot; },
  &quot;marketing&quot;: {}
}
EOF
"><code>tee args.json <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
{
  <span class="hljs-string">"name"</span>: <span class="hljs-string">"Custom CW20 token"</span>,
  <span class="hljs-string">"symbol"</span>: <span class="hljs-string">"CWXX"</span>,
  <span class="hljs-string">"decimals"</span>: <span class="hljs-number">6</span>,
  <span class="hljs-string">"initial_balances"</span>: [
    {
      <span class="hljs-string">"address"</span>: <span class="hljs-string">"${address}"</span>,
      <span class="hljs-string">"amount"</span>: <span class="hljs-string">"555444000"</span>
    }
  ],
  <span class="hljs-string">"mint"</span>: { <span class="hljs-string">"minter"</span>: <span class="hljs-string">"${address}"</span> },
  <span class="hljs-string">"marketing"</span>: {}
}
EOF
</code></pre><p>实例化这个cw20合约</p><pre data-type="codeBlock" text="nibid tx wasm inst $code_id &quot;$(cat args.json)&quot; --label=&quot;mint CWXX contract&quot; --no-admin --from=$KEY_NAME --fees=5000unibi --chain-id nibiru-itn-1 -y
"><code>nibid <span class="hljs-built_in">tx</span> wasm inst $code_id <span class="hljs-string">"$(cat args.json)"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>label<span class="hljs-operator">=</span><span class="hljs-string">"mint CWXX contract"</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>no<span class="hljs-operator">-</span>admin <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span>$KEY_NAME <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees<span class="hljs-operator">=</span>5000unibi <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id nibiru<span class="hljs-operator">-</span>itn<span class="hljs-number">-1</span> <span class="hljs-operator">-</span>y
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1d790fcf3c63b6855d01e8fc0f9408c2c48d4741982a2c5e13ee84b5b018bcc7.png" alt="保存这个txhash" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">保存这个txhash</figcaption></figure><p><strong>保存得到的txhash</strong>，可以去<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.explorers.guru/">区块浏览器</a>查询交易是否成功。</p><pre data-type="codeBlock" text="txhash=刚刚得到的txhash
"><code><span class="hljs-attr">txhash</span>=刚刚得到的txhash
</code></pre><p>如果成功，我们可以用如下命令，获取部署成功得到的合约地址。<strong>我们执行合约时需要这个地址。</strong></p><pre data-type="codeBlock" text="contract=$(nibid q tx $txhash --output json| jq  -r &apos;.logs[] | .events[0] | .attributes[0] | .value&apos;)
"><code>contract=$(nibid <span class="hljs-selector-tag">q</span> tx $txhash <span class="hljs-attr">--output</span> json| jq  -r '<span class="hljs-selector-class">.logs</span><span class="hljs-selector-attr">[]</span> | <span class="hljs-selector-class">.events</span><span class="hljs-selector-attr">[0]</span> | <span class="hljs-selector-class">.attributes</span><span class="hljs-selector-attr">[0]</span> | <span class="hljs-selector-class">.value</span>')
</code></pre><p>输出这个地址</p><pre data-type="codeBlock" text="echo $contract
"><code><span class="hljs-built_in">echo</span> <span class="hljs-variable">$contract</span>
</code></pre><h1 id="h-" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">执行合约</h1><p>创建一个json文件，用于传递调用合约需要的参数</p><pre data-type="codeBlock" text="address=任意一个nibiru地址，也可以是自己的地址
KEY_NAME=你的钱包名
"><code><span class="hljs-attr">address</span>=任意一个nibiru地址，也可以是自己的地址
<span class="hljs-attr">KEY_NAME</span>=你的钱包名
</code></pre><pre data-type="codeBlock" text="tee cw_transfer.json &gt; /dev/null &lt;&lt;EOF
{
  &quot;transfer&quot;: {
    &quot;recipient&quot;: &quot;${address}&quot;,
    &quot;amount&quot;: &quot;50&quot;
  }
}
EOF
"><code>tee cw_transfer.json <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
{
  <span class="hljs-string">"transfer"</span>: {
    <span class="hljs-string">"recipient"</span>: <span class="hljs-string">"${address}"</span>,
    <span class="hljs-string">"amount"</span>: <span class="hljs-string">"50"</span>
  }
}
EOF
</code></pre><p>这里的参数来源于<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/CosmWasm/cw-plus/blob/v1.0.1/packages/cw20/src/msg.rs">CW20合约</a>的<em>Cw20ExecuteMsg （这里仅供学习参考，不需要输入）</em></p><pre data-type="codeBlock" text="pub enum Cw20ExecuteMsg {
    /// Transfer is a base message to move tokens to another account without triggering actions
    Transfer { recipient: String, amount: Uint128 },
    // ... 
}
"><code><span class="hljs-keyword">pub</span> <span class="hljs-keyword">enum</span> <span class="hljs-title class_">Cw20ExecuteMsg</span> {
    <span class="hljs-comment">/// Transfer is a base message to move tokens to another account without triggering actions</span>
    Transfer { recipient: <span class="hljs-type">String</span>, amount: Uint128 },
    <span class="hljs-comment">// ... </span>
}
</code></pre><p>执行合约</p><pre data-type="codeBlock" text="nibid tx wasm execute $contract &quot;$(cat cw_transfer.json)&quot; --from $KEY_NAME --gas 8000000 --fees=200000unibi -y --chain-id nibiru-itn-1 -y
"><code>nibid tx wasm execute <span class="hljs-variable">$contract</span> "$(cat cw_transfer.json)" <span class="hljs-attr">--from</span> <span class="hljs-variable">$KEY_NAME</span> <span class="hljs-attr">--gas</span> <span class="hljs-number">8000000</span> <span class="hljs-attr">--fees</span>=<span class="hljs-number">200000</span>unibi -y <span class="hljs-attr">--chain-id</span> nibiru-itn-<span class="hljs-number">1</span> -y
</code></pre><p><strong>保存得到的txhash</strong>。可以去<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.explorers.guru/">区块浏览器</a>查询调用cw20的transfer函数是否成功。</p><p>也可以用如下命令检查你这笔交易产生的events</p><pre data-type="codeBlock" text="txhash=刚刚的txhash
nibid q tx $txhash --output json| jq -r &apos;.logs[] | .events[]&apos;
"><code>txhash<span class="hljs-operator">=</span>刚刚的txhash
nibid q <span class="hljs-built_in">tx</span> $txhash <span class="hljs-operator">-</span><span class="hljs-operator">-</span>output json<span class="hljs-operator">|</span> jq <span class="hljs-operator">-</span>r <span class="hljs-string">'.logs[] | .events[]'</span>
</code></pre><p>显示应该如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cebd6ecaac770807d2edbce06123eafb4ec68d1584eec67411f5f0f253e6fb53.png" alt="执行成功的events" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">执行成功的events</figcaption></figure><p>至此，我们就完成了Nibiru激励测试网第二阶段的智能合约相关的任务。🔥</p><h1 id="h-httpssilentvalidatorcom" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">欢迎关注 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h1>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/c3f012b4d4ae5ebbd1e147e466c48ba879d0d1b7dd51c8f7b64ea16404349102.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nibiru激励性测试网第二阶段-治理任务]]></title>
            <link>https://paragraph.com/@exploring/nibiru-2</link>
            <guid>TxDqmEYFO0xKGILflUuI</guid>
            <pubDate>Tue, 04 Apr 2023 21:13:01 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，激励测试网第二阶段刚刚开放，明牌有奖励。要KYC。 NIT #2 主要围绕两件事： （1）让 Nibiru Chain 的用户熟悉智能合约部署和交易执行 （2）通过试验更大的验证器集大小来对我们的基础设施进行实时测试。通过这种方式，我们应该对真正去中心化网络的更快出块时间和终结性的一些限制有深刻的理解。 测试网注册：(必须要先注册才能参与激励测试网) https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration 这次测试网主要有两类任务。本文为治理任务的教程。 治理任务如下。治理任务我们只需要对治理提案进行投票即可。通过区块浏览器投票普通用户可以通过这种方式对治理提案进行投票。前提条件首先你需要安装好Keplr钱包。 打开Web App | NibiruThe ...]]></description>
            <content:encoded><![CDATA[<p>Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了850万美元，Tribe captital, Republic Crypto 领投，Kraken等机构参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/010-itn-2-cosmwasm-governance.html">激励测试网第二阶段刚刚开放</a>，明牌有奖励。要KYC。</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/010-itn-2-cosmwasm-governance.html">NIT #2</a> 主要围绕两件事：</p><p>（1）让 Nibiru Chain 的用户熟悉智能合约部署和交易执行</p><p>（2）通过试验更大的验证器集大小来对我们的基础设施进行实时测试。通过这种方式，我们应该对真正去中心化网络的更快出块时间和终结性的一些限制有深刻的理解。</p><p>测试网注册：<strong>(必须要先注册才能参与激励测试网)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><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/f8414f77e75695e223a73ecca9db1ab8e67bc290716711bb9d6c014730fce504.png" alt="治理任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">治理任务</figcaption></figure><p>我们只需要对治理提案进行投票即可。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">通过区块浏览器投票</h2><p>普通用户可以通过这种方式对治理提案进行投票。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">前提条件</h3><p>首先你需要安装好<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/keplrwallet">Keplr钱包</a>。</p><p>打开</p><div data-type="embedly" src="https://app.nibiru.fi/" data="{&quot;provider_url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;description&quot;:&quot;The Nibiru \&quot;Super App\&quot;. Swap, bridge, stake, and interact with smart contract applications&quot;,&quot;title&quot;:&quot;Web App | Nibiru&quot;,&quot;mean_alpha&quot;:253.696,&quot;thumbnail_width&quot;:1125,&quot;url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Web App | Nibiru&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:750,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1125,&quot;height&quot;:750,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://app.nibiru.fi/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Web App | Nibiru</h2><p>The Nibiru &quot;Super App&quot;. Swap, bridge, stake, and interact with smart contract applications</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://app.nibiru.fi</span></div><img src="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/></div></a></div></div><p>点右上角连接钱包，添加Nibiru-itn-1网络。并将keplr钱包切换到Nibiru-itn-1</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/080b7000112828cd697f447dd1b5d8f08f3ad64d123f483fd54f94cfa6d0ab1e.png" alt="钱包切换到nibiru-itn-1" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">钱包切换到nibiru-itn-1</figcaption></figure><p>进入Faucet界面领水</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b4aa353ea10fdcf812dac3a4543c6ab9fc9b8bd1260b3ea4ef3ec20240b95441.png" alt="去水龙头页面领水" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">去水龙头页面领水</figcaption></figure><p>点击页面中间的Faucet按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/26bb12f4dc4422480950699307726cb83d106891ca703c681171c738fa6c74f8.png" alt="领水失败" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水失败</figcaption></figure><p>遇到这种错误就刷新重试。可能要试很多次才能成功。显示如下就是成功了。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a11acf3de5c3be2f9b5df8b03cfdf389944fbf26118d3067bcdcf316b5601062.png" alt="领水成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水成功</figcaption></figure><p><strong>领水成功后。我们就可以投票了。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">投票</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.nibiru.fi/nibiru-itn-1">官方区块浏览器</a>目前有bug。这里我们使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.kjnodes.com/nibiru-testnet">第三方浏览器</a>进行投票。</p><p>如果这个浏览器用不了，下面是其他第三方浏览器。</p><div data-type="embedly" src="https://testnet.explorer.tcnetwork.io/nibiru/dashboard" data="{&quot;provider_url&quot;:&quot;https://testnet.explorer.tcnetwork.io&quot;,&quot;description&quot;:&quot;tcnetwork.io provides a safe, secure and affordable staking service to share in the benefits of Cosmos&apos;s PoS protocol.&quot;,&quot;title&quot;:&quot;TC Network | We Are The Cosmos Validator&quot;,&quot;url&quot;:&quot;https://testnet.explorer.tcnetwork.io/nibiru/dashboard&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Tcnetwork&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://testnet.explorer.tcnetwork.io/nibiru/dashboard" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>TC Network | We Are The Cosmos Validator</h2><p>tcnetwork.io provides a safe, secure and affordable staking service to share in the benefits of Cosmos&#x27;s PoS protocol.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://testnet.explorer.tcnetwork.io</span></div></div></a></div></div><div data-type="embedly" src="https://explorer.nodestake.top/nibiru-testnet" data="{&quot;provider_url&quot;:&quot;https://explorer.nodestake.org&quot;,&quot;description&quot;:&quot;NodeStake is the professional validator, infrastructure provider and IBC relayer.&quot;,&quot;title&quot;:&quot;NodeStake Explorer&quot;,&quot;url&quot;:&quot;https://explorer.nodestake.org/nibiru-testnet&quot;,&quot;thumbnail_width&quot;:400,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/d725f6a4a7e6033c735ba484b9b206932c9044ca20d96940ca8d9d4782e795ee.jpg&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Nodestake&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:400,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:400,&quot;height&quot;:400,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/d725f6a4a7e6033c735ba484b9b206932c9044ca20d96940ca8d9d4782e795ee.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/d725f6a4a7e6033c735ba484b9b206932c9044ca20d96940ca8d9d4782e795ee.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://explorer.nodestake.top/nibiru-testnet" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>NodeStake Explorer</h2><p>NodeStake is the professional validator, infrastructure provider and IBC relayer.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://explorer.nodestake.org</span></div><img src="https://storage.googleapis.com/papyrus_images/d725f6a4a7e6033c735ba484b9b206932c9044ca20d96940ca8d9d4782e795ee.jpg"/></div></a></div></div><div data-type="embedly" src="https://exp.utsa.tech/nibiru-test" data="{&quot;provider_url&quot;:&quot;https://exp.utsa.tech&quot;,&quot;description&quot;:&quot;Cosmos explorer based on Ping Pub supported by lesnik | UTSA - is the best solution!&quot;,&quot;title&quot;:&quot;lesnik | UTSA explorer&quot;,&quot;mean_alpha&quot;:114.480865225,&quot;thumbnail_width&quot;:1109,&quot;url&quot;:&quot;https://exp.utsa.tech/nibiru-test&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/4f009244d81110f222569a760073b72912c8c46d59298a66cebef1b425da2fe4.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Utsa&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:601,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1109,&quot;height&quot;:601,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/4f009244d81110f222569a760073b72912c8c46d59298a66cebef1b425da2fe4.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/4f009244d81110f222569a760073b72912c8c46d59298a66cebef1b425da2fe4.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://exp.utsa.tech/nibiru-test" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>lesnik | UTSA explorer</h2><p>Cosmos explorer based on Ping Pub supported by lesnik | UTSA - is the best solution!</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://exp.utsa.tech</span></div><img src="https://storage.googleapis.com/papyrus_images/4f009244d81110f222569a760073b72912c8c46d59298a66cebef1b425da2fe4.png"/></div></a></div></div><p>首先点击页面下方的 Connect Wallet</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9f08071d80bd4dfb85547536394770ea36d4220950406574d77d26110a5c7377.png" alt="连接钱包" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">连接钱包</figcaption></figure><p>接下来的界面点击next，并在弹窗中点击approve</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/67b83d5a2f6ba6013f91e235e48b314fcb9cb3fa98fc8a740901ee7018521bf6.png" alt="Next" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Next</figcaption></figure><p>接下来随便输入一个账户名称，点击Next</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/36c312edd15d523e1a5613a3cdfdd25741bd742b0c0275e1f3c8a7e1c2c472dc.png" alt="添加钱包" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">添加钱包</figcaption></figure><p>最后点击Save</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5005c4cbc63138bd494cc59e88af9cce576a30e6b3075c011cea9a89b9179593.png" alt="Save" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Save</figcaption></figure><p>添加钱包成功后。点击页面左边的Governance。这里我们可以看到目前有一个可以投票的提案。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3a85fe5f654f370dc0711a0a168982ce2d2efef0ec4cc73e4449341e506a215b.png" alt="点击Governance界面" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">点击Governance界面</figcaption></figure><p><strong>注：该提案不是官方发的提案，不确定对这个提案进行投票是否能完成任务。这里仅作为示例。之后有官方提案请对官方提案进行投票。</strong></p><p>我们点击Vote</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/10e54c09cfb824ca125d21d2e641c320d44529c18c6e79ead16d8955a60b9b82.png" alt="点击Vote" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">点击Vote</figcaption></figure><p><strong>选择Yes后，点击Advanced，修改fee的unusd为unibi，并将200改为10000，点击send。之后在钱包点击Approve。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/902718f761b7a2c34d92f894abe23d4571489fe8a27870bbf93bcde0195d21ef.png" alt="投票" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">投票</figcaption></figure><p>稍等片刻后，可以看到如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/196dad0a9187394a6f9a590b8caf91e1762e85a196fd1bfca6d16a7169a7c684.png" alt="投票成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">投票成功</figcaption></figure><p><strong>如果投票失败，请重试几次。</strong></p><p><strong>为了完成任务，我们需要参与<em>4次以上</em>的治理提案投票，<em>最好投官方发的提案</em>。每个提案的投票期目前为4天。请保持关注。</strong></p><h2 id="h-cli" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">通过CLI端投票</h2><p><strong>以下为Pro用户通过命令行进行投票的教程，普通用户可以跳过。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">前提条件</h3><p>在你的linux系统服务器上安装好nibid程序，可以参考我之前的<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/Z-K9MVYHJWzvsmLeYvguSMO7JysLpRnE4M_TvZ0-5ak">节点教程</a>。</p><p><strong>注：我们不需要运行节点，可以使用别人提供的公共Rpc。</strong></p><p>使用公共RPC作为默认RPC</p><pre data-type="codeBlock" text="nibid config node https://rpc-t.nibiru.nodestake.top:443
"><code>nibid config node https:<span class="hljs-comment">//rpc-t.nibiru.nodestake.top:443</span>
</code></pre><p>用助记词导入你的钱包(<strong>如果你已经导入，请忽略</strong>)</p><pre data-type="codeBlock" text="nibid keys add xxx --recover
"><code>nibid keys <span class="hljs-keyword">add</span> xxx <span class="hljs-comment">--recover</span>
</code></pre><p>用这个钱包投票(这个钱包需要有测试币)</p><pre data-type="codeBlock" text="nibid tx gov vote &lt;提案编号&gt; &lt;投票选项&gt; --from &lt;你的钱包名&gt; -y --fees 10000unibi --chain-id nibiru-itn-1 --gas 500000
"><code>nibid <span class="hljs-built_in">tx</span> gov vote <span class="hljs-operator">&#x3C;</span>提案编号<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>投票选项<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id nibiru<span class="hljs-operator">-</span>itn<span class="hljs-number">-1</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>gas <span class="hljs-number">500000</span>
</code></pre><p>投票选项包括yes/no/no_with_veto/abstain。大部分情况我们投yes就好。</p><p>投票成功后，<strong>稍等一段时间</strong>后。我们可以去下面两个区块浏览器查询返回的tx。</p><div data-type="embedly" src="https://nibiru.explorers.guru/" data="{&quot;provider_url&quot;:&quot;https://nibiru.explorers.guru&quot;,&quot;description&quot;:&quot;Get insights into Nibiru (NIBI) network via Nodes.Guru blockchain explorer. Track the latest block, staking APR, inflation rate, your stake and more.&quot;,&quot;title&quot;:&quot;Nibiru (NIBI) Blockchain Explorer - Main Network Overview&quot;,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://nibiru.explorers.guru/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Explorers&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://nibiru.explorers.guru/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Nibiru (NIBI) Blockchain Explorer - Main Network Overview</h2><p>Get insights into Nibiru (NIBI) network via Nodes.Guru blockchain explorer. Track the latest block, staking APR, inflation rate, your stake and more.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://nibiru.explorers.guru</span></div><img src="https://storage.googleapis.com/papyrus_images/c64564917b3336448d9e2e3ebf0aafbacca52caaf53f870dfa3f05948430a96f.jpg"/></div></a></div></div><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.exploreme.pro/">https://nibiru.exploreme.pro/</a></p><p>显示Success 即投票成功。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/163f88fde685de852fc39db6f34beb174038ba7469f027d549fe8514393b2297.png" alt="投票成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">投票成功</figcaption></figure><p><strong>如果投票失败，请重试几次。</strong></p><p><strong>为了完成任务，我们需要参与<em>4次以上</em>的治理提案投票，<em>最好投官方发的提案</em>。每个提案的投票期目前为4天。请保持关注。</strong></p><h1 id="h-nit2httpssilentvalidatorcom" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">我还会继续更新NIT2的更多教程，欢迎关注<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h1>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/2980fb521b4074f0b8058bdb4f225fcdad9ed8e04c36424309dc84a3998a412b.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nibiru 测试网质押者任务教程]]></title>
            <link>https://paragraph.com/@exploring/nibiru</link>
            <guid>v9jCcw78mCfZHdR4f3b0</guid>
            <pubDate>Tue, 28 Feb 2023 10:19:28 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken参投,估值1亿美元。近期，激励性测试网1刚刚开放，明牌有奖励。要KYC。 NIT #1 的主要重点是测试Nibiru 的 Oracle 模块，它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权，因此激励测试网这一阶段的大部分任务都与质押相关。 测试网注册：（注意，必须注册后才能参与激励测试网） https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration 本文为质押者（即普通用户，无需跑节点）教程。 质押者的任务如下,共有100分将至少 1 个 NIBI 质押给验证者领取质押奖励将你的质押从一个验证者重新委托给另一个验证者质押给预言机取消质押您的代币质押者任务首先你需要安装好Keplr钱包。 打开Web App | NibiruThe Nibiru "Super A...]]></description>
            <content:encoded><![CDATA[<p>Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/007-itn-1.html">激励性测试网1刚刚开放</a>，明牌有奖励。要KYC。</p><p>NIT #1 的主要重点是测试Nibiru 的 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/docs/ecosystem/oracle/">Oracle 模块</a>，它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权，因此激励测试网这一阶段的大部分任务都与质押相关。</p><p>测试网注册：（<strong>注意，必须注册后才能参与激励测试网</strong>）</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><p>本文为质押者（<strong>即普通用户，无需跑节点</strong>）教程。</p><p>质押者的任务如下,共有100分</p><ul><li><p>将至少 1 个 NIBI 质押给验证者</p></li><li><p>领取质押奖励</p></li><li><p>将你的质押从一个验证者重新委托给另一个验证者</p></li><li><p>质押给预言机</p></li><li><p>取消质押您的代币</p></li></ul><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/137c4149b93c77bfb0441bb34fe45ff76d449ff2997977f568265328d2c2ba6d.png" alt="质押者任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">质押者任务</figcaption></figure><p>首先你需要安装好<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/keplrwallet">Keplr钱包</a>。</p><p>打开</p><div data-type="embedly" src="https://app.nibiru.fi/" data="{&quot;provider_url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;description&quot;:&quot;The Nibiru \&quot;Super App\&quot;. Swap, bridge, stake, and interact with smart contract applications&quot;,&quot;title&quot;:&quot;Web App | Nibiru&quot;,&quot;mean_alpha&quot;:253.696,&quot;thumbnail_width&quot;:1125,&quot;url&quot;:&quot;https://app.nibiru.fi&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Web App | Nibiru&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:750,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1125,&quot;height&quot;:750,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://app.nibiru.fi/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Web App | Nibiru</h2><p>The Nibiru &quot;Super App&quot;. Swap, bridge, stake, and interact with smart contract applications</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://app.nibiru.fi</span></div><img src="https://storage.googleapis.com/papyrus_images/eaf8f92485220c3c6bfb4c3b8f9c02113bd1f767202f49dd02a297e58548803e.png"/></div></a></div></div><p>点右上角连接钱包，添加Nibiru-itn-1网络。并将keplr钱包切换到Nibiru-itn-1</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6bf760966bb40e52eb2a01c0b57957ffdcd538855a4f3d0c0921e1519a6a8607.png" alt="keplr切换到Nibiru-itn-1" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">keplr切换到Nibiru-itn-1</figcaption></figure><p>进入Faucet界面领水</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/036891b44974b44c44a1e1678f5d9170b13699cd699600e4a4f0139019f0afb2.png" alt="领水" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水</figcaption></figure><p>点击页面中间的Faucet按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4d95ca49294263fd9f04460f399fb0cb97c12e3a8339af3fe7eb70da4894039f.png" alt="领水失败" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水失败</figcaption></figure><p>遇到这种错误就刷新重试。可能要试很多次才能成功。显示如下就是成功了。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/42b2223031d0ed124be1eab241bebfb1208926285f340eb90d4c4860f663c649.png" alt="领水成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领水成功</figcaption></figure><h3 id="h-nibiru" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">质押至少一个Nibiru给验证者</h3><p>进入stake界面</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e038aad8a8e7c8ae5bb5052d59b884b7d4d67b78f0509c3a130209b24d2f2f94.png" alt="质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">质押</figcaption></figure><p>随便选择一个验证人，点击右边的箭头。（可以考虑质押silent节点）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0fabe5fd2a4f206072cb50e67cfadbd0717c28b7598ac342785c57f9e717ac04.png" alt="质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">质押</figcaption></figure><p>选择stake并质押&gt;1 nibi</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/dc7136aea0f198cbf2e8e04224ffb50120248c7a076d2aa52829abcb1ae2827f.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>质押成功后，stake页面显示如下。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0aed687e9fda51d89ac63a22fa0c0f6746cdd8569db0bd578b1701a5ecd179bb.png" alt="质押成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">质押成功</figcaption></figure><p><strong>如果失败，请刷新页面并重试几次。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">领取质押奖励</h3><p>点击任务的Claim按钮</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f0f5af8b1c4f3c0348d702f3c03ca1b609a92665a6c336665faf0aec3e008f98.png" alt="领取质押奖励" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">领取质押奖励</figcaption></figure><p>成功显示如下，如果失败，请刷新页面并重试几次。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d7775025b39143fba4745edb9bff28c5161b1a48d0ecbc516a534efaabfdfff0.png" alt="Claim质押奖励" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Claim质押奖励</figcaption></figure><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">将你的质押从一个验证者重新委托给另一个验证者</h3><p>随便选择一个你未质押的验证者。点击右边的箭头。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7b11b56f18e0a68fe6603a8421b2d0a74b2bf945028eb514e1db67330574722d.png" alt="转移质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">转移质押</figcaption></figure><p>选择redelegate。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/921b2ed68efd00342c6023244e2bc7ebdbe78ace316ab0cb170b5de5a25321cb.png" alt="redelegate" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">redelegate</figcaption></figure><p>选择一个原来质押的验证者。点击右边箭头。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/db48a7fb1b9aac4c6c731d240378120ec49fee38616c313d1a1f8e347d0fb702.png" alt="转移质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">转移质押</figcaption></figure><p>输入转质押的金额并转移质押，点击redelegate按钮确认。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/04de2c090b85134ba63fa34b38e6d3041470bfdf11bdbaae3bfe2cd861489a6e.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>如果出现如下错误，请刷新页面并多次重试。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5520e0aea690bcf01492307ebc19c3e7214f32397078fc6e6351f7c3595ea947.png" alt="刷新页面并多次重试" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">刷新页面并多次重试</figcaption></figure><p>成功将显示如下</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/99b7e98b5a5505624f6142fccbe067aa22efda10d281de54677ac6a39667c1e6.png" alt="转移质押成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">转移质押成功</figcaption></figure><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">质押给预言机</h3><p><strong>预言机是提供价格而不是弃权的验证者。质押给 <em>oracle</em> 算作一个动作的完成。</strong></p><p>建议质押给排名比较高的，有官方质押的验证者节点。比如NodeStake(oracle), MMS(Oracle)。过程和上面质押一样。失败请刷新重试。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">取消质押</h3><p>在stake页面选择一个你质押的验证人，点击箭头。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a0678295438029d2918713878eecbd0be08cd19515378285929893643bd49ebc.png" alt="取消质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">取消质押</figcaption></figure><p>之后选择unstake。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/dabcf8d26f11c8961f68eac7226e643fad0e4a291084916c588847aca308e3d0.png" alt="取消质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">取消质押</figcaption></figure><p>输入解除质押的数量，并点击unstake。成功后显示如下，如果失败请刷新重试。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bb3dc961eecf8533095a010e299d82130725ccf414377129ffc6b6777718a510.png" alt="取消质押" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">取消质押</figcaption></figure><p>至此，Nibiru 激励测试网1的质押者任务就完成了。</p><h1 id="h-httpssilentvalidatorcom" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">欢迎关注 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h1><p>更多Nibiru激励测试网教程：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/a3Ie1mQ5lbNz3VJCh9dd1CmXbhgxXF9hgLlwYbzHiOI">https://mirror.xyz/exploring.eth/a3Ie1mQ5lbNz3VJCh9dd1CmXbhgxXF9hgLlwYbzHiOI</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/olqlabbcPxKXCVsZb2kfPuZme-nzFUgG3m8d7jcd1L4">https://mirror.xyz/exploring.eth/olqlabbcPxKXCVsZb2kfPuZme-nzFUgG3m8d7jcd1L4</a></p>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/a90f738125880b189c5483d5154581a5920cebe6cd0b69d704d98ca674d6c2a8.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nibiru 激励测试网Oracle教程]]></title>
            <link>https://paragraph.com/@exploring/nibiru-oracle</link>
            <guid>zITx5ZBYndNWwwR94qCX</guid>
            <pubDate>Mon, 27 Feb 2023 16:26:08 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken参投,估值1亿美元。近期，激励性测试网1刚刚开放，明牌有奖励。要KYC。 NIT #1 的主要重点是测试Nibiru 的 Oracle 模块，它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权，因此激励测试网这一阶段的大部分任务都与质押相关。 测试网注册： https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration 运行oracle ，在超过10000个VotePeriods中投票，并在VotePeriods为所有白名单交易对提供价格能获得200积分。 注意：预言机是提供价格而不是弃权的验证者。委托给 oracle 算作一个动作的完成。 运行oracle的前提条件是你是一个活跃的验证人（质押前100名验证人）。如果你还没有运行验证人，可以参考我的教程。Oracle...]]></description>
            <content:encoded><![CDATA[<p>Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/007-itn-1.html">激励性测试网1刚刚开放</a>，明牌有奖励。要KYC。</p><p>NIT #1 的主要重点是测试Nibiru 的 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/docs/ecosystem/oracle/">Oracle 模块</a>，它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权，因此激励测试网这一阶段的大部分任务都与质押相关。</p><p>测试网注册：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><p><strong>运行oracle ，在超过10000个VotePeriods中投票，并在VotePeriods为所有白名单交易对提供价格能获得200积分。</strong></p><p><strong><em>注意：预言机是提供价格而不是弃权的验证者。委托给 oracle 算作一个动作的完成。</em></strong></p><p>运行oracle的前提条件是你是一个<strong>活跃的验证人（质押前100名验证人）</strong>。如果你还没有运行验证人，可以参考<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/a3Ie1mQ5lbNz3VJCh9dd1CmXbhgxXF9hgLlwYbzHiOI">我的教程</a>。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/609a124c80af3a21053e380e6d258a3e1f8686f4f9ad1b3893d41dec1ecf13c1.png" alt="Oracle任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Oracle任务</figcaption></figure><h3 id="h-pricefeeder" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">安装 pricefeeder</h3><pre data-type="codeBlock" text="curl -s https://get.nibiru.fi/pricefeeder! | bash
"><code>curl <span class="hljs-operator">-</span>s https:<span class="hljs-comment">//get.nibiru.fi/pricefeeder! | bash</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="export CHAIN_ID=&quot;nibiru-itn-1&quot;
export GRPC_ENDPOINT=&quot;localhost:9090&quot;
export WEBSOCKET_ENDPOINT=&quot;ws://localhost:26657/websocket&quot;
export EXCHANGE_SYMBOLS_MAP=&apos;{ &quot;bitfinex&quot;: { &quot;ubtc:uusd&quot;: &quot;tBTCUSD&quot;, &quot;ueth:uusd&quot;: &quot;tETHUSD&quot;, &quot;uusdt:uusd&quot;: &quot;tUSTUSD&quot; }, &quot;binance&quot;: { &quot;ubtc:uusd&quot;: &quot;BTCUSD&quot;, &quot;ueth:uusd&quot;: &quot;ETHUSD&quot;, &quot;uusdt:uusd&quot;: &quot;USDTUSD&quot;, &quot;uusdc:uusd&quot;: &quot;USDCUSD&quot;, &quot;uatom:uusd&quot;: &quot;ATOMUSD&quot;, &quot;ubnb:uusd&quot;: &quot;BNBUSD&quot;, &quot;uavax:uusd&quot;: &quot;AVAXUSD&quot;, &quot;usol:uusd&quot;: &quot;SOLUSD&quot;, &quot;uada:uusd&quot;: &quot;ADAUSD&quot;, &quot;ubtc:unusd&quot;: &quot;BTCUSD&quot;, &quot;ueth:unusd&quot;: &quot;ETHUSD&quot;, &quot;uusdt:unusd&quot;: &quot;USDTUSD&quot;, &quot;uusdc:unusd&quot;: &quot;USDCUSD&quot;, &quot;uatom:unusd&quot;: &quot;ATOMUSD&quot;, &quot;ubnb:unusd&quot;: &quot;BNBUSD&quot;, &quot;uavax:unusd&quot;: &quot;AVAXUSD&quot;, &quot;usol:unusd&quot;: &quot;SOLUSD&quot;, &quot;uada:unusd&quot;: &quot;ADAUSD&quot; } }&apos;
export FEEDER_MNEMONIC=&quot;你的验证人助记词&quot;
"><code><span class="hljs-keyword">export</span> CHAIN_ID=<span class="hljs-string">"nibiru-itn-1"</span>
<span class="hljs-keyword">export</span> GRPC_ENDPOINT=<span class="hljs-string">"localhost:9090"</span>
<span class="hljs-keyword">export</span> WEBSOCKET_ENDPOINT=<span class="hljs-string">"ws://localhost:26657/websocket"</span>
<span class="hljs-keyword">export</span> EXCHANGE_SYMBOLS_MAP='{ <span class="hljs-string">"bitfinex"</span>: { <span class="hljs-string">"ubtc:uusd"</span>: <span class="hljs-string">"tBTCUSD"</span>, <span class="hljs-string">"ueth:uusd"</span>: <span class="hljs-string">"tETHUSD"</span>, <span class="hljs-string">"uusdt:uusd"</span>: <span class="hljs-string">"tUSTUSD"</span> }, <span class="hljs-string">"binance"</span>: { <span class="hljs-string">"ubtc:uusd"</span>: <span class="hljs-string">"BTCUSD"</span>, <span class="hljs-string">"ueth:uusd"</span>: <span class="hljs-string">"ETHUSD"</span>, <span class="hljs-string">"uusdt:uusd"</span>: <span class="hljs-string">"USDTUSD"</span>, <span class="hljs-string">"uusdc:uusd"</span>: <span class="hljs-string">"USDCUSD"</span>, <span class="hljs-string">"uatom:uusd"</span>: <span class="hljs-string">"ATOMUSD"</span>, <span class="hljs-string">"ubnb:uusd"</span>: <span class="hljs-string">"BNBUSD"</span>, <span class="hljs-string">"uavax:uusd"</span>: <span class="hljs-string">"AVAXUSD"</span>, <span class="hljs-string">"usol:uusd"</span>: <span class="hljs-string">"SOLUSD"</span>, <span class="hljs-string">"uada:uusd"</span>: <span class="hljs-string">"ADAUSD"</span>, <span class="hljs-string">"ubtc:unusd"</span>: <span class="hljs-string">"BTCUSD"</span>, <span class="hljs-string">"ueth:unusd"</span>: <span class="hljs-string">"ETHUSD"</span>, <span class="hljs-string">"uusdt:unusd"</span>: <span class="hljs-string">"USDTUSD"</span>, <span class="hljs-string">"uusdc:unusd"</span>: <span class="hljs-string">"USDCUSD"</span>, <span class="hljs-string">"uatom:unusd"</span>: <span class="hljs-string">"ATOMUSD"</span>, <span class="hljs-string">"ubnb:unusd"</span>: <span class="hljs-string">"BNBUSD"</span>, <span class="hljs-string">"uavax:unusd"</span>: <span class="hljs-string">"AVAXUSD"</span>, <span class="hljs-string">"usol:unusd"</span>: <span class="hljs-string">"SOLUSD"</span>, <span class="hljs-string">"uada:unusd"</span>: <span class="hljs-string">"ADAUSD"</span> } }'
<span class="hljs-keyword">export</span> FEEDER_MNEMONIC=<span class="hljs-string">"你的验证人助记词"</span>
</code></pre><pre data-type="codeBlock" text="sudo tee /etc/systemd/system/pricefeeder.service&lt;&lt;EOF
[Unit]
Description=Nibiru Pricefeeder
Requires=network-online.target
After=network-online.target

[Service]
Type=exec
User=$USER
ExecStart=/usr/local/bin/pricefeeder
Restart=on-failure
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGTERM
PermissionsStartOnly=true
LimitNOFILE=65535
Environment=CHAIN_ID=&apos;$CHAIN_ID&apos;
Environment=GRPC_ENDPOINT=&apos;$GRPC_ENDPOINT&apos;
Environment=WEBSOCKET_ENDPOINT=&apos;$WEBSOCKET_ENDPOINT&apos;
Environment=EXCHANGE_SYMBOLS_MAP=&apos;$EXCHANGE_SYMBOLS_MAP&apos;
Environment=FEEDER_MNEMONIC=&apos;$FEEDER_MNEMONIC&apos;

[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>pricefeeder.service&#x3C;<span class="hljs-operator">&#x3C;</span>EOF
[Unit]
Description<span class="hljs-operator">=</span>Nibiru Pricefeeder
Requires<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target
After<span class="hljs-operator">=</span>network<span class="hljs-operator">-</span>online.target

[Service]
Type<span class="hljs-operator">=</span>exec
User<span class="hljs-operator">=</span>$USER
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>pricefeeder
Restart<span class="hljs-operator">=</span>on<span class="hljs-operator">-</span>failure
ExecReload<span class="hljs-operator">=</span><span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>kill <span class="hljs-operator">-</span>HUP $MAINPID
KillSignal<span class="hljs-operator">=</span>SIGTERM
PermissionsStartOnly<span class="hljs-operator">=</span><span class="hljs-literal">true</span>
LimitNOFILE<span class="hljs-operator">=</span><span class="hljs-number">65535</span>
Environment<span class="hljs-operator">=</span>CHAIN_ID<span class="hljs-operator">=</span><span class="hljs-string">'$CHAIN_ID'</span>
Environment<span class="hljs-operator">=</span>GRPC_ENDPOINT<span class="hljs-operator">=</span><span class="hljs-string">'$GRPC_ENDPOINT'</span>
Environment<span class="hljs-operator">=</span>WEBSOCKET_ENDPOINT<span class="hljs-operator">=</span><span class="hljs-string">'$WEBSOCKET_ENDPOINT'</span>
Environment<span class="hljs-operator">=</span>EXCHANGE_SYMBOLS_MAP<span class="hljs-operator">=</span><span class="hljs-string">'$EXCHANGE_SYMBOLS_MAP'</span>
Environment<span class="hljs-operator">=</span>FEEDER_MNEMONIC<span class="hljs-operator">=</span><span class="hljs-string">'$FEEDER_MNEMONIC'</span>

[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><pre data-type="codeBlock" text="sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable pricefeeder &amp;&amp; \
sudo systemctl start pricefeeder
"><code>sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable pricefeeder <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start pricefeeder
</code></pre><p>查看日志</p><pre data-type="codeBlock" text="sudo journalctl -fu pricefeeder
"><code>sudo journalctl <span class="hljs-operator">-</span>fu pricefeeder
</code></pre><p><strong>注：你的验证人地址需要有足够的测试币作为gas。且必须是活跃验证人。</strong></p><h1 id="h-nit1httpssilentvalidatorcom" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">我还会继续更新NIT1的更多教程，欢迎关注<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h1><h1 id="h-nibirusilent" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">也欢迎质押Nibiru测试网的Silent节点</h1><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cdd45c352e39d82e8632483d673f89f8feb38af1b8e256696898e4b9f958735c.png" alt="我的Nibiru测试网节点" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">我的Nibiru测试网节点</figcaption></figure>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/a90f738125880b189c5483d5154581a5920cebe6cd0b69d704d98ca674d6c2a8.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[估值1亿的Nibiru激励性测试网节点教程]]></title>
            <link>https://paragraph.com/@exploring/1-nibiru</link>
            <guid>GzdXEDefh1fpW1Bir0kU</guid>
            <pubDate>Mon, 27 Feb 2023 12:55:00 GMT</pubDate>
            <description><![CDATA[Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken参投,估值1亿美元。近期，激励性测试网1刚刚开放，明牌有奖励。要KYC。 NIT #1 的主要重点是测试Nibiru 的 Oracle 模块，它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权，因此激励测试网这一阶段的大部分任务都与质押相关。 测试网注册：(必须要先注册才能参与激励测试网) https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration 本文为验证者节点教程。 如果你不会运行节点，可以完成质押者任务，欢迎参考我的教程。 创建验证人（无论是否活跃）有75分。您只需要同步一个完整的节点并发送一个创建验证人交易。从来没有被削减有额外的50分。验证者节点的任务官方教程Nibiru Docs | NibiruNibiru is a smart contract ...]]></description>
            <content:encoded><![CDATA[<p>Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken参投,估值1亿美元。近期，<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/blog/posts/007-itn-1.html">激励性测试网1刚刚开放</a>，明牌有奖励。要KYC。</p><p>NIT #1 的主要重点是测试Nibiru 的 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nibiru.fi/docs/ecosystem/oracle/">Oracle 模块</a>，它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权，因此激励测试网这一阶段的大部分任务都与质押相关。</p><p>测试网注册：<strong>(必须要先注册才能参与激励测试网)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration">https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration</a></p><p>本文为验证者节点教程。</p><p><strong>如果你不会运行节点，可以完成质押者任务，欢迎参考</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/exploring.eth/Z-K9MVYHJWzvsmLeYvguSMO7JysLpRnE4M_TvZ0-5ak"><strong>我的教程</strong></a><strong>。</strong></p><p><strong>创建验证人（无论是否活跃）有75分。您只需要同步一个完整的节点并发送一个创建验证人交易。从来没有被削减有额外的50分。</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a987804e83f2c58ff7cef24244135a5bd86192bc8442447eae4804bbb5c51320.png" alt="验证者节点的任务" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">验证者节点的任务</figcaption></figure><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">官方教程</h2><div data-type="embedly" src="https://nibiru.fi/docs/run-nodes/testnet/" data="{&quot;provider_url&quot;:&quot;https://nibiru.fi&quot;,&quot;description&quot;:&quot;Nibiru is a smart contract ecosystem with a high-performance, EVM-equivalent execution layer.&quot;,&quot;title&quot;:&quot;Nibiru Docs | Nibiru&quot;,&quot;mean_alpha&quot;:229.009920635,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://nibiru.fi/docs/run-nodes/testnet/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/a8eb7e4f0eaa506cfb14bf9f08e04defc4efba27763489e4b0ef3493aad7d9c5.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Nibiru&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/a8eb7e4f0eaa506cfb14bf9f08e04defc4efba27763489e4b0ef3493aad7d9c5.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/a8eb7e4f0eaa506cfb14bf9f08e04defc4efba27763489e4b0ef3493aad7d9c5.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://nibiru.fi/docs/run-nodes/testnet/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Nibiru Docs | Nibiru</h2><p>Nibiru is a smart contract ecosystem with a high-performance, EVM-equivalent execution layer.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://nibiru.fi</span></div><img src="https://storage.googleapis.com/papyrus_images/a8eb7e4f0eaa506cfb14bf9f08e04defc4efba27763489e4b0ef3493aad7d9c5.png"/></div></a></div></div><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最低配置</h2><ul><li><p>2 CPU</p></li><li><p>8 GB RAM （官方教程写的要求偏高，实际8GB+即可）</p></li><li><p>100GB SSD+ (建议大一点 200-300gb)</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装基础环境</h2><p>安装go</p><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.bashrc
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/.bashrc
"><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.19.2.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>.bashrc
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>.bashrc
</code></pre><p>安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><p>安装其他必要的环境</p><pre data-type="codeBlock" text="sudo apt-get update -y
sudo apt-get install curl build-essential jq git -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y
sudo apt<span class="hljs-operator">-</span>get install curl build<span class="hljs-operator">-</span>essential jq git <span class="hljs-operator">-</span>y;
</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
git clone https://github.com/NibiruChain/nibiru
cd nibiru
git checkout  v0.19.2
make install
"><code><span class="hljs-built_in">cd</span>
git <span class="hljs-built_in">clone</span> https://github.com/NibiruChain/nibiru
<span class="hljs-built_in">cd</span> nibiru
git checkout  v0.19.2
make install
</code></pre><p>安装完成后可以运行 <code>nibid version</code>检查是否安装成功。</p><p>显示应为v0.19.2</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</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="moniker=&lt;你的节点名&gt;
nibid init $moniker --chain-id=nibiru-itn-1
nibid config chain-id nibiru-itn-1
"><code>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你的节点名<span class="hljs-operator">></span>
nibid init $moniker <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>nibiru<span class="hljs-operator">-</span>itn<span class="hljs-number">-1</span>
nibid config chain<span class="hljs-operator">-</span>id nibiru<span class="hljs-operator">-</span>itn<span class="hljs-number">-1</span>
</code></pre><h3 id="h-genesis" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载Genesis 文件</h3><pre data-type="codeBlock" text="curl -s https://rpc.itn-1.nibiru.fi/genesis | jq -r .result.genesis &gt;  ~/.nibid/config/genesis.json
"><code>curl -s https://rpc.itn-1.nibiru.fi/genesis | jq -r .result.genesis >  ~/.nibid/config/genesis.json
</code></pre><h3 id="h-peerseed" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">设置peer和seed</h3><pre data-type="codeBlock" text="cd
PEERS=&quot;df8596fa04abeff1d15b79570ff8c3eba85ed87a@35.185.8.9:26656,4a81486786a7c744691dc500360efcdaf22f0840@15.235.46.50:26656,c709cad9e11b315644fe8f1d2e90c03c5cba685c@34.91.8.241:26656,930b1eb3f0e57b97574ed44cb53b69fb65722786@144.76.30.36:15662,ad002a4592e7bcdfff31eedd8cee7763b39601e7@65.109.122.105:36656&quot;
seeds=&quot;a431d3d1b451629a21799963d9eb10d83e261d2c@seed-1.itn-1.nibiru.fi:26656,6a78a2a5f19c93661a493ecbe69afc72b5c54117@seed-2.itn-1.nibiru.fi:26656&quot;
sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;$PEERS\&quot;/&quot; $HOME/.nibid/config/config.toml
sed -i.bak -e &quot;s/^seeds *=.*/seeds = \&quot;$seeds\&quot;/&quot; ~/.nibid/config/config.toml
"><code>cd
PEERS<span class="hljs-operator">=</span><span class="hljs-string">"df8596fa04abeff1d15b79570ff8c3eba85ed87a@35.185.8.9:26656,4a81486786a7c744691dc500360efcdaf22f0840@15.235.46.50:26656,c709cad9e11b315644fe8f1d2e90c03c5cba685c@34.91.8.241:26656,930b1eb3f0e57b97574ed44cb53b69fb65722786@144.76.30.36:15662,ad002a4592e7bcdfff31eedd8cee7763b39601e7@65.109.122.105:36656"</span>
seeds<span class="hljs-operator">=</span><span class="hljs-string">"a431d3d1b451629a21799963d9eb10d83e261d2c@seed-1.itn-1.nibiru.fi:26656,6a78a2a5f19c93661a493ecbe69afc72b5c54117@seed-2.itn-1.nibiru.fi:26656"</span>
sed <span class="hljs-operator">-</span>i.bak <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/"</span> $HOME<span class="hljs-operator">/</span>.nibid/config<span class="hljs-operator">/</span>config.toml
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>.nibid/config<span class="hljs-operator">/</span>config.toml
</code></pre><h2 id="h-pruning" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Pruning设置</h2><pre data-type="codeBlock" text="pruning=&quot;custom&quot; &amp;&amp; \
pruning_keep_recent=&quot;100&quot; &amp;&amp; \
pruning_keep_every=&quot;0&quot; &amp;&amp; \
pruning_interval=&quot;10&quot; &amp;&amp; \
sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.nibid/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.nibid/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&quot;$pruning_keep_every\&quot;/&quot; $HOME/.nibid/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.nibid/config/app.toml
"><code>pruning<span class="hljs-operator">=</span><span class="hljs-string">"custom"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_recent<span class="hljs-operator">=</span><span class="hljs-string">"100"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_every<span class="hljs-operator">=</span><span class="hljs-string">"0"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_interval<span class="hljs-operator">=</span><span class="hljs-string">"10"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning *=.*/pruning = \"$pruning\"/"</span> $HOME<span class="hljs-operator">/</span>.nibid/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/"</span> $HOME<span class="hljs-operator">/</span>.nibid/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/"</span> $HOME<span class="hljs-operator">/</span>.nibid/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/"</span> $HOME<span class="hljs-operator">/</span>.nibid/config<span class="hljs-operator">/</span>app.toml
</code></pre><h3 id="h-addrbook" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载addrbook</h3><pre data-type="codeBlock" text="wget -O $HOME/.nibid/config/addrbook.json https://snapshot.silentvalidator.com/testnet/nibiru/addrbook.json
"><code>wget <span class="hljs-operator">-</span>O $HOME<span class="hljs-operator">/</span>.nibid/config<span class="hljs-operator">/</span>addrbook.json https:<span class="hljs-comment">//snapshot.silentvalidator.com/testnet/nibiru/addrbook.json</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="sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/nibid.service
[Unit]
Description=nibid daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which nibid) start
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
"><code>sudo 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>nibid.service
[Unit]
Description<span class="hljs-operator">=</span>nibid 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>$(which nibid) 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><span class="hljs-number">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><pre data-type="codeBlock" text="sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable nibid &amp;&amp; \
sudo systemctl start nibid
"><code>sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable nibid <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start nibid
</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="sudo journalctl -u nibid -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u nibid <span class="hljs-operator">-</span>f
</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="curl -s localhost:26657/status | jq .result | jq .sync_info
"><code>curl <span class="hljs-operator">-</span>s localhost:<span class="hljs-number">26657</span><span class="hljs-operator">/</span>status <span class="hljs-operator">|</span> jq .result <span class="hljs-operator">|</span> jq .sync_info
</code></pre><p>同步需要一段时间，其中显示<code> &quot;catching_up&quot;:</code>显示为<code>false</code>且 <code>latest_block_height</code> 和区块浏览器的最新区块接近即已经同步上。</p><p>如果一直没有开始同步一般是因为peer不够，可以考虑添加Peer或者使用别人的addrbook。(Discord 搜)</p><h3 id="h-snapshot" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">使用snapshot同步（可选，快很多）</h3><pre data-type="codeBlock" text="cd $HOME
sudo apt install snapd -y
sudo snap install lz4
sudo systemctl stop nibid
nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book
wget -O nibiru.tar.lz4 https://snapshot.silentvalidator.com/testnet/nibiru/nibiru-2023-03-07T07%3A24.tar.lz4  --inet4-only
lz4 -c -d nibiru.tar.lz4  | tar -x -C $HOME/.nibid
sudo systemctl start nibid
"><code>cd $HOME
sudo apt install snapd <span class="hljs-operator">-</span>y
sudo snap install lz4
sudo systemctl stop nibid
nibid tendermint unsafe<span class="hljs-operator">-</span>reset<span class="hljs-operator">-</span>all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home $HOME<span class="hljs-operator">/</span>.nibid <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keep<span class="hljs-operator">-</span>addr<span class="hljs-operator">-</span>book
wget <span class="hljs-operator">-</span>O nibiru.tar.lz4 https:<span class="hljs-comment">//snapshot.silentvalidator.com/testnet/nibiru/nibiru-2023-03-07T07%3A24.tar.lz4  --inet4-only</span>
lz4 <span class="hljs-operator">-</span>c <span class="hljs-operator">-</span>d nibiru.tar.lz4  <span class="hljs-operator">|</span> tar <span class="hljs-operator">-</span>x <span class="hljs-operator">-</span>C $HOME<span class="hljs-operator">/</span>.nibid
sudo systemctl start nibid
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建验证人</h3><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建钱包</h3><pre data-type="codeBlock" text="nibid keys add &lt;钱包名&gt;
"><code>nibid keys add <span class="hljs-operator">&#x3C;</span>钱包名<span class="hljs-operator">></span>
</code></pre><p><strong>注意请保存助记词。若不保存，之后将无法恢复。</strong></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="ADDR=你的niniru地址
FAUCET_URL=&quot;https://faucet.itn-1.nibiru.fi/&quot;
curl -X POST -d &apos;{&quot;address&quot;: &quot;&apos;&quot;$ADDR&quot;&apos;&quot;, &quot;coins&quot;: [&quot;11000000unibi&quot;,&quot;100000000unusd&quot;,&quot;100000000uusdt&quot;]}&apos; $FAUCET_URL
"><code>ADDR=你的niniru地址
FAUCET_URL=<span class="hljs-string">"https://faucet.itn-1.nibiru.fi/"</span>
curl -X POST -d '{<span class="hljs-string">"address"</span>: <span class="hljs-string">"'"</span>$ADDR<span class="hljs-string">"'"</span>, <span class="hljs-string">"coins"</span>: [<span class="hljs-string">"11000000unibi"</span>,<span class="hljs-string">"100000000unusd"</span>,<span class="hljs-string">"100000000uusdt"</span>]}' $FAUCET_URL
</code></pre><p><strong>节点同步之后</strong>可以用</p><pre data-type="codeBlock" text="nibid query bank balances 你的nibiru地址
"><code>nibid <span class="hljs-keyword">query</span> bank balances 你的nibiru地址
</code></pre><p>查询测试币余额。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建验证人</h3><p>获取足够测试币，且节点完成同步后，可以创建验证人。只有质押量在前100的验证人才是活跃验证人。本次激励性测试网。验证人不论活跃与否都有奖励。</p><pre data-type="codeBlock" text="daemon=nibid
denom=unibi
moniker=验证人名
chainid=nibiru-itn-1
$daemon tx staking create-validator \
    --amount=1000000$denom \
    --pubkey=$($daemon tendermint show-validator) \
    --moniker=$moniker \
    --chain-id=$chainid \
    --commission-rate=0.05 \
    --commission-max-rate=0.2 \
    --commission-max-change-rate=0.1 \
    --min-self-delegation=1000000 \
    --from=钱包名 \
    --fees=10000unibi
"><code>daemon<span class="hljs-operator">=</span>nibid
denom<span class="hljs-operator">=</span>unibi
moniker<span class="hljs-operator">=</span>验证人名
chainid<span class="hljs-operator">=</span>nibiru<span class="hljs-operator">-</span>itn<span class="hljs-number">-1</span>
$daemon <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>1000000$denom \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$($daemon tendermint show<span class="hljs-operator">-</span>validator) \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span>$moniker \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>$chainid \
    <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>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">.2</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">.1</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>min<span class="hljs-operator">-</span><span class="hljs-built_in">self</span><span class="hljs-operator">-</span>delegation<span class="hljs-operator">=</span><span class="hljs-number">1000000</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span>钱包名 \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees<span class="hljs-operator">=</span>10000unibi
</code></pre><p>之后可以去区块浏览器</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://itn-1.nibiru.fi/">https://itn-1.nibiru.fi/</a></p><p>查看你的验证人是否创建成功。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">常用命令</h3><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">服务管理</h4><p>检查日志</p><pre data-type="codeBlock" text="sudo journalctl -u nibid -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u nibid <span class="hljs-operator">-</span>f
</code></pre><p>运行/重启节点</p><pre data-type="codeBlock" text="sudo systemctl restart nibid
"><code></code></pre><p>停止节点</p><pre data-type="codeBlock" text="sudo systemctl stop nibid
"><code>sudo systemctl stop nibid
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">节点信息</h4><p>同步信息</p><pre data-type="codeBlock" text="nibid status 2&gt;&amp;1 | jq .SyncInfo
"><code>nibid status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .SyncInfo
</code></pre><p>验证人信息</p><pre data-type="codeBlock" text="nibid status 2&gt;&amp;1 | jq .ValidatorInfo
"><code>nibid status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .ValidatorInfo
</code></pre><p>节点信息</p><pre data-type="codeBlock" text="nibid status 2&gt;&amp;1 | jq .NodeInfo
"><code>nibid status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .NodeInfo
</code></pre><p>获取node id</p><pre data-type="codeBlock" text="nibid tendermint show-node-id
"><code>nibid tendermint show<span class="hljs-operator">-</span>node<span class="hljs-operator">-</span>id
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">钱包操作</h4><p>显示所有钱包</p><pre data-type="codeBlock" text="nibid keys list
"><code>nibid <span class="hljs-keyword">keys</span> list
</code></pre><p>恢复钱包</p><pre data-type="codeBlock" text="nibid keys add &lt;你的钱包名&gt; --recover
"><code>nibid keys add <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>recover
</code></pre><p>删除钱包</p><pre data-type="codeBlock" text="nibid keys delete &lt;你的钱包名&gt;
"><code>nibid keys <span class="hljs-keyword">delete</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span>
</code></pre><p>查询余额</p><pre data-type="codeBlock" text="nibid query bank balances &lt;接收者nibiru地址&gt;
"><code>nibid query bank balances <span class="hljs-operator">&#x3C;</span>接收者nibiru地址<span class="hljs-operator">></span>
</code></pre><p>发送代币</p><pre data-type="codeBlock" text="nibid tx bank send &lt;你的钱包名&gt; &lt;接收者nibiru地址&gt; 数量unibi --from &lt;你的钱包名&gt; -y --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> bank send <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>接收者nibiru地址<span class="hljs-operator">></span> 数量unibi <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><p><strong>注意：1nibi=1000000unibi</strong></p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">投票</h4><pre data-type="codeBlock" text="nibid tx gov vote &lt;提案编号&gt; &lt;投票选项&gt; --from &lt;你的钱包名&gt; -y --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> gov vote <span class="hljs-operator">&#x3C;</span>提案编号<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>投票选项<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><p>投票选项包括yes/no/no_with_veto/abstain。大部分情况我们投yes就好。</p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">质押，提取奖励</h4><p>质押</p><pre data-type="codeBlock" text="nibid tx staking delegate &lt;你要质押的验证人地址&gt; 数量unibi --from &lt;你的钱包名&gt; -y --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> staking delegate <span class="hljs-operator">&#x3C;</span>你要质押的验证人地址<span class="hljs-operator">></span> 数量unibi <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><p>解除质押</p><pre data-type="codeBlock" text="nibid tx staking unbond &lt;你要解除质押的验证人地址&gt; 数量unibi --from &lt;你的钱包名&gt; -y --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> staking unbond <span class="hljs-operator">&#x3C;</span>你要解除质押的验证人地址<span class="hljs-operator">></span> 数量unibi <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><p>提取质押奖励和验证人佣金</p><pre data-type="codeBlock" text="nibid tx distribution withdraw-rewards &lt;你的验证人地址&gt; --commission --from &lt;你的钱包名&gt; -y --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> distribution withdraw<span class="hljs-operator">-</span>rewards <span class="hljs-operator">&#x3C;</span>你的验证人地址<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><p>提取所有奖励</p><pre data-type="codeBlock" text="nibid tx distribution withdraw-all-rewards --from=&lt;你的钱包名&gt; -y --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> distribution withdraw<span class="hljs-operator">-</span>all<span class="hljs-operator">-</span>rewards <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>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">验证人管理</h4><p>修改验证人信息</p><pre data-type="codeBlock" text="nibid tx staking edit-validator \
  --moniker=&lt;节点名&gt; \
  --identity=&lt;你的keybase id&gt; \
  --website=&quot;&lt;你的网站&gt;&quot; \
  --details=&quot;&lt;你的验证人描述&gt;&quot; \
  --from=&lt;你的钱包名&gt; \
  --fees 10000unibi
"><code>nibid <span class="hljs-built_in">tx</span> staking edit<span class="hljs-operator">-</span>validator \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>节点名<span class="hljs-operator">></span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>identity<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你的keybase id<span class="hljs-operator">></span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>website<span class="hljs-operator">=</span><span class="hljs-string">"&#x3C;你的网站>"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>details<span class="hljs-operator">=</span><span class="hljs-string">"&#x3C;你的验证人描述>"</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>你的钱包名<span class="hljs-operator">></span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>fees 10000unibi
</code></pre><p>假如你想在区块浏览器显示你的验证人logo。需要注册一个keybase账号，上传logo。在验证人信息中设置<code>--identity=&lt;你的keybase id&gt;</code>，区块链浏览器中就会显示你的keybase logo作为验证人logo。</p><p>Unjail</p><pre data-type="codeBlock" text="nibid tx slashing unjail --from &lt;你的钱包名&gt; -y   
"><code>nibid <span class="hljs-built_in">tx</span> slashing unjail <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y   
</code></pre><h1 id="h-nit1-httpssilentvalidatorcom" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">我还会继续更新NIT1的更多教程，欢迎关注 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h1><h1 id="h-silentnibiru" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">欢迎质押silent的Nibiru测试网节点</h1><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b0128c43b8a3e1b79da82726e710d23db804acf3a5490e9ff2bf5dfcce442f6d.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>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/a90f738125880b189c5483d5154581a5920cebe6cd0b69d704d98ca674d6c2a8.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[去中心化RPC Lava Network公共测试网节点教程]]></title>
            <link>https://paragraph.com/@exploring/rpc-lava-network</link>
            <guid>PQoGUYpTSMgfYf84QolM</guid>
            <pubDate>Sat, 25 Feb 2023 09:54:30 GMT</pubDate>
            <description><![CDATA[Lava Network是基于Cosmos SDK 的去中心化RPC提供商，目前在测试网阶段，已经支持Cosmos、Ethereum、Arbitrum、Celo、Juno等链的RPC。暂未披露融资信息，但其官网已经显示了部分的投资者，很有潜力。Lava 官网显示的投资者Lava有两种节点，一种是参与Lava链共识的验证者节点，另一种是Rpc Provider。本文是目前公共测试网的验证者节点教程。Provider节点的运行暂未对外开放。本次测试网为非激励性测试网，建议体验为主。本教程仅供参考，请以官方教程为准。最低配置2 CPU4 GB RAM （官方教程写的要求偏高）100GB SSDUbuntu 20.04+安装基础环境安装gosudo rm -rf /usr/local/go; curl https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ; cat &#x3C;&#x3C;'EOF' >>$HOME/.bashrc export GOROOT=/usr/l...]]></description>
            <content:encoded><![CDATA[<p>Lava Network是基于Cosmos SDK 的去中心化RPC提供商，目前在测试网阶段，已经支持Cosmos、Ethereum、Arbitrum、Celo、Juno等链的RPC。暂未披露融资信息，但其<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.lavanet.xyz/">官网</a>已经显示了部分的投资者，很有潜力。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/db446035bb675e6f2a8bba03f60f464abada013169bcf53d403d2624cf3aeecd.png" alt="Lava 官网显示的投资者" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Lava 官网显示的投资者</figcaption></figure><p>Lava有两种节点，一种是参与Lava链共识的验证者节点，另一种是Rpc Provider。本文是目前公共测试网的验证者节点教程。Provider节点的运行暂未对外开放。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">本次测试网为非激励性测试网，建议体验为主。</h3><p><strong><em>本教程仅供参考，请以</em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.lavanet.xyz/testnet-manual"><strong><em>官方教程</em></strong></a><strong><em>为准。</em></strong></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">最低配置</h2><ul><li><p>2 CPU</p></li><li><p>4 GB RAM （官方教程写的要求偏高）</p></li><li><p>100GB SSD</p></li><li><p>Ubuntu 20.04+</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装基础环境</h2><p>安装go</p><pre data-type="codeBlock" text="sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat &lt;&lt;&apos;EOF&apos; &gt;&gt;$HOME/.bashrc
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/.bashrc
"><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.19.2.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>.bashrc
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>.bashrc
</code></pre><p>安装完成后运行以下命令查看版本</p><pre data-type="codeBlock" text="go version
"><code><span class="hljs-keyword">go</span> version
</code></pre><p>安装一些必要的环境</p><pre data-type="codeBlock" text="sudo apt-get update -y 
sudo apt-get install curl build-essential wget jq git -y;
"><code>sudo apt<span class="hljs-operator">-</span>get update <span class="hljs-operator">-</span>y 
sudo apt<span class="hljs-operator">-</span>get install curl build<span class="hljs-operator">-</span>essential wget jq git <span class="hljs-operator">-</span>y;
</code></pre><p>安装最新版本lavad</p><pre data-type="codeBlock" text="cd $HOME 
git clone https://github.com/lavanet/lava 
cd lava 
git fetch --all 
git checkout v0.6.0
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/lavanet/lava 
<span class="hljs-built_in">cd</span> lava 
git fetch --all 
git checkout v0.6.0
make install
</code></pre><p>安装成功后，运行<code>lavad version</code> 应显示<code>0.6.0</code></p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">运行节点</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="moniker=&lt;你的节点名&gt;
lavad init $moniker --chain-id=lava-testnet-1 --home $HOME/.lava
lavad config chain-id lava-testnet-1
"><code>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你的节点名<span class="hljs-operator">></span>
lavad init $moniker <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>lava<span class="hljs-operator">-</span>testnet<span class="hljs-number">-1</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home $HOME<span class="hljs-operator">/</span>.lava
lavad config chain<span class="hljs-operator">-</span>id lava<span class="hljs-operator">-</span>testnet<span class="hljs-number">-1</span>
</code></pre><h3 id="h-genesis" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载Genesis 文件</h3><pre data-type="codeBlock" text="wget -O $HOME/.lava/config/genesis.json https://raw.githubusercontent.com/lavanet/lava-config/main/testnet-1/genesis_json/genesis.json
"><code>wget <span class="hljs-operator">-</span>O $HOME<span class="hljs-operator">/</span>.lava/config<span class="hljs-operator">/</span>genesis.json https:<span class="hljs-comment">//raw.githubusercontent.com/lavanet/lava-config/main/testnet-1/genesis_json/genesis.json</span>
</code></pre><h3 id="h-peerseed" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">设置peer和seed</h3><pre data-type="codeBlock" text="PEERS=&quot;c678ae0fd7b754615e55bba2589a86e60fc8d45c@136.243.88.91:7140,131227f65bbc8f5b86030124fa1610a3283ebcbd@135.181.176.109:26656,6f71395e15c9f9f439df51fc6a667d93a1b7b019@35.162.117.131:26656,2b5d760125c90970ce27f4783a5d70a19534ff61@146.19.24.101:26546,a76af03d79a90992d135750ab945f79f167d6ee4@65.109.139.182:26656,20c13bd0d972acba5588493fb528b558a0317013@38.242.133.203:26656,dabe2e77bd6b9278f484b34956750e9470527ef7@178.18.246.118:26656,84d5e567c179738963bb500b3756c77708dd6039@65.109.6.62:26656,b7c3cedc778d93296f179373c3bc6a521e4b682e@65.109.69.160:30656,013f0163d37428ed99eacd8ee84059da5c243981@5.161.132.217:26656,4f97a7b7d386dc6cc4b4a7239cf76be3c507a1c8@173.212.243.149:26656,4f9120f706512162fbe4f39aac78b9924efbec58@65.109.92.235:11036,f22ea1e7b6d31966259e99177d714cffde27c4bf@152.32.211.182:26656,a47a4e20a5a3357c8137ca1750378eafc0ef41a2@65.109.139.68:26656,5b25ec3860445e50a41a80850970b3241350df72@194.233.90.134:26656,f9190a58670c07f8202abfd9b5b14187b18d755b@144.76.97.251:27656,24a2bb2d06343b0f74ed0a6dc1d409ce0d996451@188.40.98.169:27656,b1223ecc0fdde9d72551b9223f69b5310f870a67@85.208.51.197:26656,c6769331b9e44b91b3eaee4410ab07354665d64b@38.242.253.73:26656,d8900913c64c2d7894d13ba35fe6c3e7c346015a@95.31.224.15:36656,e297d186242569e2b8535742347e14179575723c@84.21.171.22:26658,5d43cfc3a4e1826577ea9bf8491933eac88675ce@85.173.113.198:25656,8a20f8f798c5073f0867812e691f54b5cd0dd65d@109.123.242.188:26656,2c4f3d323e7a3ae44aa638c6932cbba08c9f6b79@95.216.148.144:26656,d2ded0eb8f9a1bcb61af92c8d6a1cf1cbc747847@194.163.180.203:26656,f642b376722d6ce104ffd4c204e78ffe811e16c3@5.75.230.221:26656,433be6210ad6350bebebad68ec50d3e0d90cb305@217.13.223.167:60856,14ae45e7f2ff7491cfa686a8fcac7cc095bc38ff@213.239.217.52:39656,b591ef22e0c2082eb76dcac5ead95be55d01b695@65.109.178.147:26656,13a9209a4d08803a3becac57de8eb02dd51f8f41@65.109.23.114:19956,34a6daa6058fff9f7fd0b5ce19df99e73ea9ba07@185.209.28.156:26656,e593c7a9ca61f5616119d6beb5bd8ef5dd28d62d@34.246.190.1:26656,4e0a2772bb3672e54c2ea655c30abdac62191f14@45.84.138.66:18656,7abba7e72f166f6dae07c1605893aed38b4a79d9@65.109.193.133:26656,27a9aebdcc1bd6a8eb8cbffdd689e565dca14bc2@5.189.149.159:27656,c506970f0ac6e99ba3e1e01da33a39315c8b7aa1@38.242.141.94:26656,5b337f7ba27e2fdd27918be18af93f8728034267@65.108.41.168:26656,887df0564ab6ab74d18c9ae61e6afe6284c04b68@34.235.116.70:26656,0516c4d11552b334a683bdb4410fa22ef7e3f8ba@65.21.239.60:11656,44e1a9ded5d6f3fd89e468d9ce59185bf8d5be6a@35.225.146.131:26656,bb8c8cea499a1fa7e97922b5a9882c2360c6575a@176.103.222.21:26656,904ec45d55abe397e486579338225bd9b60e0d87@145.224.100.127:26656,12d6fc425a5d3c8164b41b6f5ea28168ae56f4ba@178.18.246.21:26656,d3001223151430f204917eb87f86d0bd1e795ebf@161.97.162.6:26656,fb2b9d41678f3d1c9c0bdef1a87f2037b6b0088a@146.19.24.252:26666,810bdfb3e88f4872995f9a05b6298c1bf3d20fe0@65.108.105.48:19956,151cc6fb6d1a4a4c2f76f7eaf43b9ea80d62ec7b@95.214.55.46:22626,6b209fb04491938b4d60b2847340799fbaced19f@38.242.153.36:26656,10b0118f5c1264ac7b9f45931717fef401530867@178.54.78.180:36656,6b430a71c8d9dba0a4f37682b91ece0f95881704@140.82.55.191:26656,778f74673e61d5877825d797f3b1367f286b0e43@35.233.190.66:26656,d3eb474a1f90d004e49638e384069c32d7dcc8a2@185.252.232.110:26656,eaa4852f10b9cf0742d806da64118b9dfde21e90@95.217.118.96:27464,c19965fe8a1ea3391d61d09cf589bca0781d29fd@162.19.217.52:26656,b7274e1274815e898fd52e4724c934820571fb5e@142.132.191.94:16656,a98484ac9cb8235bd6a65cdf7648107e3d14dab4@116.202.231.58:44656,e29a9a0ce82cda1d5632e6cf017145cd503ff60e@208.85.16.224:26656,0a52f0c648962511f6bc26d90f032ac91b8f1b1b@213.136.84.176:10656,606eabe3aaae723445afb8c5c4a8cf87b83716eb@194.146.12.7:26656,de764d94d3eed3ac15c2151b5576dd24de5bec81@38.242.236.179:26656,81161e2942c517e7124a8a29037fa81ce7045421@161.97.113.41:30656,0adbe1e790b58d19cc53a9839059a95d7d5d7aba@65.109.70.23:19956,8024dd3fc948df4577ffac0dd1c44ecb8d9fff03@109.123.240.125:26656,3b3a633e4ad83914a64288dca82f7a7b62536820@65.21.193.112:38656,3a445bfdbe2d0c8ee82461633aa3af31bc2b4dc0@3.252.219.158:26656&quot;
seeds=&quot;&quot;
sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;$PEERS\&quot;/&quot; $HOME/.lava/config/config.toml
sed -i.bak -e &quot;s/^seeds *=.*/seeds = \&quot;$seeds\&quot;/&quot; ~/.lava/config/config.toml
"><code>PEERS=<span class="hljs-string">"c678ae0fd7b754615e55bba2589a86e60fc8d45c@136.243.88.91:7140,131227f65bbc8f5b86030124fa1610a3283ebcbd@135.181.176.109:26656,6f71395e15c9f9f439df51fc6a667d93a1b7b019@35.162.117.131:26656,2b5d760125c90970ce27f4783a5d70a19534ff61@146.19.24.101:26546,a76af03d79a90992d135750ab945f79f167d6ee4@65.109.139.182:26656,20c13bd0d972acba5588493fb528b558a0317013@38.242.133.203:26656,dabe2e77bd6b9278f484b34956750e9470527ef7@178.18.246.118:26656,84d5e567c179738963bb500b3756c77708dd6039@65.109.6.62:26656,b7c3cedc778d93296f179373c3bc6a521e4b682e@65.109.69.160:30656,013f0163d37428ed99eacd8ee84059da5c243981@5.161.132.217:26656,4f97a7b7d386dc6cc4b4a7239cf76be3c507a1c8@173.212.243.149:26656,4f9120f706512162fbe4f39aac78b9924efbec58@65.109.92.235:11036,f22ea1e7b6d31966259e99177d714cffde27c4bf@152.32.211.182:26656,a47a4e20a5a3357c8137ca1750378eafc0ef41a2@65.109.139.68:26656,5b25ec3860445e50a41a80850970b3241350df72@194.233.90.134:26656,f9190a58670c07f8202abfd9b5b14187b18d755b@144.76.97.251:27656,24a2bb2d06343b0f74ed0a6dc1d409ce0d996451@188.40.98.169:27656,b1223ecc0fdde9d72551b9223f69b5310f870a67@85.208.51.197:26656,c6769331b9e44b91b3eaee4410ab07354665d64b@38.242.253.73:26656,d8900913c64c2d7894d13ba35fe6c3e7c346015a@95.31.224.15:36656,e297d186242569e2b8535742347e14179575723c@84.21.171.22:26658,5d43cfc3a4e1826577ea9bf8491933eac88675ce@85.173.113.198:25656,8a20f8f798c5073f0867812e691f54b5cd0dd65d@109.123.242.188:26656,2c4f3d323e7a3ae44aa638c6932cbba08c9f6b79@95.216.148.144:26656,d2ded0eb8f9a1bcb61af92c8d6a1cf1cbc747847@194.163.180.203:26656,f642b376722d6ce104ffd4c204e78ffe811e16c3@5.75.230.221:26656,433be6210ad6350bebebad68ec50d3e0d90cb305@217.13.223.167:60856,14ae45e7f2ff7491cfa686a8fcac7cc095bc38ff@213.239.217.52:39656,b591ef22e0c2082eb76dcac5ead95be55d01b695@65.109.178.147:26656,13a9209a4d08803a3becac57de8eb02dd51f8f41@65.109.23.114:19956,34a6daa6058fff9f7fd0b5ce19df99e73ea9ba07@185.209.28.156:26656,e593c7a9ca61f5616119d6beb5bd8ef5dd28d62d@34.246.190.1:26656,4e0a2772bb3672e54c2ea655c30abdac62191f14@45.84.138.66:18656,7abba7e72f166f6dae07c1605893aed38b4a79d9@65.109.193.133:26656,27a9aebdcc1bd6a8eb8cbffdd689e565dca14bc2@5.189.149.159:27656,c506970f0ac6e99ba3e1e01da33a39315c8b7aa1@38.242.141.94:26656,5b337f7ba27e2fdd27918be18af93f8728034267@65.108.41.168:26656,887df0564ab6ab74d18c9ae61e6afe6284c04b68@34.235.116.70:26656,0516c4d11552b334a683bdb4410fa22ef7e3f8ba@65.21.239.60:11656,44e1a9ded5d6f3fd89e468d9ce59185bf8d5be6a@35.225.146.131:26656,bb8c8cea499a1fa7e97922b5a9882c2360c6575a@176.103.222.21:26656,904ec45d55abe397e486579338225bd9b60e0d87@145.224.100.127:26656,12d6fc425a5d3c8164b41b6f5ea28168ae56f4ba@178.18.246.21:26656,d3001223151430f204917eb87f86d0bd1e795ebf@161.97.162.6:26656,fb2b9d41678f3d1c9c0bdef1a87f2037b6b0088a@146.19.24.252:26666,810bdfb3e88f4872995f9a05b6298c1bf3d20fe0@65.108.105.48:19956,151cc6fb6d1a4a4c2f76f7eaf43b9ea80d62ec7b@95.214.55.46:22626,6b209fb04491938b4d60b2847340799fbaced19f@38.242.153.36:26656,10b0118f5c1264ac7b9f45931717fef401530867@178.54.78.180:36656,6b430a71c8d9dba0a4f37682b91ece0f95881704@140.82.55.191:26656,778f74673e61d5877825d797f3b1367f286b0e43@35.233.190.66:26656,d3eb474a1f90d004e49638e384069c32d7dcc8a2@185.252.232.110:26656,eaa4852f10b9cf0742d806da64118b9dfde21e90@95.217.118.96:27464,c19965fe8a1ea3391d61d09cf589bca0781d29fd@162.19.217.52:26656,b7274e1274815e898fd52e4724c934820571fb5e@142.132.191.94:16656,a98484ac9cb8235bd6a65cdf7648107e3d14dab4@116.202.231.58:44656,e29a9a0ce82cda1d5632e6cf017145cd503ff60e@208.85.16.224:26656,0a52f0c648962511f6bc26d90f032ac91b8f1b1b@213.136.84.176:10656,606eabe3aaae723445afb8c5c4a8cf87b83716eb@194.146.12.7:26656,de764d94d3eed3ac15c2151b5576dd24de5bec81@38.242.236.179:26656,81161e2942c517e7124a8a29037fa81ce7045421@161.97.113.41:30656,0adbe1e790b58d19cc53a9839059a95d7d5d7aba@65.109.70.23:19956,8024dd3fc948df4577ffac0dd1c44ecb8d9fff03@109.123.240.125:26656,3b3a633e4ad83914a64288dca82f7a7b62536820@65.21.193.112:38656,3a445bfdbe2d0c8ee82461633aa3af31bc2b4dc0@3.252.219.158:26656"</span>
seeds=<span class="hljs-string">""</span>
sed -i.bak -e <span class="hljs-string">"s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/"</span> $HOME/.lava/config/config.toml
sed -i.bak -e <span class="hljs-string">"s/^seeds *=.*/seeds = \"$seeds\"/"</span> ~<span class="hljs-regexp">/.lava/</span>config/config.toml
</code></pre><h3 id="h-pruning" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pruning设置</h3><pre data-type="codeBlock" text="pruning=&quot;custom&quot; &amp;&amp; \
pruning_keep_recent=&quot;100&quot; &amp;&amp; \
pruning_keep_every=&quot;0&quot; &amp;&amp; \
pruning_interval=&quot;10&quot; &amp;&amp; \
sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.lava/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.lava/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&quot;$pruning_keep_every\&quot;/&quot; $HOME/.lava/config/app.toml &amp;&amp; \
sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.lava/config/app.toml
"><code>pruning<span class="hljs-operator">=</span><span class="hljs-string">"custom"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_recent<span class="hljs-operator">=</span><span class="hljs-string">"100"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_keep_every<span class="hljs-operator">=</span><span class="hljs-string">"0"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
pruning_interval<span class="hljs-operator">=</span><span class="hljs-string">"10"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning *=.*/pruning = \"$pruning\"/"</span> $HOME<span class="hljs-operator">/</span>.lava/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/"</span> $HOME<span class="hljs-operator">/</span>.lava/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/"</span> $HOME<span class="hljs-operator">/</span>.lava/config<span class="hljs-operator">/</span>app.toml <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sed <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>e <span class="hljs-string">"s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/"</span> $HOME<span class="hljs-operator">/</span>.lava/config<span class="hljs-operator">/</span>app.toml
</code></pre><h3 id="h-snapshot" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载Snapshot</h3><pre data-type="codeBlock" text="cd $HOME
sudo apt install snapd -y
snap install lz4
wget -O lava.tar.lz4 https://snapshot.silentvalidator.com/testnet/lava/lava-2023-02-25T09%3A12.tar.lz4  --inet4-only
lavad tendermint unsafe-reset-all --home $HOME/.lava --keep-addr-book
lz4 -c -d lava.tar.lz4  | tar -x -C $HOME/.lava
"><code>cd $HOME
sudo apt install snapd <span class="hljs-operator">-</span>y
snap install lz4
wget <span class="hljs-operator">-</span>O lava.tar.lz4 https:<span class="hljs-comment">//snapshot.silentvalidator.com/testnet/lava/lava-2023-02-25T09%3A12.tar.lz4  --inet4-only</span>
lavad tendermint unsafe<span class="hljs-operator">-</span>reset<span class="hljs-operator">-</span>all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home $HOME<span class="hljs-operator">/</span>.lava <span class="hljs-operator">-</span><span class="hljs-operator">-</span>keep<span class="hljs-operator">-</span>addr<span class="hljs-operator">-</span>book
lz4 <span class="hljs-operator">-</span>c <span class="hljs-operator">-</span>d lava.tar.lz4  <span class="hljs-operator">|</span> tar <span class="hljs-operator">-</span>x <span class="hljs-operator">-</span>C $HOME<span class="hljs-operator">/</span>.lava
</code></pre><h3 id="h-addrbook" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">下载addrbook</h3><pre data-type="codeBlock" text="wget -O $HOME/.lava/config/addrbook.json https://snapshot.silentvalidator.com/testnet/lava/addrbook.json
"><code>wget <span class="hljs-operator">-</span>O $HOME<span class="hljs-operator">/</span>.lava/config<span class="hljs-operator">/</span>addrbook.json https:<span class="hljs-comment">//snapshot.silentvalidator.com/testnet/lava/addrbook.json</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="sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/lavad.service
[Unit]
Description=lavad daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which lavad) start --home $HOME/.lava
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
"><code>sudo 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>lavad.service
[Unit]
Description<span class="hljs-operator">=</span>lavad 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>$(which lavad) start <span class="hljs-operator">-</span><span class="hljs-operator">-</span>home $HOME<span class="hljs-operator">/</span>.lava
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><span class="hljs-number">10000</span>
[Install]
WantedBy<span class="hljs-operator">=</span>multi<span class="hljs-operator">-</span>user.target
EOF
</code></pre><pre data-type="codeBlock" text="sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable lavad &amp;&amp; \
sudo systemctl start lavad
"><code>sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl enable lavad <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> \
sudo systemctl start lavad
</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="sudo journalctl -u lavad -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u lavad <span class="hljs-operator">-</span>f
</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="curl -s localhost:26657/status | jq .result | jq .sync_info
"><code>curl <span class="hljs-operator">-</span>s localhost:<span class="hljs-number">26657</span><span class="hljs-operator">/</span>status <span class="hljs-operator">|</span> jq .result <span class="hljs-operator">|</span> jq .sync_info
</code></pre><p>其中显示<code> &quot;catching_up&quot;:</code>显示为<code>false</code>即已经同步上。如果一直没有开始同步一般是因为peer不够，可以考虑添加Peer或者使用别人的addrbook。目前Lava 一分钟一个块。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">创建验证人</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="lavad keys add &lt;钱包名&gt;
"><code>lavad keys add <span class="hljs-operator">&#x3C;</span>钱包名<span class="hljs-operator">></span>
</code></pre><p><strong>注意请保存助记词。若不保存，之后将无法恢复。</strong></p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">领取测试币</h3><p>进入Lava discord <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/lavanetxyz">https://discord.gg/lavanetxyz</a></p><p>在 #faucet 频道发送</p><pre data-type="codeBlock" text="$request 你的lava地址 
"><code><span class="hljs-variable">$request</span> 你的lava地址 
</code></pre><p>之后可以用</p><pre data-type="codeBlock" text="lavad query bank balances 你的lava地址
"><code>lavad <span class="hljs-keyword">query</span> bank balances 你的lava地址
</code></pre><p>查询测试币余额。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">创建验证人</h3><p>获取足够测试币，且节点完成同步后，可以创建验证人。只有质押量在前100的验证人才是活跃验证人。本次激励性测试网。验证人不论活跃与否都有奖励。</p><pre data-type="codeBlock" text="daemon=lavad
denom=ulava
moniker=验证人名
chainid=lava-testnet-1
$daemon tx staking create-validator \
    --amount=1000000$denom \
    --pubkey=$($daemon tendermint show-validator) \
    --moniker=$moniker \
    --chain-id=$chainid \
    --commission-rate=0.05 \
    --commission-max-rate=0.2 \
    --commission-max-change-rate=0.1 \
    --min-self-delegation=1000000 \
    --from=钱包名 
"><code>daemon<span class="hljs-operator">=</span>lavad
denom<span class="hljs-operator">=</span>ulava
moniker<span class="hljs-operator">=</span>验证人名
chainid<span class="hljs-operator">=</span>lava<span class="hljs-operator">-</span>testnet<span class="hljs-number">-1</span>
$daemon <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>1000000$denom \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>pubkey<span class="hljs-operator">=</span>$($daemon tendermint show<span class="hljs-operator">-</span>validator) \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span>$moniker \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id<span class="hljs-operator">=</span>$chainid \
    <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>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">.2</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">.1</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span>min<span class="hljs-operator">-</span><span class="hljs-built_in">self</span><span class="hljs-operator">-</span>delegation<span class="hljs-operator">=</span><span class="hljs-number">1000000</span> \
    <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span><span class="hljs-operator">=</span>钱包名 
</code></pre><p>之后可以去区块浏览器 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bd.lavanet.xyz">https://bd.lavanet.xyz</a> 查看你的验证人是否创建成功。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">常用命令</h3><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">服务管理</h4><p>检查日志</p><pre data-type="codeBlock" text="sudo journalctl -u lavad -f
"><code>sudo journalctl <span class="hljs-operator">-</span>u lavad <span class="hljs-operator">-</span>f
</code></pre><p>运行/重启节点</p><pre data-type="codeBlock" text="sudo systemctl restart lavad
"><code></code></pre><p>停止节点</p><pre data-type="codeBlock" text="sudo systemctl stop lavad
"><code>sudo systemctl stop lavad
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">节点信息</h4><p>同步信息</p><pre data-type="codeBlock" text="lavad status 2&gt;&amp;1 | jq .SyncInfo
"><code>lavad status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .SyncInfo
</code></pre><p>验证人信息</p><pre data-type="codeBlock" text="lavad status 2&gt;&amp;1 | jq .ValidatorInfo
"><code>lavad status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .ValidatorInfo
</code></pre><p>节点信息</p><pre data-type="codeBlock" text="lavad status 2&gt;&amp;1 | jq .NodeInfo
"><code>lavad status <span class="hljs-number">2</span><span class="hljs-operator">></span><span class="hljs-operator">&#x26;</span><span class="hljs-number">1</span> <span class="hljs-operator">|</span> jq .NodeInfo
</code></pre><p>获取node id</p><pre data-type="codeBlock" text="lavad tendermint show-node-id
"><code>lavad tendermint show<span class="hljs-operator">-</span>node<span class="hljs-operator">-</span>id
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">钱包操作</h4><p>显示所有钱包</p><pre data-type="codeBlock" text="lavad keys list
"><code>lavad <span class="hljs-keyword">keys</span> list
</code></pre><p>恢复钱包</p><pre data-type="codeBlock" text="lavad keys add &lt;你的钱包名&gt; --recover
"><code>lavad keys add <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>recover
</code></pre><p>删除钱包</p><pre data-type="codeBlock" text="lavad keys delete &lt;你的钱包名&gt;
"><code>lavad keys <span class="hljs-keyword">delete</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span>
</code></pre><p>查询余额</p><pre data-type="codeBlock" text="lavad query bank balances &lt;lava地址&gt;
"><code>lavad query bank balances <span class="hljs-operator">&#x3C;</span>lava地址<span class="hljs-operator">></span>
</code></pre><p>发送代币</p><pre data-type="codeBlock" text="lavad tx bank send &lt;你的钱包名&gt; &lt;接收者lava地址&gt; 数量ulava --from &lt;你的钱包名&gt; --chain-id lava-testnet-1 -y
"><code>lavad <span class="hljs-built_in">tx</span> bank send <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>接收者lava地址<span class="hljs-operator">></span> 数量ulava <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id lava<span class="hljs-operator">-</span>testnet<span class="hljs-number">-1</span> <span class="hljs-operator">-</span>y
</code></pre><p><strong>注意：1lava=1000000ulava</strong></p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">投票</h4><pre data-type="codeBlock" text="lavad tx gov vote &lt;提案编号&gt; &lt;投票选项&gt; --from &lt;你的钱包名&gt; --chain-id lava-testnet-1 -y
"><code>lavad <span class="hljs-built_in">tx</span> gov vote <span class="hljs-operator">&#x3C;</span>提案编号<span class="hljs-operator">></span> <span class="hljs-operator">&#x3C;</span>投票选项<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>chain<span class="hljs-operator">-</span>id lava<span class="hljs-operator">-</span>testnet<span class="hljs-number">-1</span> <span class="hljs-operator">-</span>y
</code></pre><p>投票选项包括yes/no/no_with_veto/abstain。大部分情况我们投yes就好。</p><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">质押，提取奖励</h4><p>质押</p><pre data-type="codeBlock" text="lavad tx staking delegate &lt;你要质押的验证人地址&gt; 数量ulava --from &lt;你的钱包名&gt; -y
"><code>lavad <span class="hljs-built_in">tx</span> staking delegate <span class="hljs-operator">&#x3C;</span>你要质押的验证人地址<span class="hljs-operator">></span> 数量ulava <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y
</code></pre><p>注：验证人地址为lava@valoper开头，可以去区块浏览器<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bd.lavanet.xyz/">https://bd.lavanet.xyz/</a> 找或者<code>lavad debug addr &lt;钱包地址&gt;</code></p><p>解除质押</p><pre data-type="codeBlock" text="lavad tx staking unbond &lt;你要解除质押的验证人地址&gt; 数量ulava --from &lt;你的钱包名&gt; -y
"><code>lavad <span class="hljs-built_in">tx</span> staking unbond <span class="hljs-operator">&#x3C;</span>你要解除质押的验证人地址<span class="hljs-operator">></span> 数量ulava <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y
</code></pre><p>提取质押奖励和验证人佣金</p><pre data-type="codeBlock" text="lavad tx distribution withdraw-rewards &lt;你的验证人地址&gt; --commission --from &lt;你的钱包名&gt; -y
"><code>lavad <span class="hljs-built_in">tx</span> distribution withdraw<span class="hljs-operator">-</span>rewards <span class="hljs-operator">&#x3C;</span>你的验证人地址<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>commission <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y
</code></pre><p>提取所有奖励</p><pre data-type="codeBlock" text="lavad tx distribution withdraw-all-rewards --from=&lt;你的钱包名&gt; -y
"><code>lavad <span class="hljs-built_in">tx</span> distribution withdraw<span class="hljs-operator">-</span>all<span class="hljs-operator">-</span>rewards <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>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y
</code></pre><h4 id="h-" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">验证人管理</h4><p>修改验证人信息</p><pre data-type="codeBlock" text="lavad tx staking edit-validator \
  --moniker=&lt;节点名&gt; \
  --identity=&lt;你的keybase id&gt; \
  --website=&quot;&lt;你的网站&gt;&quot; \
  --details=&quot;&lt;你的验证人描述&gt;&quot; \
  --from=&lt;你的钱包名&gt;
"><code>lavad <span class="hljs-built_in">tx</span> staking edit<span class="hljs-operator">-</span>validator \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>moniker<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>节点名<span class="hljs-operator">></span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>identity<span class="hljs-operator">=</span><span class="hljs-operator">&#x3C;</span>你的keybase id<span class="hljs-operator">></span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>website<span class="hljs-operator">=</span><span class="hljs-string">"&#x3C;你的网站>"</span> \
  <span class="hljs-operator">-</span><span class="hljs-operator">-</span>details<span class="hljs-operator">=</span><span class="hljs-string">"&#x3C;你的验证人描述>"</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>你的钱包名<span class="hljs-operator">></span>
</code></pre><p>假如你想在区块浏览器显示你的验证人logo。需要注册一个keybase账号，上传logo。在验证人信息中设置<code>--identity=&lt;你的keybase id&gt;</code>，区块链浏览器中就会显示你的keybase logo作为验证人logo。</p><p>Unjail</p><pre data-type="codeBlock" text="lavad tx slashing unjail --from &lt;你的钱包名&gt; -y   
"><code>lavad <span class="hljs-built_in">tx</span> slashing unjail <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">from</span> <span class="hljs-operator">&#x3C;</span>你的钱包名<span class="hljs-operator">></span> <span class="hljs-operator">-</span>y   
</code></pre><h2 id="h-httpssilentvalidatorcom" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">欢迎关注 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://silentvalidator.com">https://silentvalidator.com</a></h2>]]></content:encoded>
            <author>exploring@newsletter.paragraph.com (Silent ⚛| validator)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/9880378edae6d0100f71f0925d0f6c10d680a84aeac41884c78d1bf62a3dec22.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>