<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>CyptoTutan</title>
        <link>https://paragraph.com/@cyptotutan</link>
        <description>undefined</description>
        <lastBuildDate>Wed, 05 Aug 2026 16:27:18 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>CyptoTutan</title>
            <url>https://storage.googleapis.com/papyrus_images/7d846b36c458f97f8c385dc3ddaa7d3cb94c651911af1c944be3e616063fcfce.jpg</url>
            <link>https://paragraph.com/@cyptotutan</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[阉割版小狐狸-隐藏私钥助记词导出功能]]></title>
            <link>https://paragraph.com/@cyptotutan/mZ7uupjf8Hj3huqOBNcM</link>
            <guid>mZ7uupjf8Hj3huqOBNcM</guid>
            <pubDate>Tue, 30 May 2023 07:13:32 GMT</pubDate>
            <description><![CDATA[1:从metamask官方的github下载metamask的源码：地址：https://github.com/MetaMask/metamask-extension 一定 要用官方的。 2：下载后用IDE打开,查找account-details-modal.component.js 文件。 3：[阉割版小狐狸-隐藏私钥导出功能] 在第114行左右注释掉 exportPrivateKeyFeatureEnabled （*** 注意是整个button***）4:【去掉查看助記詞】在文件security-tab.component.js 第99行注釋掉5：build 打包.]]></description>
            <content:encoded><![CDATA[<p>1:从metamask官方的github下载metamask的源码：地址：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/MetaMask/metamask-extension">https://github.com/MetaMask/metamask-extension</a> 一定 要用官方的。</p><p>2：下载后用IDE打开,查找account-details-modal.component.js 文件。</p><p>3：[阉割版小狐狸-隐藏私钥导出功能] 在第114行左右注释掉 exportPrivateKeyFeatureEnabled （*** 注意是整个button***）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/68cc835f1917091cc7c41106cc6278c81fc7dbf899acf29a2ab44d8db67bdf1d.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>4:【去掉查看助記詞】在文件security-tab.component.js 第99行注釋掉</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f22a39c93afdbacb52d0d98d914baa95fa47aacfd90ac44b050279bfae1c25d7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>5：build 打包.</p>]]></content:encoded>
            <author>cyptotutan@newsletter.paragraph.com (CyptoTutan)</author>
        </item>
        <item>
            <title><![CDATA[MetaMask无法启动怎么办？没有备份过助记词/私钥，重启插件/电脑没用。]]></title>
            <link>https://paragraph.com/@cyptotutan/metamask</link>
            <guid>Vosd05uHjQQCLiLzKzMq</guid>
            <pubDate>Sat, 22 Apr 2023 11:32:38 GMT</pubDate>
            <description><![CDATA[原贴： @MetaMask 浏览器插件无法启动怎么办？没有备份过助记词/私钥，重启插件/电脑没用。@MetaMaskSupport图像可以这样：在电脑本地全局搜索 nkbihfbeogaeaoehlefnkodbefgpgknn 这是 MM 扩展 id，如这个目录下：C:\Users[User]\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn 找到 ldb/log 这些文件，在这些文件里找到如图内容：图像然后用 https://metamask.github.io/vault-decryptor/… 解开这段内容，解的时候，Password 是目标 MetaMask 扩展的密码。就这样。 如果 MM 的任意扩展页面可以打开，比如：chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/home.html，那用下面的方式也有得到待解密的内容。chrome.storage.loc...]]></description>
            <content:encoded><![CDATA[<p>原贴：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/MetaMask">@MetaMask</a> 浏览器插件无法启动怎么办？没有备份过助记词/私钥，重启插件/电脑没用。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/MetaMaskSupport">@MetaMaskSupport</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0c16dc64cb966b740ba3aab4058f3aea5ec282a47998882ef7e4fad1df517c22.png" alt="图像" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">图像</figcaption></figure><p>可以这样：在电脑本地全局搜索 nkbihfbeogaeaoehlefnkodbefgpgknn 这是 MM 扩展 id，如这个目录下：C:\Users[User]\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn 找到 ldb/log 这些文件，在这些文件里找到如图内容：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/10076d299eda419e9e2947e6a621ef073172283c1a6807b37076eb4f6d89155f.png" alt="图像" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">图像</figcaption></figure><p>然后用 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/qJPxWolsXc">https://metamask.github.io/vault-decryptor/…</a> 解开这段内容，解的时候，Password 是目标 MetaMask 扩展的密码。就这样。</p><p>如果 MM 的任意扩展页面可以打开，比如：chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/home.html，那用下面的方式也有得到待解密的内容。</p><pre data-type="codeBlock" text="chrome.storage.local.get(&apos;data&apos;, result =&gt; {
  var vault = result.data.KeyringController.vault
  console.log(vault)
})
"><code>chrome.storage.local.get(<span class="hljs-string">'data'</span>, result <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
  <span class="hljs-keyword">var</span> vault <span class="hljs-operator">=</span> result.data.KeyringController.vault
  console.log(vault)
})
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b4919959c356f8cc12dee9826a968c1641a65a2041a30c4adce3d9aabd545ce1.png" alt="图像" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">图像</figcaption></figure>]]></content:encoded>
            <author>cyptotutan@newsletter.paragraph.com (CyptoTutan)</author>
        </item>
        <item>
            <title><![CDATA[Starknet简单交互建议]]></title>
            <link>https://paragraph.com/@cyptotutan/starknet</link>
            <guid>KpFQjTtu9H3Rc6WwTzEr</guid>
            <pubDate>Tue, 04 Apr 2023 03:13:47 GMT</pubDate>
            <description><![CDATA[Starknet交互简单建议： 1、安装Braavos钱包，不用ArgentX：https://braavos.app 2、跨链一次(必)：https://starkgate.starknet.io 3、Braavos钱包Swap一次(必) 4、JediSwap交易一次(必)：https://app.jediswap.xyz 5、MySwap交易一次(必)：https://myswap.xyz 6、Nostra交互一次(必)：https://nostra.finance 尝试存入，借入，偿还，取出 7、10kSwap交易一次(选)：https://10kswap.com 8、Mintsquare NFT今天恢复Mint了(选)，手续费0.4美元左右。：https://mintsquare.io 9、Starknet域名(选)：https://app.starknet.id，0.01E成本太高，不搞了 3~8步跨月交易一次 尽量根据适合自已性价比角度来做，适合自已的才是最好的，尽量周1~5白天干。]]></description>
            <content:encoded><![CDATA[<p>Starknet交互简单建议：</p><p>1、安装Braavos钱包，不用ArgentX：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://braavos.app">https://braavos.app</a></p><p>2、跨链一次(必)：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://starkgate.starknet.io">https://starkgate.starknet.io</a></p><p>3、Braavos钱包Swap一次(必)</p><p>4、JediSwap交易一次(必)：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.jediswap.xyz">https://app.jediswap.xyz</a></p><p>5、MySwap交易一次(必)：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://myswap.xyz">https://myswap.xyz</a></p><p>6、Nostra交互一次(必)：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://nostra.finance">https://nostra.finance</a> 尝试存入，借入，偿还，取出</p><p>7、10kSwap交易一次(选)：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://10kswap.com">https://10kswap.com</a></p><p>8、Mintsquare NFT今天恢复Mint了(选)，手续费0.4美元左右。：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mintsquare.io">https://mintsquare.io</a></p><p>9、Starknet域名(选)：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.starknet.id%EF%BC%8C0.01E%E6%88%90%E6%9C%AC%E5%A4%AA%E9%AB%98%EF%BC%8C%E4%B8%8D%E6%90%9E%E4%BA%86">https://app.starknet.id，0.01E成本太高，不搞了</a></p><p>3~8步跨月交易一次</p><p>尽量根据适合自已性价比角度来做，适合自已的才是最好的，尽量周1~5白天干。</p>]]></content:encoded>
            <author>cyptotutan@newsletter.paragraph.com (CyptoTutan)</author>
        </item>
        <item>
            <title><![CDATA[将你的第一个 Cairo 1 合约部署到 Starknet]]></title>
            <link>https://paragraph.com/@cyptotutan/cairo-1-starknet</link>
            <guid>oFeyHVMslsppBVbZil1t</guid>
            <pubDate>Sat, 01 Apr 2023 19:05:42 GMT</pubDate>
            <description><![CDATA[将你的第一个 Cairo 1 合约部署到 Starknet随着0.11 版在 Starknet 上的推出，您现在可以在 Starknet 上部署您的第一个 Cairo 1 合约！极好的！ ... 但是怎么办？ 在我们整理文档之前，这是一个非常粗略的指南流量您将需要：在特定高度克隆 Cairo 存储库（编译 Cairo 1 合约的工具）安装最新版本的 Cairo-lang（与 Starknet 交互的工具）使用 cairo 将你的合约从 Cairo 编译到 Sierra使用 cairo-lang 声明你的 Sierra 合约使用 cairo-lang 部署你的合约使用 Twitter 向您的朋友吹嘘克隆这个仓库git clone https://github.com/starknet-edu/deploy-cairo1-demo cd deploy-cairo1-demo 安装 Cairo one 编译器如果您是第一次安装 Cairo：git clone https://github.com/starkware-libs/cairo/ cd cairo git checkout 9...]]></description>
            <content:encoded><![CDATA[<h1 id="h-cairo-1-starknet" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">将你的第一个 Cairo 1 合约部署到 Starknet</h1><p>随着<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://starkware.medium.com/starknet-alpha-v0-11-0-the-transition-to-cairo-1-0-begins-30442d494515">0.11 版</a>在 Starknet 上的推出，您现在可以在 Starknet 上部署您的第一个 Cairo 1 合约！极好的！</p><p>... 但是怎么办？</p><p>在我们整理文档之前，这是一个非常粗略的指南</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">流量</h2><p>您将需要：</p><ul><li><p>在特定高度克隆 Cairo 存储库（编译 Cairo 1 合约的工具）</p></li><li><p>安装最新版本的 Cairo-lang（与 Starknet 交互的工具）</p></li><li><p>使用 cairo 将你的合约从 Cairo 编译到 Sierra</p></li><li><p>使用 cairo-lang 声明你的 Sierra 合约</p></li><li><p>使用 cairo-lang 部署你的合约</p></li><li><p>使用 Twitter 向您的朋友吹嘘</p></li></ul><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">克隆这个仓库</h2><pre data-type="codeBlock" text="git clone https://github.com/starknet-edu/deploy-cairo1-demo
cd deploy-cairo1-demo
"><code>git <span class="hljs-built_in">clone</span> https://github.com/starknet-edu/deploy-cairo1-demo
<span class="hljs-built_in">cd</span> deploy-cairo1-demo
</code></pre><h2 id="h-cairo-one" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装 Cairo one 编译器</h2><p>如果您是第一次安装 Cairo：</p><pre data-type="codeBlock" text="git clone https://github.com/starkware-libs/cairo/
cd cairo
git checkout 9c190561ce1e8323665857f1a77082925c817b4c
cargo build --all --release
"><code>git clone https:<span class="hljs-comment">//github.com/starkware-libs/cairo/</span>
cd cairo
git checkout 9c190561ce1e8323665857f1a77082925c817b4c
cargo build <span class="hljs-operator">-</span><span class="hljs-operator">-</span>all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>release
</code></pre><p>如果您已经安装了 Cairo：</p><pre data-type="codeBlock" text="cd cairo
git fetch &amp;&amp; git pull
git checkout 9c190561ce1e8323665857f1a77082925c817b4c
cargo build --all --release
"><code>cd cairo
git fetch <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> git pull
git checkout 9c190561ce1e8323665857f1a77082925c817b4c
cargo build <span class="hljs-operator">-</span><span class="hljs-operator">-</span>all <span class="hljs-operator">-</span><span class="hljs-operator">-</span>release
</code></pre><p>此时，您已在此存储库中安装了 Cairo。</p><h2 id="h-cairo-lang" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">安装 Cairo-lang</h2><p>返回回购的根文件夹</p><pre data-type="codeBlock" text="cd ..
"><code>cd ..
</code></pre><p>搭建python虚拟环境</p><pre data-type="codeBlock" text="python3.9 -m venv ~/cairo_venv_v11
source ~/cairo_venv_v11/bin/activate
"><code>python3<span class="hljs-number">.9</span> <span class="hljs-operator">-</span>m venv <span class="hljs-operator">~</span><span class="hljs-operator">/</span>cairo_venv_v11
source <span class="hljs-operator">~</span><span class="hljs-operator">/</span>cairo_venv_v11<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>activate
</code></pre><p>如果您之前安装了 cairo-lang，请将其卸载</p><pre data-type="codeBlock" text="pip3 uninstall cairo-lang
"><code>pip3 uninstall cairo<span class="hljs-operator">-</span>lang
</code></pre><p>安装开罗语言</p><pre data-type="codeBlock" text="pip3 install ecdsa fastecdsa sympy
pip3 install cairo-lang
"><code>pip3 install ecdsa fastecdsa sympy
pip3 install cairo<span class="hljs-operator">-</span>lang
</code></pre><p>检查您是否已正确安装</p><pre data-type="codeBlock" text="starknet --version
"><code>starknet <span class="hljs-operator">-</span><span class="hljs-operator">-</span>version
</code></pre><h2 id="h-cairo" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">使用 Cairo 编译你的合约</h2><p>您可以使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/starknet-edu/deploy-cairo1-demo/blob/master/hello_starknet.cairo">这个小的演示合约</a>来完成这个测试。这是一个非常基本的事件记录器。</p><p>演示合约代码如下：</p><pre data-type="codeBlock" text="#[contract]
mod HelloStarknet {
    use starknet::get_caller_address;
    use starknet::ContractAddress;


    #[event]
    fn Hello(from: ContractAddress, value: felt252) {}


    #[external]
    fn Say_Hello(message: felt252) {
        let caller = get_caller_address();
        Hello(caller, message);
    }

}
"><code><span class="hljs-meta">#[contract]</span>
<span class="hljs-keyword">mod</span> HelloStarknet {
    <span class="hljs-keyword">use</span> starknet::get_caller_address;
    <span class="hljs-keyword">use</span> starknet::ContractAddress;


    <span class="hljs-meta">#[event]</span>
    <span class="hljs-keyword">fn</span> <span class="hljs-title function_">Hello</span>(from: ContractAddress, value: felt252) {}


    <span class="hljs-meta">#[external]</span>
    <span class="hljs-keyword">fn</span> <span class="hljs-title function_">Say_Hello</span>(message: felt252) {
        <span class="hljs-keyword">let</span> <span class="hljs-variable">caller</span> = <span class="hljs-title function_ invoke__">get_caller_address</span>();
        <span class="hljs-title function_ invoke__">Hello</span>(caller, message);
    }

}
</code></pre><p>从您的终端，在您安装 Cairo 的文件夹中</p><pre data-type="codeBlock" text="cd cairo
cargo run --bin starknet-compile -- ../hello_starknet.cairo ../hello_starknet.json --replace-ids
"><code>cd cairo
cargo run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>bin starknet<span class="hljs-operator">-</span>compile <span class="hljs-operator">-</span><span class="hljs-operator">-</span> ../hello_starknet.cairo ../hello_starknet.json <span class="hljs-operator">-</span><span class="hljs-operator">-</span>replace<span class="hljs-operator">-</span>ids
</code></pre><p>恭喜，您已经编制了从开罗到塞拉利昂的合同！</p><h2 id="h-cairo-lang" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">使用 Cairo-lang 声明你的合同</h2><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">设置环境变量</h3><pre data-type="codeBlock" text="export STARKNET_NETWORK=alpha-goerli
export STARKNET_WALLET=starkware.starknet.wallets.open_zeppelin.OpenZeppelinAccount
"><code>export STARKNET_NETWORK<span class="hljs-operator">=</span>alpha<span class="hljs-operator">-</span>goerli
export STARKNET_WALLET<span class="hljs-operator">=</span>starkware.starknet.wallets.open_zeppelin.OpenZeppelinAccount
</code></pre><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">为教程设置一个新帐户</h3><p>您需要确保您的 starknet CLI 设置了适当的账户合约和资金。为了安全起见，我将为本教程创建一个新的。</p><pre data-type="codeBlock" text="starknet new_account --account version_11
"><code>starknet new_account <span class="hljs-operator">-</span><span class="hljs-operator">-</span>account version_11
</code></pre><ul><li><p>你应该得到你期望的合约地址</p></li><li><p>发送 0.1 ETH 给它</p></li><li><p>监控转账交易。一旦通过“pending”，继续</p></li></ul><pre data-type="codeBlock" text="starknet deploy_account --account version_11
"><code>starknet deploy_account <span class="hljs-operator">-</span><span class="hljs-operator">-</span>account version_11
</code></pre><p>监控部署事务。一旦通过“pending”，继续</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">声明合同</h3><p>返回教程的根文件夹，然后尝试声明</p><pre data-type="codeBlock" text="cd ..
starknet declare --contract hello_starknet.json --account version_11
"><code>cd ..
starknet declare <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">hello_starknet</span>.<span class="hljs-title">json</span> --<span class="hljs-title">account</span> <span class="hljs-title">version_11</span>
</span></code></pre><p>您应该收到新声明的类哈希！</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">故障排除</h3><p>好的，所以我遇到了问题。使用 declare 发回：</p><pre data-type="codeBlock" text="Error: OSError: [Errno 8] Exec format error: &apos;~/cairo_venv_11/lib/python3.9/site-packages/starkware/starknet/compiler/v1/bin/starknet-sierra-compile&apos;
"><code><span class="hljs-type">Error</span>: <span class="hljs-type">OSError</span>: [<span class="hljs-type">Errno</span> <span class="hljs-number">8</span>] <span class="hljs-type">Exec</span> format error: '<span class="hljs-operator">~/</span>cairo_venv_11<span class="hljs-regexp">/lib/</span>python3.<span class="hljs-number">9</span><span class="hljs-regexp">/site-packages/</span>starkware<span class="hljs-regexp">/starknet/</span>compiler<span class="hljs-regexp">/v1/</span>bin<span class="hljs-operator">/</span>starknet<span class="hljs-operator">-</span>sierra<span class="hljs-operator">-</span>compile'
</code></pre><p>原因是 cairo-lang 需要编译你的 sierra 代码，它为此使用了导入的 rust 二进制文件“starknet-sierra-compile”。但就我而言，导入的二进制文件不是为我的架构构建的:-(。</p><p>所以，很简单：我从本地构建的 cairo 存储库中获取了“starknet-sierra-compile”，并将其替换为 python 包。这是一个应该起作用的命令：</p><pre data-type="codeBlock" text="cp cairo/target/release/starknet-sierra-compile ~/cairo_venv_v11/lib/python3.9/site-packages/starkware/starknet/compiler/v1/bin/starknet-sierra-compile
"><code>cp cairo<span class="hljs-operator">/</span>target<span class="hljs-operator">/</span>release<span class="hljs-operator">/</span>starknet<span class="hljs-operator">-</span>sierra<span class="hljs-operator">-</span>compile <span class="hljs-operator">~</span><span class="hljs-operator">/</span>cairo_venv_v11<span class="hljs-operator">/</span>lib<span class="hljs-operator">/</span>python3<span class="hljs-number">.9</span><span class="hljs-operator">/</span>site<span class="hljs-operator">-</span>packages<span class="hljs-operator">/</span>starkware<span class="hljs-operator">/</span>starknet<span class="hljs-operator">/</span>compiler<span class="hljs-operator">/</span>v1<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>starknet<span class="hljs-operator">-</span>sierra<span class="hljs-operator">-</span>compile
</code></pre><p>然后再次尝试声明。它应该工作！</p><h2 id="h-cairo-lang" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">使用 Cairo-lang 部署你的合约</h2><p>此时，您又回到了习惯的流程中。使用您之前收到的类哈希：</p><pre data-type="codeBlock" text="starknet deploy --class_hash &lt;class_hash&gt; --account version_11
"><code>starknet deploy <span class="hljs-operator">-</span><span class="hljs-operator">-</span>class_hash <span class="hljs-operator">&#x3C;</span>class_hash<span class="hljs-operator">></span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>account version_11
</code></pre><p>监控您的交易。如果由于费用估算而失败，请重试。一旦您的交易被 accepted_on_l2.... 恭喜！你已经部署了你的第一个 Cairo 1 合约！</p><p>相关官方视频教程：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/watch?v=JB53QUFJGvA">https://www.youtube.com/watch?v=JB53QUFJGvA</a></p>]]></content:encoded>
            <author>cyptotutan@newsletter.paragraph.com (CyptoTutan)</author>
        </item>
        <item>
            <title><![CDATA[ARB 节点搭建+claim脚本[转载]]]></title>
            <link>https://paragraph.com/@cyptotutan/arb-claim</link>
            <guid>jjpC0hH8pPKElomTFiKX</guid>
            <pubDate>Fri, 24 Mar 2023 23:59:40 GMT</pubDate>
            <description><![CDATA[我自己写了一个脚本，没抢到，看看别人怎么搞的吧。我觉得思路都大同小异，主要看有没有私有节点。 1/8 ARB空投怒战黑客复盘 起因：很多被盗钱包有 $ARB 空投资格，如果不采取任何措施，会被黑客领走。 过程：粉丝提的钱包能领 40,000 $ARB ，我写了批量领取合约和 ethers.js 脚本，WTF贡献者帮忙优化，使用了私有节点。 结果：成功抢救 30,000 $ARB 。 核心代码已开源。 @WTFAcademy_ @arbitrum 2/8 起因 这次有上千个被黑客盗取私钥的钱包有资格领 $ARB ，正好兜兜在 WTF 社群里发了一张泄露私钥的图引起了我的兴趣，想试试做白帽和黑客抢钱，顺便赚取赏金。 图里的私钥是哪找的？其实是 remix, hardhat, foundry 等工具中的默认测试钱包。里面大概能领 4000 $ARB 。 3/8 抢 $ARB 空投要点（3点） 1. 节点：必须要自己搭 Arbitrum 全节点。因为公开的rpc会卡，限制请求次数/速度，且空投开始时大量用户调用会导致宕机。 Arbitrum 节点大概需要 1.4 T硬盘，推荐用 SSD。...]]></description>
            <content:encoded><![CDATA[<p>我自己写了一个脚本，没抢到，看看别人怎么搞的吧。我觉得思路都大同小异，主要看有没有私有节点。</p><p>1/8 ARB空投怒战黑客复盘 起因：很多被盗钱包有 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 空投资格，如果不采取任何措施，会被黑客领走。 过程：粉丝提的钱包能领 40,000 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> ，我写了批量领取合约和 ethers.js 脚本，WTF贡献者帮忙优化，使用了私有节点。 结果：成功抢救 30,000 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 。 核心代码已开源。 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/WTFAcademy_">@WTFAcademy_</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/arbitrum">@arbitrum</a></p><p>2/8 起因 这次有上千个被黑客盗取私钥的钱包有资格领 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> ，正好兜兜在 WTF 社群里发了一张泄露私钥的图引起了我的兴趣，想试试做白帽和黑客抢钱，顺便赚取赏金。 图里的私钥是哪找的？其实是 remix, hardhat, foundry 等工具中的默认测试钱包。里面大概能领 4000 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 。</p><p>3/8 抢 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 空投要点（3点） 1. 节点：必须要自己搭 Arbitrum 全节点。因为公开的rpc会卡，限制请求次数/速度，且空投开始时大量用户调用会导致宕机。 Arbitrum 节点大概需要 1.4 T硬盘，推荐用 SSD。感谢 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/ZeoMEV">@ZeoMEV</a>关于节点建议和帮助！ 教程:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/1QdCyLd6it">https://t.co/1QdCyLd6it</a></p><p>4/8 2. 批量转 ETH + claim + 归集 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 脚本 脚本基于 ethers.js 库，在达到区块高度后，开始循环重复上述操作。 这一方法完全依赖脚本，大概 40% 的 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 是用这个方法抢的。 推荐大家用 WTF Ethers 教程学习如何写以太坊脚本: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/Es1QxyuVw0">https://github.com/WTFAcademy/WTF-Ethers</a></p><p>5/8 3. 批量归集合约 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 使用了 ERC20Permit 合约，授权不需要通过交易，只需要链下签名即可。因此我们可以写一个批量归集合约，当黑客 claim 空投之后，我们立刻抢走。 这里你需要理解签名（EIP712）和 ERC20Permit 合约。 推荐大家用 WTF Solidity 教程学习合约： <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/6Emo8xB9mi">https://github.com/AmazingAng/WTF-Solidity</a></p><p>6/8 有了这次经验，我们会优化节点、合约和脚本，下次从黑客手中抢 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24zksync&amp;src=cashtag_click">$zksync</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24scroll&amp;src=cashtag_click">$scroll</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24strk&amp;src=cashtag_click">$strk</a> 胜算会更大。WTF Academy 会继续提供抢空投白帽服务。 目前领 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/search?q=%24ARB&amp;src=cashtag_click">$ARB</a> 空投的核心代码已开源在github，欢迎有能力的开发者使用：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/cQMWYuBZK6">https://t.co/cQMWYuBZK6</a></p><p>2. 新人如何学习Solidity？ 如果你完全没有编程经验，建议先学 javascript，我们在更新一个 WTF JavaScript 零基础教程:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/dZCp9S2gpt">https://t.co/dZCp9S2gpt</a></p><br>]]></content:encoded>
            <author>cyptotutan@newsletter.paragraph.com (CyptoTutan)</author>
        </item>
        <item>
            <title><![CDATA[撸空投教程和各种工具使用介绍 [转载搜集的]]]></title>
            <link>https://paragraph.com/@cyptotutan/Sh3poKEJQg1CRRQNCajy</link>
            <guid>Sh3poKEJQg1CRRQNCajy</guid>
            <pubDate>Mon, 20 Mar 2023 16:35:06 GMT</pubDate>
            <description><![CDATA[首先，至于指纹浏览器，我们一直使用的是adspower 1.因为最早玩coinlist的时候，就一直在用，已经用的非常习惯了，用起来比较顺手，虽然价格有点贵，但是不用再额外学习。 2.我们想着后面肯定要做脚本开发，ADS提供完整的API开发文档接口，后续更新也会比较方便。 官网：https://adspower.com关于使用什么IP的问题，这里我就两句带过了，市面上大把IP提供商，至于是用动态IP还是静态住宅IP，完全取决于个人经济情况和能力，当然，一分价钱一分货，这句话肯定没有错，便宜IP卡到你哭，固定静态住宅IP，丝滑顺畅~~~~~~在交互过程中，我们会实时注意Gas的一个消耗情况，如果任务不是非常着急，可以手动下调一点点Gas，一样会成交，但是会非常慢，能省多少是多少，撸毛人要学会勤俭持家~~我自己平时比较习惯用来看实时Gas的主要是mct推出的查看Gas功能。https://mct.xyz/gasnow我们撸毛的过程中，可能会参与大量的Defi项目，有各种质押，组LP，借贷，等等行为，因为资金过于分散，最终查询资金在哪会很麻烦，我之前一直习惯了用@DeBankDeFi，...]]></description>
            <content:encoded><![CDATA[<ol><li><p>首先，至于指纹浏览器，我们一直使用的是adspower 1.因为最早玩coinlist的时候，就一直在用，已经用的非常习惯了，用起来比较顺手，虽然价格有点贵，但是不用再额外学习。 2.我们想着后面肯定要做脚本开发，ADS提供完整的API开发文档接口，后续更新也会比较方便。 官网：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/BQRLPVv64o">https://adspower.com</a></p></li><li><p>关于使用什么IP的问题，这里我就两句带过了，市面上大把IP提供商，至于是用动态IP还是静态住宅IP，完全取决于个人经济情况和能力，当然，一分价钱一分货，这句话肯定没有错，便宜IP卡到你哭，固定静态住宅IP，丝滑顺畅~~~~~~</p></li><li><p>在交互过程中，我们会实时注意Gas的一个消耗情况，如果任务不是非常着急，可以手动下调一点点Gas，一样会成交，但是会非常慢，能省多少是多少，撸毛人要学会勤俭持家~~我自己平时比较习惯用来看实时Gas的主要是mct推出的查看Gas功能。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/0iszJil1FU">https://mct.xyz/gasnow</a></p></li><li><p>我们撸毛的过程中，可能会参与大量的Defi项目，有各种质押，组LP，借贷，等等行为，因为资金过于分散，最终查询资金在哪会很麻烦，我之前一直习惯了用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/DeBankDeFi">@DeBankDeFi</a>，直到后来发现了<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/zerion">@zerion</a>后，就一直习惯用了，主要原因，不仅可以方便看到每个链的余额以及Defi里的资金，还聚合了swap和跨链桥功能</p></li><li><p>并且还能看到持有的NFT，还有以往的交易记录，不同链上的实时GAS，当我们做一些NFT的Mint任务的时候，也可以方便随时看到是否成功，目前<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/zerion">@zerion</a>还没有发币，有自己的移动端APP，体验下来还是很不错的，建议可以多用用。</p></li><li><p>6. 现在大部分玩家在撸的项目都以L2网络为主，这次Arb空投规则也参考了交互的TX数量，我们自己想去查看自己钱包在对应公链上到底交易了多少笔TX，是非常麻烦的，l2savings提供了一个可以查询在L2网络到底一共交易了多少TX的在线工具，同时也能查到你消耗了多少Gas的总量。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/amA4Jqs5Ij">https://l2savings.org</a></p></li><li><p>因为撸毛过程中，会链接大量的网站，我们无法确保自己的钱包是否真的完全安全，所以我们团队是固定每周六半天为学习日，半天专门核对所有钱包的资金分布情况，以及断开和所有web2的网站链接，取消一些高危代币授权，同时我们所有浏览器都安装了<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/stelolabs">@stelolabs</a>的安全检测插件</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/WXsAvY9kd7">https://t.co/WXsAvY9kd7</a></p></li><li><p>对于很多使用多号在跑的玩家，资金非常分散，如何能批量的更新知道自己每个钱包对应每条链上的资金余额，是个头疼的问题，我们比较常用的为<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cointool">@cointool</a>提供的批量查询余额功能，支持多条公链，且查询后可以直接导出表格，非常方便。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/48ymWb9g8P">https://cointool.app</a></p></li><li><p>大家在撸毛中特别关心的问题，如何防止被查女巫，我们可以借助工具追踪自己的钱包记录，看看是否能看出一些猫腻，使用了一些有隔离效果的L1跨链桥后，是否能追踪到资金的来源和去向是非常重要的，如果你自己通过工具都可以查到你资金来源去向有关联，你觉得项目方查不到吗？<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/yuRDzykRAO">https://metasleuth.io</a></p></li><li><p>我们一般在做交互的时候，会涉及到各种不同网络的跨链，除了官方桥必做，肯定会使用到第三方桥，我自己个人一直喜欢用的是小飞碟<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/Orbiter_Finance">@Orbiter_Finance</a>，使用非常舒服，且小飞碟也还没发币，跨链同时顺便也交互了，但是自从Arb空投后，大家都去卷zk和staeknet，把我的小飞碟都给冲烂了，唉~~</p></li><li><p>除了一些交互的工具，剩下最大的一个难题是投研的问题，投研找项目的问题，一直困扰着大家，除了每天刷刷推，看看社群，很多人不知道去哪找项目，如果你是重点刷L2的相关项目，肯定需要了解一下L2网络的相关数据，那么<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/rU5PKLkIwj">https://l2beat.com/scaling/tvl</a>是一定不能错过的一个网站。</p></li><li><p>还有一个我每天必看的网站defillama，除了收录了大量不同生态的defi项目，也推出了聚合器的功能，不过据创始人所透露的消息，团队内部出现了分歧，一部分想发币，一部分则不想，产生了分裂，有点可惜了。想发币的团队网址<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/cdBZomBDcz">https://defillama.com</a> 不想发币的团队新网址.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/DVNxHFXcCd">https://t.co/DVNxHFXcCd</a></p></li><li><p>关于撸毛这件事，不论是操作，还是投研，都是极其磨人心智的事情，冰冻三尺非一日之寒，撸毛也不是一天两天就能获得回报的事情，只有坚持才能笑到最后，可能只有真正的撸毛人，才能体会到其中的辛酸血泪，我组建的社群，也是希望各位撸毛人可以多交流，互相监督，一起坚持，后续会继续更新更多工具。</p></li><li><p>我们在决定要交互什么项目的时候，要有自己的判断力，不要听别人喊撸什么就跟着无脑撸，非常容易被反撸，学会通过工具去了解项目的数据，是非常重要的一个技能, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/tokenterminal">@tokenterminal</a>是我常用的一个工具，可以查看大量的数据和指标，比如项目的财务报告，详细了解项目收入情况，可以实时跟进项目发展进度。</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pbs.twimg.com/media/FrxN8fUaYAAkS--?format=jpg&amp;name=900x900">https://pbs.twimg.com/media/FrxN8fUaYAAkS--?format=jpg&amp;name=900x900</a></p></li><li><p>丰富的数据可以协助我们多维度的去判断项目的进度发展，也可以了解项目方是否在做事，比如，哪些项目的收益非常好，哪些跨链桥的活跃度很高，哪些项目的国库资金在稳步增长，这些数据，不是刷刷推就可以看到的，需要养成一个通过数据去了解项目的习惯。</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/TRL0xkIG0u">https://t.co/TRL0xkIG0u</a></p></li><li><p>现在几乎L2的网络已经成为所有空投猎人的必刷任务，使用<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/MetaMask">@MetaMask</a>的时候多个网络反复切换成为了我们在交互过程中非常麻烦的一个事情，自从我尝试了一次<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/OKXWeb3_CN">@OKXWeb3_CN</a>的钱包后，让我对OKX的印象突然有了很大的转变，真正体验到了什么叫丝滑流畅.</p></li><li><p>不仅如此，OKX的钱包另外两个功能真是太懂我们空投猎手了，有些任务需要完成后领取NFT，OK的钱包可以直接查看所有网络的NFT，检查起来很方便，另外，我们在交互的时候会参与很多的Defi项目，有些项目任务会把资金质押在里面，我经常会忘记我的资金放在哪了，OK钱包可以直接一目了然所有的Defi中的资金，对于多个网络的资金调配更加方便合理了。（还有更多功能的细节，你们自己去体验一下就懂了，我反正是体验完后，所有账号全从小狐狸换成了OKX的钱包）</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0dff745aaffbc2c501297d73145434cc1cb871f9c9808283faef038b6bbb0c7f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol start="18"><li><p>23号将是很多空投猎人的狂欢，Arb空投后，在资金汇集的时候，我们也要规避女巫风险，我们的钱包都是一个地址刷了不同网络的任务，如若把所有Arb代币都汇集到一个钱包，那这批钱包马上就全部有了关联性，容易被打上女巫标签，这时候,<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/okxchinese">@okxchinese</a>的子账户功能就显得格外重要，一个钱包对应一个子账户。再通过子账户把所有资金汇集到主账户，这样的话，在链上就不会有记录关联，手里这批精品号就一直可以长期使用。 子账户需要OK的电脑版。</p></li><li><p>我记得之前一直有人问过我，撸毛的时候如何勤俭持家，除了手动调Gas以外，我们大部分人都是从交易所提币，为了防止查女巫，这时候，了解各个交易所的手续费和提币的详细信息就显得格外重要了，分享一个我常用工具<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/BiteyeCN">@BiteyeCN</a>可以实时查看各大交易所的充提币提币手续费，可以选择最优最省钱的方案，同时也可以查看指定币种支持哪些交易所，但是不知道为啥读不到币安的数据。<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.co/eOeI3ZODbl">https://chaineye.tools/cexFee</a></p></li></ol>]]></content:encoded>
            <author>cyptotutan@newsletter.paragraph.com (CyptoTutan)</author>
        </item>
    </channel>
</rss>