<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>奈何</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://naihemy.top/</id>
  <link href="https://naihemy.top/" rel="alternate"/>
  <link href="https://naihemy.top/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, 奈何</rights>
  <subtitle>热爱编程，拥抱美好世界</subtitle>
  <title>奈何 の Coding 小窝</title>
  <updated>2024-07-28T10:51:04.848Z</updated>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<p>​今天学习的时候在执行update更新软件包时遇到了此问题：E: <a href="http://cn.archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease">http://cn.archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease</a> 的 Release 文件已经过期(已经过期了 247天 21小时 33分 15秒)。该仓库的更新将不会应用，如图</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407281839714.png" alt="image-20240728183851776"></p><p>​这个报错之前其实经常遇到，但是一直没有整合记录，这次特地整理记录一下</p><p>​这个错误提示表明系统中的软件源列表中有几个仓库的 Release 文件已经过期。Release 文件包含了软件包索引和版本信息，过期的 Release 文件意味着系统无法从这些仓库获取更新的软件包信息。其实也就是你的软件源过期了，需要更新一下，但是由于apt-get update命令会自动更新，于是问题就显得无从下手，直到我看见了这个。</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407281846423.png" alt="image-20240728184637250"></p><p>​现在这里的日期和时间都对着，但是问题发生时的时间为2023年，此时我才明白，是因为我虚拟机快照恢复的原因，导致时间回到了2023年，将自动设置日期和时间取消勾选再重新勾选后，再次执行apt-get update，发现软件源更新成功。</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407281850608.png" alt="image-20240728185040427"></p>]]>
    </content>
    <id>https://naihemy.top/2024/07/28/%E3%80%90Linux%E3%80%91Ubuntu%E8%A7%A3%E5%86%B3Release%20%E6%96%87%E4%BB%B6%E5%B7%B2%E7%BB%8F%E8%BF%87%E6%9C%9F%E9%97%AE%E9%A2%98/</id>
    <link href="https://naihemy.top/2024/07/28/%E3%80%90Linux%E3%80%91Ubuntu%E8%A7%A3%E5%86%B3Release%20%E6%96%87%E4%BB%B6%E5%B7%B2%E7%BB%8F%E8%BF%87%E6%9C%9F%E9%97%AE%E9%A2%98/"/>
    <published>2024-07-28T11:42:19.000Z</published>
    <summary>
      <![CDATA[<p>​	今天学习的时候在执行update更新软件包时遇到了此问题：E: <a href="http://cn.archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease">http://cn.archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease</a> 的 Release]]>
    </summary>
    <title>【Linux】Ubuntu解决Release 文件已经过期问题</title>
    <updated>2024-07-28T10:51:04.848Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<h2 id="一、反向代理"><a href="#一、反向代理" class="headerlink" title="一、反向代理"></a>一、反向代理</h2><p>配置文件位置：nginx&#x2F;conf&#x2F;nginx.conf</p><p>配置方式：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">location /api/ &#123;</span><br><span class="line">proxy_pass   http://localhost:8080/admin/;</span><br><span class="line">        &#125;</span><br></pre></td></tr></table></figure><p>如上段代码，通过反向代理，将包含api的请求全部发送到后端对应的地址：<a href="http://localhost:8080/admin/">http://localhost:8080/admin/</a></p><p>我们也可以把后端对应的ip地址和端口号改为webservers,这样可以方便我们配置负载均衡。</p><h2 id="二、负载均衡"><a href="#二、负载均衡" class="headerlink" title="二、负载均衡"></a>二、负载均衡</h2><p>配置方式：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">upstream webservers&#123;</span><br><span class="line">  server 192.168.200.135:8080 weight=90 ;</span><br><span class="line">  server 192.168.200.137:8088 weight=10 ;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>后面的weight是计算的权重，通过权重值将前端的请求向不同的后端发送</p><p>除了权重配置负载均衡，还有其他方式：</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121104636.png" alt="image-20240301160404229"></p>]]>
    </content>
    <id>https://naihemy.top/2024/07/12/%E3%80%90Nginx%E3%80%91%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%92%8C%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%9A%84%E9%85%8D%E7%BD%AE/</id>
    <link href="https://naihemy.top/2024/07/12/%E3%80%90Nginx%E3%80%91%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%92%8C%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%9A%84%E9%85%8D%E7%BD%AE/"/>
    <published>2024-07-11T16:05:23.000Z</published>
    <summary>
      <![CDATA[<h2 id="一、反向代理"><a href="#一、反向代理" class="headerlink" title="一、反向代理"></a>一、反向代理</h2><p>配置文件位置：nginx&#x2F;conf&#x2F;nginx.conf</p>
<p>配置方式：</p>
<figure class="highlight plaintext"><table><tr><td]]>
    </summary>
    <title>【Nginx】反向代理和负载均衡的配置</title>
    <updated>2024-07-12T09:08:41.150Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;要在Ubuntu上配置SSH服务，首先安装ssh-server</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo apt install openssh-server</span><br></pre></td></tr></table></figure><p>&nbsp; &nbsp; &nbsp; &nbsp; 安装完成后，可以检查一下是否安装成功</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status ssh</span><br></pre></td></tr></table></figure><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">vim /etc/ssh/sshd_config</span><br></pre></td></tr></table></figure><p>&nbsp; &nbsp; &nbsp; &nbsp; 此时ubuntu就可以被远程连接工具连接了，如果我们想配置关于SCP服务允许传输root用户的文件，需要修改以下配置文件</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">vim /etc/ssh/sshd_config</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121645327.png"></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;修改后重启ssh服务，即可发送root用户的文件</p>]]>
    </content>
    <id>https://naihemy.top/2023/12/02/%E3%80%90Linux%E3%80%91Ubuntu%E9%85%8D%E7%BD%AESSH%E6%9C%8D%E5%8A%A1/</id>
    <link href="https://naihemy.top/2023/12/02/%E3%80%90Linux%E3%80%91Ubuntu%E9%85%8D%E7%BD%AESSH%E6%9C%8D%E5%8A%A1/"/>
    <published>2023-12-02T12:08:33.000Z</published>
    <summary>
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;要在Ubuntu上配置SSH服务，首先安装ssh-server</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td]]>
    </summary>
    <title>【Linux】Ubuntu配置SSH服务</title>
    <updated>2024-07-12T08:45:20.215Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<p>在Ubuntu中，默认情况下是禁用了root用户的登录。如果仍然想要启用root用户，并设置root用户的密码，应按照以下步骤进行操作：</p><p>一、输入sudo passwd root设置root用户密码</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121100975.png"></p><p>二、切换root用户</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo -i</span><br><span class="line">su root</span><br></pre></td></tr></table></figure><p>这两条命令均可却换至root用户</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121100976.png"></p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121100977.png"></p>]]>
    </content>
    <id>https://naihemy.top/2023/12/02/%E3%80%90Linux%E3%80%91Ubuntu%E6%B7%BB%E5%8A%A0root%E7%94%A8%E6%88%B7/</id>
    <link href="https://naihemy.top/2023/12/02/%E3%80%90Linux%E3%80%91Ubuntu%E6%B7%BB%E5%8A%A0root%E7%94%A8%E6%88%B7/"/>
    <published>2023-12-02T08:15:38.000Z</published>
    <summary>
      <![CDATA[<p>在Ubuntu中，默认情况下是禁用了root用户的登录。如果仍然想要启用root用户，并设置root用户的密码，应按照以下步骤进行操作：</p>
<p>一、输入sudo passwd root设置root用户密码</p>
<p><img]]>
    </summary>
    <title>【Linux】Ubuntu添加root用户</title>
    <updated>2024-07-12T07:53:50.265Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有关tree命令，我们只知道它可以将文件目录以树状图的形式展示，但其实还有很多有意思的功能可以使用。</p><h2 id="一、tree命令的安装"><a href="#一、tree命令的安装" class="headerlink" title="一、tree命令的安装"></a>一、tree命令的安装</h2><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;各linux版本不同，但软件包名字就叫tree，直接安装即可</p><p>ubuntu：</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt install tree</span><br></pre></td></tr></table></figure><p>centos：</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum install tree</span><br></pre></td></tr></table></figure><h2 id="二、独特技巧"><a href="#二、独特技巧" class="headerlink" title="二、独特技巧"></a>二、独特技巧</h2><h3 id="1-指定目录深度"><a href="#1-指定目录深度" class="headerlink" title="1.指定目录深度"></a>1.指定目录深度</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过使用-L标志，你可以指定你想要查看的目录的深度。例如，tree -L 2将只显示两层的目录结构。可以避免目录过深的文件影响查阅。</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121654766.png"></p><h3 id="2-按文件大小排序："><a href="#2-按文件大小排序：" class="headerlink" title="2.按文件大小排序："></a>2.按文件大小排序：</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tree可以按文件大小进行排序。你可以使用-s标志来实现这个功能。例如，tree -s将按文件大小排序结果。</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121654767.png"></p><h3 id="3-显示隐藏文件："><a href="#3-显示隐藏文件：" class="headerlink" title="3.显示隐藏文件："></a>3.显示隐藏文件：</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;默认情况下，tree不显示隐藏文件（即以.开头的文件）。如果你想要查看隐藏文件，可以使用-a标志。例如，tree -a将显示所有文件，包括隐藏文件。</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121654768.png"></p><h3 id="4-按修改时间排序-："><a href="#4-按修改时间排序-：" class="headerlink" title="4.按修改时间排序 ："></a>4.按修改时间排序 ：</h3><p>&nbsp; &nbsp; &nbsp; &nbsp; 找不到刚修改过的文件？使用-t标志，你可以按照文件或目录的最后修改时间进行排序。</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121654769.png"></p>]]>
    </content>
    <id>https://naihemy.top/2023/11/10/%E3%80%90Linux%E3%80%91tree%E5%91%BD%E4%BB%A4%E7%9A%84%E7%8B%AC%E7%89%B9%E7%94%A8%E6%B3%95/</id>
    <link href="https://naihemy.top/2023/11/10/%E3%80%90Linux%E3%80%91tree%E5%91%BD%E4%BB%A4%E7%9A%84%E7%8B%AC%E7%89%B9%E7%94%A8%E6%B3%95/"/>
    <published>2023-11-10T15:42:19.000Z</published>
    <summary>
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有关tree命令，我们只知道它可以将文件目录以树状图的形式展示，但其实还有很多有意思的功能可以使用。</p>
<h2 id="一、tree命令的安装"><a href="#一、tree命令的安装" class="headerlink"]]>
    </summary>
    <title>【Linux】tree命令的独特用法</title>
    <updated>2024-07-12T08:55:47.309Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Truffle" scheme="https://naihemy.top/tags/Truffle/"/>
    <category term="solidity" scheme="https://naihemy.top/tags/solidity/"/>
    <category term="智能合约" scheme="https://naihemy.top/tags/%E6%99%BA%E8%83%BD%E5%90%88%E7%BA%A6/"/>
    <category term="测试" scheme="https://naihemy.top/tags/%E6%B5%8B%E8%AF%95/"/>
    <content>
      <![CDATA[<h2 id="一、准备测试"><a href="#一、准备测试" class="headerlink" title="一、准备测试"></a>一、准备测试</h2><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上期我们自己安装部署了truffle，并且体验了测试用例的整个测试流程，实际开发中，我们可以对自己的合约进行测试。</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 我们首先先明白自定义合约测试需要几个文件</p><ul><li>合约文件：既然要测试合约，肯定要有合约的源码文件，以.sol后缀结尾 </li><li>部署文件：测试合约要写一份部署文件，用于在测试中部署合约，以.js后缀结尾 </li><li>测试文件：测试合约的流程文件，用于对合约的方法流程进行测试，以.js后缀结尾</li></ul><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;合约文件的话，我们写一个最简单的合约用来测试,合约中定义了一个名为”number” 的无符号整数变量,通过调用 store() 函数，可以将一个无符号整数值存储到 “number” 变量中。然后，可以通过调用 retrieve() 函数来获取存储在 “number” 变量中的值。</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// SPDX-License-Identifier: GPL-3.0</span></span><br><span class="line"></span><br><span class="line">pragma solidity &gt;=<span class="number">0.8</span><span class="number">.2</span> &lt;<span class="number">0.9</span><span class="number">.0</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@title</span> Storage</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@dev</span> Store &amp; retrieve value in a variable</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@custom</span>:dev-run-script ./scripts/deploy_with_ethers.ts</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">contract Storage &#123;</span><br><span class="line"></span><br><span class="line">    uint256 number;</span><br><span class="line"></span><br><span class="line">    <span class="comment">/**</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@dev</span> Store value in variable</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@param</span> num value to store</span></span><br><span class="line"><span class="comment">     */</span></span><br><span class="line">    function <span class="title function_">store</span><span class="params">(uint256 num)</span> <span class="keyword">public</span> &#123;</span><br><span class="line">        number = num;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="comment">/**</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@dev</span> Return value </span></span><br><span class="line"><span class="comment">     * <span class="doctag">@return</span> value of &#x27;number&#x27;</span></span><br><span class="line"><span class="comment">     */</span></span><br><span class="line">    function <span class="title function_">retrieve</span><span class="params">()</span> <span class="keyword">public</span> view <span class="title function_">returns</span> <span class="params">(uint256)</span>&#123;</span><br><span class="line">        <span class="keyword">return</span> number;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>&nbsp; &nbsp; &nbsp; &nbsp; 我们把它存放到工作目录中的contracts目录下，命名为storage.sol</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 部署文件，固定的格式，可以参考之前下载的测试用例修改一下即可</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="type">const</span> <span class="variable">Storage</span> <span class="operator">=</span> artifacts.require(<span class="string">&quot;Storage&quot;</span>);</span><br><span class="line"></span><br><span class="line"><span class="keyword">module</span>.<span class="keyword">exports</span> = function (deployer) &#123;</span><br><span class="line">  deployer.deploy(Storage);</span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure><p>&nbsp; &nbsp; &nbsp; &nbsp; 我们把它存放在migrations目录下，命名为1_deploy_contracts.js</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后是测试文件，因为这个合约只有两个方法，所以我们两个方法都要进行测试，测试用例命名为Storage_test.js</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"><span class="type">var</span> <span class="variable">code</span> <span class="operator">=</span> <span class="string">&quot;60ca67ec-d345-407d-8df7-fa688e0bfd63&quot;</span></span><br><span class="line"><span class="type">const</span> <span class="variable">Storage</span> <span class="operator">=</span> artifacts.require(<span class="string">&quot;Storage&quot;</span>);</span><br><span class="line"></span><br><span class="line">contract(<span class="string">&quot;Storage&quot;</span>, (accounts) =&gt; &#123;</span><br><span class="line">  let storageInstance;</span><br><span class="line"></span><br><span class="line">  before(async () =&gt; &#123;</span><br><span class="line">    storageInstance = await Storage.deployed();</span><br><span class="line">  &#125;);</span><br><span class="line"></span><br><span class="line">  it(<span class="string">&quot;should store a value&quot;</span>, async () =&gt; &#123;</span><br><span class="line">    <span class="type">const</span> <span class="variable">newValue</span> <span class="operator">=</span> <span class="number">42</span>;</span><br><span class="line">    await storageInstance.store(newValue);</span><br><span class="line">    <span class="type">const</span> <span class="variable">storedValue</span> <span class="operator">=</span> await storageInstance.retrieve();</span><br><span class="line">    <span class="keyword">assert</span>.equal(storedValue, newValue, <span class="string">&quot;Value was not stored correctly&quot;</span>);</span><br><span class="line">  &#125;);</span><br><span class="line"></span><br><span class="line">  it(<span class="string">&quot;should retrieve the stored value&quot;</span>, async () =&gt; &#123; </span><br><span class="line">    <span class="type">const</span> <span class="variable">storedValue</span> <span class="operator">=</span> await storageInstance.retrieve();</span><br><span class="line">    <span class="keyword">assert</span>.equal(storedValue, <span class="number">42</span>, <span class="string">&quot;Stored value is incorrect&quot;</span>);</span><br><span class="line">  &#125;);</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后的目录结构是这样的:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407182123042.png"></p><h2 id="二、开始测试："><a href="#二、开始测试：" class="headerlink" title="二、开始测试："></a>二、开始测试：</h2><p>&nbsp; &nbsp; &nbsp; &nbsp; 和之前测试用例的测试方法一样，我们已经配置好了文件位置，现在可以开始测试啦</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 测试流程为：truffle develop(启用测试网络)&nbsp;&#x3D;&gt; compile(编译合约) &#x3D;&gt; migrate(部署合约) &#x3D;&gt; test(测试合约)</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">truffle develop</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407182125983.png"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">compile</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407182125974.png"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">migrate</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407182126430.png"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">test</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407182126858.png">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;测试成功，我们看到，测试文档里的两个方法都通过了，至此，我们完成了自定义合约测试的整体流程。</p>]]>
    </content>
    <id>https://naihemy.top/2023/10/29/%E3%80%90Truffle%E3%80%91%E4%BA%8C%E3%80%81%E8%87%AA%E5%AE%9A%E4%B9%89%E5%90%88%E7%BA%A6%E6%B5%8B%E8%AF%95/</id>
    <link href="https://naihemy.top/2023/10/29/%E3%80%90Truffle%E3%80%91%E4%BA%8C%E3%80%81%E8%87%AA%E5%AE%9A%E4%B9%89%E5%90%88%E7%BA%A6%E6%B5%8B%E8%AF%95/"/>
    <published>2023-10-29T15:35:45.000Z</published>
    <summary>
      <![CDATA[<h2 id="一、准备测试"><a href="#一、准备测试" class="headerlink"]]>
    </summary>
    <title>【Truffle】二、自定义合约测试</title>
    <updated>2024-07-18T13:26:56.096Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Truffle" scheme="https://naihemy.top/tags/Truffle/"/>
    <category term="solidity" scheme="https://naihemy.top/tags/solidity/"/>
    <category term="智能合约" scheme="https://naihemy.top/tags/%E6%99%BA%E8%83%BD%E5%90%88%E7%BA%A6/"/>
    <category term="测试" scheme="https://naihemy.top/tags/%E6%B5%8B%E8%AF%95/"/>
    <content>
      <![CDATA[<h2 id="一、准备安装"><a href="#一、准备安装" class="headerlink" title="一、准备安装"></a>一、准备安装</h2><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;安装truffle必须要提前配置Nodejs环境，关于Nodejs的配置，我在之前的文章中提到过版本管理方式，屡试不爽，移步这里查看： <a href="https://blog.csdn.net/naihe_fish/article/details/134027523?spm=1001.2014.3001.5501">【Linux】Ubuntu升级nodejs版本-CSDN博客</a></p><p>&nbsp; &nbsp; &nbsp; &nbsp; 需要注意的是，nodejs的版本在官方文档的要求是&nbsp;v8.9.4 或 之后的版本，然而在实际安装部署Truffle时，尽量建议大家选择更高的版本，避免出现下图的问题！</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172010724.png"></p><h2 id="二、安装truffle"><a href="#二、安装truffle" class="headerlink" title="二、安装truffle"></a>二、安装truffle</h2><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里我就以nodejs的20版本为例，开始安装Truffle</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 确定环境准备完成后，执行下面这条命令安装Truffle</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install -g truffle</span><br></pre></td></tr></table></figure><p>&nbsp; &nbsp; &nbsp; &nbsp; 安装完成后&nbsp;，我们便可以创建工程啦</p><h2 id="三、创建-Truffle-项目工程"><a href="#三、创建-Truffle-项目工程" class="headerlink" title="三、创建 Truffle 项目工程"></a>三、创建 Truffle 项目工程</h2><h4 id="1-为-Truffle-项目创建新目录："><a href="#1-为-Truffle-项目创建新目录：" class="headerlink" title="1.为 Truffle 项目创建新目录："></a>1.为 Truffle 项目创建新目录：</h4><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">mkdir MetaCoin</span><br><span class="line">cd MetaCoin</span><br></pre></td></tr></table></figure><h4 id="2-下载-“unbox”-MetaCoin-box"><a href="#2-下载-“unbox”-MetaCoin-box" class="headerlink" title="2.下载 (“unbox”) MetaCoin box:"></a>2.下载 (“unbox”) MetaCoin box:</h4><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">truffle unbox metacoin</span><br></pre></td></tr></table></figure><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;这里是下载官方提供的一个合约工程，我们在后期熟练之后可以直接运行truffle init创建一个空的工程</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172011374.png"></p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;这里如果下载失败了就直接运行此命令，下载的样例代码一样</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git clone https:<span class="comment">//github.com/truffle-box/metacoin-box.git</span></span><br></pre></td></tr></table></figure><p>在操作完成之后，就有这样的一个项目目录结构：</p><ul><li>contracts&#x2F;: 智能合约的存放目录  </li><li>migrations&#x2F;: 部署脚本目录  </li><li>test&#x2F;: 测试脚本目录  </li><li>truffle-config.js: Truffle配置文件</li></ul><h2 id="四、项目分析"><a href="#四、项目分析" class="headerlink" title="四、项目分析"></a>四、项目分析</h2><p>&nbsp; &nbsp; &nbsp; &nbsp; 我们下载的这个测试用例，已经是一个比较完整的项目体系了，接下来我们对这个项目结构进行分析</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172012900.png"></p><ul><li>contracts：此目录存放所有需要测试的智能合约，一共有两个合约 </li><li>migrantions：此目录存放了一个部署合约脚本 </li><li>test：目录下存放了测试合约的脚本 </li><li>truffle-config.js：truffle的配置文件，可以修改一些基本信息，也可以引入第三方插件</li></ul><h2 id="五、测试合约"><a href="#五、测试合约" class="headerlink" title="五、测试合约"></a>五、测试合约</h2><p>&nbsp; &nbsp; &nbsp; &nbsp; 正常的流程为：truffle develop(启用测试网络)&nbsp;&#x3D;&gt; compile(编译合约) &#x3D;&gt; migrate(部署合约) &#x3D;&gt; test(测试合约)</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 我们依次执行命令</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">truffle develop</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172014436.png"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">compile</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172014437.png"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">migrate</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172014434.png"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">test </span><br></pre></td></tr></table></figure><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;直接运行test是执行所有测试脚本</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407172014435.png"></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;测试全部通过 ，至此，合约测试结束</p>]]>
    </content>
    <id>https://naihemy.top/2023/10/27/%E3%80%90Truffle%E3%80%91%E4%B8%80%E3%80%81Truffle%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E9%83%A8%E7%BD%B2/</id>
    <link href="https://naihemy.top/2023/10/27/%E3%80%90Truffle%E3%80%91%E4%B8%80%E3%80%81Truffle%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E9%83%A8%E7%BD%B2/"/>
    <published>2023-10-27T15:46:15.000Z</published>
    <summary>
      <![CDATA[<h2 id="一、准备安装"><a href="#一、准备安装" class="headerlink"]]>
    </summary>
    <title>【Truffle】一、Truffle的安装与部署</title>
    <updated>2024-07-17T12:32:47.118Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<p>今天在运行apt-get update更新后，突然发现安装新的软件出现了这个报错：正在等待缓存锁：无法获得锁 &#x2F;var&#x2F;lib&#x2F;dpkg&#x2F;lock-frontend。锁正由进程 1855（unattended-upgr）持有。如图。<img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121640448.png"></p><p>这个错误通常是由于其他进程正在使用APT<a href="https://so.csdn.net/so/search?q=%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8&spm=1001.2101.3001.7020">包管理器</a>而导致的。在你的情况下，进程1855（unattended-upgr）正在持有APT的锁。这是因为系统正在进行软件更新或升级。在进行这些操作时，APT会锁定相关文件以防止多个进程同时修改它们，以确保系统的稳定性和一致性。</p><p>所以一共有以下几种方法：</p><p>1.等待一会即可：让进程1855完成其任务并释放APT锁。然后再次尝试安装，就在我写完这篇博客时，我再次安装发现已经没有问题了…</p><p>2.<a href="https://so.csdn.net/so/search?q=%E6%9D%80%E6%AD%BB%E8%BF%9B%E7%A8%8B&spm=1001.2101.3001.7020">杀死进程</a>1855：sudo kill 1855。简单粗暴的方法…</p><p>3.清除锁文件：手动清除，手动清除APT的锁文件。运行以下命令</p><pre><code>sudo rm /var/lib/dpkg/lock-frontendsudo rm /var/cache/apt/archives/lock</code></pre><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121644607.png"></p>]]>
    </content>
    <id>https://naihemy.top/2023/10/27/%E3%80%90Linux%E3%80%91%E8%A7%A3%E5%86%B3%E7%BC%93%E5%AD%98%E9%94%81%E9%97%AE%E9%A2%98%EF%BC%9A%E6%97%A0%E6%B3%95%E8%8E%B7%E5%BE%97%E9%94%81lock-frontend/</id>
    <link href="https://naihemy.top/2023/10/27/%E3%80%90Linux%E3%80%91%E8%A7%A3%E5%86%B3%E7%BC%93%E5%AD%98%E9%94%81%E9%97%AE%E9%A2%98%EF%BC%9A%E6%97%A0%E6%B3%95%E8%8E%B7%E5%BE%97%E9%94%81lock-frontend/"/>
    <published>2023-10-27T13:47:02.000Z</published>
    <summary>
      <![CDATA[<p>今天在运行apt-get update更新后，突然发现安装新的软件出现了这个报错：正在等待缓存锁：无法获得锁 &#x2F;var&#x2F;lib&#x2F;dpkg&#x2F;lock-frontend。锁正由进程 1855（unattended-upgr）持有。如图。<img]]>
    </summary>
    <title>【Linux】解决缓存锁问题：无法获得锁 /var/lib/dpkg/lock-frontend</title>
    <updated>2024-07-12T08:44:21.209Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <category term="服务器" scheme="https://naihemy.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <category term="node.js" scheme="https://naihemy.top/tags/node-js/"/>
    <content>
      <![CDATA[<p>&nbsp; &nbsp; &nbsp; &nbsp; 在下载nvm对nodejs版本进行管理时，由于网络因素一直下载失败，于是采用了新的方法对nodejs版本进行升级。</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 首先我们先查询一下现存的nodejs版本号，发现是12</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121646171.png"></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们下载一个名为n的软件包，n 是一个非常方便的 Node.js 版本管理工具，类似于 Ruby 的 rvm 或 Python 的 pyenv。它可以帮助你在同一台机器上轻松切换和管理多个 Node.js 版本。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在下载n之前，我们需要安装npm。</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo apt install npm</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121647183.png"></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;安装时若出现此问题，只需运行apt-get update更新软件包后重新安装即可&nbsp;</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121650463.png"></p><p>&nbsp; &nbsp; &nbsp; &nbsp; 现在安装n&nbsp;</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo npm install n -g</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121647141.png"></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;安装完成后，我们可以对nodejs版本进行管理</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># 升级到最新的稳定版本</span><br><span class="line">sudo n stable</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121648433.png"></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自动为我安装了node-v20.9.0版本</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 安装完成后如果显示仍然为之前版本，使用hash -r后再次查询即可<img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121648602.png"></p><p>&nbsp; &nbsp; &nbsp; &nbsp; 当然也可以自己选择版本安装，比如我想安装一个远古版本的nodejs8.17.0</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo n <span class="number">8</span></span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202407121648603.png"></p>]]>
    </content>
    <id>https://naihemy.top/2023/10/25/%E3%80%90Linux%E3%80%91Ubuntu%E5%8D%87%E7%BA%A7nodejs%E7%89%88%E6%9C%AC/</id>
    <link href="https://naihemy.top/2023/10/25/%E3%80%90Linux%E3%80%91Ubuntu%E5%8D%87%E7%BA%A7nodejs%E7%89%88%E6%9C%AC/"/>
    <published>2023-10-25T01:59:01.000Z</published>
    <summary>
      <![CDATA[<p>&nbsp; &nbsp; &nbsp; &nbsp; 在下载nvm对nodejs版本进行管理时，由于网络因素一直下载失败，于是采用了新的方法对nodejs版本进行升级。</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; 首先我们先查询一下现存的nodejs版本号，发现是12</p>
<p><img]]>
    </summary>
    <title>【Linux】Ubuntu升级nodejs版本</title>
    <updated>2024-07-12T08:52:35.624Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进行一键部署前必须完成对pymysql的部署，这里列举了一些实际部署可能会遇到的问题，以便大家参考交流。</p><p>Ubuntu安装pymysql：</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo apt-get install -y python3-pip</span><br><span class="line">sudo pip3 install PyMySQL</span><br></pre></td></tr></table></figure><p>问题：&nbsp;</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201105336.png" alt="image-20250320110424625"></p><p>&nbsp;E: 无法下载 <a href="http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_5.15.0-71.78_amd64.deb">http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_5.15.0-71.78_amd64.deb</a> &nbsp;404 &nbsp;Not Found [IP: 91.189.91.38 80] E: 有几个软件包无法下载，要不运行 apt-get update 或者加上 –fix-missing 的选项再试试？ sudo: pip3：找不到命令</p><p>根据提示运行 apt-get update 命令：</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201105735.png" alt="image-20250320110433837"></p><p>诶嘿，要sudo哦</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201105147.png" alt="image-20250320110447669">&nbsp;</p><p>完成后使用 sudo pip3 install PyMySQL 命令继续安装</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201105214.png" alt="image-20250320110509279"></p><p>安装成功~&nbsp;</p>]]>
    </content>
    <id>https://naihemy.top/2023/05/18/%E3%80%90FISCO-BCOS%E3%80%91%E5%8D%81%E3%80%81ubuntu%E5%AE%89%E8%A3%85pymysql/</id>
    <link href="https://naihemy.top/2023/05/18/%E3%80%90FISCO-BCOS%E3%80%91%E5%8D%81%E3%80%81ubuntu%E5%AE%89%E8%A3%85pymysql/"/>
    <published>2023-05-18T11:36:21.000Z</published>
    <summary>
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进行一键部署前必须完成对pymysql的部署，这里列举了一些实际部署可能会遇到的问题，以便大家参考交流。</p>
<p>Ubuntu安装pymysql：</p>
<figure class="highlight java"><table><tr><td]]>
    </summary>
    <title>【FISCO-BCOS】十、ubuntu安装pymysql</title>
    <updated>2025-10-22T10:49:58.909Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<p><strong>目录</strong></p><p> <a href="#%E4%B8%80%E3%80%81%E4%B8%8B%E8%BD%BDwebase-front%E5%AE%89%E8%A3%85%E5%8C%85">一、下载webase-front安装包</a></p><p> <a href="#%E4%BA%8C%E3%80%81%E8%A7%A3%E5%8E%8B%E8%BF%9B%E5%85%A5%E6%96%87%E4%BB%B6">二、解压进入文件</a></p><p> <a href="#%E4%B8%89%E3%80%81%E6%8B%B7%E8%B4%9Dsdk%E8%AF%81%E4%B9%A6%E6%96%87%E4%BB%B6%EF%BC%88build_chain%E7%9A%84%E6%97%B6%E5%80%99%E7%94%9F%E6%88%90%E7%9A%84%EF%BC%89">三、拷贝sdk证书文件（build_chain的时候生成的）</a></p><p> <a href="#%C2%A0%E5%9B%9B%E3%80%81%E8%BF%9B%E5%85%A5webase-front%EF%BC%8C%E5%90%AF%E5%8A%A8">四、进入webase-front，启动</a></p><p> <a href="#%E4%BA%94%E3%80%81%E7%8A%B6%E6%80%81%E6%A3%80%E6%9F%A5">五、状态检查</a></p><p> <a href="#1.%E6%A3%80%E6%9F%A5%E8%8A%82%E7%82%B9%E8%BF%9B%E7%A8%8B">1.检查节点进程</a></p><p> <a href="#%C2%A02.%E6%A3%80%E6%9F%A5%E6%9C%8D%E5%8A%A1%E6%97%A5%E5%BF%97">2.检查服务日志</a></p><p> <a href="#%C2%A0%E5%85%AD%E3%80%81%E8%AE%BF%E9%97%AE">六、访问</a></p><p>在进行节点前置搭建前，必须确保java环境配置成功，详见上一篇文档： <a href="https://blog.csdn.net/naihe_fish/article/details/130568206?spm=1001.2014.3001.5501">FISCO-BCOS 八、ubuntu配置Java环境_奈何不吃鱼的博客-CSDN博客</a></p><p>使用如下命令查看java环境是否配置成功</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">echo $JAVA_HOME</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201056061.png" alt="image-20250320105430562"></p><p>输出上图则表示成功~&nbsp;</p><h2 id="一、下载webase-front安装包"><a href="#一、下载webase-front安装包" class="headerlink" title="一、下载webase-front安装包"></a>一、下载webase-front安装包</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget https:<span class="comment">//osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-front.zip</span></span><br></pre></td></tr></table></figure><h2 id="二、解压进入文件"><a href="#二、解压进入文件" class="headerlink" title="二、解压进入文件"></a>二、解压进入文件</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">unzip webase-front.zip</span><br><span class="line">cd webase-front</span><br></pre></td></tr></table></figure><h2 id="三、拷贝sdk证书文件（build-chain的时候生成的）"><a href="#三、拷贝sdk证书文件（build-chain的时候生成的）" class="headerlink" title="三、拷贝sdk证书文件（build_chain的时候生成的）"></a>三、拷贝sdk证书文件（build_chain的时候生成的）</h2><p>注：进行此步骤前需要确定已建链的sdk证书文件的位置，这里讲节点前置的安装包安装在了fisco目录下，故拷贝命令为：</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cp -r nodes/<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>/sdk<span class="comment">/* webase-front/conf/</span></span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201056795.png" alt="image-20250320105448351"></p><h2 id="四、进入webase-front，启动"><a href="#四、进入webase-front，启动" class="headerlink" title="四、进入webase-front，启动"></a>四、进入webase-front，启动</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash webase-front/start.sh</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201055856.png" alt="image-20250320105502609"></p><p>&nbsp;上图所示，成功~</p><h2 id="五、状态检查"><a href="#五、状态检查" class="headerlink" title="五、状态检查"></a>五、状态检查</h2><h3 id="1-检查节点进程"><a href="#1-检查节点进程" class="headerlink" title="1.检查节点进程"></a>1.检查节点进程</h3><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps -ef | grep node</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201055894.png" alt="image-20250320105512185"></p><h3 id="2-检查服务日志"><a href="#2-检查服务日志" class="headerlink" title="2.检查服务日志"></a>2.检查服务日志</h3><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">grep -B <span class="number">3</span> <span class="string">&quot;main run success&quot;</span> log/WeBASE-Front.log</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201055653.png" alt="image-20250320105523361"></p><h2 id="六、访问"><a href="#六、访问" class="headerlink" title="六、访问"></a>六、访问</h2><p><a href="http://localhost:5002/WeBASE-Front">http://localhost:5002/WeBASE-Front</a></p><p>注意：节点前置的网址与之后的一键部署网址不同，注意区分！<img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503201055615.png" alt="image-20250320105534536">至此，节点前置搭建完成~</p>]]>
    </content>
    <id>https://naihemy.top/2023/05/08/%E3%80%90FISCO-BCOS%E3%80%91%E4%B9%9D%E3%80%81%E8%8A%82%E7%82%B9%E5%89%8D%E7%BD%AE%E6%90%AD%E5%BB%BA/</id>
    <link href="https://naihemy.top/2023/05/08/%E3%80%90FISCO-BCOS%E3%80%91%E4%B9%9D%E3%80%81%E8%8A%82%E7%82%B9%E5%89%8D%E7%BD%AE%E6%90%AD%E5%BB%BA/"/>
    <published>2023-05-08T11:36:21.000Z</published>
    <summary>
      <![CDATA[<p><strong>目录</strong></p>
<p> <a href="#%E4%B8%80%E3%80%81%E4%B8%8B%E8%BD%BDwebase-front%E5%AE%89%E8%A3%85%E5%8C%85">一、下载webase-front安装包</a></p>
<p> <a]]>
    </summary>
    <title>【FISCO-BCOS】九、节点前置搭建</title>
    <updated>2025-03-21T03:14:02.090Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <category term="Java" scheme="https://naihemy.top/tags/Java/"/>
    <content>
      <![CDATA[<p>ubuntu配置Java环境需根据自己的java版本号进行细节修改，本文以jdk11.0.18版本为例。</p><p>一、安装Java</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"># 安装默认Java版本(Java <span class="number">8</span>或以上)</span><br><span class="line">  sudo apt install -y <span class="keyword">default</span>-jdk</span><br><span class="line"> # 查询Java版本</span><br><span class="line">  java -version</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191115109.png" alt="image-20250319111552064"></p><p>&nbsp;二、添加Java环境路径</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo vim /etc/profile</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191116971.png" alt="image-20250319111608786"></p><p>&nbsp;粘贴内容如下：</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">export JAVA_HOME=/usr/lib/jvm/java-<span class="number">1.11</span><span class="number">.0</span>-openjdk-amd64 # 此处为自己的jdk版本号</span><br><span class="line">export JRE_HOME=$JAVA_HOME/jre</span><br><span class="line">export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH</span><br><span class="line">export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH</span><br></pre></td></tr></table></figure><p>三、环境设置生效</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">source /etc/profile</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191116862.png" alt="image-20250319111630252"></p><p>四、检查java环境设置</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">echo $JAVA_HOME</span><br></pre></td></tr></table></figure><p>ps：通过此法还可以查看java安装路径，但必须是环境配置成功的情况下才能使用。&nbsp;</p>]]>
    </content>
    <id>https://naihemy.top/2023/05/08/%E3%80%90FISCO-BCOS%E3%80%91%20%E5%85%AB%E3%80%81ubuntu%E9%85%8D%E7%BD%AEJava%E7%8E%AF%E5%A2%83/</id>
    <link href="https://naihemy.top/2023/05/08/%E3%80%90FISCO-BCOS%E3%80%91%20%E5%85%AB%E3%80%81ubuntu%E9%85%8D%E7%BD%AEJava%E7%8E%AF%E5%A2%83/"/>
    <published>2023-05-08T03:36:02.000Z</published>
    <summary>
      <![CDATA[<p>ubuntu配置Java环境需根据自己的java版本号进行细节修改，本文以jdk11.0.18版本为例。</p>
<p>一、安装Java</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span]]>
    </summary>
    <title>【FISCO-BCOS】 八、ubuntu配置Java环境</title>
    <updated>2025-03-19T03:23:54.139Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <category term="mysql" scheme="https://naihemy.top/tags/mysql/"/>
    <category term="运维" scheme="https://naihemy.top/tags/%E8%BF%90%E7%BB%B4/"/>
    <content>
      <![CDATA[<p>&nbsp;1.下载并解压mysql（版本号为：8.0.32）</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo apt install -y mysql-server mysql-client libmysqlclient-dev</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191115986.png" alt="image-20250319111102924"></p><ol start="2"><li>查看密码</li></ol><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo cat /etc/mysql/debian.cnf</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191115344.png" alt="image-20250319111117223"></p><p>3.以上述账号和密码登录mysql&nbsp;</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mysql -u debian-sys-maint -p2l938pIxxWJScIhB</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191115921.png" alt="image-20250319111220596"></p><p>4.设置root账户密码（密码以123456为例）</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ALTER USER <span class="string">&#x27;root&#x27;</span>@<span class="string">&#x27;localhost&#x27;</span> IDENTIFIED WITH mysql_native_password BY <span class="string">&#x27;123456&#x27;</span>;</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191115624.png" alt="image-20250319111202375"></p><p>&nbsp;5.使用root用户登录mysql</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mysql -u root -p123456</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191115033.png" alt="image-20250319111154964"></p><p>&nbsp;登录成功~</p>]]>
    </content>
    <id>https://naihemy.top/2023/05/07/%E3%80%90FISCO-BCOS%E3%80%91%20%E4%B8%83%E3%80%81ubuntu%E5%AE%89%E8%A3%85%E5%B9%B6%E9%85%8D%E7%BD%AEMySQL/</id>
    <link href="https://naihemy.top/2023/05/07/%E3%80%90FISCO-BCOS%E3%80%91%20%E4%B8%83%E3%80%81ubuntu%E5%AE%89%E8%A3%85%E5%B9%B6%E9%85%8D%E7%BD%AEMySQL/"/>
    <published>2023-05-07T03:36:25.000Z</published>
    <summary>
      <![CDATA[<p>&nbsp;1.下载并解压mysql（版本号为：8.0.32）</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo apt]]>
    </summary>
    <title>【FISCO-BCOS】 七、ubuntu安装并配置MySQL</title>
    <updated>2026-10-10T01:58:06.591Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<p>1.获取链的NodeID</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># 获取所有链的NodeID </span><br><span class="line">cat node*/conf/node.nodeid</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191048474.png" alt="image-20250319102446424"></p><p>2.查看连接，以node0为例。（8545是node0的rpc端口）</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -X POST --data <span class="string">&#x27;&#123;&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;getPeers&quot;,&quot;params&quot;:[1],&quot;id&quot;:1&#125;&#x27;</span> http:<span class="comment">//127.0.0.1:8545 |jq</span></span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191048618.png" alt="image-20250319102458770"></p><p>可看到连接信息，node0连接了除自身之外的其它三个节点。</p><p>&nbsp;3.配置黑名单（a拒绝b的链接）</p><p>例如节点1拒绝节点2的链接</p><p>则需要在节点1黑名单处添加节点2的ID，具体操作如下：</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">vim node0/config.ini</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191048697.png" alt="image-20250319102508917"></p><p>注意要删除前面的注释符号;</p><p>在certificate_blacklist区域添加节点2的ID&nbsp;</p><p>4.重启节点后生效！</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191048918.png" alt="image-20250319102520610"></p><p>&nbsp;ps:黑名单的优先级高于白名单~</p>]]>
    </content>
    <id>https://naihemy.top/2023/04/30/%E3%80%90FISCO-BCOS%E3%80%91%20%E5%85%AD%E3%80%81%E8%8A%82%E7%82%B9%E9%BB%91%E7%99%BD%E5%90%8D%E5%8D%95%E6%93%8D%E4%BD%9C/</id>
    <link href="https://naihemy.top/2023/04/30/%E3%80%90FISCO-BCOS%E3%80%91%20%E5%85%AD%E3%80%81%E8%8A%82%E7%82%B9%E9%BB%91%E7%99%BD%E5%90%8D%E5%8D%95%E6%93%8D%E4%BD%9C/"/>
    <published>2023-04-30T03:36:47.000Z</published>
    <summary>
      <![CDATA[<p>1.获取链的NodeID</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span]]>
    </summary>
    <title>【FISCO-BCOS】 六、节点黑白名单操作</title>
    <updated>2025-03-19T02:49:32.442Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<p>环境：已搭建好至少一条节点，搭建控制台</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"># 设置一个区块可打包最大交易数为<span class="number">500</span></span><br><span class="line">setSystemConfigByKey tx_count_limit <span class="number">500</span></span><br><span class="line">查询tx_count_limit</span><br><span class="line">getSystemConfigByKey tx_count_limit</span><br><span class="line">[<span class="number">500</span>]</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191050952.png" alt="image-20250319102206454"></p><p>&nbsp;控制台提供&nbsp;<strong>setSystemConfigByKey</strong>&nbsp;命令来修改这些系统参数，<strong>getSystemConfigByKey</strong>&nbsp;命令可查看系统参数的当前值，更多参数设置详见官方文档： <a href="https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/configuration.html">节点配置 — FISCO BCOS v2.9.0 文档https://fisco-bcos-documentation.readthedocs.io/zh_CN&#x2F;latest&#x2F;docs&#x2F;manual&#x2F;configuration.html</a></p>]]>
    </content>
    <id>https://naihemy.top/2023/04/26/%E3%80%90FISCO-SCOS%E3%80%91%20%E4%BA%94%E3%80%81%E8%AE%BE%E7%BD%AE%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%8C%BA%E5%9D%97%E6%89%93%E5%8C%85%E6%9C%80%E5%A4%A7%E4%BA%A4%E6%98%93%E6%95%B0%E9%87%8F/</id>
    <link href="https://naihemy.top/2023/04/26/%E3%80%90FISCO-SCOS%E3%80%91%20%E4%BA%94%E3%80%81%E8%AE%BE%E7%BD%AE%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%8C%BA%E5%9D%97%E6%89%93%E5%8C%85%E6%9C%80%E5%A4%A7%E4%BA%A4%E6%98%93%E6%95%B0%E9%87%8F/"/>
    <published>2023-04-26T03:37:23.000Z</published>
    <summary>
      <![CDATA[<p>环境：已搭建好至少一条节点，搭建控制台</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span]]>
    </summary>
    <title>【FISCO-SCOS】 五、设置系统中区块打包最大交易数量</title>
    <updated>2025-03-19T02:52:54.467Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<p>1.获取node4的nodeid（节点公钥）</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">cat node4/conf/node.nodeid</span><br><span class="line">#得到类似下面的字符串就是nodeid，nodeid是节点公钥的<span class="number">16</span>进制表示</span><br><span class="line">9a93b5480670d32cc2cbadae4067217f360401c742a5ee5dabdaaa2de3e6f1c9868faf9be065ed85c398087d00230eda88d93e871c1ae4d53982e60960477cc1</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191014786.png" alt="image-20250319100949680"></p><p>&nbsp;使用控制台将node4加入群组1</p><p>1.使用addObserver将node4作为观察节点加入群组1</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># 查看观察节点</span><br><span class="line"> getObserverList</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191014591.png" alt="image-20250319101004007"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">addObserver  9a93b5480670d32cc2cbadae4067217f360401c742a5ee5dabdaaa2de3e6f1c9868faf9be065ed85c398087d00230eda88d93e871c1ae4d53982e60960477cc1</span><br><span class="line"># 加入到观察节点</span><br></pre></td></tr></table></figure><p>&nbsp;<img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191015502.png" alt="image-20250319101016634"></p><p>2.使用addSealer将node4作为共识节点加入群组1</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># 查看共识节点</span><br><span class="line">getSealerList</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191015253.png" alt="image-20250319101030208"></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># 加入到共识节点</span><br><span class="line">addSealer 9a93b5480670d32cc2cbadae4067217f360401c742a5ee5dabdaaa2de3e6f1c9868faf9be065ed85c398087d00230eda88d93e871c1ae4d53982e60960477cc1</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191015760.png" alt="image-20250319101047354"></p>]]>
    </content>
    <id>https://naihemy.top/2023/04/22/%E3%80%90FISCO-BCOS%E3%80%91%20%E5%9B%9B%E3%80%81%E8%8A%82%E7%82%B9%E5%8A%A0%E5%85%A5%E7%BE%A4%E7%BB%84%EF%BC%88%E5%9C%A8%E5%B7%B2%E9%85%8D%E7%BD%AE%E7%9A%84%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%89/</id>
    <link href="https://naihemy.top/2023/04/22/%E3%80%90FISCO-BCOS%E3%80%91%20%E5%9B%9B%E3%80%81%E8%8A%82%E7%82%B9%E5%8A%A0%E5%85%A5%E7%BE%A4%E7%BB%84%EF%BC%88%E5%9C%A8%E5%B7%B2%E9%85%8D%E7%BD%AE%E7%9A%84%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%89/"/>
    <published>2023-04-22T03:38:11.000Z</published>
    <summary>
      <![CDATA[<p>1.获取node4的nodeid（节点公钥）</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span]]>
    </summary>
    <title>【FISCO-BCOS】 四、节点加入群组（在已配置的控制台上运行）</title>
    <updated>2025-03-19T02:20:56.194Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<p>1.获取证书生成脚本</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -#LO https:<span class="comment">//raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master-2.0/tools/gen_node_cert.sh</span></span><br></pre></td></tr></table></figure><p>2.生成新节点私钥证书</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"># -c指定机构证书及私钥所在路径</span><br><span class="line"></span><br><span class="line"># -o输出到指定文件夹，其中node4/conf中会存在机构agency新签发的证书和私钥</span><br><span class="line"></span><br><span class="line"># 成功会输出 All completed 提示</span><br><span class="line"></span><br><span class="line">bash gen_node_cert.sh -c ../cert/agency -o node4</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191002495.png"></p><p>3.拷贝node0目录下的config.ini start.sh stop.sh 到node4目录</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cp node0/config.ini node0/start.sh node0/stop.sh node4/</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191003791.png"></p><p>4.修改node4 config.ini</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line">vim node4/config.ini</span><br><span class="line">[rpc]</span><br><span class="line">    ;rpc listen ip</span><br><span class="line">    listen_ip=<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span></span><br><span class="line">    ;channelserver listen port</span><br><span class="line">    channel_listen_port=<span class="number">20204</span></span><br><span class="line">    ;jsonrpc listen port</span><br><span class="line">    jsonrpc_listen_port=<span class="number">8549</span></span><br><span class="line">[p2p]</span><br><span class="line">    ;p2p listen ip</span><br><span class="line">    listen_ip=<span class="number">0.0</span><span class="number">.0</span><span class="number">.0</span></span><br><span class="line">    ;p2p listen port</span><br><span class="line">    listen_port=<span class="number">30304</span></span><br><span class="line">    ;nodes to connect</span><br><span class="line">    node<span class="number">.0</span>=<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>:<span class="number">30300</span></span><br><span class="line">    node<span class="number">.1</span>=<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>:<span class="number">30301</span></span><br><span class="line">    node<span class="number">.2</span>=<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>:<span class="number">30302</span></span><br><span class="line">    node<span class="number">.3</span>=<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>:<span class="number">30303</span></span><br><span class="line">    node<span class="number">.4</span>=<span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>:<span class="number">30304</span></span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191003989.png"></p><p>&nbsp;5.节点3拷贝节点1的node&#x2F;conf&#x2F;group.1.genesis(内含群组节点初始列表)和node&#x2F;conf&#x2F;group.1.ini 到 node4&#x2F;conf目录下，不需改动;</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cp node0/conf/group<span class="number">.1</span>.genesis node0/conf/group<span class="number">.1</span>.ini node4/conf/</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191003953.png"></p><p>&nbsp;6.启动新节点</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash node4/start.sh</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191003455.png"></p><p>&nbsp;7.确认node4与其他节点连接已经建立</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">tail -f node4/log/log*  | grep <span class="string">&quot;connected count&quot;</span></span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202503191003490.png"></p>]]>
    </content>
    <id>https://naihemy.top/2023/04/22/%E3%80%90FISCO-BCOS%E3%80%91%20%E4%B8%89%E3%80%81%E8%8A%82%E7%82%B9%E6%89%A9%E5%AE%B9%EF%BC%88%E5%9C%A8127.0.0.1%E7%9B%AE%E5%BD%95%E4%B8%8B%E8%BF%9B%E8%A1%8C%EF%BC%89/</id>
    <link href="https://naihemy.top/2023/04/22/%E3%80%90FISCO-BCOS%E3%80%91%20%E4%B8%89%E3%80%81%E8%8A%82%E7%82%B9%E6%89%A9%E5%AE%B9%EF%BC%88%E5%9C%A8127.0.0.1%E7%9B%AE%E5%BD%95%E4%B8%8B%E8%BF%9B%E8%A1%8C%EF%BC%89/"/>
    <published>2023-04-21T16:05:20.000Z</published>
    <summary>
      <![CDATA[<p>1.获取证书生成脚本</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -#LO https:<span]]>
    </summary>
    <title>【FISCO-BCOS】 三、节点扩容（在127.0.0.1目录下进行）</title>
    <updated>2025-03-19T02:37:43.411Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<h2 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h2><p>1.有一条搭建完成的链</p><p>2.保证网络通畅</p><h2 id="开始配置"><a href="#开始配置" class="headerlink" title="开始配置"></a>开始配置</h2><h3 id="1-安装依赖"><a href="#1-安装依赖" class="headerlink" title="1.安装依赖"></a>1.安装依赖</h3><p>​控制台的依赖为java，我们如果安装默认的java是11版本的，很适合后续继续使用，java的具体配置可以参考这篇文章：<a href="https://blog.csdn.net/naihe_fish/article/details/130568206">https://blog.csdn.net/naihe_fish/article/details/130568206</a></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install -y default-jdk</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412201411083.png"></p><h3 id="2-下载运行控制台脚本"><a href="#2-下载运行控制台脚本" class="headerlink" title="2.下载运行控制台脚本"></a>2.下载运行控制台脚本</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">curl -LO https://github.com/</span><br><span class="line">FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh &amp;&amp; bash download_console.sh</span><br></pre></td></tr></table></figure><p>​和之前的搭链一样，github下不上就去gitee下载，下载后记得解压</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh &amp;&amp; bash download_console.sh</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192142159.png"></p><h3 id="3-拷贝控制台证书和配置文件"><a href="#3-拷贝控制台证书和配置文件" class="headerlink" title="3.拷贝控制台证书和配置文件"></a>3.拷贝控制台证书和配置文件</h3><p>​没什么好说的，注意文件路径和位置</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cp</span> -n console/conf/config-example.toml console/conf/config.toml</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cp</span> -r nodes/127.0.0.1/sdk/* console/conf/</span><br></pre></td></tr></table></figure><h3 id="4-启动使用控制台"><a href="#4-启动使用控制台" class="headerlink" title="4.启动使用控制台"></a>4.启动使用控制台</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> ~/fisco/console &amp;&amp; bash start.sh</span><br></pre></td></tr></table></figure><p>​启动时需要注意，我们要启动之前搭建的节点才能启动成功，否则启动失败</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412202014552.png"></p><p>​如上图所示，启动成功</p><h3 id="5-部署合约并调用"><a href="#5-部署合约并调用" class="headerlink" title="5.部署合约并调用"></a>5.部署合约并调用</h3><p>​控制台内置了几个简单的合约，我们可以部署helloworld合约测试控制台是否可以正常使用。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">deploy HelloWorld</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412202015332.png"></p><p>​部署成功的话，会返回此次交易hash和合约地址以及当前的账户地址，接下来我们调用此合约的set接口，设置字符串为“hi,blockchain”</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412202018132.png"></p><p>​然后我们调用get验证合约当前储存的字符串，如图所示，正常输出刚才存储的字符串</p><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412202019679.png"></p><p>至此，控制台的部署和测试调用已经结束了，更多的控制台命令可以参考官网：<a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/console/console_of_java_sdk.html#id19">控制台2.6+版本 — FISCO BCOS 2.0 v2.11.0 文档</a>，或者后续我会继续整合。</p>]]>
    </content>
    <id>https://naihemy.top/2023/04/20/%E3%80%90FISCO%20BCOS%E3%80%91%E4%BA%8C%E3%80%81%E9%85%8D%E7%BD%AE%E6%8E%A7%E5%88%B6%E5%8F%B0/</id>
    <link href="https://naihemy.top/2023/04/20/%E3%80%90FISCO%20BCOS%E3%80%91%E4%BA%8C%E3%80%81%E9%85%8D%E7%BD%AE%E6%8E%A7%E5%88%B6%E5%8F%B0/"/>
    <published>2023-04-19T16:05:20.000Z</published>
    <summary>
      <![CDATA[<h2 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h2><p>1.有一条搭建完成的链</p>
<p>2.保证网络通畅</p>
<h2 id="开始配置"><a href="#开始配置" class="headerlink" title="开始配置"></a>开始配置</h2><h3]]>
    </summary>
    <title>【FISCO-BCOS】 二、配置控制台</title>
    <updated>2025-03-19T01:59:30.882Z</updated>
  </entry>
  <entry>
    <author>
      <name>奈何</name>
    </author>
    <category term="FISCO BCOS" scheme="https://naihemy.top/tags/FISCO-BCOS/"/>
    <category term="区块链" scheme="https://naihemy.top/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/"/>
    <category term="Linux" scheme="https://naihemy.top/tags/Linux/"/>
    <category term="Ubuntu" scheme="https://naihemy.top/tags/Ubuntu/"/>
    <content>
      <![CDATA[<h2 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h2><p>​在进行搭建第一个区块链网络前，请确保已完成以下操作</p><p>1.完成虚拟机的搭建，本篇使用ubuntu 22作为演示</p><p>2.保证网络畅通，这是很重要的一点，从无到有是要从网上拉取资源包的，没有网络都是空谈</p><p>3.保证虚拟机有足够的运行内存</p><h2 id="开始搭建"><a href="#开始搭建" class="headerlink" title="开始搭建"></a>开始搭建</h2><p>​我们首先新建一个目录为fisco，之后的操作，都在此目录中进行</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> fisco &amp;&amp; <span class="built_in">cd</span> fisco</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192014746.png"></p><h3 id="1-安装依赖"><a href="#1-安装依赖" class="headerlink" title="1.安装依赖"></a>1.安装依赖</h3><p>​首先安装openssl 和 curl两个依赖，注意，安装依赖可能会遇到的问题，详见这篇文章:<a href="https://blog.csdn.net/naihe_fish/article/details/144594317">https://blog.csdn.net/naihe_fish/article/details/144594317</a></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install -y openssl curl</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192031060.png"></p><h3 id="2-下载建链脚本"><a href="#2-下载建链脚本" class="headerlink" title="2.下载建链脚本"></a>2.下载建链脚本</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh &amp;&amp; <span class="built_in">chmod</span> u+x build_chain.sh</span><br></pre></td></tr></table></figure><p>​这个脚本是从FISCO BCOS的官方github仓库中拉取的，如果你的电脑访问github有些问题，或者虚拟机无法拉取，可以尝试拉取gitee的国内源或者自行下载后传到虚拟机或服务器</p><p>国内gitee下载：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh &amp;&amp; <span class="built_in">chmod</span> u+x build_chain.sh</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192040658.png"></p><p>​这里我也是无法从github拉取，但是从gitee也可以拉到该脚本，就先用吧</p><h3 id="3-搭建单群组4节点联盟链"><a href="#3-搭建单群组4节点联盟链" class="headerlink" title="3.搭建单群组4节点联盟链"></a>3.搭建单群组4节点联盟链</h3><p>​有了脚本建链就简单多了，执行以下命令生成一条单群组4节点的FISCO链</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192052369.png"></p><h3 id="4-启动FISCO-BCOS链"><a href="#4-启动FISCO-BCOS链" class="headerlink" title="4. 启动FISCO BCOS链"></a>4. 启动FISCO BCOS链</h3><p>​搭建完成后启动，出现4个start successfully代表节点全部启动成功</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash nodes/127.0.0.1/start_all.sh</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192053439.png"></p><h3 id="5-检测链日志运行情况"><a href="#5-检测链日志运行情况" class="headerlink" title="5.检测链日志运行情况"></a>5.检测链日志运行情况</h3><p>​通过tail或者netstat命令查看节点运行状态，一般情况下，输出+++和行数为节点数x3为正常。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">tail</span> -f nodes/127.0.0.1/node0/log/* | grep +++</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192058510.png"></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">netstat -luntp | grep fisco</span><br></pre></td></tr></table></figure><p><img src="https://cdn.jsdelivr.net/gh/naiheMy/my_imgs@img/img/202412192100260.png"></p><p>​那么，恭喜你，你已经完成了单机四节点的FISCO BCOS搭建！</p>]]>
    </content>
    <id>https://naihemy.top/2023/04/19/%E3%80%90FISCO%20BCOS%E3%80%91%E4%B8%80%E3%80%81%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E6%90%AD%E5%BB%BA%E5%8C%BA%E5%9D%97%E9%93%BE%E7%BD%91%E7%BB%9C/</id>
    <link href="https://naihemy.top/2023/04/19/%E3%80%90FISCO%20BCOS%E3%80%91%E4%B8%80%E3%80%81%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E6%90%AD%E5%BB%BA%E5%8C%BA%E5%9D%97%E9%93%BE%E7%BD%91%E7%BB%9C/"/>
    <published>2023-04-18T16:05:20.000Z</published>
    <summary>
      <![CDATA[<h2 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h2><p>​	在进行搭建第一个区块链网络前，请确保已完成以下操作</p>
<p>1.完成虚拟机的搭建，本篇使用ubuntu]]>
    </summary>
    <title>【FISCO-BCOS】 一、默认配置搭建区块链网络</title>
    <updated>2025-03-19T01:56:36.944Z</updated>
  </entry>
</feed>
