智能合約 Solidity 教學 (中) - MetaMask 與以太坊測試網

這篇文章繼承了上一篇 智能合約 Solidity 教學 (上) 將嘗試使用 MetaMask 連接測試網,如何領取測試幣 並且在前端整合:透過 Web3.js 連接你的 DApp 與合約。

目錄

MetaMask 使用教學:從安裝到與智能合約互動

一、MetaMask 錢包

錢包,是 Web3 世界的身分證也是通行證 基本上所有與 Web3 互動都需要依賴錢包

今天我們將從最多人使用 MetaMask 開始

1. 什麼是 MetaMask?

MetaMask 是一款 以太坊數位錢包 (Ethereum Wallet),可以讓你:

  • 管理你的 ETH 和其他代幣 (ERC-20, ERC-721 NFT)
  • 連接 DApp,讓瀏覽器與區塊鏈互動
  • 簽署交易,進行資金轉移或呼叫智能合約
  • 切換測試網,在開發時使用「假幣」測試智能合約

它既是一個 Chrome/Firefox 擴充插件,也有 行動版 App 可用。


2. 安裝 MetaMask

Step 1:下載並安裝

  1. 打開官方網站 👉 https://metamask.io/
  2. 點擊「Download」,選擇 Chrome/Firefox 擴充功能或 手機版 App
  3. 安裝後,你會在 瀏覽器右上角 看到 MetaMask 狐狸頭 🦊。

Step 2:建立新錢包

  1. 點擊 「開始使用」
  2. 「創建新錢包」
  3. 設定 密碼(這個密碼只用來解鎖你的 MetaMask)
  4. 保存助記詞(Secret Recovery Phrase)
    • 這是你的「錢包私鑰」,一定要抄下來並存放在安全地方!
    • 千萬不要與他人分享,丟失後無法恢復!

Step 3:完成設定

MetaMask 會自動連接 以太坊主網 (Ethereum Mainnet), 但我們在開發時,通常會用 測試網 來避免消耗真實 ETH。


3. 切換測試網 (Goerli / Sepolia / Polygon Testnet)

以太坊提供 測試網(Testnets),允許開發者使用「假幣」進行測試,而不會消耗真實資金。 目前常見的測試網:

  • Sepolia Testnet(官方推薦)
  • Goerli Testnet(即將淘汰)
  • Polygon Mumbai Testnet(Polygon 測試鏈)

如何開啟測試網

  1. 打開 MetaMask,點擊 右上角的「網路選單」
  2. 點擊 「顯示/隱藏測試網路」
  3. 開啟「顯示測試網路」
  4. 選擇 Sepolia Testnet

現在,你的 MetaMask 已切換到 測試網,可以進行開發測試!


4. 如何領取測試幣 (Faucet)

測試網上的 ETH 不是實際貨幣,而是開發者測試時使用的「假幣」, 我們可以從 Faucet(水龍頭) 領取測試 ETH。 目前有 Alchemy FaucetInfura Faucet 他們能一次領取較多,但需要綁定帳號 所以我們從最簡單的 Google Cloud for Web3 來領取

如何領取 Sepolia 測試 ETH

  1. 打開 https://cloud.google.com/application/web3/faucet/ethereum/sepolia
  2. 輸入你的 錢包地址(MetaMask 內複製)
  3. 點擊「Request ETH」領取測試幣
  4. 等候 1-2 分鐘,ETH 會發送到你的測試錢包

💡 測試幣用途

  • 部署測試合約
  • 測試智能合約功能
  • 測試 DApp 與合約互動

5. 如何讓智能合約與 MetaMask 互動

現在我們要將剛剛的 HelloWorld.sol 合約,透過 MetaMask與前端互動

我們使用上次教學使用的智能合約程式碼來部署
1// SPDX-License-Identifier: MIT
2pragma solidity ^0.8.0;
3
4contract HelloWorld {
5    // 儲存訊息的變數
6    string public message;
7
8    // 建構函式,合約部署時會自動執行
9    constructor() {
10        message = "Hello, Solidity!";
11    }
12
13    // 設定新的訊息
14    function setMessage(string memory _newMessage) public {
15        message = _newMessage;
16    }
17}
18
在 Remix IDE 點擊 Deploy & Run Transactions 面板 選擇 WalletConnect
code
點擊連結錢包
code
選擇我們剛剛創辦好的 MetaMask
code
以這個錢包來部署該合約 這個合約會被部署到 Sepolia 網路上
code
由於這是真的會消耗到你錢包中的錢錢!!! 所以會跳出 MetaMask 的提示框 本次部署合約將消耗快 6 美元(超貴 請注意是使用 Sepolia 來支付,那才是免費的測試幣
code
跟剛剛一樣,部署好以後 我們可以打開部署好的合約 然後重新 SetMessage 一樣要花錢 (0.3 美元)
code

喜歡這篇文章嗎?
歡迎給我一點支持!