<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>区块链 on MoeJue&#39;s Blog</title>
    <link>https://en.moejue.cn/zh-hant/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/</link>
    <description>Recent content in 区块链 on MoeJue&#39;s Blog</description>
    <generator>Hugo -- 0.151.2</generator>
    <language>zh-hant</language>
    <lastBuildDate>Sat, 10 Jan 2026 14:02:35 +0000</lastBuildDate>
    <atom:link href="https://en.moejue.cn/zh-hant/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Web3 鏈上紅包 DApp</title>
      <link>https://en.moejue.cn/zh-hant/posts/303/</link>
      <pubDate>Sat, 10 Jan 2026 14:02:35 +0000</pubDate>
      <guid>https://en.moejue.cn/zh-hant/posts/303/</guid>
      <description>&lt;p&gt;這是一個&lt;strong&gt;100%去中心化&lt;/strong&gt;的區塊鏈紅包應用。用戶可以連接錢包，設定金額和數量發送紅包，然後透過連結分享給他人領取。所有資料和操作都基於區塊鏈，完全不需要中心化伺服器，整個過程安全、透明、可追溯。&lt;/p&gt;
&lt;p&gt;如果你感興趣，可以在 GitHub 上看看我的程式碼：&lt;a href=&#34;https://github.com/iAJue/redpacket-dapp&#34;&gt;redpacket‑dapp&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;功能亮點&#34;&gt;功能亮點&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🧧 &lt;strong&gt;發送紅包&lt;/strong&gt;: 連接錢包後，設定金額和數量發送紅包到區塊鏈&lt;/li&gt;
&lt;li&gt;🎁 &lt;strong&gt;領取紅包&lt;/strong&gt;: 透過分享連結，別人可以連接錢包直接從區塊鏈領取紅包&lt;/li&gt;
&lt;li&gt;🔗 &lt;strong&gt;智能合約&lt;/strong&gt;: 使用 Solidity 編寫的安全智能合約處理所有邏輯&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;多鏈支援&lt;/strong&gt;: 支援本地測試網和 BSC 測試網&lt;/li&gt;
&lt;li&gt;💼 &lt;strong&gt;Web3 整合&lt;/strong&gt;: 使用 MetaMask 錢包連接&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;完全去中心化&lt;/strong&gt;: 沒有後端伺服器，所有資料儲存在區塊鏈&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;技術棧&#34;&gt;技術棧&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;前端&lt;/strong&gt;：React 19、React Router 6、TypeScript、Vite、Ethers v6&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;合約層&lt;/strong&gt;：Hardhat、Solidity 0.8.x&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具&lt;/strong&gt;：ESLint、Prettier&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不需要後端&lt;/strong&gt;: 零依賴伺服器 ❌&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;快速啟動&#34;&gt;快速啟動&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;# 1. 安裝專案依賴
npm install
cd react-dapp &amp;amp;&amp;amp; npm install &amp;amp;&amp;amp; cd ..

# 2. 啟動本地區塊鏈節點
npm run node

# 3. 編譯智能合約
npx hardhat compile

# 4. 部署智能合約
npm run deploy

# 5. 啟動前端
npm run frontend
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;目錄結構&#34;&gt;目錄結構&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;redpacket-web3/
├─ contracts/                # Solidity 智能合約
│  └─ RedPacket.sol
├─ react-dapp/               # React + Vite 前端
│  ├─ src/
│  │  ├─ components/         # 通用組件（錢包按鈕、創建表單等）
│  │  ├─ config/             # ABI、合約地址配置
│  │  ├─ hooks/              # 自定義 hooks（useWallet）
│  │  ├─ pages/              # 頁面（Home、ClaimPacket）
│  │  ├─ styles/             # 全域樣式
│  │  ├─ utils/              # Web3 工具函數
│  │  └─ App.tsx             # 路由與佈局
│  ├─ .env.example           # 前端所需環境變數說明
│  └─ package.json
├─ scripts/
│  └─ deploy.js              # Hardhat 部署腳本（會自動寫入前端配置）
├─ hardhat.config.js
└─ package.json              # 根目錄腳本（Hardhat + 前端一鍵啟動）
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;使用指南&#34;&gt;使用指南&lt;/h2&gt;
&lt;h3 id=&#34;創建紅包&#34;&gt;創建紅包&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;打開前端並點擊右上角「連接錢包」。&lt;/li&gt;
&lt;li&gt;填寫紅包總金額與份數，應用會在前端隨機拆分金額。&lt;/li&gt;
&lt;li&gt;提交後在 MetaMask 中確認交易，等待區塊確認。&lt;/li&gt;
&lt;li&gt;成功後可複製系統生成的領取連結，分享給朋友。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;領取紅包&#34;&gt;領取紅包&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;打開分享連結（URL 帶有 &lt;code&gt;/claim/{packetId}&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;同樣先連接錢包，然後點擊「點擊領取」。&lt;/li&gt;
&lt;li&gt;簽名確認後等待區塊打包，頁面會顯示結果與剩餘份數。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;環境變數&#34;&gt;環境變數&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dapp/.env&lt;/code&gt;（開發環境會自動忽略，請參考 &lt;code&gt;.env.example&lt;/code&gt;）
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;VITE_RPC_URL&lt;/code&gt;：前端直連節點 RPC，預設為 &lt;code&gt;http://127.0.0.1:8545&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VITE_CONTRACT_ADDRESS&lt;/code&gt;：可覆蓋部署腳本寫入的地址&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VITE_CHAIN_ID&lt;/code&gt;：前端提示使用的鏈 ID（十六進制）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;root/.env&lt;/code&gt;：若需要在 Hardhat 中引用私鑰或 BSC RPC，可繼續沿用原有寫法。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;智能合約redpacketsol&#34;&gt;智能合約（RedPacket.sol）&lt;/h2&gt;
&lt;p&gt;核心方法：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
