<?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>tomhua</title>
        <link>https://paragraph.com/@tomhua</link>
        <description>undefined</description>
        <lastBuildDate>Tue, 26 May 2026 14:45:25 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Tutorial on deploying contracts on the Linea (ConsenSys zkEVM) Testnet, launched by the parent company of MetaMask]]></title>
            <link>https://paragraph.com/@tomhua/tutorial-on-deploying-contracts-on-the-linea-consensys-zkevm-testnet-launched-by-the-parent-company-of-metamask</link>
            <guid>M6Cw35A3TfTJkucvFBde</guid>
            <pubDate>Wed, 05 Apr 2023 13:30:30 GMT</pubDate>
            <description><![CDATA[Linea is a second-layer zkEVM (zero-knowledge Ethereum Virtual Machine) that replicates the Ethereum environment as a rollup, allowing developers to build on it just as they would on the Ethereum mainnet. Linea allows you to deploy any smart contract, use any tool, and develop just like you would on Ethereum. For users, this makes the Ethereum experience and security guarantees possible, but with lower transaction costs. Linea released its public testnet on March 28th. Step One: Set up wallet...]]></description>
            <content:encoded><![CDATA[<p>Linea is a second-layer zkEVM (zero-knowledge Ethereum Virtual Machine) that replicates the Ethereum environment as a rollup, allowing developers to build on it just as they would on the Ethereum mainnet.</p><p>Linea allows you to deploy any smart contract, use any tool, and develop just like you would on Ethereum. For users, this makes the Ethereum experience and security guarantees possible, but with lower transaction costs.</p><p>Linea released its public testnet on March 28th.</p><p><strong>Step One: Set up wallet network and claim test tokens.</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Manually add Linea test network parameters:</p><p>Network Name: Linea (Goerli)</p><p>RPC URL: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rpc.goerli.linea.build/">https://rpc.goerli.linea.build</a></p><p>Chain ID: 59140</p><p>Currency Symbol: ETH</p><p>Block Explorer URL: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.goerli.linea.build/">https://explorer.goerli.linea.build</a></p><p>Claim test tokens on the Goerli network:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerlifaucet.com/">https://goerlifaucet.com/</a></p><p>Step Two: Cross-chain interaction on the testnet</p><p>Open the cross-chain website:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.hop.exchange/#/send?token=ETH&amp;destNetwork=linea&amp;sourceNetwork=ethereum">https://goerli.hop.exchange/#/send?token=ETH&amp;destNetwork=linea&amp;sourceNetwork=ethereum</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Log in to the MetaMask wallet.</p><ol><li><p>Select the ETH token.</p></li><li><p>Select “Cross Goerli ETH to Linea network” option.</p></li><li><p>Click the “Send” button and confirm the transaction in your wallet.</p></li></ol><p>Open the Swap testnet:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Switch your wallet to the Linea network.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol><li><p>Click on the gear icon.</p></li><li><p>Select 10%.</p></li><li><p>Enable expert mode.</p></li></ol><p>With these settings, the exchange of crUsdc will be faster and have a higher success rate in the next step!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol><li><p>Switch your wallet to the Linea network and log in to your wallet.</p></li><li><p>Select the ETH to crUSDC trading pair and exchange a small amount.</p></li><li><p>Click the “Exchange” button and confirm the transaction in your wallet.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If there are too many people interacting, the network may be congested. If you have enough gas, you can increase the transaction speed in your wallet.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Using the same method, let’s exchange a small amount of ETH to crWETH, which will be used later.</p><p>Make sure to increase the transaction speed in your wallet to ensure faster transaction times.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol><li><p>Choose the “Pool” module and click “Create New Pool”.</p></li><li><p>Select crWETH and crUSDC to create the liquidity pool.</p></li><li><p>Choose 0.05%.</p></li><li><p>Click “Max” to input a small amount of crWETH.</p></li><li><p>Approve crWETH and crUSDC separately and increase the transaction speed in your wallet. Then click the “Preview” button and confirm the transaction in your wallet, and increase the transaction speed again.</p></li></ol><p>The frontend of this testnet is poorly designed!</p><p>Bear with it because the most important thing is to increase the transaction speed in your wallet when approving tokens or confirming transactions, otherwise it will be very slow.</p><p>If the transaction fails, try again a few times.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If the liquidity pool was added successfully, you can go back to the liquidity pool list to see it.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Perform the “Collect Fees” and “Remove Liquidity” operations separately. If the transaction is slow, increase the transaction speed in your wallet.</p><p>If you have followed my tutorial, you should know how to do this. I won’t demonstrate it in detail here.</p><p>Step Three: Contract Deployment</p><p>Open the Remix website:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://remix.ethereum.org/#lang=en&amp;optimize=false&amp;runs=200&amp;evmVersion=null&amp;version=soljson-v0.8.18+commit.87f61d96.js">https://remix.ethereum.org/#lang=en&amp;optimize=false&amp;runs=200&amp;evmVersion=null&amp;version=soljson-v0.8.18+commit.87f61d96.js</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol><li><p>Click the “New File” button.</p></li><li><p>Enter the desired contract file name, using letters and numbers.</p></li></ol><p>Open this contract source code website:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bscscan.com/token/0xe9e7cea3dedca5984780bafc599bd69add087d56#code">https://bscscan.com/token/0xe9e7cea3dedca5984780bafc599bd69add087d56#code</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Scroll down.</p><ol><li><p>Select the “Contract” option.</p></li><li><p>Find the “Contract Source Code” section.</p></li><li><p>Click the “Copy” button to copy the contract source code.</p></li></ol><p>Then, let’s go back to Remix.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol><li><p>Find the .sol file you just created.</p></li><li><p>Click on its contents, right-click, and select “Paste” to paste the copied contract code into the file.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Select the “Compile” module.</p><p>Click on “Compile” for the contract file you created.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If you see a green checkmark, it means the contract has been successfully compiled.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>First, make sure your MetaMask wallet is switched to the Linea network.</p><ol><li><p>Select the “Deploy” module.</p></li><li><p>Choose the “Injected Provider-MetaMask” option.</p></li><li><p>Click on the “Deploy” button to deploy the contract, and confirm the transaction in your wallet.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If you see this output, it means the contract has been successfully deployed!</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.google.com/forms/d/e/1FAIpQLSen0KN2uqKMJuUxBH8yTfwrb-xdN48kA-NmO-DSCJMYRdQyMA/viewform">https://docs.google.com/forms/d/e/1FAIpQLSen0KN2uqKMJuUxBH8yTfwrb-xdN48kA-NmO-DSCJMYRdQyMA/viewform</a></p><p>That concludes today’s tutorial. If you have any questions or concerns, please don’t hesitate to contact us and we’ll do our best to assist you. Thank you for reading and learning!</p><p>Source of the article：</p>]]></content:encoded>
            <author>tomhua@newsletter.paragraph.com (tomhua)</author>
        </item>
        <item>
            <title><![CDATA[Tutorial for the Second Round of Airdrop Interaction for SPACE ID (Binance Smart Chain, ARB Domain)
]]></title>
            <link>https://paragraph.com/@tomhua/tutorial-for-the-second-round-of-airdrop-interaction-for-space-id-binance-smart-chain-arb-domain</link>
            <guid>LCeortJi9p4798GmEJDh</guid>
            <pubDate>Fri, 31 Mar 2023 08:28:26 GMT</pubDate>
            <description><![CDATA[In the first round of SPACE ID airdrop, 21% (42,000,000) of the total community amount of 200,000,000 was distributed. The second round of airdrop has now begun. Based on the current unboxing results, common boxes are worth approximately 25 points, rare boxes are worth approximately 50 points, and legendary boxes are worth approximately 100 points. If the remaining half of the 79,000,000 tokens from the second round of Voyage airdrop are distributed, the number of airdropped tokens will be ve...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>In the first round of SPACE ID airdrop, 21% (42,000,000) of the total community amount of 200,000,000 was distributed. The second round of airdrop has now begun.</p><p>Based on the current unboxing results, common boxes are worth approximately 25 points, rare boxes are worth approximately 50 points, and legendary boxes are worth approximately 100 points. If the remaining half of the 79,000,000 tokens from the second round of Voyage airdrop are distributed, the number of airdropped tokens will be very large. The first round of airdrop mainly targeted domain name holders and participants, while the second round is mainly focused on point users. According to the current coin price, the profit is still quite objective.</p><p>Let’s get started:</p><p>1.Open <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://space.id/voyage/season-2?inviter=tomhua.bnb">the SPACE ID activity page</a>, connect your wallet, and click on ‘Register’.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>2. Enter the desired domain name (BNB or ARB domain) you want to register, and click on ‘Search’ (most 3-4 digit domain names have already been registered). You can choose to register a domain name with 5 or more digits or letters. The registration fee is only $5.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>3. The page will display the available domain names that you can register (this activity is only for users who want to register BNB or ARB domains, so be careful not to select the wrong domain). If it shows ‘Unregistered’, it means the domain name is available for registration.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>4. The default registration period is one year. Click on ‘Pre-register’ and wait for about 10 seconds, then click on ‘Register’.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>5. After a successful registration, click on ‘Manage Profile’ to proceed to the next step. Click on the ‘+’ sign to set your main domain name. Click on the corresponding chain to select the chain you want to use.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>6. Your registered domain name will appear in the drop-down menu. Select it and click on ‘Save’ to save your changes.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>7. Congratulations! You have successfully set up your domain name. Click on ‘Return’, and then click on ‘Voyage’ at the top of the page to enter the activity page.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>8. Click on the planet icon as shown in the picture to enter the page for the second round of the activity.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>9. On the activity box page, you can see the number of boxes you have. Click on the corresponding box and then click on ‘Open’ to open the box.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Source of the article:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.glodchain.com/space-id-second-round-airdrop.html">https://www.glodchain.com/space-id-second-round-airdrop.html</a></p>]]></content:encoded>
            <author>tomhua@newsletter.paragraph.com (tomhua)</author>
        </item>
        <item>
            <title><![CDATA[ConsenSys zkEVM has officially been renamed to "Linea".Linea testnet interaction guide]]></title>
            <link>https://paragraph.com/@tomhua/consensys-zkevm-has-officially-been-renamed-to-linea-linea-testnet-interaction-guide</link>
            <guid>oivoEflBdm94ExB7q0wl</guid>
            <pubDate>Fri, 31 Mar 2023 07:58:19 GMT</pubDate>
            <description><![CDATA[On March 28th, ConsenSys zkEVM testnet was officially launched and renamed to Linea. It is reported that it is preparing for the upcoming NFT testnet. Follow the GlodChain tutorial below to experience it. Preparation before interactionYou need to deposit a little Goerli ETH in your Metamask wallet. Faucet link: https://goerlifaucet.com/Add Linea network in Metamask wallet. You can find the data used to add the network on this page: https://docs.linea.build/developers/useful-info#network-infor...]]></description>
            <content:encoded><![CDATA[<p>On March 28th, ConsenSys zkEVM testnet was officially launched and renamed to Linea. It is reported that it is preparing for the upcoming NFT testnet. Follow the GlodChain tutorial below to experience it.</p><p>Preparation before interaction</p><ol><li><p>You need to deposit a little Goerli ETH in your Metamask wallet. Faucet link: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerlifaucet.com/">https://goerlifaucet.com/</a></p></li><li><p>Add Linea network in Metamask wallet. You can find the data used to add the network on this page: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.linea.build/developers/useful-info#network-information">https://docs.linea.build/developers/useful-info#network-information</a></p></li></ol><p><strong>Interaction tutorial</strong></p><ol><li><p>Enter Linea&apos;s official website: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.linea.build/">https://goerli.linea.build</a>, click &quot;Bridge&quot;, and we will first transfer funds from the Goerli test bridge to the Linea testnet.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>It will redirect you to the Hop testnet. We need to link our wallet, then select the amount of tokens we want to exchange, and click &quot;Send&quot; after confirming. You need to sign the transaction inside the wallet.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Let&apos;s try to interact with all the functions on that page as much as possible. You can click &quot;Faucet&quot; to mint some USDC and HOP tokens. Then click &quot;Send&quot; to bridge the minted USDC and HOP tokens to the Linea testnet.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>After that, we can click &quot;Convert&quot; to wrap ETH into WETH.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>After wrapping ETH into WETH, we can then use &quot;Convert&quot; again to exchange it for hETH.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Next, let&apos;s click on &quot;Pool&quot; and add liquidity by depositing the tokens we just exchanged.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If you see the following image, it means that adding liquidity was successful.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>So far, we have interacted with all four functions on that page.</p><ol start="2"><li><p>Go back to the Linea website: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.linea.build/">https://goerli.linea.build/</a>. Click on &quot;Swap&quot;.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Select the Linea network in MetaMask wallet and connect to Uniswap, then try exchanging tokens. After exchanging tokens, you can click on &quot;Pool&quot; to add liquidity. Currently, there are only a few token pairs available to add liquidity. If you encounter an error when adding liquidity, you can try again later.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><ol start="3"><li><p>After experiencing everything, go back to the Linea website: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://goerli.linea.build/">https://goerli.linea.build/</a>. Click on &quot;Explore&quot;. You can see that there are already more than 20 projects on the Linea testnet. You can keep an eye on this page and continue to interact with the projects that you can try.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>tomhua@newsletter.paragraph.com (tomhua)</author>
        </item>
    </channel>
</rss>