<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
    >
<channel>
    <title>Developer Blog</title>
    <atom:link href="https://dev.zhihaoo.sol.build/rss.xml" rel="self" type="application/rss+xml" />
    <link>https://dev.zhihaoo.sol.build/</link>
    <description><![CDATA[
    <p>记录曾经踩过的坑, 也偶尔会写一些技术食用指南</p>

    ]]></description>
    
    
    <item>
        <title>&#x505A;&#x4E86;&#x4E00;&#x4E2A;&#x53EB;WorkTreeDesk&#x7684;&#x5DE5;&#x5177;, &#x4E3B;&#x8981;&#x662F;&#x65B9;&#x4FBF;&#x4F7F;&#x7528;Git&#x7684;WorkTree&#x529F;&#x80FD;, &#x4EE5;&#x53CA;&#x96C6;&#x6210;&#x4E86;Gitee&#x7684;&#x90E8;&#x5206;&#x4EE3;&#x7801;&#x8BC4;&#x5BA1;&#x529F;&#x80FD;, &#x8FD8;&#x5728;&#x8FED;&#x4EE3;&#x4E2D;, &#x76EE;&#x524D;&#x529F;&#x80FD;&#x8FD8;&#x6BD4;&#x8F83;&#x7B80;&#x5355;, &#x4E3B;&#x8981;&#x662F;&#x65B9;&#x4FBF;&#x81EA;&#x5DF1;&#x4F7F;&#x7528;, &#x4E5F;&#x6B22;&#x8FCE;&#x6709;&#x5174;&#x8DA3;&#x7684;&#x670B;&#x53CB;&#x4E00;&#x8D77;&#x53C2;&#x4E0E;&#x5F00;&#x53D1;.</title>
        <link>https://dev.zhihaoo.sol.build/EF86A4FE-313A-4CB3-BA24-B78538649A3C/</link>
        <guid>https://dev.zhihaoo.sol.build/EF86A4FE-313A-4CB3-BA24-B78538649A3C/</guid>
        <pubDate>Wed, 20 May 2026 08:33:00 +0800</pubDate>
        
        
        <description><![CDATA[
            <blockquote> 
 <p>前文帖子地址: <a href="https://www.v2ex.com/t/1213602">大佬们有没有什么方便 CodeReview 的工具?支持点击跳转到对应实现的那种.</a></p> 
</blockquote> 
<h2>先放仓库地址, 欢迎大家Star, Fork, 提Issue, 以及Pull Request:</h2> 
<p>Github仓库地址: <a href="https://github.com/HelloWorldImJoe/WorkTreeDesk">https://github.com/HelloWorldImJoe/WorkTreeDesk</a></p> 
<blockquote> 
 <p>ps: 因为没有做签名的原因? Mac安装包可能会被误报, 需要在系统设置里允许安装, 具体操作可以参考这个链接: <a href="https://support.apple.com/zh-cn/HT202491">https://support.apple.com/zh-cn/HT202491</a></p> 
</blockquote> 
<h2>采用的技术栈: Tauri + React</h2> 
<p>不得不说Tauri打出来的包是真的小, Window安装包只有2.97MB, Mac安装包也只有5MB.</p> 
<h2>做这件事情的初始动机:</h2> 
<p>就是前文帖子里面的场景, 一直被这个问题困扰, 之前尝试过使用AI做一版, 但是因为生成的Rust代码我看不懂, 就放弃了. 最近因为在学习Rust, 所以就重新把这个工具正经做了一版.</p> 
<h2>目前支持的功能:</h2> 
<ul> 
 <li>Git WorkTree的基本功能: 创建, 删除, 列表展示.</li> 
 <li>集中管理多个仓库的WorkTree, 可以为每个仓库设置默认的编辑器(目前主流的编辑器应该是都加进去了), 一键使用默认编辑器打开对应的WorkTree, 或者在Finder中显示.</li> 
 <li>集成了Gitee的代码评审功能: 可以直接在工具里查看待评审的PR, 以及PR的详情, 还可以点击CodeReview按钮, 通过本地ide打开对应的PR分支, 主要是方便跳转到对应的实现, 以及方便进行代码评审.</li> 
</ul> 
<h2>后面可能会做的功能:</h2> 
<ul> 
 <li>支持更多的Git平台, 目前只支持Gitee, 后面可能会支持GitHub, GitLab等.</li> 
 <li>支持代码评审的评论功能, 这个优先级应该会最高, 但是因为马上要开新项目了, 所以不一定什么时候有空来做.</li> 
</ul> 
<h2>最后放几张截图, 供大家快速决策是否有用:</h2> 
<p><img src="https://github.com/HelloWorldImJoe/WorkTreeDesk/raw/master/snapshot/workflowstudio-review.png" alt="" /><br /> <img src="https://github.com/HelloWorldImJoe/WorkTreeDesk/raw/master/snapshot/workflowstudio-settings.png" alt="" /><br /> <img src="https://github.com/HelloWorldImJoe/WorkTreeDesk/raw/master/snapshot/workflowstudio-workspaces.png" alt="" /></p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x505A;&#x4E86;&#x4E00;&#x7248;&#x5F00;&#x6E90;&#x7684;&#x672C;&#x5730;API&#x6587;&#x6863;&#x7F16;&#x8F91;&#x5668;, &#x6709;&#x9700;&#x6C42;&#x7684;&#x670B;&#x53CB;&#x81EA;&#x53D6;, MIT&#x534F;&#x8BAE;</title>
        <link>https://dev.zhihaoo.sol.build/33AF8B51-E1C2-49C3-A75E-72EEEB9BDFBC/</link>
        <guid>https://dev.zhihaoo.sol.build/33AF8B51-E1C2-49C3-A75E-72EEEB9BDFBC/</guid>
        <pubDate>Tue, 12 May 2026 10:19:14 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/33AF8B51-E1C2-49C3-A75E-72EEEB9BDFBC/FBD17A08-9284-42E2-A5A8-5268574D7599.png" />    
        
        
        <description><![CDATA[
            <h3>Demo地址: <a href="http://oxapi.v2ex.info/">http://oxapi.v2ex.info/</a></h3> 
<h3>Github项目地址: <a href="https://github.com/HelloWorldImJoe/oxapi">https://github.com/HelloWorldImJoe/oxapi</a></h3> 
<h4><a href="https://github.com/HelloWorldImJoe/OxApiDocument/blob/master/Demo_API.md?plain=1">附一个测试的 markdown 文件, 直接创建项目新建 md 文件就可以了</a></h4> 
<ul> 
 <li> <p>因为托管到了腾讯云, 所以点击调试可能会失败, 如果是本地运行的话是没问题的.</p> </li> 
 <li> <p>要是想体验调试的话, 可以用这个<a href="https://github.com/HelloWorldImJoe/OxApiDocument/blob/master/local-proxy.js">proxy脚本</a>在本地运行启动:</p> </li> 
</ul> 
<pre><code>	node ./local-proxy.js

</code></pre> 
<h5>启动之后, 在网站中配置自定义代理:</h5> 
<img width="1122" alt="9E219DF3-0820-4280-8CB6-A3E190512B91" src="https://dev.zhihaoo.sol.build/33AF8B51-E1C2-49C3-A75E-72EEEB9BDFBC/9E219DF3-0820-4280-8CB6-A3E190512B91.png" /> 
<hr /> 
<p>附一些使用截图:</p> 
<img width="2560" alt="FBD17A08-9284-42E2-A5A8-5268574D7599" src="https://dev.zhihaoo.sol.build/33AF8B51-E1C2-49C3-A75E-72EEEB9BDFBC/FBD17A08-9284-42E2-A5A8-5268574D7599.png" /> 
<img width="2556" alt="2C6121CF-D784-44B4-AB59-C35CA09B9B76" src="https://dev.zhihaoo.sol.build/33AF8B51-E1C2-49C3-A75E-72EEEB9BDFBC/2C6121CF-D784-44B4-AB59-C35CA09B9B76.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x63D0;&#x53D6;Github&#x4E2D;&#x8868;&#x60C5;&#x5305;&#x4E3A;json&#x6587;&#x4EF6;</title>
        <link>https://dev.zhihaoo.sol.build/90C4CA55-7131-452C-8E06-BF23E04F9367/</link>
        <guid>https://dev.zhihaoo.sol.build/90C4CA55-7131-452C-8E06-BF23E04F9367/</guid>
        <pubDate>Mon, 27 Apr 2026 08:28:16 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>一个中文表情包的仓库地址: <a href="https://github.com/zhaoolee/ChineseBQB">https://github.com/zhaoolee/ChineseBQB</a></p> 
<pre><code>
./rename_smirkboy_files.sh --p 假笑男孩
./rename_smirkboy_files.sh -p 假笑男孩 --dry-run
./rename_smirkboy_files.sh /path/to/dir -p 其他前缀 -n


./generate_emoji_json.sh 生成json文件

</code></pre> 
<p><a href="rename_smirkboy_files.sh">rename_smirkboy_files.sh</a></p> 
<p><a href="generate_emoji_json.sh">generate_emoji_json.sh</a></p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x505A;&#x4E86;&#x4E00;&#x4E2A;V2EX&#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x8868;&#x60C5;&#x63D2;&#x4EF6;, &#x652F;&#x6301;&#x56DE;&#x590D;&#x7684;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x8868;&#x60C5;</title>
        <link>https://dev.zhihaoo.sol.build/75C70AC6-0333-4341-83FD-60E81BDA0549/</link>
        <guid>https://dev.zhihaoo.sol.build/75C70AC6-0333-4341-83FD-60E81BDA0549/</guid>
        <pubDate>Sat, 25 Apr 2026 16:29:29 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/75C70AC6-0333-4341-83FD-60E81BDA0549/input.png" />    
        
        
        <description><![CDATA[
            <p>源码地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts">https://github.com/HelloWorldImJoe/TampermonkeyScripts</a></p> 
<p>脚本安装地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/raw/master/v2ex-custom-emoji.user.js">油猴脚本安装地址</a></p> 
<p>一个贡献表情或者反馈问题的节点: <a href="https://www.v2ex.com/go/emojipic">https://www.v2ex.com/go/emojipic</a></p> 
<p>原理: 没有什么复杂的东西, 为了无服务器, 资源存在planet上, 使用ipfs来存储. 然后绑定了sol.build域名, sol.build域名是v2ex信任的图床域名. 所以可以直接显示图片.</p> 
<hr /> 
<p>开源的中文表情包仓库: <a href="https://github.com/zhaoolee/ChineseBQB">https://github.com/zhaoolee/ChineseBQB</a></p> 
<p>我整理的一些表情包:</p> 
<p>假笑男孩: <a href="https://fun.zhihaoo.sol.build/F5BB3309-D68F-4A06-837A-52584CD60241">https://fun.zhihaoo.sol.build/F5BB3309-D68F-4A06-837A-52584CD60241</a></p> 
<p>乌龟: <a href="https://fun.zhihaoo.sol.build/94B7CD12-5A08-4B76-8490-36303C1A0BA5">https://fun.zhihaoo.sol.build/94B7CD12-5A08-4B76-8490-36303C1A0BA5</a></p> 
<p>猫咪日常: <a href="https://fun.zhihaoo.sol.build/7FCBA86A-1901-4A45-B392-7C19EE9DB52D">https://fun.zhihaoo.sol.build/7FCBA86A-1901-4A45-B392-7C19EE9DB52D</a></p> 
<p>葫芦娃:<a href="https://fun.zhihaoo.sol.build/32CB621D-51EB-4EE8-85CC-5FB6106AA6A6">https://fun.zhihaoo.sol.build/32CB621D-51EB-4EE8-85CC-5FB6106AA6A6</a></p> 
<hr /> 
<p>Planet用户可以使用</p> 
<p><code>https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/90C4CA55-7131-452C-8E06-BF23E04F9367/</code></p> 
<p>来处理中文表情包仓库中的资源来快速转换为V2EX可用的资源</p> 
<hr /> 
<p>相关截图:<br /> <img width="838" alt="input" src="https://dev.zhihaoo.sol.build/75C70AC6-0333-4341-83FD-60E81BDA0549/input.png" /></p> 
<img width="684" alt="0692C518-3E0D-4A1D-84B3-88947EF4ECBE" src="https://dev.zhihaoo.sol.build/75C70AC6-0333-4341-83FD-60E81BDA0549/0692C518-3E0D-4A1D-84B3-88947EF4ECBE.png" /> 
<img width="834" alt="4" src="https://dev.zhihaoo.sol.build/75C70AC6-0333-4341-83FD-60E81BDA0549/4.png" /> 
<img width="846" alt="5" src="https://dev.zhihaoo.sol.build/75C70AC6-0333-4341-83FD-60E81BDA0549/5.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x4E4B;&#x524D;&#x8BF4;&#x7684; api &#x6587;&#x6863;&#x7F16;&#x8F91;&#x5668;&#x6682;&#x65F6;&#x51FA;&#x4E86;&#x4E00;&#x7248;, &#x5148;&#x90E8;&#x7F72;&#x5728;&#x4E86;&#x817E;&#x8BAF;&#x4E91;&#x7684; EO &#x4E0A;&#x9762;, api &#x7684;&#x8C03;&#x8BD5;&#x53EF;&#x80FD;&#x8C03;&#x8BD5;&#x4E0D;&#x4E86;, &#x6B63;&#x5F0F;&#x7248;&#x5E94;&#x8BE5;&#x6CA1;&#x6709;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;, &#x53D1;&#x51FA;&#x6765;&#x4E3B;&#x8981;&#x662F;&#x8BA9;&#x5927;&#x4F6C;&#x4EEC;&#x7ED9;&#x63D0;&#x63D0;&#x610F;&#x89C1; &#x1F921;


</title>
        <link>https://dev.zhihaoo.sol.build/F1A42B98-3284-43C0-9DCE-4ACEB6F937CE/</link>
        <guid>https://dev.zhihaoo.sol.build/F1A42B98-3284-43C0-9DCE-4ACEB6F937CE/</guid>
        <pubDate>Tue, 21 Apr 2026 16:04:42 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/F1A42B98-3284-43C0-9DCE-4ACEB6F937CE/579EC131-3012-4716-9876-6E75DA02466C.png" />    
        
        
        <description><![CDATA[
            <p>站点地址: <a href="http://oxapi.v2ex.info/">http://oxapi.v2ex.info/</a></p> 
<p>这有一个本地的 proxy 文件, 可以使用 node 启动, 放在个人中心的配置里:</p> 
<p><a href="https://github.com/HelloWorldImJoe/OxApiDocument/blob/master/local-proxy.js">https://github.com/HelloWorldImJoe/OxApiDocument/blob/master/local-proxy.js</a></p> 
<p>启动命令: <code>node ./local-proxy.js</code></p> 
<img width="1122" alt="579EC131-3012-4716-9876-6E75DA02466C" src="https://dev.zhihaoo.sol.build/F1A42B98-3284-43C0-9DCE-4ACEB6F937CE/579EC131-3012-4716-9876-6E75DA02466C.png" /> 
<p>大佬们给我提提意见, 我看看还有没有做下去的必要 🤡</p> 
<p>附一个测试的 markdown 文件, 直接创建项目新建 md 文件就可以了:</p> 
<p><a href="https://github.com/HelloWorldImJoe/OxApiDocument/blob/master/Demo_API.md?plain=1">https://github.com/HelloWorldImJoe/OxApiDocument/blob/master/Demo_API.md?plain=1</a></p> 
<p>ps: 后续看看V站的记事本能不能有接口, 要是有接口的话, 这个文档完全可以存在记事本里. 当做自定义节点的产品发布者的api文档?</p>
        ]]></description>
    </item>
    
    <item>
        <title>[&#x91CD;&#x5927;&#x66F4;&#x65B0;]&#x505A;&#x4E86;&#x4E00;&#x4E2A;V2EX&#x7684;&#x79C1;&#x804A;&#x6A21;&#x5757;,&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x53D1;&#x9001;1&#x679A;$v2ex&#x6765;&#x8FDB;&#x884C;&#x79C1;&#x804A;&#x4F1A;&#x8BDD;,&#x8054;&#x901A;V2EX&#x7684;&#x901A;&#x77E5;&#x7CFB;&#x7EDF;,&#x5B9E;&#x73B0;&#x4E86;&#x6D88;&#x606F;&#x5F15;&#x7528;&#x7B49;&#x5E38;&#x7528;&#x6D88;&#x606F;&#x7684;&#x5C55;&#x793A;&#x4E0E;&#x53D1;&#x9001;</title>
        <link>https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/</link>
        <guid>https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/</guid>
        <pubDate>Wed, 07 Jan 2026 08:00:00 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/look.png" />    
        
        
        <description><![CDATA[
            <p>一键安装地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/raw/master/v2ex-scene-script.user.js">v2ex-scene-script.user.js</a></p> 
<p>脚本仓库地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/blob/master/v2ex-scene-script.user.js">v2ex-scene-script.user.js</a></p> 
<hr /> 
<p>更新 2026-01-07:</p> 
<p>'新增聊天面板拖动缩放与自适应布局能力,可以通过右下角的拖拽手柄调整大小',<br /> '新增主动发起会话功能, 输入用户名直接发起一个会话',<br /> '新增聊天面板位置记忆功能, 面板位置会在关闭后保存, 下次打开时恢复',<br /> '新增会话置顶功能, 置顶的会话会固定在列表顶部',<br /> '新增消息引用功能, 可以引用某条消息进行回复, 长按消息气泡即可触发操作面板',<br /> '新增引用消息点击跳转到原消息位置, 如果原消息在当前页面没加载, 则不跳转',<br /> '新增日/月模式切换, 可以在面板顶部切换当前主题',<br /> '新增图片显示支持, 可以在消息中显示图片链接',<br /> '新增R按钮和C按钮, R按钮用于刷新会话列表(适应于消息不同步), C按钮用于清除当前会话记录(重新建立索引)',<br /> '优化PIN状态不会再在刷新后丢失',<br /> '修复若干已知问题'</p> 
<hr /> 
<p>更新 2026-01-06:</p> 
<ol> 
 <li> <p>最新版本添加了 <code>引用与打赏私聊</code> 的功能, 长按消息就可以唤起操作菜单</p> </li> 
 <li> <p>消息中支持显示引用消息以及图片消息(i.imgur.com 与 i.v2ex.co 来源)</p> </li> 
 <li> <p>点击引用消息可以快速跳转到被引用的消息(已经加载过,没有加载的跳转不到)</p> </li> 
 <li> <p>支持常用钱包, 已验证: okx, phantom</p> </li> 
</ol> 
<hr /> 
<p>相关截图:</p> 
<img width="953" alt="menu" src="https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/menu.png" /> 
<img width="947" alt="quoted" src="https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/quoted.png" /> 
<img width="934" alt="pic" src="https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/pic.png" /> 
<img width="2194" alt="look" src="https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/look.png" /> 
<img width="2197" alt="chat" src="https://dev.zhihaoo.sol.build/8D96F6CF-85A3-4913-8094-8E5D94F5CF94/chat.png" />
        ]]></description>
    </item>
    
    <item>
        <title>data.v2ex.pro&#x66F4;&#x65B0;: &#x6DFB;&#x52A0;&#x5BF9;&#x6253;&#x8D4F;&#x76F8;&#x5173;&#x793E;&#x533A;&#x6570;&#x636E;&#x7684;&#x5C55;&#x793A;</title>
        <link>https://dev.zhihaoo.sol.build/BE777FCE-641A-493A-A9A5-03F65EAE12B8/</link>
        <guid>https://dev.zhihaoo.sol.build/BE777FCE-641A-493A-A9A5-03F65EAE12B8/</guid>
        <pubDate>Thu, 25 Dec 2025 18:55:59 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/BE777FCE-641A-493A-A9A5-03F65EAE12B8/feat_20251225.png" />    
        
        
        <description><![CDATA[
            <p><a href="https://data.v2ex.pro">V2EX历史数据看板</a>添加了对打赏相关数据的展示</p> 
<img width="1726" alt="feat_20251225" src="https://dev.zhihaoo.sol.build/BE777FCE-641A-493A-A9A5-03F65EAE12B8/feat_20251225.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x5199;&#x4E86;&#x4E00;&#x4E2A;&#x4F7F;&#x7528; $V2EX &#x6253;&#x8D4F;&#x5E16;&#x5B50;&#x56DE;&#x590D;&#x7684;&#x811A;&#x672C;, &#x53EF;&#x4EE5;&#x5728;&#x5E16;&#x5B50;&#x56DE;&#x590D;&#x4E2D;&#x901A;&#x8FC7;&#x70B9;&#x51FB;&#x6309;&#x94AE;&#x6765;&#x6253;&#x8D4F;&#x5BF9;&#x5E94;&#x7684;&#x56DE;&#x590D;&#x4EBA;&#x5E76;&#x540C;&#x6B65;&#x5230; V2EX &#x7684;&#x8BB0;&#x5F55;&#x4E2D;.</title>
        <link>https://dev.zhihaoo.sol.build/C681D6D5-C703-4B97-AFC3-5736D355B5F7/</link>
        <guid>https://dev.zhihaoo.sol.build/C681D6D5-C703-4B97-AFC3-5736D355B5F7/</guid>
        <pubDate>Thu, 25 Dec 2025 10:31:15 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/C681D6D5-C703-4B97-AFC3-5736D355B5F7/topic.png" />    
        
        
        <description><![CDATA[
            <p>一键安装地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/raw/master/v2ex-scene-script.user.js">v2ex-scene-script.user.js</a></p> 
<p>脚本仓库地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/blob/master/v2ex-scene-script.user.js">v2ex-scene-script.user.js</a></p> 
<img width="937" alt="topic" src="https://dev.zhihaoo.sol.build/C681D6D5-C703-4B97-AFC3-5736D355B5F7/topic.png" /> 
<img width="1017" alt="alert" src="https://dev.zhihaoo.sol.build/C681D6D5-C703-4B97-AFC3-5736D355B5F7/alert.png" /> 
<img width="803" alt="ui" src="https://dev.zhihaoo.sol.build/C681D6D5-C703-4B97-AFC3-5736D355B5F7/ui.png" /> 
<img width="812" alt="tips" src="https://dev.zhihaoo.sol.build/C681D6D5-C703-4B97-AFC3-5736D355B5F7/tips.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x6628;&#x5929;&#x641E;&#x4E86;&#x4E00;&#x4E2A;$v2ex &#x5386;&#x53F2;&#x6570;&#x636E;&#x67E5;&#x770B;&#x5DE5;&#x5177;, &#x5DF2;&#x7ECF;&#x4E0A;&#x4F20;&#x5230; Github &#x5F00;&#x6E90;, &#x6570;&#x636E;&#x4F7F;&#x7528;&#x7684;&#x662F;&#x65E5;&#x62A5;&#x79EF;&#x6512;&#x4E0B;&#x6765;&#x7684;, &#x5927;&#x5BB6;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x5DE5;&#x5177;&#x6765;&#x67E5;&#x770B;$v2ex &#x6700;&#x8FD1;&#x7684;&#x4E00;&#x4E9B;&#x53D8;&#x5316;.</title>
        <link>https://dev.zhihaoo.sol.build/ECEF7DC4-CB58-4608-80AB-A605377F299D/</link>
        <guid>https://dev.zhihaoo.sol.build/ECEF7DC4-CB58-4608-80AB-A605377F299D/</guid>
        <pubDate>Fri, 19 Dec 2025 11:32:28 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/ECEF7DC4-CB58-4608-80AB-A605377F299D/longshot20251229131715.png" />    
        
        
        <description><![CDATA[
            <p>工具站点地址: <a href="https://data.v2ex.pro/">https://data.v2ex.pro/</a></p> 
<p>仓库地址: <a href="https://github.com/HelloWorldImJoe/v2ex-info-history">https://github.com/HelloWorldImJoe/v2ex-info-history</a></p> 
<p>数据源地址: <a href="https://github.com/GrabCoffee/v2ex-info-newsletter-data">https://github.com/GrabCoffee/v2ex-info-newsletter-data</a></p> 
<hr /> 
<h3>技术栈:</h3> 
<p>纯React前端项目</p> 
<h3>数据采集:</h3> 
<p>使用Cloud Flare定时采集的数据, 然后保存到了github仓库中, 有些时候可能会被限流导致一些采集不到的脏数据, 在前端做了一层过滤,应该不影响整体的分析.</p> 
<h3>发布:</h3> 
<p>这个可以详细说一下思路</p> 
<ol> 
 <li> <p>使用了Planet的文件夹发布功能: 将项目打包之后, 通过planet发布文件夹并生成ipns</p> </li> 
 <li> <p>在V2EX的<a href="https://www.v2ex.com/planet/dashboard">Planet管理器</a>中, 提交这个ipns, 并绑定了<a href="https://data.v2ex.pro/">data.v2ex.pro</a>的域名</p> </li> 
 <li> <p>因为正常V2ex的Planet管理器是会去站点找一个planet.json的文件, 所以我伪造了这个文件, 并修改了这个文件对应的ipns, 目的是能够让v2ex抓取到我最新的cid来与上面提到的域名做关联. 为了在Planet管理器中能显示头像, 我还加了一个avator的头像, 看起来像是一个正常的站点,<br /> <img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/V2EX/20251219164623315.png" alt="" /></p> </li> 
 <li> <p>整体就是这么一个思路,大家可以尝试一下, 很好玩. 还可以通过这个planet.json做一些更好玩的事情</p> </li> 
</ol> 
<hr /> 
<p>预览图:<br /> <img width="1480" alt="longshot20251229131715" src="https://dev.zhihaoo.sol.build/ECEF7DC4-CB58-4608-80AB-A605377F299D/longshot20251229131715.png" /><br /> <img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/V2EX/20251219164752151.png" alt="" /></p> 
<p>ps: 数据不是实时的, 最新的数据是昨天(utc时间)的, 如果是早晨8点左右的话, 可以算是伪实时😂</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x505A;&#x4E86;&#x4E00;&#x4E2A;&#x6CA1;&#x5565;&#x7528;&#x7684;&#x5C0F;&#x73A9;&#x610F;,&#x7528;&#x6765;&#x5FEB;&#x901F;&#x611F;&#x8C22;&#x6253;&#x8D4F;&#x5E16;&#x5B50;&#x7684;&#x5927;&#x4F6C;, &#x5982;&#x679C;&#x4F60;&#x7684;&#x5E16;&#x5B50;&#x88AB;&#x5927;&#x4F6C;&#x6253;&#x8D4F;&#x4E86;, &#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x811A;&#x672C;&#x6765;&#x5FEB;&#x901F;&#x8FDB;&#x884C;&#x56DE;&#x590D;&#x611F;&#x8C22;.</title>
        <link>https://dev.zhihaoo.sol.build/176FADDB-C471-4306-88C7-07948948B9C4/</link>
        <guid>https://dev.zhihaoo.sol.build/176FADDB-C471-4306-88C7-07948948B9C4/</guid>
        <pubDate>Sat, 08 Nov 2025 14:58:00 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/176FADDB-C471-4306-88C7-07948948B9C4/single.png" />    
        
        
        <description><![CDATA[
            <p><a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/raw/master/topic-quick-thank.user.js">脚本一键安装地址</a></p> 
<p>仓库地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts">https://github.com/HelloWorldImJoe/TampermonkeyScripts</a></p> 
<p>开发背景: <a href="https://v2ex.com/t/1170807?p=1#r_16953786">https://v2ex.com/t/1170807?p=1#r_16953786</a></p> 
<p>截图:</p> 
<img width="907" alt="single" src="https://dev.zhihaoo.sol.build/176FADDB-C471-4306-88C7-07948948B9C4/single.png" /> 
<img width="844" alt="reply" src="https://dev.zhihaoo.sol.build/176FADDB-C471-4306-88C7-07948948B9C4/reply.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F7F;&#x7528;docker&#x521B;&#x5EFA;&#x4E00;&#x4E2A;ipfs&#x8282;&#x70B9;</title>
        <link>https://dev.zhihaoo.sol.build/1F9DF495-C122-4705-9F8E-299ACFCF3BB9/</link>
        <guid>https://dev.zhihaoo.sol.build/1F9DF495-C122-4705-9F8E-299ACFCF3BB9/</guid>
        <pubDate>Sun, 21 Sep 2025 18:29:44 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>Planet已经占用了4001端口, 所以我将swarm port设置为了4002,</p> 
<p>修改相关配置, 或者直接在目录下运行:./deployment.sh, 会直接创建一个ipfs的节点, 创建成功之后, 可以通过<code>http://localhost:${ipfs_gateway_port}/webui </code>打开webui来进行简单操作.</p> 
<p>脚本文件: <a href="deployment.sh">deployment.sh</a></p> 
<p>脚本源码如下:</p> 
<pre><code># !/bin/bash

# 检查 Docker 是否安装
if ! [ -x "$(command -v docker)" ]; then
  echo 'Error: Docker is not installed.' &gt;&amp;2
  exit 1
fi
echo 'Docker is installed.'

# 检查是否有正在运行的 IPFS 容器
if [ "$(docker ps -q -f name=ipfs_host)" ]; then
  echo 'Error: An IPFS container is already running.' &gt;&amp;2
  exit 1
fi
echo 'No running IPFS container found.'

# 检查是否有同名的停止状态的 IPFS 容器
if [ "$(docker ps -aq -f status=exited -f name=ipfs_host)" ]; then
  echo 'Error: A stopped IPFS container with the same name already exists.' &gt;&amp;2
  exit 1
fi
echo 'No stopped IPFS container with the same name found.'

echo 'Proceeding with deployment...'
# 创建存储目录
current_dir=$(pwd)
cd $current_dir
mkdir -p ./ipfs_staging
mkdir -p ./ipfs_data

echo 'Storage directories created.'

# 设置环境变量
export ipfs_staging=./ipfs_staging
export ipfs_data=./ipfs_data
export ipfs_swarm_port=4002
export ipfs_api_port=8080
export ipfs_gateway_port=5001

echo "IPFS staging directory: ${ipfs_staging}"
echo "IPFS data directory: ${ipfs_data}"
echo "IPFS swarm port: ${ipfs_swarm_port}"
echo "IPFS API port: ${ipfs_api_port}"
echo "IPFS gateway port: ${ipfs_gateway_port}"

# 运行 IPFS 容器
docker run -d --name ipfs_host -v ${ipfs_staging}:/export -v ${ipfs_data}:/data/ipfs -p ${ipfs_swarm_port}:4001 -p ${ipfs_api_port}:8080 -p ${ipfs_gateway_port}:5001 ipfs/kubo:latest
if [ $? -ne 0 ]; then
  docker rm -f ipfs_host 2&gt;/dev/null
  rm -rf ./ipfs_staging
  rm -rf ./ipfs_data
  echo 'Error: Failed to start the IPFS container.' &gt;&amp;2
  exit 1
fi
echo 'IPFS container started successfully.'

open "http://localhost:${ipfs_gateway_port}/webui"
</code></pre>
        ]]></description>
    </item>
    
    <item>
        <title>[Planet] planet&#x805A;&#x5408;&#x5668;&#x91CC;&#x9762;&#x7684;&#x535A;&#x5BA2;&#x90FD;&#x5F88;&#x597D;, &#x6211;&#x60F3;pin&#x5230;&#x6211;&#x7684;planet&#x4E2D;&#x7684;&#x8BDD;, &#x5F97;&#x5148;&#x63D0;&#x53D6;&#x5730;&#x5740;, &#x7136;&#x540E;&#x5728;planet&#x4E2D;&#x70B9;&#x5173;&#x6CE8;, &#x7C98;&#x8D34;&#x5730;&#x5740;&#x624D;&#x80FD;followed, &#x5F88;&#x9EBB;&#x70E6;, &#x6240;&#x4EE5;&#x6211;&#x641E;&#x4E86;&#x4E00;&#x4E2A;&#x6CB9;&#x7334;, &#x4E00;&#x952E;followed</title>
        <link>https://dev.zhihaoo.sol.build/1003784A-995B-4E54-8F76-59F5EE2552C3/</link>
        <guid>https://dev.zhihaoo.sol.build/1003784A-995B-4E54-8F76-59F5EE2552C3/</guid>
        <pubDate>Fri, 19 Sep 2025 15:41:03 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>效果大概是这样的:<br /> <img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/longshot20250919154127.png" alt="longshot20250919154127" /></p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/longshot20250919154149.png" alt="longshot20250919154149" /></p> 
<p>大概流程就是: 我会解析planet聚合器中的节点, 找到对应的<code>data-site-address</code>, 然后在最前方拼上scheme: <code>planet://</code>, 再调用<code>window.open()</code>打开这个连接, 就完成了这个半自动操作😂</p> 
<p>点击某个博客关注后, 同一列表的其他博客不会显示已关注, 刷新一下界面就可以了, 这里我不想点关注之后再刷新, 比较影响体验.</p> 
<p>因为真正的关注是在planet中实现的, 所以界面上的已关注我放开了取消关注的限制, 如果planet中已经取消关注了, 界面上还显示已关注这是正常现象, 毕竟数据不能同步, 我也不想做的太麻烦, 看着碍眼手动点一下得了.</p> 
<p>仓库地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts">https://github.com/HelloWorldImJoe/TampermonkeyScripts</a></p> 
<p>快速安装地址: <a href="https://github.com/HelloWorldImJoe/TampermonkeyScripts/raw/master/planet-follow-button.user.js">脚本安装地址</a></p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5173;&#x4E8E;Chrome&#x6807;&#x8BB0;&#x5371;&#x9669;&#x7F51;&#x7AD9;&#x7684;&#x5904;&#x7406;</title>
        <link>https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/</link>
        <guid>https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/</guid>
        <pubDate>Fri, 19 Sep 2025 09:55:35 +0800</pubDate>
        
        <itunes:image href="https://k51qzi5uqu5dkpb1bjwsgzpmhwnieraeelxrc54sp3q65vxmci73k19cxwidlc.eth.sucks/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/1%E5%9B%BE.png" />    
        
        
        <description><![CDATA[
            <blockquote> 
 <p>之前上线了一个针对V2EX的空投网站, 最近有V友反馈说这个网站被Chrome标记成了危险站点, 需要向谷歌申诉一下, 记录一下处理这次事件的整个过程</p> 
</blockquote> 
<h3>背景</h3> 
<p>大概是一个月之前, 我上线了一个解析V2EX帖子回复内容并进行批量空投的站点, 一直也没啥人用, 我也没怎么关注过, 直到昨天下午, 我帮一个V站大佬进行批量空投之后, 晚上有V友给我提示说站点被chrome标记成了危险站点, 提醒我去谷歌申诉一下. 在此感谢<a href="https://www.v2ex.com/member/Jianrry">@Jianrry</a>的友情提示, 帖子原文在这: <a href="https://www.v2ex.com/t/1160233">刚才帮 @PilgrimSun 大佬搞了一波空投, 顺便给空投加上了一个筛选指定楼层区间的功能, 顺便 po 一下过程中的一些细节</a></p> 
<h3>过程</h3> 
<p>今早晨, 我打开<a href="https://airdrop.grabcoffee.cc/">我的空投网站</a>, 果然提示我是危险站点!<img width="2390" alt="1图" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/1图.png" /></p> 
<p>于是我点击<code>详细信息-&gt;请告知我们</code>, 在这个页面进行了一次简单的申诉</p> 
<img width="2347" alt="2图" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/2图.png" /> 
<p>点击提交, 提示成功, 然后我等了有半个小时, 再次打开网站, 很好, 还是危险站点😂, 于是我再次点击<code>详细信息-&gt;发现了钓鱼式攻击</code>进入这个帮助界面</p> 
<img width="2347" alt="3图" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/3图.png" /> 
<p>点击了<code>自我保护-&gt;Google安全中心</code>进入了安全界面并注册了账号, 填写了我的站点地址:</p> 
<img width="2560" alt="4图" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/4图.png" /> 
<p>碰到了一个小问题, 使用clodflare快捷验证打开的新界面一直不重定向, 所以我更换了验证方式, 使用了通用的<code>适用任何DNS提供商</code>, 根据提示配置好dns解析, 点击验证, 如图</p> 
<img width="2560" alt="5图" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/5图.png" /> 等待验证完成之后, 再次打开网站, 我发现危险站点的提示页面已经消失了, 虽然谷歌安全的后台面板还提示一个安全问题: 
<img width="2560" alt="图1" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/图1.png" /> 
<p>但是好像没啥影响, 就不继续处理了.</p> 
<p>以上, 就是本次事件的处理过程, 再次感谢@Jianrry的友情提示🙏🏻</p> 
<hr /> 
<p><em>以上没有解决安全问题,过了半个小时又被封了, 下面是真正的整改过程</em></p> 
<hr /> 
<p>目前已经恢复访问, 主要是根据谷歌提供的安全警告来进行了整改</p> 
<p>主要操作:</p> 
<ol> 
 <li> <p>去<a href="https://search.google.com/search-console">谷歌安全中心</a>证明自己是站点所有者</p> </li> 
 <li> <p>然后查看谷歌给出的安全警告, 如图:</p> </li> 
</ol> 
<img width="2560" alt="图1" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/图1.png" /> 3. 打开网站代码, 告诉AI我的站点被安全警告了,把具体的安全警告贴给他, 让AI给出整改 
<ol start="4"> 
 <li> <p>AI整改完之后, 再让AI根据整改内容提供一份申诉话术用来申请审核.</p> </li> 
 <li> <p>发布网站, 点击申请审核, 等待结果.</p> </li> 
</ol> 
<p>如果审核通过的话, 大概会收到一封邮件和一封站内信, 如下图:</p> 
<img width="1462" alt="图2" src="https://dev.zhihaoo.sol.build/6BF739FC-CC5A-472B-81F6-7FCAF6A96892/图2.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x6700;&#x8FD1;&#x770B;&#x5230;&#x4E00;&#x4E9B;&#x521A;&#x63A5;&#x89E6;&#x865A;&#x62DF;&#x5E01;&#x4EA4;&#x6613;&#x7684;&#x670B;&#x53CB;&#x8E29;&#x4E86;&#x4E00;&#x4E9B;&#x5751;, &#x7B80;&#x5355;&#x6574;&#x7406;&#x4E86;&#x4E00;&#x4EFD;&#x5165;&#x95E8;&#x5C0F;Tips&#x7ED9;&#x5927;&#x5BB6;&#x53C2;&#x8003;.</title>
        <link>https://dev.zhihaoo.sol.build/6B6E486F-4924-447A-9415-DF8681B9650A/</link>
        <guid>https://dev.zhihaoo.sol.build/6B6E486F-4924-447A-9415-DF8681B9650A/</guid>
        <pubDate>Wed, 17 Sep 2025 14:28:01 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>一. 关于交易的细节</h2> 
<h4>以v2ex的20$v2ex打赏为例:</h4> 
<h5>1.在点击打赏按钮之后, 会唤起钱包进行交易, 其实在交易的面板中是有一个默认折叠的高级选项的, 可以点击展开折叠, 如图1所示:</h5> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/image-20250917103257389.png" alt="image-20250917103257389" /></p> 
<h5>2. 如果点开高级选项会显示本次交易包含的操作指令, 如图2所示:</h5> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/2.png" alt="2" /></p> 
<blockquote> 
 <p>Program Id 就是程序的ID, 也就是我们常说的智能合约</p> 
 <p>Data 就是这个程序传入的参数</p> 
</blockquote> 
<p>可以看到打赏V币一共执行了3个指令, 上面两个指令是Unknown, 所以钱包把他们对应的合约地址也就是Program Id给贴出来了, 右边有一个打开按钮, 点击就可以查看这个合约的具体信息. 最后一个指令是Transfer, 这个指令是内置指令, 也就是System Program, 类似系统内核里面自带的一些工具或者函数方法. (其实前面两个ComputeBudget, 也是系统提供的, 是NativeLoader管理的, 为什么显示Unknown不清楚, 但是这不是这次讨论的重点, pass掉)</p> 
<p>然后细说最后这个Transfer, 这个其实就是转账操作, 转账分两种, 一种是原生转账, 一种是SPL转账, 咱们使用的V币打赏就是SPL转账, 这两种转账差不多其实, 先细说这个图里的SPL转账:</p> 
<ol> 
 <li>Amount是2+7个0, 因为V币是6位小数, 所以这个Amount * V币的小数位就是实际操作的V币数量</li> 
 <li>Source 是来源 Token 账户, 在这个图里面是: 4kbSR...9PARy</li> 
 <li>Destination 是目标 Token 账户</li> 
 <li>Owner 是授权人或者说是来源Token账户的所有者, 这个地方我没有裁全, 大概能看到是我H5u的钱包公钥.</li> 
</ol> 
<p>这个地方需要注意的是, Token账户地址不是你的钱包地址, 而是你在对应Token下创建的账户, 这也是为什么我们给从来没持有国V币的用户(or 回收了V币钱包地址)打赏的时候, 会额外支付0.002sol的原因, 这0.002sol就是用来创建对方在V2EX Token上的账户租金.</p> 
<p>这一点就是原生转账和SPL转账之间最大的不同, 原生转账的双方地址就是双方对应的solana链上的钱包地址, 而SPL转账则是对应Token上面的账户地址.</p> 
<h5>3. 我们点击确认按钮, 大概会得到下面这一个界面:</h5> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/image-20250917110211969.png" alt="image-20250917110211969" /></p> 
<p>在这个界面的最下方有一个 <em>在Solscan上查看</em> 点击就可以在Solscan上查看这一笔交易的详细信息, 包括传参, 账户操作, Log之类的, 大概是这样的:</p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/4.png" alt="4" /></p> 
<p>ps: 还有一个比较好用的查看交易信息的网站叫: <a href="https://explorer.solana.com/">https://explorer.solana.com/</a> 后面可以拼接: tx/xxxx 或者 address/xxxx, 就可以查看交易或者对应的账户信息, address可以是代币地址, 也可以是钱包地址.</p> 
<h4>以<a href="https://sol-incinerator.com%E5%9B%9E%E6%94%B6%E7%A9%BA%E9%92%B1%E5%8C%85%E5%9C%B0%E5%9D%80%E7%9A%84%E6%88%AA%E5%9B%BE%E4%B8%BA%E4%BE%8B">https://sol-incinerator.com回收空钱包地址的截图为例</a>, 大家可以自己分析一下或者自己尝试着操作一下看看:</h4> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/-1.png" alt="-1" /></p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/-2.png" alt="-2" /></p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/-3.png" alt="-3" /></p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/-4.png" alt="-4" /></p> 
<h2>二. 关于在交易所以及Web3钱包的一些tips, 这点可能需要大家来一起补充, 我操作的比较少, 挑我知道的说</h2> 
<h4>1. 在<code>交易所钱包</code>的虚拟货币 和 在<code>Web3钱包</code>里面的虚拟货币 虚拟币是一样的, 但还是有一些不同的, 打个比方:</h4> 
<ul> 
 <li><strong>交易所里的币</strong> 就像是你存在<strong>银行</strong>里的钱。 
  <ul> 
   <li>银行帮你保管，交易记录在银行的内部账本上。</li> 
   <li>你使用网银APP进行操作，非常方便。</li> 
   <li>但理论上，银行可以冻结你的账户（配合调查时），如果银行倒闭，你的钱可能会受损。</li> 
  </ul> </li> 
 <li><strong>Web3钱包里的币</strong> 就像是你放在<strong>自己家里保险箱</strong>的现金。 
  <ul> 
   <li>现金完全由你掌控，看得见摸得着。</li> 
   <li>你可以自由支配，无需经过任何第三方。</li> 
   <li>但如果你弄丢了保险箱钥匙（私钥/助记词），或者被小偷破门而入，钱就永远找不回来了。</li> 
  </ul> </li> 
</ul> 
<h4>2. 交易所里面的充币/提币, web3钱包里面的转账手续费问题</h4> 
<p>挑我知道的说:</p> 
<ol> 
 <li>web3钱包的转账是没有第三方收取手续费的, 只需要支付一些gas和优先费就可以了</li> 
 <li>交易所里面的这个<code>充币</code>目测没有什么额外的手续费, 跟web3钱包是一样的</li> 
 <li>但是这个<code>提币</code>操作, 好像都是需要一些额外的服务费的, 之前用Binance好像每笔usdt都会收我0.5u的样子, 现在用okx每次大概收我1u, 但是我去帮助文档里面检索了一下, 发现这么一些答案:</li> 
</ol> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/longshot20250917101323.png" alt="longshot20250917101323" /></p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/longshot20250917101944.png" alt="longshot20250917101944" /></p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/longshot20250917101954.png" alt="longshot20250917101954" /></p> 
<p>还有这么一个解释:</p> 
<p><img src="https://raw.githubusercontent.com/HelloWorldImJoe/ImageHosting/master/Blog/web3%E6%8F%90%E5%B8%81%E6%89%8B%E7%BB%AD%E8%B4%B9%E5%92%8C%E4%BA%A4%E6%98%93%E6%89%80%E4%B8%8D%E4%B8%80%E8%87%B4.png" alt="web3提币手续费和交易所不一致" /></p>
        ]]></description>
    </item>
    
    <item>
        <title>README</title>
        <link>https://dev.zhihaoo.sol.build/EC3F7B15-F582-4CCD-BB7B-7B51606D4B51/</link>
        <guid>https://dev.zhihaoo.sol.build/EC3F7B15-F582-4CCD-BB7B-7B51606D4B51/</guid>
        <pubDate>Thu, 01 May 2025 09:06:00 +0800</pubDate>
        
        
        <description><![CDATA[
            <h3>Hello World 👋</h3> 
<ul> 
 <li>:orange_book: Focusing on iOS、Flutter &amp; Odoo</li> 
 <li>:hammer: Engaged in ERP development</li> 
 <li>:ram: Wayward development</li> 
 <li>:meat_on_bone: Amateur cook</li> 
</ul>
        ]]></description>
    </item>
    
</channel>
</rss>
